11 #include "libmesh/point.h" 19 params.
addRequiredParam<
Real>(
"x1",
"The x coordinate of the lower left-hand corner of the box");
20 params.
addRequiredParam<
Real>(
"y1",
"The y coordinate of the lower left-hand corner of the box");
21 params.
addParam<
Real>(
"z1", 0.0,
"The z coordinate of the lower left-hand corner of the box");
23 params.
addRequiredParam<
Real>(
"x2",
"The x coordinate of the upper right-hand corner of the box");
24 params.
addRequiredParam<
Real>(
"y2",
"The y coordinate of the upper right-hand corner of the box");
25 params.
addParam<
Real>(
"z2", 0.0,
"The z coordinate of the upper right-hand corner of the box");
27 params.
addParam<
Real>(
"inside", 0.0,
"The value of the variable inside the box");
28 params.
addParam<
Real>(
"outside", 0.0,
"The value of the variable outside the box");
31 "int_width", 0.0,
"The width of the diffuse interface. Set to 0 for sharp interface.");
33 params.
addClassDescription(
"BoundingBoxIC allows setting the initial condition of a value inside " 34 "and outside of a specified box. The box is aligned with the x, y, z " 42 _x1(getParam<
Real>(
"x1")),
43 _y1(getParam<
Real>(
"y1")),
44 _z1(getParam<
Real>(
"z1")),
45 _x2(getParam<
Real>(
"x2")),
46 _y2(getParam<
Real>(
"y2")),
47 _z2(getParam<
Real>(
"z2")),
48 _inside(getParam<
Real>(
"inside")),
49 _outside(getParam<
Real>(
"outside")),
50 _bottom_left(_x1, _y1, _z1),
51 _top_right(_x2, _y2, _z2),
52 _int_width(getParam<
Real>(
"int_width"))
60 mooseError(
"'int_width' should be non-negative");
This is a template class that implements the workhorse compute and computeNodal methods.
registerMooseObject("MooseApp", BoundingBoxIC)
static constexpr std::size_t dim
This is the dimension of all vector and tensor datastructures used in MOOSE.
static InputParameters validParams()
BoundingBoxIC allows setting the initial condition of a value inside and outside of a specified box...
const Real _inside
The constant value to assign within the bounding box.
const Real _int_width
Interfacial width.
virtual Real value(const Point &p) override
The value of the variable at a point.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
IntRange< T > make_range(T beg, T end)
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
const Point _top_right
The Point object constructed from the x2, y2, z2 components for the bottom left BB corner...
const Point _bottom_left
The Point object constructed from the x1, y1, z1 components for the bottom left BB corner...
const Real _outside
The constant value to assign outside of the bounding box.
BoundingBoxIC(const InputParameters ¶meters)
static InputParameters validParams()