20 "Compute the radial component of the displacement vector for spherical models.");
23 "The displacements appropriate for the simulation geometry and coordinate system");
25 "Sphere origin for 3D Cartesian and 2D axisymmetric models");
26 params.
set<
bool>(
"use_displaced_mesh") =
false;
33 _ndisp(coupledComponents(
"displacements")),
34 _disp_vals(coupledValues(
"displacements"))
37 const auto & sbd_begin = *subdomains.begin();
38 for (
const auto & sbd : subdomains)
44 "RadialDisplacementSphereAux requires that all subdomains have the same coordinate type");
48 mooseError(
"The number of displacement variables supplied must match the mesh dimension.");
53 _origin = getParam<RealVectorValue>(
"origin");
56 "Must specify 'origin' for models with Cartesian or axisymmetric coordinate systems.");
59 mooseError(
"The 'origin' parameter is only valid for models with Cartesian or axisymmetric " 60 "coordinate systems.");
63 mooseError(
"Cannot compute radial displacement for models with 1D or 2D Cartesian system");
67 "Can only compute radial displacement for axisymmetric systems if the dimensionality is 2");
89 rad_disp = rad_vec * disp_vec;
92 rad_disp = disp_vec.
norm();
Calculates the radial displacement for spherical geometries.
auto norm() const -> decltype(std::norm(Real()))
static InputParameters validParams()
const Node *const & _current_node
RealVectorValue _origin
Point used to define an origin for 2D axisymmetric or 3D Cartesian systems.
const unsigned int _ndisp
Number of displacment components.
RadialDisplacementSphereAux(const InputParameters ¶meters)
bool isParamValid(const std::string &name) const
virtual Real computeValue()
Compute the value of the radial displacement.
virtual unsigned int dimension() const
const std::vector< const VariableValue * > _disp_vals
Coupled variable values of the displacement components.
registerMooseObject("SolidMechanicsApp", RadialDisplacementSphereAux)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void mooseError(Args &&... args) const
static InputParameters validParams()
Moose::CoordinateSystemType getCoordSystem(SubdomainID sid) const
Moose::CoordinateSystemType _coord_system
Type of coordinate system.
const std::set< SubdomainID > & meshSubdomains() const