- boundaryWhich face of the domain this boundary condition applies to.
C++ Type:MooseEnum
Controllable:No
Description:Which face of the domain this boundary condition applies to.
- variableThe field this boundary condition applies to.
C++ Type:std::string
Controllable:No
Description:The field this boundary condition applies to.
TensorRobinBC
General Robin boundary condition a*u + b*du/dn = c on a non-periodic domain face.
Overview
Imposes on one face of a non-periodic direction, with the outward normal. See the BCs system for the discretization and for varying along the face ("c_function" or "c_buffer"). must be nonzero, with the grid spacing normal to the face. For the ghost value amplifies the boundary-adjacent cell, and explicit time integration diverges. ImplicitFDSolver supports a Robin face with the 3-point stencil only, and rejects one with (see that page).
Example Input File Syntax
[TensorComputes<<<{"href": "../../syntax/TensorComputes/index.html"}>>>]
[BCs<<<{"href": "../../syntax/TensorComputes/BCs/index.html"}>>>]
[left]
type = TensorDirichletBC<<<{"description": "Dirichlet boundary condition (u = value) on a non-periodic domain face.", "href": "TensorDirichletBC.html"}>>>
variable<<<{"description": "The field this boundary condition applies to."}>>> = u
boundary<<<{"description": "Which face of the domain this boundary condition applies to."}>>> = left
value<<<{"description": "Prescribed value of the field on this face (u = value)."}>>> = 1
[]
[right]
# alpha*u + du/dn = alpha*h0, with alpha = 2, h0 = 1.5.
type = TensorRobinBC<<<{"description": "General Robin boundary condition a*u + b*du/dn = c on a non-periodic domain face.", "href": "TensorRobinBC.html"}>>>
variable<<<{"description": "The field this boundary condition applies to."}>>> = u
boundary<<<{"description": "Which face of the domain this boundary condition applies to."}>>> = right
a<<<{"description": "Robin coefficient on u (a*u + b*du/dn = c)."}>>> = 2
b<<<{"description": "Robin coefficient on du/dn (a*u + b*du/dn = c)."}>>> = 1
c<<<{"description": "Robin right-hand-side value (a*u + b*du/dn = c)."}>>> = 3
[]
[]
[](test/tests/real_space/robin_steady_state.i)Input Parameters
- a1Robin coefficient on u (a*u + b*du/dn = c).
Default:1
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Robin coefficient on u (a*u + b*du/dn = c).
- b0Robin coefficient on du/dn (a*u + b*du/dn = c).
Default:0
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Robin coefficient on du/dn (a*u + b*du/dn = c).
- c0Robin right-hand-side value (a*u + b*du/dn = c).
Default:0
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Robin right-hand-side value (a*u + b*du/dn = c).
- c_bufferBuffer whose first owned cell layer next to the face holds c along the face. The compute that writes it must evaluate c at the face position, not at the cell centres.
C++ Type:std::string
Controllable:No
Description:Buffer whose first owned cell layer next to the face holds c along the face. The compute that writes it must evaluate c at the face position, not at the cell centres.
- c_functionFunction giving c along the face, evaluated at the face position at the solve time.
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Function giving c along the face, evaluated at the face position at the solve time.
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.