Line data Source code
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 : 12 : registerMooseObject("MooseApp", MoveNodesToSphere); 13 : registerMooseObjectRenamed("MooseApp", GeometrySphere, "06/30/2025 24:00", MoveNodesToSphere); 14 : 15 : InputParameters 16 28578 : MoveNodesToSphere::validParams() 17 : { 18 28578 : InputParameters params = MoveNodesToGeometryModifierBase::validParams(); 19 28578 : params.addClassDescription( 20 : "Snap nodes to the surface of a sphere either during adaptivity or on execution"); 21 28578 : params.addParam<Point>("center", "Sphere center"); 22 28578 : params.addParam<Real>("radius", "Sphere radius"); 23 28578 : return params; 24 0 : } 25 : 26 24 : MoveNodesToSphere::MoveNodesToSphere(const InputParameters & parameters) 27 : : MoveNodesToGeometryModifierBase(parameters), 28 24 : _center(getParam<Point>("center")), 29 48 : _radius(getParam<Real>("radius")) 30 : { 31 24 : } 32 : 33 : void 34 1318 : MoveNodesToSphere::snapNode(Node & node) 35 : { 36 1318 : const Point o = node - _center; 37 1318 : const Real r = o.norm(); 38 1318 : node = o * _radius / r + _center; 39 1318 : }