# 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
[../]
[]
(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

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

C++ Type:VariableName

Options:

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

• cornersThe corner coordinates boxes

C++ Type:std::vector

Options:

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

Options:

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

Options:

Description:The coordinates of the opposite corners of the boxes

### Required Parameters

• boundaryThe list of boundary IDs from the mesh where this boundary condition applies

C++ Type:std::vector

Options:

Description:The list of boundary IDs from the mesh where this boundary condition applies

• outside0The value of the variable outside the box

Default:0

C++ Type:double

Options:

Description:The value of the variable outside the box

• blockThe list of block ids (SubdomainID) that this object will be applied

C++ Type:std::vector

Options:

Description:The list of block ids (SubdomainID) that this object will be applied

### Optional Parameters

• 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

Options:

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

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

C++ Type:std::vector

Options:

Description:Adds user-defined labels for accessing object parameters via control logic.

• enableTrueSet the enabled status of the MooseObject.

Default:True

C++ Type:bool

Options:

Description:Set the enabled status of the MooseObject.