www.mooseframework.org
Functions
MultiSmoothSuperellipsoidIC.C File Reference

Go to the source code of this file.

Functions

 registerMooseObject ("PhaseFieldApp", MultiSmoothSuperellipsoidIC)
 
template<>
InputParameters validParams< MultiSmoothSuperellipsoidIC > ()
 

Function Documentation

◆ registerMooseObject()

registerMooseObject ( "PhaseFieldApp"  ,
MultiSmoothSuperellipsoidIC   
)

◆ validParams< MultiSmoothSuperellipsoidIC >()

template<>
InputParameters validParams< MultiSmoothSuperellipsoidIC > ( )

Definition at line 24 of file MultiSmoothSuperellipsoidIC.C.

25 {
26  InputParameters params = validParams<SmoothSuperellipsoidBaseIC>();
27  params.addClassDescription("Random distribution of smooth ellipse with given minimum spacing");
28  params.addRequiredParam<std::vector<unsigned int>>("numbub",
29  "Vector of the number of bubbles to place");
30  params.addRequiredParam<std::vector<Real>>(
31  "bubspac",
32  "Vector of the minimum spacing of bubbles of one type, measured from center to center");
33  params.addParam<unsigned int>("max_num_tries", 1000, "The number of tries");
34  params.addRequiredParam<std::vector<Real>>(
35  "semiaxis_a", "Vector of mean semiaxis values in the x direction for the ellipse");
36  params.addRequiredParam<std::vector<Real>>(
37  "semiaxis_b", "Vector of mean semiaxis values in the y direction for the ellipse");
38  params.addRequiredParam<std::vector<Real>>("semiaxis_c",
39  "Vector of mean semiaxis values in the z direction "
40  "for the ellipse, must be greater than 0 even if 2D.");
41  params.addParam<std::vector<Real>>(
42  "exponent",
43  std::vector<Real>(),
44  "Vector of exponents for each superellipsoid, n=2 is a normal ellipse");
45  params.addParam<std::vector<Real>>("semiaxis_a_variation",
46  std::vector<Real>(),
47  "Vector of plus or minus fractions of random variation in the "
48  "bubble semiaxis in the x direction for uniform, standard "
49  "deviation for normal");
50  params.addParam<std::vector<Real>>("semiaxis_b_variation",
51  std::vector<Real>(),
52  "Vector of plus or minus fractions of random variation in the "
53  "bubble semiaxis in the y direction for uniform, standard "
54  "deviation for normal");
55  params.addParam<std::vector<Real>>("semiaxis_c_variation",
56  std::vector<Real>(),
57  "Vector of plus or minus fractions of random variation in the "
58  "bubble semiaxis in the z direction for uniform, standard "
59  "deviation for normal. Must be set to 0 if 2D.");
60  params.addParam<bool>("check_extremes",
61  false,
62  "Check all Superellipsoid extremes (center +- "
63  "each semiaxis) for overlap, must have "
64  "prevent_overlap set to True.");
65  params.addParam<bool>("prevent_overlap",
66  false,
67  "Check all Superellipsoid centers for overlap with other superellipsoids.");
68  params.addParam<bool>("vary_axes_independently",
69  true,
70  "If true the length of each semiaxis is randomly chosen "
71  "within the provided parameters, if false then one random "
72  "number is generated and applied to all semiaxes.");
73  MooseEnum rand_options("uniform normal none", "none");
74  params.addParam<MooseEnum>(
75  "semiaxis_variation_type",
76  rand_options,
77  "Type of distribution that random superellipsoid semiaxes will follow");
78  return params;
79 }
validParams< SmoothSuperellipsoidBaseIC >
InputParameters validParams< SmoothSuperellipsoidBaseIC >()
Definition: SmoothSuperellipsoidBaseIC.C:18