MultiBoundingBoxIC

MultiBoundingBoxIC allows setting the initial condition of a value of a field inside and outside multiple bounding boxes. Each box is axis-aligned and is specified by passing in the x,y,z coordinates of opposite corners for each box.

Example input:

In the example input that you may either supply a single "inside" value, or one value for each box.

[ICs]
  [./c1]
    type = MultiBoundingBoxIC
    corners = '0.1 0.4 0   0.8 0.5 0   0.3 0.7 0'
    opposite_corners = '0.2 0.6 0   0.6 0.9 0   0.4 0.5 0'
    inside = '1.0'
    outside = 0.1
    variable = c1
  [../]
  [./c2]
    type = MultiBoundingBoxIC
    corners = '0.1 0.4 0   0.8 0.5 0   0.3 0.6 0'
    opposite_corners = '0.2 0.6 0   0.4 0.9 0   0.5 0.8 0'
    inside = '1.0 2.0 3.0'
    outside = 0.1
    variable = c2
  [../]
[]
(../moose/modules/phase_field/test/tests/initial_conditions/MultiBoundingBoxIC2D.i)

Class Description

Allows setting the initial condition of a value of a field inside and outside multiple bounding boxes.

Input Parameters

  • cornersThe corner coordinates boxes

    C++ Type:std::vector<libMesh::Point>

    Controllable:No

    Description:The corner coordinates boxes

  • insideThe value of the variable inside each box (one value per box or a single value for all boxes)

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

    Controllable:No

    Description:The value of the variable inside each box (one value per box or a single value for all boxes)

  • opposite_cornersThe coordinates of the opposite corners of the boxes

    C++ Type:std::vector<libMesh::Point>

    Controllable:No

    Description:The coordinates of the opposite corners of the boxes

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

    C++ Type:VariableName

    Controllable:No

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

Required Parameters

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

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

    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>

    Controllable:No

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

  • outside0The value of the variable outside the box

    Default:0

    C++ Type:double

    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

    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.

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.

  • 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

    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.