21 "Variation from central lattice position",
22 "use the new parameter name pos_variation");
23 params.
addParam<Real>(
"pos_variation", 0.0,
"Variation from central lattice position");
25 "circles_per_side",
"Vector containing the number of bubbles along each side");
26 params.
addParam<
unsigned int>(
"rand_seed", 2000,
"random seed");
27 params.
addRequiredParam<Real>(
"radius",
"Mean radius value for the circles");
29 "radius_variation", 0.0,
"Plus or minus fraction of random variation in the bubble radius");
30 MooseEnum rand_options(
"uniform normal none",
"none");
33 "Type of distribution that random circle radii will follow");
35 "avoid_bounds",
true,
"Don't place any bubbles on the simulation cell boundaries");
41 _lattice_variation(isParamValid(
"Rnd_variation") ? getParam<Real>(
"Rnd_variation")
42 : getParam<Real>(
"pos_variation")),
43 _circles_per_side(getParam<
std::vector<unsigned
int>>(
"circles_per_side")),
44 _radius(getParam<Real>(
"radius")),
45 _radius_variation(getParam<Real>(
"radius_variation")),
46 _radius_variation_type(getParam<
MooseEnum>(
"radius_variation_type")),
47 _avoid_bounds(getParam<bool>(
"avoid_bounds"))
67 mooseError(
"If domain is > 1D, circles_per_side must have more than one value");
70 mooseError(
"If domain is 3D, circles_per_side must have three values");
91 mooseError(
"If radius_variation > 0.0, you must pass in a radius_variation_type in "
92 "LatticeSmoothCircleIC");
103 for (
unsigned int i = 0; i <
_numbub; i++)
132 unsigned int z_num = 1.0;
140 unsigned int cnt = 0;
143 for (
unsigned int k = 0; k < z_num; ++k)
145 Real xx = x_sep / 2.0 + i * x_sep;
146 Real yy = y_sep / 2.0 + j * y_sep;
147 Real zz = z_sep / 2.0 + k * z_sep;
registerMooseObject("PhaseFieldApp", LatticeSmoothCircleIC)
void ErrorVector unsigned int
LatticeSmoothcircleIC creates a lattice of smoothcircles as an initial condition.
virtual void computeCircleCenters()
std::vector< unsigned int > _circles_per_side
static InputParameters validParams()
MooseEnum _radius_variation_type
virtual void computeCircleRadii()
LatticeSmoothCircleIC(const InputParameters ¶meters)
virtual void initialSetup()
void mooseError(Args &&... args) const
virtual Real getMaxInDimension(unsigned int component) const
virtual Real getMinInDimension(unsigned int component) const
Real randNormal(std::size_t i, Real mean, Real sigma)
SmoothcircleBaseIC is the base class for all initial conditions that create circles.
static InputParameters validParams()
std::vector< Real > _radii
std::vector< Point > _centers
virtual void initialSetup()
static constexpr std::size_t dim