20 "Specify variable values inside and outside a list of isolated boxes shaped " 21 "axis-aligned regions defined by pairs of opposing corners");
22 params.
addParam<
Real>(
"outside", 0.0,
"The value of the variable outside the boxes");
38 for (
unsigned int b = 0;
b <
_nbox; ++
b)
40 for (
unsigned int i = 0; i <
_dim; ++i)
47 for (
unsigned int n =
b + 1; n <
_nbox; ++n)
49 for (
unsigned int j = 0;
j <
_dim; ++
j)
52 mooseError(
"Partially overlapping boxes are not allowed. Note that this " 53 "includes the overlapping diffused interfaces. For nested boxes, " 54 "use NestedBoundingBoxIC.C.");
58 for (
unsigned int j = 0;
j <
_dim; ++
j)
64 mooseError(
"The coordinates of the smaller_coordinate_corners are equal to or larger " 66 "the larger_coordinate_corners.");
const std::vector< Point > _c2
const unsigned int _dim
dimensionality of the mesh
Real value(const Point &p)
std::vector< Real > _inside
values inside the boxes
IsolatedBoundingBoxIC creates several isolated boxes defined by their coordinates in the domain...
const Real _outside
values outside all the boxes
const unsigned int _nbox
number of boxes
static InputParameters validParams()
const Real _int_width
value of interfacial width
const std::vector< Point > _c1
lists of opposite corners
static InputParameters validParams()
SmoothMultiBoundingBoxBaseIC is the base class for IsolatedBoundingBoxIC and NestedBoundingBoxIC.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
IsolatedBoundingBoxIC(const InputParameters ¶meters)
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
registerMooseObject("PhaseFieldApp", IsolatedBoundingBoxIC)
Real value(const Point &p)