https://mooseframework.inl.gov
MoveNodesToSphere.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 
10 #include "MoveNodesToSphere.h"
11 
13 registerMooseObjectRenamed("MooseApp", GeometrySphere, "06/30/2025 24:00", MoveNodesToSphere);
14 
17 {
19  params.addClassDescription(
20  "Snap nodes to the surface of a sphere either during adaptivity or on execution");
21  params.addParam<Point>("center", "Sphere center");
22  params.addParam<Real>("radius", "Sphere radius");
23  return params;
24 }
25 
27  : MoveNodesToGeometryModifierBase(parameters),
28  _center(getParam<Point>("center")),
29  _radius(getParam<Real>("radius"))
30 {
31 }
32 
33 void
35 {
36  const Point o = node - _center;
37  const Real r = o.norm();
38  node = o * _radius / r + _center;
39 }
registerMooseObject("MooseApp", MoveNodesToSphere)
const Real _radius
Radius of the sphere.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
const Point _center
Center of the sphere.
registerMooseObjectRenamed("MooseApp", GeometrySphere, "06/30/2025 24:00", MoveNodesToSphere)
Snaps the selected nodes to the surface of a sphere (or circular disk in 2D)
virtual void snapNode(Node &node) override
Override this method in derived classes to implement a specific geometry.
MoveNodesToSphere(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump...
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an optional parameter and a documentation string to the InputParameters object...
Base class for mesh modifiers that snap nodes to a defined geometry either when executed or when mesh...