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

  • boundaryWhich face of the domain this boundary condition applies to.

    C++ Type:MooseEnum

    Options:left, right, bottom, top, front, back

    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.

Required 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.

Advanced Parameters

Input Files

Child Objects