InputParameters validParams<BimodalSuperellipsoidsIC>() { InputParameters params = validParams<SpecifiedSmoothSuperellipsoidIC>(); params.addClassDescription("Bimodal size distribution of large particles (specified in input " "file) and small particles (placed randomly outside the larger " "particles)"); params.addRequiredParam<unsigned int>("npart", "The number of random (small) particles to place"); params.addRequiredParam<Real>( "small_spac", "minimum spacing between small particles, measured from closest edge to closest edge"); params.addRequiredParam<Real>("large_spac", "minimum spacing between large and small particles, " "measured from closest edge to closest edge"); params.addRequiredParam<Real>( "small_a", "Mean semiaxis a value for the randomly placed (small) superellipsoids"); params.addRequiredParam<Real>( "small_b", "Mean semiaxis b value for the randomly placed (small) superellipsoids"); params.addRequiredParam<Real>( "small_c", "Mean semiaxis c value for the randomly placed (small) superellipsoids"); params.addRequiredParam<Real>("small_n", "Exponent n for the randomly placed (small) superellipsoids"); params.addParam<Real>("size_variation", 0.0, "Plus or minus fraction of random variation in the " "semiaxes for uniform, standard deviation for " "normal"); MooseEnum rand_options("uniform normal none", "none"); params.addParam<MooseEnum>( "size_variation_type", rand_options, "Type of distribution that random semiaxes will follow"); params.addParam<unsigned int>( "numtries", 1000, "The number of tries to place the random particles"); return params; }
InputParameters validParams<MultiSmoothSuperellipsoidIC>() { InputParameters params = validParams<SmoothSuperellipsoidBaseIC>(); params.addClassDescription("Random distribution of smooth ellipse with given minimum spacing"); params.addRequiredParam<std::vector<unsigned int>>("numbub", "Vector of the number of bubbles to place"); params.addRequiredParam<std::vector<Real>>( "bubspac", "Vector of the minimum spacing of bubbles of one type, measured from center to center"); params.addParam<unsigned int>("max_num_tries", 1000, "The number of tries"); params.addRequiredParam<std::vector<Real>>( "semiaxis_a", "Vector of mean semiaxis values in the x direction for the ellipse"); params.addRequiredParam<std::vector<Real>>( "semiaxis_b", "Vector of mean semiaxis values in the y direction for the ellipse"); params.addRequiredParam<std::vector<Real>>("semiaxis_c", "Vector of mean semiaxis values in the z direction " "for the ellipse, must be greater than 0 even if 2D."); params.addParam<std::vector<Real>>( "exponent", std::vector<Real>(), "Vector of exponents for each superellipsoid, n=2 is a normal ellipse"); params.addParam<std::vector<Real>>("semiaxis_a_variation", std::vector<Real>(), "Vector of plus or minus fractions of random variation in the " "bubble semiaxis in the x direction for uniform, standard " "deviation for normal"); params.addParam<std::vector<Real>>("semiaxis_b_variation", std::vector<Real>(), "Vector of plus or minus fractions of random variation in the " "bubble semiaxis in the y direction for uniform, standard " "deviation for normal"); params.addParam<std::vector<Real>>("semiaxis_c_variation", std::vector<Real>(), "Vector of plus or minus fractions of random variation in the " "bubble semiaxis in the z direction for uniform, standard " "deviation for normal. Must be set to 0 if 2D."); params.addParam<bool>("check_extremes", false, "Check all Superellipsoid extremes (center +- " "each semiaxis) for overlap, must have " "prevent_overlap set to True."); params.addParam<bool>("prevent_overlap", false, "Check all Superellipsoid centers for overlap with other Superellipsoids."); params.addParam<bool>("vary_axes_independently", true, "If true the length of each semiaxis is randomly chosen " "within the provided parameters, if false then one random " "number is generated and applied to all semiaxes."); MooseEnum rand_options("uniform normal none", "none"); params.addParam<MooseEnum>( "semiaxis_variation_type", rand_options, "Type of distribution that random superellipsoid semiaxes will follow"); return params; }
InputParameters validParams<MultiSmoothCircleIC>() { InputParameters params = validParams<SmoothCircleBaseIC>(); params.addClassDescription("Random distribution of smooth circles with given minimum spacing"); params.addRequiredParam<unsigned int>("numbub", "The number of bubbles to place"); params.addRequiredParam<Real>("bubspac", "minimum spacing of bubbles, measured from center to center"); params.addParam<unsigned int>("numtries", 1000, "The number of tries"); params.addRequiredParam<Real>("radius", "Mean radius value for the circels"); params.addParam<Real>("radius_variation", 0.0, "Plus or minus fraction of random variation in the bubble radius for uniform, standard deviation for normal"); MooseEnum rand_options("uniform normal none","none"); params.addParam<MooseEnum>("radius_variation_type", rand_options, "Type of distribution that random circle radii will follow"); return params; }
InputParameters validParams<LatticeSmoothCircleIC>() { InputParameters params = validParams<SmoothCircleBaseIC>(); params.addClassDescription("Perturbed square lattice of smooth circles"); params.addParam<Real>("Rnd_variation", 0.0, "Variation from central lattice position"); params.addRequiredParam<std::vector<unsigned int> >("circles_per_side", "Vector containing the number of bubbles along each side"); params.addParam<unsigned int>("rand_seed", 2000, "random seed"); params.addRequiredParam<Real>("radius", "Mean radius value for the circels"); params.addParam<Real>("radius_variation", 0.0, "Plus or minus fraction of random variation in the bubble radius"); MooseEnum rand_options("uniform normal none","none"); params.addParam<MooseEnum>("radius_variation_type", rand_options, "Type of distribution that random circle radii will follow"); params.addParam<bool>("avoid_bounds", true, "Don't place any bubbles on the simulation cell boundaries"); return params; }
InputParameters validParams<MultiSmoothParticleIC>() { InputParameters params = validParams<SmoothCircleBaseIC>(); params.addRequiredParam<unsigned int>("numbub", "The number of bubbles to be placed on GB"); params.addRequiredParam<Real>("bubspac", "minimum spacing of bubbles, measured from center to center"); params.addParam<unsigned int>("rand_seed", 2000, "random seed"); params.addParam<unsigned int>("numtries", 1000, "The number of tries"); params.addRequiredParam<Real>("radius", "Mean radius value for the circels"); params.addParam<Real>("radius_variation", 0.0, "Plus or minus fraction of random variation in the bubble radius for uniform, standard deviation for normal"); MooseEnum rand_options("uniform normal none","none"); params.addParam<MooseEnum>("radius_variation_type", rand_options, "Type of distribution that random circle radii will follow"); params.addParam<bool>("avoid_bounds", true, "Don't place any bubbles on the simulation cell boundaries"); return params; }