www.mooseframework.org
Classes | Functions
MultiSmoothSuperellipsoidIC.h File Reference

Go to the source code of this file.

Classes

class  MultiSmoothSuperellipsoidIC
 MultismoothSuperellipsoidIC creates multiple SmoothSuperellipsoid (number = numbub) that are randomly positioned around the domain, with a minimum spacing equal to bubspac. More...
 

Functions

template<>
InputParameters validParams< MultiSmoothSuperellipsoidIC > ()
 

Function Documentation

template<>
InputParameters validParams< MultiSmoothSuperellipsoidIC > ( )

Definition at line 20 of file MultiSmoothSuperellipsoidIC.C.

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