21 "delete_remote_elements_after_late_geometric_ghosting");
31 params.
addClassDescription(
"Perform operations on the mesh in preparation for a simulation.");
41 mooseError(
"No mesh file was supplied and no generation block was provided");
53 if (
_mesh->isSplit() &&
_mesh->skipRefineWhenUseSplit())
70 TIME_SECTION(
"uniformRefine", 2,
"Uniformly Refining");
72 if (
_mesh->uniformRefineLevel())
74 if (!
_mesh->interiorLowerDBlocks().empty() || !
_mesh->boundaryLowerDBlocks().empty())
75 mooseError(
"HFEM does not support mesh uniform refinement currently.");
93 else if (
_current_task ==
"delete_remote_elements_after_late_geometric_ghosting")
95 TIME_SECTION(
"deleteRemoteElems", 2,
"Deleting Remote Elements");
99 mooseError(
"Our reference and displaced meshes are not in sync with respect to whether we " 100 "should delete remote elements.");
104 if (
_mesh->needsRemoteElemDeletion())
109 _mesh->deleteRemoteElements();
117 bool prepare_for_use_called_on_undisplaced =
false;
119 TIME_SECTION(
"completeSetupUndisplaced", 2,
"Setting Up Undisplaced Mesh");
120 prepare_for_use_called_on_undisplaced =
_mesh->prepare(
nullptr);
125 TIME_SECTION(
"completeSetupDisplaced", 2,
"Setting Up Displaced Mesh");
128 prepare_for_use_called_on_undisplaced ? &
_mesh->getMesh() :
nullptr);
bool isUltimateMaster() const
Whether or not this app is the ultimate master app.
SetupMeshCompleteAction(const InputParameters ¶ms)
registerMooseAction("MooseApp", SetupMeshCompleteAction, "prepare_mesh")
static void uniformRefine(MooseMesh *mesh, unsigned int level=libMesh::invalid_uint)
Performs uniform refinement of the passed Mesh object.
static InputParameters validParams()
bool getExodusFileRestart() const
Whether or not we need to use a separate Exodus reader to read the mesh BEFORE we create the mesh...
static InputParameters validParams()
std::shared_ptr< MooseMesh > & _displaced_mesh
const std::string & _current_task
The current action (even though we have separate instances for each action)
MooseApp & _app
The MOOSE application this is associated with.
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
std::shared_ptr< MooseMesh > & _mesh
bool useMasterMesh() const
Returns whether to use the parent app mesh as the mesh for this app.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
std::shared_ptr< FEProblemBase > & _problem
Convenience reference to a problem this action works on.
bool isRecovering() const
Whether or not this is a "recover" calculation.