https://mooseframework.inl.gov
MoveNodesToGeometryModifierBase.h
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 #pragma once
11 
12 #include "GeneralUserObject.h"
13 
19 {
20 public:
22 
24 
25  virtual void initialize() final;
26  virtual void execute() final;
27  virtual void finalize() final;
28 
29  virtual void meshChanged() final;
30 
31 protected:
33  void snapNodes();
34 
40  virtual void snapNode(Node & node) = 0;
41 
44 
46  const std::vector<BoundaryID> _boundary_ids;
47 
49  const std::vector<SubdomainID> _subdomain_ids;
50 };
virtual void snapNode(Node &node)=0
Override this method in derived classes to implement a specific geometry.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void snapNodes()
Snap all nodes from the specified block or boundary restriction to the derived-class-defined geometry...
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:88
MooseMesh & _mesh
Reference to the current simulation mesh.
virtual void initialize() final
Called before execute() is ever called so that data can be cleared.
virtual void meshChanged() final
Called on this object when the mesh changes.
MoveNodesToGeometryModifierBase(const InputParameters &parameters)
const InputParameters & parameters() const
Get the parameters of the object.
const std::vector< SubdomainID > _subdomain_ids
List of blocks (likely lower D blocks) from which nodes will be snapped to a geometry.
const std::vector< BoundaryID > _boundary_ids
List of boundaries (or node sets) from which nodes will be snapped to a geometry. ...
virtual void execute() final
Execute method.
Base class for mesh modifiers that snap nodes to a defined geometry either when executed or when mesh...