Go to the documentation of this file.
13 #include "MooseMesh.h"
14 #include "MooseVariable.h"
23 params.addClassDescription(
"Bimodal size distribution of large particles (specified in input "
24 "file, value invalue) and small particles (placed randomly inside the "
25 "larger particles, value outvalue)");
38 paramError(
"size_variation",
39 "If size_variation > 0.0, you must pass in a size_variation_type in "
40 "BimodalInverseSuperellipsoidsIC");
88 unsigned int num_tries = 0;
102 for (
unsigned int j = 0; j < i; ++j)
110 const Real dist = dist_vec.norm();
113 Real rmn1 = (
std::pow(std::abs(dist_vec(0) / dist /
_as[j]),
_ns[j]) +
121 Real rmn2 = (
std::pow(std::abs(dist_vec(0) / dist /
_as[i]),
_ns[i]) +
147 mooseError(
"Too many tries in MultiSmoothCircleIC");
std::vector< Point > _centers
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
virtual Real value(const Point &p)
Have to do things slightly different from SmoothSuperellipsoidBaseIC because of the inverse structure...
virtual Real computeSuperellipsoidValue(const Point &p, const Point ¢er, Real a, Real b, Real c, Real n)
virtual Real computeSuperellipsoidInverseValue(const Point &p, const Point ¢er, Real a, Real b, Real c, Real n)
std::vector< Real > _y_positions
std::vector< Real > _z_positions
BimodalInverseSuperellipsoidsIC(const InputParameters ¶meters)
BimodalSuperellipsoidsIC takes a specified number of superellipsoids, each with given parameters Thes...
InputParameters validParams< BimodalSuperellipsoidsIC >()
unsigned int _npart
Variables to describe the randomly placed (smaller) superellipsoids.
const unsigned int _max_num_tries
const Real _size_variation
virtual void initialSetup()
BimodalInverseSuperellipsoidsIC takes a specified number of superellipsoids, each with given paramete...
const MooseEnum _size_variation_type
virtual void initialSetup()
virtual void computeSuperellipsoidCenters()
InputParameters validParams< BimodalInverseSuperellipsoidsIC >()
registerMooseObject("PhaseFieldApp", BimodalInverseSuperellipsoidsIC)
std::vector< Real > _x_positions