BoundingBoxIC

BoundingBoxIC allows setting the initial condition of a value inside and outside of a specified box. The box is aligned with the x, y, z axes and is specified by passing in the x, y, z coordinates of the bottom left point and the top right point. Each of the coordinates of the "bottom_left" point MUST be less than those coordinates in the "top_right" point.

When setting the initial condition, if bottom_left <= Point <= top_right then the "inside" value is used. Otherwise the "outside" value is used.

commentnote

When using this IC, only a single bounding box my be specified within the domain. If multiple bounding boxes are needed, this capability is implemented in the phase_field module as MultiBoundingBoxIC.

Class Description

BoundingBoxIC allows setting the initial condition of a value inside and outside of a specified box. The box is aligned with the x, y, z axes

Input Parameters

  • variableThe variable this initial condition is supposed to provide values for.

    C++ Type:VariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:The variable this initial condition is supposed to provide values for.

  • x1The x coordinate of the lower left-hand corner of the box

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The x coordinate of the lower left-hand corner of the box

  • x2The x coordinate of the upper right-hand corner of the box

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The x coordinate of the upper right-hand corner of the box

  • y1The y coordinate of the lower left-hand corner of the box

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The y coordinate of the lower left-hand corner of the box

  • y2The y coordinate of the upper right-hand corner of the box

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The y coordinate of the upper right-hand corner of the box

Required Parameters

  • blockThe list of blocks (ids or names) that this object will be applied

    C++ Type:std::vector<SubdomainName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

  • boundaryThe list of boundaries (ids or names) from the mesh where this object applies

    C++ Type:std::vector<BoundaryName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The list of boundaries (ids or names) from the mesh where this object applies

  • inside0The value of the variable inside the box

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The value of the variable inside the box

  • int_width0The width of the diffuse interface. Set to 0 for sharp interface.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The width of the diffuse interface. Set to 0 for sharp interface.

  • outside0The value of the variable outside the box

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The value of the variable outside the box

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • stateCURRENTThis parameter is used to set old state solutions at the start of simulation. If specifying multiple states at the start of simulation, use one IC object for each state being specified. The states are CURRENT=0 OLD=1 OLDER=2. States older than 2 are not currently supported. When the user only specifies current state, the solution is copied to the old and older states, as expected. This functionality is mainly used for dynamic simulations with explicit time integration schemes, where old solution states are used in the velocity and acceleration approximations.

    Default:CURRENT

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:CURRENT, OLD, OLDER

    Controllable:No

    Description:This parameter is used to set old state solutions at the start of simulation. If specifying multiple states at the start of simulation, use one IC object for each state being specified. The states are CURRENT=0 OLD=1 OLDER=2. States older than 2 are not currently supported. When the user only specifies current state, the solution is copied to the old and older states, as expected. This functionality is mainly used for dynamic simulations with explicit time integration schemes, where old solution states are used in the velocity and acceleration approximations.

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

  • z10The z coordinate of the lower left-hand corner of the box

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The z coordinate of the lower left-hand corner of the box

  • z20The z coordinate of the upper right-hand corner of the box

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The z coordinate of the upper right-hand corner of the box

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • ignore_uo_dependencyFalseWhen set to true, a UserObject retrieved by this IC will not be executed before the this IC

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:When set to true, a UserObject retrieved by this IC will not be executed before the this IC

Advanced Parameters

References

No citations exist within this document.