https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SpecifiedSmoothCircleIC.C
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
11#include "MooseRandom.h"
12
14
17{
20 "Multiple smooth circles with manually specified radii and center points");
21 params.addRequiredParam<std::vector<Real>>("x_positions",
22 "The x-coordinate for each circle center");
23 params.addRequiredParam<std::vector<Real>>("y_positions",
24 "The y-coordinate for each circle center");
25 params.addRequiredParam<std::vector<Real>>("z_positions",
26 "The z-coordinate for each circle center");
27 params.addRequiredParam<std::vector<Real>>("radii", "The radius for each circle");
28
29 return params;
30}
31
33 : SmoothCircleBaseIC(parameters),
34 _x_positions(getParam<std::vector<Real>>("x_positions")),
35 _y_positions(getParam<std::vector<Real>>("y_positions")),
36 _z_positions(getParam<std::vector<Real>>("z_positions")),
37 _input_radii(getParam<std::vector<Real>>("radii"))
38{
39}
40
41void
43{
44 _radii.resize(_input_radii.size());
45
46 for (unsigned int circ = 0; circ < _input_radii.size(); ++circ)
47 _radii[circ] = _input_radii[circ];
48}
49
50void
52{
53 _centers.resize(_x_positions.size());
54
55 for (unsigned int circ = 0; circ < _x_positions.size(); ++circ)
56 {
57 _centers[circ](0) = _x_positions[circ];
58 _centers[circ](1) = _y_positions[circ];
59 _centers[circ](2) = _z_positions[circ];
60 }
61}
registerMooseObject("PhaseFieldApp", SpecifiedSmoothCircleIC)
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
SmoothcircleBaseIC is the base class for all initial conditions that create circles.
static InputParameters validParams()
std::vector< Real > _radii
std::vector< Point > _centers
SpecifiedsmoothCircleIC creates multiple SmoothCircles (number = size of x_positions) that are positi...
SpecifiedSmoothCircleIC(const InputParameters &parameters)
static InputParameters validParams()