https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
DisplacedProblem Class Referenceabstract

#include <DisplacedProblem.h>

Inheritance diagram for DisplacedProblem:
[legend]

Classes

class  UpdateDisplacedMeshThread
 

Public Types

using DataFileParameterType = DataFileName
 The parameter type this interface expects for a data file name.
 

Public Member Functions

 DisplacedProblem (DisplacedProblem &&)=delete
 
DisplacedProblemoperator= (DisplacedProblem &&)=delete
 
 DisplacedProblem (const InputParameters &parameters)
 
 ~DisplacedProblem ()
 
virtual EquationSystems & es () override
 
virtual MooseMeshmesh () override
 
virtual const MooseMeshmesh () const override
 
const MooseMeshmesh (bool libmesh_dbg_var(use_displaced)) const override
 
MooseMeshrefMesh ()
 
DisplacedSystemsolverSys (const unsigned int sys_num)
 
DisplacedSystemauxSys ()
 
virtual const SystemBasesystemBaseNonlinear (const unsigned int sys_num) const override
 Return the nonlinear system object as a base class reference given the system number.
 
virtual SystemBasesystemBaseNonlinear (const unsigned int sys_num) override
 
virtual const SystemBasesystemBaseLinear (const unsigned int sys_num) const override
 Return the linear system object as a base class reference given the system number.
 
virtual SystemBasesystemBaseLinear (const unsigned int sys_num) override
 
virtual const SystemBasesystemBaseSolver (const unsigned int sys_num) const override
 Return the solver system object as a base class reference given the system number.
 
virtual SystemBasesystemBaseSolver (const unsigned int sys_num) override
 
virtual const SystemBasesystemBaseAuxiliary () const override
 Return the auxiliary system object as a base class reference.
 
virtual SystemBasesystemBaseAuxiliary () override
 
const std::vector< std::string > & getDisplacementVarNames () const
 
virtual void createQRules (QuadratureType type, Order order, Order volume_order, Order face_order, SubdomainID block, bool allow_negative_qweights=true)
 
void bumpVolumeQRuleOrder (Order order, SubdomainID block)
 
void bumpAllQRuleOrder (Order order, SubdomainID block)
 
virtual void init () override
 
virtual bool solverSystemConverged (const unsigned int solver_sys_num) override
 
virtual unsigned int nlSysNum (const NonlinearSystemName &nl_sys_name) const override
 
virtual unsigned int linearSysNum (const LinearSystemName &sys_name) const override
 
virtual unsigned int solverSysNum (const SolverSystemName &sys_name) const override
 
void addTimeIntegrator ()
 Get the time integrators from the problem.
 
virtual void saveOldSolutions ()
 Allocate vectors and save old solutions into them.
 
virtual void restoreOldSolutions ()
 Restore old solutions from the backup vectors and deallocate them.
 
void syncAuxSolution (const NumericVector< Number > &aux_soln)
 Copy the provided solution into the displaced auxiliary system.
 
void syncSolutions ()
 Copy the solutions on the undisplaced systems to the displaced systems.
 
void syncSolutions (const std::map< unsigned int, const NumericVector< Number > * > &nl_solns, const NumericVector< Number > &aux_soln)
 Synchronize the solutions on the displaced systems to the given solutions.
 
virtual void updateMesh (bool mesh_changing=false)
 Copy the solutions on the undisplaced systems to the displaced systems and reinitialize the geometry search data and Dirac kernel information due to mesh displacement.
 
virtual void updateMesh (const std::map< unsigned int, const NumericVector< Number > * > &nl_soln, const NumericVector< Number > &aux_soln)
 Synchronize the solutions on the displaced systems to the given solutions and reinitialize the geometry search data and Dirac kernel information due to mesh displacement.
 
virtual TagID addVectorTag (const TagName &tag_name, const Moose::VectorTagType type=Moose::VECTOR_TAG_RESIDUAL) override
 Create a Tag.
 
virtual const VectorTaggetVectorTag (const TagID tag_id) const override
 Get a VectorTag from a TagID.
 
virtual TagID getVectorTagID (const TagName &tag_name) const override
 Get a TagID from a TagName.
 
virtual TagName vectorTagName (const TagID tag_id) const override
 Retrieve the name associated with a TagID.
 
virtual bool vectorTagExists (const TagID tag_id) const override
 Check to see if a particular Tag exists.
 
virtual bool vectorTagExists (const TagName &tag_name) const override
 Check to see if a particular Tag exists by using Tag name.
 
virtual unsigned int numVectorTags (const Moose::VectorTagType type=Moose::VECTOR_TAG_ANY) const override
 The total number of tags, which can be limited to the tag type.
 
virtual const std::vector< VectorTag > & getVectorTags (const Moose::VectorTagType type=Moose::VECTOR_TAG_ANY) const override
 Return all vector tags, where a tag is represented by a map from name to ID.
 
virtual Moose::VectorTagType vectorTagType (const TagID tag_id) const override
 
virtual TagID addMatrixTag (TagName tag_name) override
 Create a Tag.
 
virtual TagID getMatrixTagID (const TagName &tag_name) const override
 Get a TagID from a TagName.
 
virtual TagName matrixTagName (TagID tag) override
 Retrieve the name associated with a TagID.
 
virtual bool matrixTagExists (const TagName &tag_name) const override
 Check to see if a particular Tag exists.
 
virtual bool matrixTagExists (TagID tag_id) const override
 Check to see if a particular Tag exists.
 
virtual unsigned int numMatrixTags () const override
 The total number of tags.
 
virtual bool safeAccessTaggedMatrices () const override
 Is it safe to access the tagged matrices.
 
virtual bool safeAccessTaggedVectors () const override
 Is it safe to access the tagged vectors.
 
virtual bool isTransient () const override
 
virtual bool hasVariable (const std::string &var_name) const override
 Whether or not this problem has the variable.
 
virtual const MooseVariableFieldBasegetVariable (const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const override
 Returns the variable reference for requested variable which must be of the expected_var_type (Nonlinear vs.
 
virtual MooseVariablegetStandardVariable (const THREAD_ID tid, const std::string &var_name) override
 Returns the variable reference for requested MooseVariable which may be in any system.
 
virtual MooseVariableFieldBasegetActualFieldVariable (const THREAD_ID tid, const std::string &var_name) override
 Returns the variable reference for requested MooseVariableField which may be in any system.
 
virtual VectorMooseVariablegetVectorVariable (const THREAD_ID tid, const std::string &var_name) override
 Returns the variable reference for requested VectorMooseVariable which may be in any system.
 
virtual ArrayMooseVariablegetArrayVariable (const THREAD_ID tid, const std::string &var_name) override
 Returns the variable reference for requested ArrayMooseVariable which may be in any system.
 
virtual bool hasScalarVariable (const std::string &var_name) const override
 Returns a Boolean indicating whether any system contains a variable with the name provided.
 
virtual MooseVariableScalargetScalarVariable (const THREAD_ID tid, const std::string &var_name) override
 Returns the scalar variable reference from whichever system contains it.
 
virtual System & getSystem (const std::string &var_name) override
 Returns the equation system containing the variable provided.
 
virtual void addVariable (const std::string &var_type, const std::string &name, InputParameters &parameters, unsigned int nl_system_number)
 
virtual void addAuxVariable (const std::string &var_type, const std::string &name, InputParameters &parameters)
 
virtual void initAdaptivity ()
 
void meshChanged (bool contract_mesh, bool clean_refinement_flags)
 
virtual void prepare (const Elem *elem, const THREAD_ID tid) override
 
virtual void prepareNonlocal (const THREAD_ID tid)
 
virtual void prepareFace (const Elem *elem, const THREAD_ID tid) override
 
virtual void prepare (const Elem *elem, unsigned int ivar, unsigned int jvar, const std::vector< dof_id_type > &dof_indices, const THREAD_ID tid) override
 
virtual void setCurrentSubdomainID (const Elem *elem, const THREAD_ID tid) override
 
virtual void setNeighborSubdomainID (const Elem *elem, unsigned int side, const THREAD_ID tid) override
 
virtual void prepareBlockNonlocal (unsigned int ivar, unsigned int jvar, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices, const THREAD_ID tid)
 
virtual void prepareAssembly (const THREAD_ID tid) override
 
virtual void prepareAssemblyNeighbor (const THREAD_ID tid)
 
virtual bool reinitDirac (const Elem *elem, const THREAD_ID tid) override
 Returns true if the Problem has Dirac kernels it needs to compute on elem.
 
virtual void reinitElem (const Elem *elem, const THREAD_ID tid) override
 
virtual void reinitElemPhys (const Elem *elem, const std::vector< Point > &phys_points_in_elem, const THREAD_ID tid) override
 
virtual void reinitElemFace (const Elem *elem, unsigned int side, const THREAD_ID tid) override
 
virtual void reinitNode (const Node *node, const THREAD_ID tid) override
 
virtual void reinitNodeFace (const Node *node, BoundaryID bnd_id, const THREAD_ID tid) override
 
virtual void reinitNeighbor (const Elem *elem, unsigned int side, const THREAD_ID tid) override
 
void reinitNeighbor (const Elem *elem, unsigned int side, const THREAD_ID tid, const std::vector< Point > *neighbor_reference_points)
 reinitialize neighbor routine
 
virtual void reinitNeighborPhys (const Elem *neighbor, unsigned int neighbor_side, const std::vector< Point > &physical_points, const THREAD_ID tid) override
 
virtual void reinitNeighborPhys (const Elem *neighbor, const std::vector< Point > &physical_points, const THREAD_ID tid) override
 
virtual void reinitElemNeighborAndLowerD (const Elem *elem, unsigned int side, const THREAD_ID tid) override
 
virtual void reinitScalars (const THREAD_ID tid, bool reinit_for_derivative_reordering=false) override
 fills the VariableValue arrays for scalar variables from the solution vector
 
virtual void reinitOffDiagScalars (const THREAD_ID tid) override
 
virtual void getDiracElements (std::set< const Elem * > &elems) override
 Fills "elems" with the elements that should be looped over for Dirac Kernels.
 
virtual void clearDiracInfo () override
 Gets called before Dirac Kernels are asked to add the points they are supposed to be evaluated in.
 
virtual void addResidual (const THREAD_ID tid) override
 
virtual void addResidualNeighbor (const THREAD_ID tid) override
 
virtual void addResidualLower (const THREAD_ID tid) override
 
virtual void addCachedResidualDirectly (NumericVector< Number > &residual, const THREAD_ID tid)
 
virtual void setResidual (NumericVector< Number > &residual, const THREAD_ID tid) override
 
virtual void setResidualNeighbor (NumericVector< Number > &residual, const THREAD_ID tid) override
 
virtual void addJacobian (const THREAD_ID tid) override
 
virtual void addJacobianNonlocal (const THREAD_ID tid)
 
virtual void addJacobianNeighbor (const THREAD_ID tid) override
 
virtual void addJacobianNeighborLowerD (const THREAD_ID tid) override
 
virtual void addJacobianLowerD (const THREAD_ID tid) override
 
virtual void addJacobianBlockTags (SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, std::vector< dof_id_type > &dof_indices, const std::set< TagID > &tags, const THREAD_ID tid)
 
void addJacobianBlockNonlocal (SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, const std::vector< dof_id_type > &idof_indices, const std::vector< dof_id_type > &jdof_indices, const std::set< TagID > &tags, const THREAD_ID tid)
 
virtual void addJacobianNeighbor (SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, std::vector< dof_id_type > &dof_indices, std::vector< dof_id_type > &neighbor_dof_indices, const std::set< TagID > &tags, const THREAD_ID tid) override
 
virtual void cacheJacobianNonlocal (const THREAD_ID tid)
 
virtual void prepareShapes (unsigned int var, const THREAD_ID tid) override
 
virtual void prepareFaceShapes (unsigned int var, const THREAD_ID tid) override
 
virtual void prepareNeighborShapes (unsigned int var, const THREAD_ID tid) override
 
virtual Assemblyassembly (const THREAD_ID tid, const unsigned int sys_num) override
 
virtual const Assemblyassembly (const THREAD_ID tid, const unsigned int sys_num) const override
 
virtual void updateGeomSearch (GeometricSearchData::GeometricSearchType type=GeometricSearchData::ALL) override
 update geometric search data
 
virtual GeometricSearchDatageomSearchData () override
 
virtual bool computingPreSMOResidual (const unsigned int nl_sys_num) const override
 Returns true if the problem is in the process of computing it's initial residual.
 
virtual void onTimestepBegin () override
 
virtual void onTimestepEnd () override
 
virtual std::set< dof_id_type > & ghostedElems () override
 Return the list of elements that should have their DoFs ghosted to this processor.
 
virtual void addGhostedElem (dof_id_type elem_id) override
 Will make sure that all dofs connected to elem_id are ghosted to this processor.
 
virtual void addGhostedBoundary (BoundaryID boundary_id) override
 Will make sure that all necessary elements from boundary_id are ghosted to this processor.
 
virtual void ghostGhostedBoundaries () override
 Causes the boundaries added using addGhostedBoundary to actually be ghosted.
 
void undisplaceMesh ()
 Resets the displaced mesh to the reference mesh.
 
virtual LineSearchgetLineSearch () override
 
virtual const CouplingMatrix * couplingMatrix (const unsigned int nl_sys_num) const override
 The coupling matrix defining what blocks exist in the preconditioning matrix.
 
virtual bool haveDisplaced () const override final
 Whether we have a displaced problem in our simulation.
 
virtual bool computingScalingJacobian () const override final
 Getter for whether we're computing the scaling jacobian.
 
virtual bool computingScalingResidual () const override final
 Getter for whether we're computing the scaling residual.
 
virtual void initialSetup () override
 
virtual void timestepSetup () override
 
virtual void customSetup (const ExecFlagType &exec_type) override
 
virtual void residualSetup () override
 
virtual void jacobianSetup () override
 
virtual void haveADObjects (bool have_ad_objects) override
 Method for setting whether we have any ad objects.
 
virtual std::size_t numNonlinearSystems () const override
 
virtual std::size_t numLinearSystems () const override
 
virtual std::size_t numSolverSystems () const override
 
virtual unsigned int currentNlSysNum () const override
 
virtual unsigned int currentLinearSysNum () const override
 
virtual const std::vector< VectorTag > & currentResidualVectorTags () const override
 Return the residual vector tags we are currently computing.
 
virtual void needFV () override
 marks this problem as including/needing finite volume functionality.
 
virtual bool haveFV () const override
 returns true if this problem includes/needs finite volume functionality.
 
virtual bool hasNonlocalCoupling () const override
 Whether the simulation has active nonlocal coupling which should be accounted for in the Jacobian.
 
virtual bool checkNonlocalCouplingRequirement () const override
 
virtual const libMesh::CouplingMatrixnonlocalCouplingMatrix (const unsigned i) const override
 
virtual bool checkResidualForNans () const override
 Whether to check residual for NaN/Inf values.
 
virtual const MooseVariableFieldBasegetVariable (const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const=0
 Returns the variable reference for requested variable which must be of the expected_var_type (Nonlinear vs.
 
virtual MooseVariableFieldBasegetVariable (const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY)
 
virtual void haveADObjects (bool have_ad_objects)
 Method for setting whether we have any ad objects.
 
bool haveADObjects () const
 Method for reading wehther we have any ad objects.
 
virtual const MooseMeshmesh (bool use_displaced) const =0
 
virtual bool nlConverged (const unsigned int nl_sys_num)
 
virtual bool converged (const unsigned int sys_num)
 Eventually we want to convert this virtual over to taking a solver system number argument.
 
bool defaultGhosting ()
 Whether or not the user has requested default ghosting ot be on.
 
void addNotZeroedVectorTag (const TagID tag)
 Adds a vector tag to the list of vectors that will not be zeroed when other tagged vectors are.
 
bool vectorTagNotZeroed (const TagID tag) const
 Checks if a vector tag is in the list of vectors that will not be zeroed when other tagged vectors are.
 
std::vector< VectorTaggetVectorTags (const std::set< TagID > &tag_ids) const
 
virtual std::map< TagName, TagID > & getMatrixTags ()
 Return all matrix tags in the system, where a tag is represented by a map from name to ID.
 
virtual bool hasLinearVariable (const std::string &var_name) const
 Whether or not this problem has this linear variable.
 
virtual bool hasAuxiliaryVariable (const std::string &var_name) const
 Whether or not this problem has this auxiliary variable.
 
virtual void setActiveElementalMooseVariables (const std::set< MooseVariableFieldBase * > &moose_vars, const THREAD_ID tid)
 Set the MOOSE variables to be reinited on each element.
 
virtual const std::set< MooseVariableFieldBase * > & getActiveElementalMooseVariables (const THREAD_ID tid) const
 Get the MOOSE variables to be reinited on each element.
 
virtual bool hasActiveElementalMooseVariables (const THREAD_ID tid) const
 Whether or not a list of active elemental moose variables has been set.
 
virtual void clearActiveElementalMooseVariables (const THREAD_ID tid)
 Clear the active elemental MooseVariableFieldBase.
 
Moose::CoordinateSystemType getCoordSystem (SubdomainID sid) const
 
unsigned int getAxisymmetricRadialCoord () const
 Returns the desired radial direction for RZ coordinate transformation.
 
virtual DiracKernelInfodiracKernelInfo ()
 
virtual Real finalNonlinearResidual (const unsigned int nl_sys_num) const
 
virtual unsigned int nNonlinearIterations (const unsigned int nl_sys_num) const
 
virtual unsigned int nLinearIterations (const unsigned int nl_sys_num) const
 
virtual void cacheResidual (const THREAD_ID tid)
 
virtual void cacheResidualNeighbor (const THREAD_ID tid)
 
virtual void addCachedResidual (const THREAD_ID tid)
 
virtual void setResidual (libMesh::NumericVector< libMesh::Number > &residual, const THREAD_ID tid)=0
 
virtual void setResidualNeighbor (libMesh::NumericVector< libMesh::Number > &residual, const THREAD_ID tid)=0
 
virtual void addJacobianNeighbor (libMesh::SparseMatrix< libMesh::Number > &jacobian, unsigned int ivar, unsigned int jvar, const libMesh::DofMap &dof_map, std::vector< dof_id_type > &dof_indices, std::vector< dof_id_type > &neighbor_dof_indices, const std::set< TagID > &tags, const THREAD_ID tid)=0
 
virtual void cacheJacobian (const THREAD_ID tid)
 
virtual void cacheJacobianNeighbor (const THREAD_ID tid)
 
virtual void addCachedJacobian (const THREAD_ID tid)
 
virtual void reinitLowerDElem (const Elem *lower_d_elem, const THREAD_ID tid, const std::vector< Point > *const pts=nullptr, const std::vector< Real > *const weights=nullptr)
 
void reinitNodes (const std::vector< dof_id_type > &nodes, const THREAD_ID tid)
 
void reinitNodesNeighbor (const std::vector< dof_id_type > &nodes, const THREAD_ID tid)
 
virtual void setCurrentBoundaryID (BoundaryID bid, const THREAD_ID tid)
 sets the current boundary ID in assembly
 
virtual void reinitElemFaceRef (const Elem *elem, unsigned int side, Real tolerance, const std::vector< Point > *const pts, const std::vector< Real > *const weights=nullptr, const THREAD_ID tid=0)
 reinitialize FE objects on a given element on a given side at a given set of reference points and then compute variable data.
 
virtual void reinitNeighborFaceRef (const Elem *neighbor_elem, unsigned int neighbor_side, Real tolerance, const std::vector< Point > *const pts, const std::vector< Real > *const weights=nullptr, const THREAD_ID tid=0)
 reinitialize FE objects on a given neighbor element on a given side at a given set of reference points and then compute variable data.
 
void reinitNeighborLowerDElem (const Elem *elem, const THREAD_ID tid=0)
 reinitialize a neighboring lower dimensional element
 
void reinitMortarElem (const Elem *elem, const THREAD_ID tid=0)
 Reinit a mortar element to obtain a valid JxW.
 
void reinitGeomSearch ()
 reinitialize this object's geometric search data, e.g.
 
virtual void storeSubdomainMatPropName (SubdomainID block_id, const std::string &name)
 Adds the given material property to a storage map based on block ids.
 
virtual void storeBoundaryMatPropName (BoundaryID boundary_id, const std::string &name)
 Adds the given material property to a storage map based on boundary ids.
 
virtual void storeSubdomainZeroMatProp (SubdomainID block_id, const MaterialPropertyName &name)
 Adds to a map based on block ids of material properties for which a zero value can be returned.
 
virtual void storeBoundaryZeroMatProp (BoundaryID boundary_id, const MaterialPropertyName &name)
 Adds to a map based on boundary ids of material properties for which a zero value can be returned.
 
virtual void storeSubdomainDelayedCheckMatProp (const std::string &requestor, SubdomainID block_id, const std::string &name)
 Adds to a map based on block ids of material properties to validate.
 
virtual void storeBoundaryDelayedCheckMatProp (const std::string &requestor, BoundaryID boundary_id, const std::string &name)
 Adds to a map based on boundary ids of material properties to validate.
 
virtual void checkBlockMatProps ()
 Checks block material properties integrity.
 
virtual void checkBoundaryMatProps ()
 Checks boundary material properties integrity.
 
virtual void markMatPropRequested (const std::string &)
 Helper method for adding a material property name to the _material_property_requested set.
 
virtual bool isMatPropRequested (const std::string &prop_name) const
 Find out if a material property has been requested by any object.
 
void addConsumedPropertyName (const MooseObjectName &obj_name, const std::string &prop_name)
 Helper for tracking the object that is consuming a property for MaterialPropertyDebugOutput.
 
const std::map< MooseObjectName, std::set< std::string > > & getConsumedPropertyMap () const
 Return the map that tracks the object with consumed material properties.
 
virtual std::set< SubdomainIDgetMaterialPropertyBlocks (const std::string &prop_name)
 Get a vector containing the block ids the material property is defined on.
 
virtual std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &prop_name)
 Get a vector of block id equivalences that the material property is defined on.
 
virtual bool hasBlockMaterialProperty (SubdomainID block_id, const std::string &prop_name)
 Check if a material property is defined on a block.
 
virtual std::set< BoundaryIDgetMaterialPropertyBoundaryIDs (const std::string &prop_name)
 Get a vector containing the block ids the material property is defined on.
 
virtual std::vector< BoundaryName > getMaterialPropertyBoundaryNames (const std::string &prop_name)
 Get a vector of block id equivalences that the material property is defined on.
 
virtual bool hasBoundaryMaterialProperty (BoundaryID boundary_id, const std::string &prop_name)
 Check if a material property is defined on a block.
 
const bool & currentlyComputingJacobian () const
 Returns true if the problem is in the process of computing the Jacobian.
 
void setCurrentlyComputingJacobian (const bool currently_computing_jacobian)
 Set whether or not the problem is in the process of computing the Jacobian.
 
const bool & currentlyComputingResidualAndJacobian () const
 Returns true if the problem is in the process of computing the residual and the Jacobian.
 
void setCurrentlyComputingResidualAndJacobian (bool currently_computing_residual_and_jacobian)
 Set whether or not the problem is in the process of computing the Jacobian.
 
bool computingNonlinearResid () const
 Returns true if the problem is in the process of computing the nonlinear residual.
 
virtual void computingNonlinearResid (const bool computing_nonlinear_residual)
 Set whether or not the problem is in the process of computing the nonlinear residual.
 
const bool & currentlyComputingResidual () const
 Returns true if the problem is in the process of computing the residual.
 
virtual void setCurrentlyComputingResidual (const bool currently_computing_residual)
 Set whether or not the problem is in the process of computing the residual.
 
virtual void clearActiveFEVariableCoupleableMatrixTags (const THREAD_ID tid)
 
virtual void clearActiveFEVariableCoupleableVectorTags (const THREAD_ID tid)
 
virtual void setActiveFEVariableCoupleableVectorTags (std::set< TagID > &vtags, const THREAD_ID tid)
 
virtual void setActiveFEVariableCoupleableMatrixTags (std::set< TagID > &mtags, const THREAD_ID tid)
 
virtual void clearActiveScalarVariableCoupleableMatrixTags (const THREAD_ID tid)
 
virtual void clearActiveScalarVariableCoupleableVectorTags (const THREAD_ID tid)
 
virtual void setActiveScalarVariableCoupleableVectorTags (std::set< TagID > &vtags, const THREAD_ID tid)
 
virtual void setActiveScalarVariableCoupleableMatrixTags (std::set< TagID > &mtags, const THREAD_ID tid)
 
const std::set< TagID > & getActiveScalarVariableCoupleableVectorTags (const THREAD_ID tid) const
 
const std::set< TagID > & getActiveScalarVariableCoupleableMatrixTags (const THREAD_ID tid) const
 
const std::set< TagID > & getActiveFEVariableCoupleableVectorTags (const THREAD_ID tid) const
 
const std::set< TagID > & getActiveFEVariableCoupleableMatrixTags (const THREAD_ID tid) const
 
void addAlgebraicGhostingFunctor (libMesh::GhostingFunctor &algebraic_gf, bool to_mesh=true)
 Add an algebraic ghosting functor to this problem's DofMaps.
 
void addCouplingGhostingFunctor (libMesh::GhostingFunctor &coupling_gf, bool to_mesh=true)
 Add a coupling functor to this problem's DofMaps.
 
void removeAlgebraicGhostingFunctor (libMesh::GhostingFunctor &algebraic_gf)
 Remove an algebraic ghosting functor from this problem's DofMaps.
 
void removeCouplingGhostingFunctor (libMesh::GhostingFunctor &coupling_gf)
 Remove a coupling ghosting functor from this problem's DofMaps.
 
virtual void automaticScaling (bool automatic_scaling)
 Automatic scaling setter.
 
bool automaticScaling () const
 Automatic scaling getter.
 
void hasScalingVector (const unsigned int nl_sys_num)
 Tells this problem that the assembly associated with the given nonlinear system number involves a scaling vector.
 
void clearAllDofIndices ()
 Clear dof indices from variables in nl and aux systems.
 
template<typename T >
const Moose::Functor< T > & getFunctor (const std::string &name, const THREAD_ID tid, const std::string &requestor_name, bool requestor_is_ad)
 
bool hasFunctor (const std::string &name, const THREAD_ID tid) const
 checks whether we have a functor corresponding to name on the thread id tid
 
template<typename T >
bool hasFunctorWithType (const std::string &name, const THREAD_ID tid) const
 checks whether we have a functor of type T corresponding to name on the thread id tid
 
template<typename T >
void addFunctor (const std::string &name, const Moose::FunctorBase< T > &functor, const THREAD_ID tid)
 add a functor to the problem functor container
 
template<typename T , typename PolymorphicLambda >
const Moose::FunctorBase< T > & addPiecewiseByBlockLambdaFunctor (const std::string &name, PolymorphicLambda my_lammy, const std::set< ExecFlagType > &clearance_schedule, const MooseMesh &mesh, const std::set< SubdomainID > &block_ids, const THREAD_ID tid)
 Add a functor that has block-wise lambda definitions, e.g.
 
void setFunctorOutput (bool set_output)
 Setter for debug functor output.
 
void setChainControlDataOutput (bool set_output)
 Setter for debug chain control data output.
 
template<typename T >
void registerUnfilledFunctorRequest (T *functor_interface, const std::string &functor_name, const THREAD_ID tid)
 Register an unfulfilled functor request.
 
void reinitFVFace (const THREAD_ID tid, const FaceInfo &fi)
 reinitialize the finite volume assembly data for the provided face and thread
 
void preparePRefinement ()
 Prepare DofMap and Assembly classes with our p-refinement information.
 
bool doingPRefinement () const
 
bool havePRefinement () const
 Query whether p-refinement has been requested at any point during the simulation.
 
void markFamilyPRefinement (const InputParameters &params)
 Mark a variable family for either disabling or enabling p-refinement with valid parameters of a variable.
 
virtual void setCurrentLowerDElem (const Elem *const lower_d_elem, const THREAD_ID tid)
 Set the current lower dimensional element.
 
template<typename T >
MooseVariableFEBasegetVariableHelper (const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type, Moose::VarFieldType expected_var_field_type, const std::vector< T > &systems, const SystemBase &aux) const
 
void _setCLIOption ()
 For Internal Use.
 
virtual void terminateSolve ()
 Allow objects to request clean termination of the solve.
 
virtual bool isSolveTerminationRequested () const
 Check of termination has been requested.
 
const ConsoleStreamconsole () const
 Return console handle.
 
virtual bool enabled () const
 Return the enabled status of the object.
 
std::shared_ptr< MooseObjectgetSharedPtr ()
 Get another shared pointer to this object that has the same ownership group.
 
std::shared_ptr< const MooseObjectgetSharedPtr () const
 
bool isKokkosObject () const
 Get whether this object is a Kokkos functor The parameter MooseBase::kokkos_object_param is set by the Kokkos base classes.
 
MooseAppgetMooseApp () const
 Get the MooseApp this class is associated with.
 
const std::string & type () const
 Get the type of this class.
 
const std::string & name () const
 Get the name of the class.
 
std::string typeAndName () const
 Get the class's combined type and name; useful in error handling.
 
MooseObjectParameterName uniqueParameterName (const std::string &parameter_name) const
 
MooseObjectName uniqueName () const
 
const InputParametersparameters () const
 Get the parameters of the object.
 
const hit::Node * getHitNode () const
 
bool hasBase () const
 
const std::string & getBase () const
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object.
 
template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > getParam (const std::string &param1, const std::string &param2) const
 Retrieve two parameters and provide pair of parameters for the object.
 
template<typename T >
const T * queryParam (const std::string &name) const
 Query a parameter for the object.
 
template<typename T >
const T & getRenamedParam (const std::string &old_name, const std::string &new_name) const
 Retrieve a renamed parameter for the object.
 
template<typename T >
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 Verifies that the requested parameter exists and is not NULL and returns it to the caller.
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid.
 
bool isParamSetByUser (const std::string &name) const
 Test if the supplied parameter is set by a user, as opposed to not set or set to default.
 
void connectControllableParams (const std::string &parameter, const std::string &object_type, const std::string &object_name, const std::string &object_parameter) const
 Connect controllable parameter of this action with the controllable parameters of the objects added by this action.
 
template<typename... Args>
void paramError (const std::string &param, Args... args) const
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args) const
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args) const
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args) const
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.
 
std::string messagePrefix (const bool hit_prefix=true) const
 
std::string errorPrefix (const std::string &) const
 Deprecated message prefix; the error type is no longer used.
 
template<typename... Args>
void mooseError (Args &&... args) const
 Emits an error prefixed with object name and type and optionally a file path to the top-level block parameter if available.
 
template<typename... Args>
void mooseDocumentedError (const std::string &repo_name, const unsigned int issue_num, Args &&... args) const
 
template<typename... Args>
void mooseErrorNonPrefixed (Args &&... args) const
 Emits an error without the prefixing included in mooseError().
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 Emits a warning prefixed with object name and type.
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 Emits a warning without the prefixing included in mooseWarning().
 
template<typename... Args>
void mooseWarningNonPrefixed (Args &&... args) const
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 Emits a deprecation warning prefixed with the object name and type, and a stack trace.
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseDeprecatedNoTrace (Args &&... args) const
 Emits a deprecation warning prefixed with the object name and type, and no stack trace.
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 
void callMooseError (std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
 External method for calling moose error with added object context.
 
const Parallel::Communicatorcomm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 
std::string getDataFileName (const std::string &param) const
 Deprecated method.
 
std::string getDataFileNameByName (const std::string &relative_path) const
 Deprecated method.
 
std::string getDataFilePath (const std::string &relative_path) const
 Returns the path of a data file for a given relative file path.
 
PerfGraphperfGraph ()
 Get the PerfGraph.
 

Static Public Member Functions

static InputParameters validParams ()
 
static void selectVectorTagsFromSystem (const SystemBase &system, const std::vector< VectorTag > &input_vector_tags, std::set< TagID > &selected_tags)
 Select the vector tags which belong to a specific system.
 
static void selectMatrixTagsFromSystem (const SystemBase &system, const std::map< TagName, TagID > &input_matrix_tags, std::set< TagID > &selected_tags)
 Select the matrix tags which belong to a specific system.
 
static void callMooseError (MooseApp *const app, const InputParameters &params, std::string msg, const bool with_prefix, const hit::Node *node, const bool show_trace=true)
 External method for calling moose error with added object context.
 

Public Attributes

std::map< std::string, std::vector< dof_id_type > > _var_dof_map
 
 usingCombinedWarningSolutionWarnings
 
const ConsoleStream _console
 An instance of helper class to write streams to the Console objects.
 

Static Public Attributes

static const std::string type_param = "_type"
 The name of the parameter that contains the object type.
 
static const std::string name_param = "_object_name"
 The name of the parameter that contains the object name.
 
static const std::string unique_name_param = "_unique_name"
 The name of the parameter that contains the unique object name.
 
static const std::string app_param = "_moose_app"
 The name of the parameter that contains the MooseApp.
 
static const std::string moose_base_param = "_moose_base"
 The name of the parameter that contains the moose system base.
 
static const std::string kokkos_object_param = "_kokkos_object"
 The name of the parameter that indicates an object is a Kokkos functor.
 

Protected Member Functions

template<typename T >
MooseVariableFieldBasegetVariableHelper (const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type, Moose::VarFieldType expected_var_field_type, const std::vector< T > &nls, const SystemBase &aux) const
 Helper function called by getVariable that handles the logic for checking whether Variables of the requested type are available.
 
bool verifyVectorTags () const
 Verify the integrity of _vector_tags and _typed_vector_tags.
 
template<bool warning>
void flagInvalidSolutionInternal (const InvalidSolutionID invalid_solution_id) const
 Set solution invalid mark for the given solution ID.
 
InvalidSolutionID registerInvalidSolutionInternal (const std::string &message, const bool warning) const
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level) const
 Call to register a named section for timing.
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const
 Call to register a named section for timing.
 
std::string timedSectionName (const std::string &section_name) const
 

Protected Attributes

FEProblemBase_mproblem
 
MooseMesh_mesh
 
EquationSystems _eq
 
MooseMesh_ref_mesh
 reference mesh
 
std::vector< std::string > _displacements
 
std::vector< std::unique_ptr< DisplacedSystem > > _displaced_solver_systems
 
std::unique_ptr< DisplacedSystem_displaced_aux
 
std::vector< const NumericVector< Number > * > _nl_solution
 The nonlinear system solutions.
 
const NumericVector< Number > * _aux_solution
 The auxiliary system solution.
 
std::vector< std::vector< std::unique_ptr< Assembly > > > _assembly
 
GeometricSearchData _geometric_search_data
 
std::map< TagName, TagID_matrix_tag_name_to_tag_id
 The currently declared tags.
 
std::map< TagID, TagName > _matrix_tag_id_to_tag_name
 Reverse map.
 
Factory_factory
 The Factory for building objects.
 
DiracKernelInfo _dirac_kernel_info
 
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
 Map of material properties (block_id -> list of properties)
 
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
 Map for boundary material properties (boundary_id -> list of properties)
 
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
 Set of properties returned as zero properties.
 
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
 
std::set< std::string > _material_property_requested
 set containing all material property names that have been requested by getMaterialProperty*
 
std::vector< std::set< MooseVariableFieldBase * > > _active_elemental_moose_variables
 This is the set of MooseVariableFieldBase that will actually get reinited by a call to reinit(elem)
 
std::vector< unsigned int_has_active_elemental_moose_variables
 Whether or not there is currently a list of active elemental moose variables.
 
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
 
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
 
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
 
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
 
bool _default_ghosting
 Whether or not to use default libMesh coupling.
 
std::set< dof_id_type > _ghosted_elems
 Elements that should have Dofs ghosted to the local processor.
 
bool _currently_computing_jacobian
 Flag to determine whether the problem is currently computing Jacobian.
 
bool _currently_computing_residual_and_jacobian
 Flag to determine whether the problem is currently computing the residual and Jacobian.
 
bool _computing_nonlinear_residual
 Whether the non-linear residual is being evaluated.
 
bool _currently_computing_residual
 Whether the residual is being evaluated.
 
bool _safe_access_tagged_matrices
 Is it safe to retrieve data from tagged matrices.
 
bool _safe_access_tagged_vectors
 Is it safe to retrieve data from tagged vectors.
 
bool _have_ad_objects
 AD flag indicating whether any AD objects have been added.
 
std::unordered_set< TagID_not_zeroed_tagged_vectors
 the list of vector tags that will not be zeroed when all other tags are
 
bool _cli_option_found
 True if the CLI option is found.
 
bool _color_output
 True if we're going to attempt to write color output.
 
bool _termination_requested
 True if termination of the solve has been requested.
 
const bool & _enabled
 Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects.
 
MooseApp_app
 The MOOSE application this is associated with.
 
ActionFactory_action_factory
 Builds Actions.
 
const std::string & _type
 The type of this class.
 
const std::string & _name
 The name of this class.
 
const InputParameters_pars
 The object's parameters.
 
const Parallel::Communicator_communicator
 
MooseApp_pg_moose_app
 The MooseApp that owns the PerfGraph.
 
const std::string _prefix
 A prefix to use for all sections.
 
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
 Data structures of the requested material properties.
 
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
 

Private Types

enum class  TrueFunctorIs { UNSET , NONAD , AD }
 

Private Member Functions

virtual std::pair< bool, unsigned intdetermineSolverSystem (const std::string &var_name, bool error_if_not_found=false) const override
 
void cloneAlgebraicGhostingFunctor (libMesh::GhostingFunctor &algebraic_gf, bool to_mesh=true)
 Creates (n_sys - 1) clones of the provided algebraic ghosting functor (corresponding to the nonlinear system algebraic ghosting functor), initializes the clone with the appropriate DofMap, and then adds the clone to said DofMap.
 
void cloneCouplingGhostingFunctor (libMesh::GhostingFunctor &coupling_gf, bool to_mesh=true)
 Creates (n_sys - 1) clones of the provided coupling ghosting functor (corresponding to the nonlinear system coupling ghosting functor), initializes the clone with the appropriate DofMap, and then adds the clone to said DofMap.
 
void showFunctors () const
 Lists all functors in the problem.
 
void showFunctorRequestors () const
 Lists all functors and all the objects that requested them.
 
std::string restrictionSubdomainCheckName (SubdomainID check_id)
 Helper functions for checking MaterialProperties.
 
std::string restrictionBoundaryCheckName (BoundaryID check_id)
 

Static Private Member Functions

static const hit::Node * getHitNode (const InputParameters &params)
 Internal method for getting a hit node (if available) given a set of parameters.
 
static std::string messagePrefix (const InputParameters &params, const bool hit_prefix)
 Internal method for getting the message prefix for an object (object type, name, etc).
 

Private Attributes

std::vector< std::multimap< std::string, std::tuple< TrueFunctorIs, std::unique_ptr< Moose::FunctorEnvelopeBase >, std::unique_ptr< Moose::FunctorEnvelopeBase > > > > _functors
 A container holding pointers to all the functors in our problem.
 
std::vector< std::map< std::string, std::unique_ptr< Moose::FunctorAbstract > > > _pbblf_functors
 Container to hold PiecewiseByBlockLambdaFunctors.
 
std::map< std::string, std::set< std::string > > _functor_to_requestors
 The requestors of functors where the key is the prop name and the value is a set of names of requestors.
 
std::vector< std::multimap< std::string, std::pair< bool, bool > > > _functor_to_request_info
 A multimap (for each thread) from unfilled functor requests to whether the requests were for AD functors and whether the requestor was an AD object.
 
bool _show_functors
 Whether to output a list of the functors used and requested (currently only at initialSetup)
 
bool _show_chain_control_data
 Whether to output a list of all the chain control data.
 
std::vector< VectorTag_vector_tags
 The declared vector tags.
 
std::vector< std::vector< VectorTag > > _typed_vector_tags
 The vector tags associated with each VectorTagType This is kept separate from _vector_tags for quick access into typed vector tags in places where we don't want to build a new vector every call (like in residual evaluation)
 
std::map< TagName, TagID_vector_tags_name_map
 Map of vector tag TagName to TagID.
 
std::map< MooseObjectName, std::set< std::string > > _consumed_material_properties
 
std::unordered_map< libMesh::GhostingFunctor *, std::vector< std::shared_ptr< libMesh::GhostingFunctor > > > _root_alg_gf_to_sys_clones
 A map from a root algebraic ghosting functor, e.g.
 
std::unordered_map< libMesh::GhostingFunctor *, std::vector< std::shared_ptr< libMesh::GhostingFunctor > > > _root_coupling_gf_to_sys_clones
 A map from a root coupling ghosting functor, e.g.
 
bool _have_p_refinement
 Whether p-refinement has been requested at any point during the simulation.
 
std::unordered_map< FEFamily, bool > _family_for_p_refinement
 Indicate whether a family is disabled for p-refinement.
 
const ParallelParamObject_parent
 
const MooseBase_si_moose_base
 The MooseBase that owns this interface.
 
const FEProblemBase_si_problem
 A pointer to FEProblem base.
 

Static Private Attributes

static const std::unordered_set< FEFamily > _default_families_without_p_refinement
 The set of variable families by default disable p-refinement.
 

Friends

class UpdateDisplacedMeshThread
 
class Restartable
 

Detailed Description

Definition at line 37 of file DisplacedProblem.h.

Member Typedef Documentation

◆ DataFileParameterType

using DataFileInterface::DataFileParameterType = DataFileName
inherited

The parameter type this interface expects for a data file name.

Definition at line 27 of file DataFileInterface.h.

Member Enumeration Documentation

◆ TrueFunctorIs

enum class SubProblem::TrueFunctorIs
strongprivateinherited
Enumerator
UNSET 
NONAD 
AD 

Definition at line 1144 of file SubProblem.h.

Constructor & Destructor Documentation

◆ DisplacedProblem() [1/2]

DisplacedProblem::DisplacedProblem ( DisplacedProblem &&  )
delete

◆ DisplacedProblem() [2/2]

DisplacedProblem::DisplacedProblem ( const InputParameters parameters)

Definition at line 43 of file DisplacedProblem.C.

46 ? *getParam<FEProblemBase *>("_fe_problem_base")
47 : *getParam<FEProblem *>("_fe_problem")),
48 _mesh(*getParam<MooseMesh *>("mesh")),
49 _eq(_mesh),
51 _displacements(getParam<std::vector<std::string>>("displacements")),
53
54{
55 // Disable refinement/coarsening in EquationSystems::reinit because we already do this ourselves
56 _eq.disable_refine_in_reinit();
57
58 // TODO: Move newAssemblyArray further up to SubProblem so that we can use it here
59 unsigned int n_threads = libMesh::n_threads();
60
61 _assembly.resize(n_threads);
62 for (const auto nl_sys_num : make_range(_mproblem.numNonlinearSystems()))
63 {
64 _displaced_solver_systems.emplace_back(std::make_unique<DisplacedSystem>(
65 *this,
68 "displaced_" + _mproblem.getNonlinearSystemBase(nl_sys_num).name() + "_" +
69 std::to_string(nl_sys_num),
71 auto & displaced_nl = _displaced_solver_systems.back();
72
73 for (unsigned int i = 0; i < n_threads; ++i)
74 _assembly[i].emplace_back(std::make_unique<Assembly>(*displaced_nl, i));
75 }
76
77 _nl_solution.resize(_displaced_solver_systems.size(), nullptr);
78
80 std::make_unique<DisplacedSystem>(*this,
83 "displaced_" + _mproblem.getAuxiliarySystem().name(),
85
86 // // Generally speaking, the mesh is prepared for use, and consequently remote elements are deleted
87 // // well before our Problem(s) are constructed. Historically, in MooseMesh we have a bunch of
88 // // needs_prepare type flags that make it so we never call prepare_for_use (and consequently
89 // // delete_remote_elements) again. So the below line, historically, has had no impact. HOWEVER:
90 // // I've added some code in SetupMeshCompleteAction for deleting remote elements post
91 // // EquationSystems::init. If I execute that code without default ghosting, then I get > 40 MOOSE
92 // // test failures, so we clearly have some simulations that are not yet covered properly by
93 // // relationship managers. Until that is resolved, I am going to retain default geometric ghosting
94 // if (!_default_ghosting)
95 // _mesh.getMesh().remove_ghosting_functor(_mesh.getMesh().default_ghosting());
96
98
100}
std::vector< const NumericVector< Number > * > _nl_solution
The nonlinear system solutions.
std::vector< std::unique_ptr< DisplacedSystem > > _displaced_solver_systems
EquationSystems _eq
std::vector< std::vector< std::unique_ptr< Assembly > > > _assembly
virtual std::size_t numNonlinearSystems() const override
MooseMesh & _ref_mesh
reference mesh
virtual MooseMesh & mesh() override
std::unique_ptr< DisplacedSystem > _displaced_aux
GeometricSearchData _geometric_search_data
FEProblemBase & _mproblem
std::vector< std::string > _displacements
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
AuxiliarySystem & getAuxiliarySystem()
NonlinearSystemBase & getNonlinearSystemBase(const unsigned int sys_num)
void automaticScaling(bool automatic_scaling) override
Automatic scaling setter.
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Definition FEProblem.h:21
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition MooseBase.h:406
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition MooseMesh.h:95
void setCoordData(const MooseMesh &other_mesh)
Set the coordinate system data to that of other_mesh.
Definition MooseMesh.C:4451
Generic class for solving transient nonlinear problems.
Definition SubProblem.h:79
bool automaticScaling() const
Automatic scaling getter.
virtual const std::string & name() const
@ VAR_AUXILIARY
Definition MooseTypes.h:771
@ VAR_SOLVER
Definition MooseTypes.h:770
IntRange< T > make_range(T beg, T end)
unsigned int n_threads()

◆ ~DisplacedProblem()

DisplacedProblem::~DisplacedProblem ( )
default

Member Function Documentation

◆ _setCLIOption()

void Problem::_setCLIOption ( )
inlineinherited

For Internal Use.

Definition at line 32 of file Problem.h.

32{ _cli_option_found = true; }
bool _cli_option_found
True if the CLI option is found.
Definition Problem.h:52

◆ addAlgebraicGhostingFunctor()

void SubProblem::addAlgebraicGhostingFunctor ( libMesh::GhostingFunctor algebraic_gf,
bool  to_mesh = true 
)
inherited

Add an algebraic ghosting functor to this problem's DofMaps.

Definition at line 1038 of file SubProblem.C.

1039{
1040 EquationSystems & eq = es();
1041 const auto n_sys = eq.n_systems();
1042 if (!n_sys)
1043 return;
1044
1045 eq.get_system(0).get_dof_map().add_algebraic_ghosting_functor(algebraic_gf, to_mesh);
1046 cloneAlgebraicGhostingFunctor(algebraic_gf, to_mesh);
1047}
void cloneAlgebraicGhostingFunctor(libMesh::GhostingFunctor &algebraic_gf, bool to_mesh=true)
Creates (n_sys - 1) clones of the provided algebraic ghosting functor (corresponding to the nonlinear...
virtual libMesh::EquationSystems & es()=0

◆ addAuxVariable()

void DisplacedProblem::addAuxVariable ( const std::string &  var_type,
const std::string &  name,
InputParameters parameters 
)
virtual

Definition at line 595 of file DisplacedProblem.C.

598{
599 _displaced_aux->addVariable(var_type, name, parameters);
600}
const std::string & name() const
Get the name of the class.
Definition MooseBase.h:103

◆ addCachedJacobian()

void SubProblem::addCachedJacobian ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 1345 of file SubProblem.C.

1346{
1348}
Key structure for APIs manipulating global vectors/matrices.
Definition Assembly.h:836
void addCachedJacobian(GlobalDataKey)
Adds the values that have been cached by calling cacheJacobian() and or cacheJacobianNeighbor() to th...
Definition Assembly.C:3798
virtual unsigned int currentNlSysNum() const =0
virtual Assembly & assembly(const THREAD_ID tid, const unsigned int sys_num)=0

Referenced by FEProblemBase::addCachedJacobian().

◆ addCachedResidual()

void SubProblem::addCachedResidual ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 1324 of file SubProblem.C.

1325{
1328}
void addCachedResiduals(GlobalDataKey, const std::vector< VectorTag > &tags)
Pushes all cached residuals to the global residual vectors associated with each tag.
Definition Assembly.C:3468
virtual const std::vector< VectorTag > & currentResidualVectorTags() const =0
Return the residual vector tags we are currently computing.

Referenced by FEProblemBase::addCachedResidual().

◆ addCachedResidualDirectly()

void DisplacedProblem::addCachedResidualDirectly ( NumericVector< Number > &  residual,
const THREAD_ID  tid 
)
virtual

Definition at line 949 of file DisplacedProblem.C.

950{
952 _displaced_solver_systems[currentNlSysNum()]->timeVectorTag()))
953 _assembly[tid][currentNlSysNum()]->addCachedResidualDirectly(
954 residual,
957
959 _displaced_solver_systems[currentNlSysNum()]->nonTimeVectorTag()))
960 _assembly[tid][currentNlSysNum()]->addCachedResidualDirectly(
961 residual,
964
965 std::vector<VectorTag> extra_residual_vector_tags;
966 extra_residual_vector_tags.reserve(currentResidualVectorTags().size());
967 const auto time_tag = _displaced_solver_systems[currentNlSysNum()]->timeVectorTag();
968 const auto non_time_tag = _displaced_solver_systems[currentNlSysNum()]->nonTimeVectorTag();
969 for (const auto & vector_tag : currentResidualVectorTags())
970 if (vector_tag._id != time_tag && vector_tag._id != non_time_tag)
971 extra_residual_vector_tags.push_back(vector_tag);
972
973 // Flush extra vector tag caches (e.g. from extra_vector_tags on NodalConstraints)
974 // to their respective system vectors after the standard TIME/NONTIME caches above.
975 // Without this, NodalConstraint contributions to extra vector tags are silently
976 // discarded by the blanket clearCachedResiduals.
977 _assembly[tid][currentNlSysNum()]->addCachedResiduals(Assembly::GlobalDataKey{},
978 extra_residual_vector_tags);
979
980 // We do this because by adding the cached residual directly, we cannot ensure that all of the
981 // cached residuals are emptied after only the two add calls above
982 _assembly[tid][currentNlSysNum()]->clearCachedResiduals(Assembly::GlobalDataKey{});
983}
if(!dmm->_nl) SETERRQ(PETSC_COMM_WORLD
virtual unsigned int currentNlSysNum() const override
virtual const std::vector< VectorTag > & currentResidualVectorTags() const override
Return the residual vector tags we are currently computing.
virtual const VectorTag & getVectorTag(const TagID tag_id) const override
Get a VectorTag from a TagID.

◆ addConsumedPropertyName()

void SubProblem::addConsumedPropertyName ( const MooseObjectName obj_name,
const std::string &  prop_name 
)
inherited

Helper for tracking the object that is consuming a property for MaterialPropertyDebugOutput.

Definition at line 735 of file SubProblem.C.

736{
737 _consumed_material_properties[obj_name].insert(prop_name);
738}
std::map< MooseObjectName, std::set< std::string > > _consumed_material_properties

Referenced by MaterialPropertyInterface::addConsumedPropertyName().

◆ addCouplingGhostingFunctor()

void SubProblem::addCouplingGhostingFunctor ( libMesh::GhostingFunctor coupling_gf,
bool  to_mesh = true 
)
inherited

Add a coupling functor to this problem's DofMaps.

Definition at line 1071 of file SubProblem.C.

1072{
1073 const auto num_nl_sys = numNonlinearSystems();
1074 if (!num_nl_sys)
1075 return;
1076
1077 systemBaseNonlinear(0).system().get_dof_map().add_coupling_functor(coupling_gf, to_mesh);
1078 cloneCouplingGhostingFunctor(coupling_gf, to_mesh);
1079}
virtual std::size_t numNonlinearSystems() const =0
virtual const SystemBase & systemBaseNonlinear(const unsigned int sys_num) const =0
Return the nonlinear system object as a base class reference given the system number.
void cloneCouplingGhostingFunctor(libMesh::GhostingFunctor &coupling_gf, bool to_mesh=true)
Creates (n_sys - 1) clones of the provided coupling ghosting functor (corresponding to the nonlinear ...
virtual libMesh::System & system()=0
Get the reference to the libMesh system.
void add_coupling_functor(GhostingFunctor &coupling_functor, bool to_mesh=true)
const DofMap & get_dof_map() const

◆ addFunctor()

template<typename T >
void SubProblem::addFunctor ( const std::string &  name,
const Moose::FunctorBase< T > &  functor,
const THREAD_ID  tid 
)
inherited

add a functor to the problem functor container

Definition at line 1393 of file SubProblem.h.

1396{
1397 constexpr bool added_functor_is_ad =
1398 !std::is_same<T, typename MetaPhysicL::RawType<T>::value_type>::value;
1399
1400 mooseAssert(tid < _functors.size(), "Too large a thread ID");
1401
1402 auto & functor_to_request_info = _functor_to_request_info[tid];
1403 auto & functors = _functors[tid];
1404 auto it = functors.find("wraps_" + name);
1405 if (it != functors.end())
1406 {
1407 // We have this functor already. If it's a null functor, we want to replace it with the valid
1408 // functor we have now. If it's not then we'll add a new entry into the multimap and then we'll
1409 // error later if a user requests a functor because their request is ambiguous. This is the
1410 // reason that the functors container is a multimap: for nice error messages
1411 auto * const existing_wrapper_base =
1412 added_functor_is_ad ? std::get<2>(it->second).get() : std::get<1>(it->second).get();
1413 auto * const existing_wrapper = dynamic_cast<Moose::Functor<T> *>(existing_wrapper_base);
1414 if (existing_wrapper && existing_wrapper->template wrapsType<Moose::NullFunctor<T>>())
1415 {
1416 // Sanity check
1417 auto [request_info_it, request_info_end_it] = functor_to_request_info.equal_range(name);
1418 if (request_info_it == request_info_end_it)
1419 mooseError("We are wrapping a NullFunctor but we don't have any unfilled functor request "
1420 "info. This doesn't make sense.");
1421
1422 // Check for valid requests
1423 while (request_info_it != request_info_end_it)
1424 {
1425 auto & [requested_functor_is_ad, requestor_is_ad] = request_info_it->second;
1426 if (!requested_functor_is_ad && requestor_is_ad && added_functor_is_ad)
1427 mooseError("We are requesting a non-AD functor '" + name +
1428 "' from an AD object, but the true functor is AD. This means we could be "
1429 "dropping important derivatives. We will not allow this");
1430 // We're going to eventually check whether we've fulfilled all functor requests and our
1431 // check will be that the multimap is empty. This request is fulfilled, so erase it from the
1432 // map now
1433 request_info_it = functor_to_request_info.erase(request_info_it);
1434 }
1435
1436 // Ok we didn't have the functor before, so we will add it now
1437 std::get<0>(it->second) =
1439 existing_wrapper->assign(functor);
1440 // Finally we create the non-AD or AD complement of the just added functor
1441 if constexpr (added_functor_is_ad)
1442 {
1443 typedef typename MetaPhysicL::RawType<T>::value_type NonADType;
1444 auto * const existing_non_ad_wrapper_base = std::get<1>(it->second).get();
1445 auto * const existing_non_ad_wrapper =
1446 dynamic_cast<Moose::Functor<NonADType> *>(existing_non_ad_wrapper_base);
1447 mooseAssert(existing_non_ad_wrapper->template wrapsType<Moose::NullFunctor<NonADType>>(),
1448 "Both members of pair should have been wrapping a NullFunctor");
1449 existing_non_ad_wrapper->assign(
1450 std::make_unique<Moose::RawValueFunctor<NonADType>>(functor));
1451 }
1452 else
1453 {
1454 typedef typename Moose::ADType<T>::type ADType;
1455 auto * const existing_ad_wrapper_base = std::get<2>(it->second).get();
1456 auto * const existing_ad_wrapper =
1457 dynamic_cast<Moose::Functor<ADType> *>(existing_ad_wrapper_base);
1458 mooseAssert(existing_ad_wrapper->template wrapsType<Moose::NullFunctor<ADType>>(),
1459 "Both members of pair should have been wrapping a NullFunctor");
1460 existing_ad_wrapper->assign(std::make_unique<Moose::ADWrapperFunctor<ADType>>(functor));
1461 }
1462 return;
1463 }
1464 else if (!existing_wrapper)
1465 {
1466 // Functor was emplaced but the cast failed. This could be a double definition with
1467 // different types, or it could be a request with one type then a definition with another
1468 // type. Either way it is going to error later, but it is cleaner to catch it now
1469 mooseError("Functor '",
1470 name,
1471 "' is being added with return type '",
1472 MooseUtils::prettyCppType<T>(),
1473 "' but it has already been defined or requested with return type '",
1474 existing_wrapper_base->returnType(),
1475 "'.");
1476 }
1477 }
1478
1479 // We are a new functor, create the opposite ADType one and store it with other functors
1480 if constexpr (added_functor_is_ad)
1481 {
1482 typedef typename MetaPhysicL::RawType<T>::value_type NonADType;
1483 auto new_non_ad_wrapper = std::make_unique<Moose::Functor<NonADType>>(
1484 std::make_unique<Moose::RawValueFunctor<NonADType>>(functor));
1485 auto new_ad_wrapper = std::make_unique<Moose::Functor<T>>(functor);
1486 _functors[tid].emplace("wraps_" + name,
1487 std::make_tuple(SubProblem::TrueFunctorIs::AD,
1488 std::move(new_non_ad_wrapper),
1489 std::move(new_ad_wrapper)));
1490 }
1491 else
1492 {
1493 typedef typename Moose::ADType<T>::type ADType;
1494 auto new_non_ad_wrapper = std::make_unique<Moose::Functor<T>>((functor));
1495 auto new_ad_wrapper = std::make_unique<Moose::Functor<ADType>>(
1496 std::make_unique<Moose::ADWrapperFunctor<ADType>>(functor));
1497 _functors[tid].emplace("wraps_" + name,
1498 std::make_tuple(SubProblem::TrueFunctorIs::NONAD,
1499 std::move(new_non_ad_wrapper),
1500 std::move(new_ad_wrapper)));
1501 }
1502}
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Definition MooseBase.h:271
Wraps non-AD functors such that they can be used in objects that have requested the functor as AD.
This is a wrapper that forwards calls to the implementation, which can be switched out at any time wi...
A functor that serves as a placeholder during the simulation setup phase if a functor consumer reques...
std::vector< std::multimap< std::string, std::tuple< TrueFunctorIs, std::unique_ptr< Moose::FunctorEnvelopeBase >, std::unique_ptr< Moose::FunctorEnvelopeBase > > > > _functors
A container holding pointers to all the functors in our problem.
std::vector< std::multimap< std::string, std::pair< bool, bool > > > _functor_to_request_info
A multimap (for each thread) from unfilled functor requests to whether the requests were for AD funct...

Referenced by FEProblemBase::addFunction(), SubProblem::addPiecewiseByBlockLambdaFunctor(), and FEProblemBase::addUserObject().

◆ addGhostedBoundary()

void DisplacedProblem::addGhostedBoundary ( BoundaryID  boundary_id)
overridevirtual

Will make sure that all necessary elements from boundary_id are ghosted to this processor.

Parameters
boundary_idBoundary ID

Implements SubProblem.

Definition at line 1156 of file DisplacedProblem.C.

1157{
1158 _mproblem.addGhostedBoundary(boundary_id);
1159}
virtual void addGhostedBoundary(BoundaryID boundary_id) override
Will make sure that all necessary elements from boundary_id are ghosted to this processor.

◆ addGhostedElem()

void DisplacedProblem::addGhostedElem ( dof_id_type  elem_id)
overridevirtual

Will make sure that all dofs connected to elem_id are ghosted to this processor.

Implements SubProblem.

Definition at line 1150 of file DisplacedProblem.C.

1151{
1152 _mproblem.addGhostedElem(elem_id);
1153}
virtual void addGhostedElem(dof_id_type elem_id) override
Will make sure that all dofs connected to elem_id are ghosted to this processor.

◆ addJacobian()

void DisplacedProblem::addJacobian ( const THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 1004 of file DisplacedProblem.C.

1005{
1006 _assembly[tid][currentNlSysNum()]->addJacobian(Assembly::GlobalDataKey{});
1007}

◆ addJacobianBlockNonlocal()

void DisplacedProblem::addJacobianBlockNonlocal ( SparseMatrix< Number > &  jacobian,
unsigned int  ivar,
unsigned int  jvar,
const libMesh::DofMap dof_map,
const std::vector< dof_id_type > &  idof_indices,
const std::vector< dof_id_type > &  jdof_indices,
const std::set< TagID > &  tags,
const THREAD_ID  tid 
)

Definition at line 1053 of file DisplacedProblem.C.

1061{
1062 _assembly[tid][currentNlSysNum()]->addJacobianBlockNonlocalTags(
1063 jacobian, ivar, jvar, dof_map, idof_indices, jdof_indices, Assembly::GlobalDataKey{}, tags);
1064}

◆ addJacobianBlockTags()

void DisplacedProblem::addJacobianBlockTags ( SparseMatrix< Number > &  jacobian,
unsigned int  ivar,
unsigned int  jvar,
const libMesh::DofMap dof_map,
std::vector< dof_id_type > &  dof_indices,
const std::set< TagID > &  tags,
const THREAD_ID  tid 
)
virtual

Definition at line 1040 of file DisplacedProblem.C.

1047{
1048 _assembly[tid][currentNlSysNum()]->addJacobianBlockTags(
1049 jacobian, ivar, jvar, dof_map, dof_indices, Assembly::GlobalDataKey{}, tags);
1050}

◆ addJacobianLowerD()

void DisplacedProblem::addJacobianLowerD ( const THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 1028 of file DisplacedProblem.C.

1029{
1030 _assembly[tid][currentNlSysNum()]->addJacobianLowerD(Assembly::GlobalDataKey{});
1031}

◆ addJacobianNeighbor() [1/3]

void DisplacedProblem::addJacobianNeighbor ( const THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 1016 of file DisplacedProblem.C.

1017{
1018 _assembly[tid][currentNlSysNum()]->addJacobianNeighbor(Assembly::GlobalDataKey{});
1019}

◆ addJacobianNeighbor() [2/3]

virtual void SubProblem::addJacobianNeighbor ( libMesh::SparseMatrix< libMesh::Number > &  jacobian,
unsigned int  ivar,
unsigned int  jvar,
const libMesh::DofMap dof_map,
std::vector< dof_id_type > &  dof_indices,
std::vector< dof_id_type > &  neighbor_dof_indices,
const std::set< TagID > &  tags,
const THREAD_ID  tid 
)
pure virtualinherited

◆ addJacobianNeighbor() [3/3]

virtual void DisplacedProblem::addJacobianNeighbor ( SparseMatrix< Number > &  jacobian,
unsigned int  ivar,
unsigned int  jvar,
const libMesh::DofMap dof_map,
std::vector< dof_id_type > &  dof_indices,
std::vector< dof_id_type > &  neighbor_dof_indices,
const std::set< TagID > &  tags,
const THREAD_ID  tid 
)
overridevirtual

◆ addJacobianNeighborLowerD()

void DisplacedProblem::addJacobianNeighborLowerD ( const THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 1022 of file DisplacedProblem.C.

1023{
1024 _assembly[tid][currentNlSysNum()]->addJacobianNeighborLowerD(Assembly::GlobalDataKey{});
1025}

◆ addJacobianNonlocal()

void DisplacedProblem::addJacobianNonlocal ( const THREAD_ID  tid)
virtual

Definition at line 1010 of file DisplacedProblem.C.

1011{
1012 _assembly[tid][currentNlSysNum()]->addJacobianNonlocal(Assembly::GlobalDataKey{});
1013}

◆ addMatrixTag()

TagID DisplacedProblem::addMatrixTag ( TagName  tag_name)
overridevirtual

Create a Tag.

Tags can be associated with Vectors and Matrices and allow objects (such as Kernels) to arbitrarily contribute values to any set of vectors/matrics

Note: If the tag is already present then this will simply return the TagID of that Tag

Parameters
tag_nameThe name of the tag to create, the TagID will get automatically generated

Reimplemented from SubProblem.

Definition at line 439 of file DisplacedProblem.C.

440{
441 return _mproblem.addMatrixTag(tag_name);
442}
virtual TagID addMatrixTag(TagName tag_name)
Create a Tag.
Definition SubProblem.C:310

◆ addNotZeroedVectorTag()

void SubProblem::addNotZeroedVectorTag ( const TagID  tag)
inherited

Adds a vector tag to the list of vectors that will not be zeroed when other tagged vectors are.

Parameters
tagthe TagID of the vector that will be manually managed

Definition at line 148 of file SubProblem.C.

149{
150 _not_zeroed_tagged_vectors.insert(tag);
151}
std::unordered_set< TagID > _not_zeroed_tagged_vectors
the list of vector tags that will not be zeroed when all other tags are

Referenced by FEProblemBase::createTagVectors().

◆ addPiecewiseByBlockLambdaFunctor()

template<typename T , typename PolymorphicLambda >
const Moose::FunctorBase< T > & SubProblem::addPiecewiseByBlockLambdaFunctor ( const std::string &  name,
PolymorphicLambda  my_lammy,
const std::set< ExecFlagType > &  clearance_schedule,
const MooseMesh mesh,
const std::set< SubdomainID > &  block_ids,
const THREAD_ID  tid 
)
inherited

Add a functor that has block-wise lambda definitions, e.g.

the evaluations of the functor are based on a user-provided lambda expression.

Parameters
nameThe name of the functor to add
my_lammyThe lambda expression that will be called when the functor is evaluated
clearance_scheduleHow often to clear functor evaluations. The default value is always, which means that the functor will be re-evaluated every time it is called. If it is something other than always, than cached values may be returned
meshThe mesh on which this functor operates
block_idsThe blocks on which the lambda expression is defined
tidThe thread on which the functor we are adding will run
Returns
The added functor

Definition at line 1356 of file SubProblem.h.

1362{
1363 auto & pbblf_functors = _pbblf_functors[tid];
1364
1365 auto [it, first_time_added] =
1366 pbblf_functors.emplace(name,
1367 std::make_unique<PiecewiseByBlockLambdaFunctor<T>>(
1368 name, my_lammy, clearance_schedule, mesh, block_ids));
1369
1370 auto * functor = dynamic_cast<PiecewiseByBlockLambdaFunctor<T> *>(it->second.get());
1371 if (!functor)
1372 {
1373 if (first_time_added)
1374 mooseError("This should be impossible. If this was the first time we added the functor, then "
1375 "the dynamic cast absolutely should have succeeded");
1376 else
1377 mooseError("Attempted to add a lambda functor with the name '",
1378 name,
1379 "' but another lambda functor of that name returns a different type");
1380 }
1381
1382 if (first_time_added)
1383 addFunctor(name, *functor, tid);
1384 else
1385 // The functor already exists
1386 functor->setFunctor(mesh, block_ids, my_lammy);
1387
1388 return *functor;
1389}
A material property that is evaluated on-the-fly via calls to various overloads of operator()
std::vector< std::map< std::string, std::unique_ptr< Moose::FunctorAbstract > > > _pbblf_functors
Container to hold PiecewiseByBlockLambdaFunctors.
virtual MooseMesh & mesh()=0
void addFunctor(const std::string &name, const Moose::FunctorBase< T > &functor, const THREAD_ID tid)
add a functor to the problem functor container

Referenced by FunctorMaterial::addFunctorPropertyByBlocks().

◆ addResidual()

void DisplacedProblem::addResidual ( const THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 928 of file DisplacedProblem.C.

929{
932}

◆ addResidualLower()

void DisplacedProblem::addResidualLower ( const THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 942 of file DisplacedProblem.C.

943{
944 _assembly[tid][currentNlSysNum()]->addResidualLower(Assembly::GlobalDataKey{},
946}

◆ addResidualNeighbor()

void DisplacedProblem::addResidualNeighbor ( const THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 935 of file DisplacedProblem.C.

936{
937 _assembly[tid][currentNlSysNum()]->addResidualNeighbor(Assembly::GlobalDataKey{},
939}

◆ addTimeIntegrator()

void DisplacedProblem::addTimeIntegrator ( )

Get the time integrators from the problem.

Definition at line 199 of file DisplacedProblem.C.

200{
201 for (const auto nl_sys_num : make_range(_mproblem.numNonlinearSystems()))
202 _displaced_solver_systems[nl_sys_num]->copyTimeIntegrators(
203 _mproblem.getNonlinearSystemBase(nl_sys_num));
204 _displaced_aux->copyTimeIntegrators(_mproblem.getAuxiliarySystem());
205}

◆ addVariable()

void DisplacedProblem::addVariable ( const std::string &  var_type,
const std::string &  name,
InputParameters parameters,
unsigned int  nl_system_number 
)
virtual

Definition at line 586 of file DisplacedProblem.C.

590{
591 _displaced_solver_systems[nl_system_number]->addVariable(var_type, name, parameters);
592}

◆ addVectorTag()

TagID DisplacedProblem::addVectorTag ( const TagName &  tag_name,
const Moose::VectorTagType  type = Moose::VECTOR_TAG_RESIDUAL 
)
overridevirtual

Create a Tag.

Tags can be associated with Vectors and Matrices and allow objects (such as Kernels) to arbitrarily contribute values to any set of vectors/matrics

Note: If the tag is already present then this will simply return the TagID of that Tag, but the type must be the same.

Parameters
tag_nameThe name of the tag to create, the TagID will get automatically generated
typeThe type of the tag

Reimplemented from SubProblem.

Definition at line 384 of file DisplacedProblem.C.

386{
387 return _mproblem.addVectorTag(tag_name, type);
388}
const std::string & type() const
Get the type of this class.
Definition MooseBase.h:93
virtual TagID addVectorTag(const TagName &tag_name, const Moose::VectorTagType type=Moose::VECTOR_TAG_RESIDUAL)
Create a Tag.
Definition SubProblem.C:91

◆ assembly() [1/2]

const Assembly & DisplacedProblem::assembly ( const THREAD_ID  tid,
const unsigned int  sys_num 
) const
overridevirtual

Implements SubProblem.

Definition at line 1323 of file DisplacedProblem.C.

1324{
1325 mooseAssert(tid < _assembly.size(), "Assembly objects not initialized");
1326 mooseAssert(sys_num < _assembly[tid].size(),
1327 "System number larger than the assembly container size");
1328 return *_assembly[tid][sys_num];
1329}

◆ assembly() [2/2]

Assembly & DisplacedProblem::assembly ( const THREAD_ID  tid,
const unsigned int  sys_num 
)
overridevirtual

Implements SubProblem.

Definition at line 1314 of file DisplacedProblem.C.

1315{
1316 mooseAssert(tid < _assembly.size(), "Assembly objects not initialized");
1317 mooseAssert(sys_num < _assembly[tid].size(),
1318 "System number larger than the assembly container size");
1319 return *_assembly[tid][sys_num];
1320}

Referenced by setCurrentSubdomainID(), and setNeighborSubdomainID().

◆ automaticScaling() [1/2]

bool SubProblem::automaticScaling ( ) const
inherited

Automatic scaling getter.

Returns
A boolean representing whether we are performing automatic scaling

Definition at line 1177 of file SubProblem.C.

1178{
1179 // Currently going to assume that we are applying or not applying automatic scaling consistently
1180 // across nonlinear systems
1182}
bool automaticScaling() const
Getter for whether we are performing automatic scaling.
Definition SystemBase.h:123

Referenced by FEProblemBase::automaticScaling(), and DisplacedProblem().

◆ automaticScaling() [2/2]

void SubProblem::automaticScaling ( bool  automatic_scaling)
virtualinherited

Automatic scaling setter.

Parameters
automatic_scalingA boolean representing whether we are performing automatic scaling

Reimplemented in FEProblemBase, and FEProblemBase.

Definition at line 1170 of file SubProblem.C.

1171{
1172 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
1173 systemBaseNonlinear(nl_sys_num).automaticScaling(automatic_scaling);
1174}

Referenced by MooseVariableBase::initialSetup().

◆ auxSys()

DisplacedSystem & DisplacedProblem::auxSys ( )
inline

Definition at line 59 of file DisplacedProblem.h.

59{ return *_displaced_aux; }

◆ bumpAllQRuleOrder()

void DisplacedProblem::bumpAllQRuleOrder ( Order  order,
SubdomainID  block 
)

Definition at line 139 of file DisplacedProblem.C.

140{
141 for (unsigned int tid = 0; tid < libMesh::n_threads(); ++tid)
142 for (const auto nl_sys_num : index_range(_assembly[tid]))
143 _assembly[tid][nl_sys_num]->bumpAllQRuleOrder(order, block);
144}
void bumpAllQRuleOrder(Order order, SubdomainID block)
auto index_range(const T &sizable)

Referenced by bumpAllQRuleOrder().

◆ bumpVolumeQRuleOrder()

void DisplacedProblem::bumpVolumeQRuleOrder ( Order  order,
SubdomainID  block 
)

Definition at line 131 of file DisplacedProblem.C.

132{
133 for (unsigned int tid = 0; tid < libMesh::n_threads(); ++tid)
134 for (const auto nl_sys_num : index_range(_assembly[tid]))
135 _assembly[tid][nl_sys_num]->bumpVolumeQRuleOrder(order, block);
136}
void bumpVolumeQRuleOrder(Order order, SubdomainID block)

Referenced by bumpVolumeQRuleOrder().

◆ cacheJacobian()

void SubProblem::cacheJacobian ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 1331 of file SubProblem.C.

1332{
1334 if (hasNonlocalCoupling())
1336}
void cacheJacobianNonlocal(GlobalDataKey)
Takes the values that are currently in _sub_Keg and appends them to the cached values.
Definition Assembly.C:4073
void cacheJacobian(GlobalDataKey)
Takes the values that are currently in _sub_Kee and appends them to the cached values.
Definition Assembly.C:4043
virtual bool hasNonlocalCoupling() const =0
Whether the simulation has active nonlocal coupling which should be accounted for in the Jacobian.

Referenced by FEProblemBase::cacheJacobian().

◆ cacheJacobianNeighbor()

void SubProblem::cacheJacobianNeighbor ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 1339 of file SubProblem.C.

1340{
1342}
void cacheJacobianNeighbor(GlobalDataKey)
Takes the values that are currently in the neighbor Dense Matrices and appends them to the cached val...
Definition Assembly.C:4095

Referenced by FEProblemBase::cacheJacobianNeighbor().

◆ cacheJacobianNonlocal()

void DisplacedProblem::cacheJacobianNonlocal ( const THREAD_ID  tid)
virtual

Definition at line 1034 of file DisplacedProblem.C.

1035{
1036 _assembly[tid][currentNlSysNum()]->cacheJacobianNonlocal(Assembly::GlobalDataKey{});
1037}

◆ cacheResidual()

void SubProblem::cacheResidual ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 1310 of file SubProblem.C.

1311{
1314}
void cacheResidual(GlobalDataKey, const std::vector< VectorTag > &tags)
Takes the values that are currently in _sub_Re of all field variables and appends them to the cached ...
Definition Assembly.C:3390

Referenced by FEProblemBase::cacheResidual().

◆ cacheResidualNeighbor()

void SubProblem::cacheResidualNeighbor ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 1317 of file SubProblem.C.

1318{
1321}
void cacheResidualNeighbor(GlobalDataKey, const std::vector< VectorTag > &tags)
Takes the values that are currently in _sub_Rn of all field variables and appends them to the cached ...
Definition Assembly.C:3440

Referenced by FEProblemBase::cacheResidualNeighbor().

◆ callMooseError() [1/2]

void MooseBase::callMooseError ( MooseApp *const  app,
const InputParameters params,
std::string  msg,
const bool  with_prefix,
const hit::Node *  node,
const bool  show_trace = true 
)
staticinherited

External method for calling moose error with added object context.

Needed so that objects without the MooseBase context (InputParameters) can call errors with context

Parameters
appThe app pointer (if available); adds multiapp context and clears the console
paramsThe parameters, needed to obtain object information
msgThe message
with_prefixIf true, add the prefix from messagePrefix(), which is the object information (type, name, etc)
nodeOptional hit node to add file path context as a prefix
show_traceWhether or not to show a stack trace, defaults to true

Definition at line 114 of file MooseBase.C.

120{
121 if (!node)
122 node = MooseBase::getHitNode(params);
123
124 std::string multiapp_prefix = "";
125 if (app)
126 {
127 if (!app->isUltimateMaster())
128 multiapp_prefix = app->name();
130 }
131
132 if (with_prefix)
133 // False here because the hit context will get processed by the node
134 msg = messagePrefix(params, false) + msg;
135
136 moose::internal::mooseErrorRaw(msg, multiapp_prefix, node, show_trace);
137}
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
Definition MooseApp.C:2415
bool isUltimateMaster() const
Whether or not this app is the ultimate master app.
Definition MooseApp.h:866
const hit::Node * getHitNode() const
Definition MooseBase.h:136
std::string messagePrefix(const bool hit_prefix=true) const
Definition MooseBase.h:256
void mooseConsole()
Send current output buffer to Console output objects.
void mooseErrorRaw(std::string msg, const std::string &prefix="", const hit::Node *node=nullptr, const bool show_trace=true)
Main callback for emitting a moose error.
Definition MooseError.C:51

◆ callMooseError() [2/2]

void MooseBase::callMooseError ( std::string  msg,
const bool  with_prefix,
const hit::Node *  node = nullptr,
const bool  show_trace = true 
) const
inherited

External method for calling moose error with added object context.

Parameters
msgThe message
with_prefixIf true, add the prefix from messagePrefix(), which is the object information (type, name, etc)
nodeOptional hit node to add file path context as a prefix
show_traceWhether or not to show a stack trace, defaults to true

Definition at line 105 of file MooseBase.C.

109{
110 callMooseError(&_app, _pars, msg, with_prefix, node, show_trace);
111}
MooseApp & _app
The MOOSE application this is associated with.
Definition MooseBase.h:375
void callMooseError(std::string msg, const bool with_prefix, const hit::Node *node=nullptr, const bool show_trace=true) const
External method for calling moose error with added object context.
Definition MooseBase.C:105
const InputParameters & _pars
The object's parameters.
Definition MooseBase.h:384

Referenced by MooseBase::callMooseError(), InputParameters::callMooseError(), MooseBase::mooseDocumentedError(), MooseBase::mooseError(), and MooseBase::mooseErrorNonPrefixed().

◆ checkBlockMatProps()

void SubProblem::checkBlockMatProps ( )
virtualinherited

Checks block material properties integrity.

See also
FEProblemBase::checkProblemIntegrity

Definition at line 622 of file SubProblem.C.

623{
624 // Variable for storing all available blocks/boundaries from the mesh
625 std::set<SubdomainID> all_ids(mesh().meshSubdomains());
626
627 std::stringstream errors;
628
629 // Loop through the properties to check
630 for (const auto & check_it : _map_block_material_props_check)
631 {
632 // The current id for the property being checked (BoundaryID || BlockID)
633 SubdomainID check_id = check_it.first;
634
635 std::set<SubdomainID> check_ids = {check_id};
636
637 // Loop through all the block/boundary ids
638 for (const auto & id : check_ids)
639 {
640 // Loop through all the stored properties
641 for (const auto & prop_it : check_it.second)
642 {
643 // Produce an error if the material property is not defined on the current block/boundary
644 // and any block/boundary
645 // and not is not a zero material property.
646 if (_map_block_material_props[id].count(prop_it.second) == 0 &&
647 _zero_block_material_props[id].count(prop_it.second) == 0)
648 {
649 std::string check_name = restrictionSubdomainCheckName(id);
650 if (check_name.empty())
651 check_name = std::to_string(id);
652 errors << "Material property '" << prop_it.second << "', requested by '" << prop_it.first
653 << "' is not defined on block " << check_name << "\n";
654 }
655 }
656 }
657 }
658
659 if (!errors.str().empty())
660 mooseError(errors.str());
661}
subdomain_id_type SubdomainID
unsigned int count
Definition MortarUtils.C:53
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
Set of properties returned as zero properties.
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
Data structures of the requested material properties.
std::string restrictionSubdomainCheckName(SubdomainID check_id)
Helper functions for checking MaterialProperties.
Definition SubProblem.C:771
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)

Referenced by FEProblemBase::checkProblemIntegrity().

◆ checkBoundaryMatProps()

void SubProblem::checkBoundaryMatProps ( )
virtualinherited

Checks boundary material properties integrity.

See also
FEProblemBase::checkProblemIntegrity

Definition at line 664 of file SubProblem.C.

665{
666 // Variable for storing the value for ANY_BOUNDARY_ID
668
669 // Variable for storing all available blocks/boundaries from the mesh
670 std::set<BoundaryID> all_ids(mesh().getBoundaryIDs());
671
672 std::stringstream errors;
673
674 // Loop through the properties to check
675 for (const auto & check_it : _map_boundary_material_props_check)
676 {
677 // The current id for the property being checked (BoundaryID || BlockID)
678 BoundaryID check_id = check_it.first;
679
680 // In the case when the material being checked has an ID is set to ANY, then loop through all
681 // the possible ids and verify that the material property is defined.
682 std::set<BoundaryID> check_ids{check_id};
683 if (check_id == any_id)
684 check_ids = all_ids;
685
686 // Loop through all the block/boundary ids
687 for (const auto & id : check_ids)
688 {
689 // Loop through all the stored properties
690 for (const auto & prop_it : check_it.second)
691 {
692 // Produce an error if the material property is not defined on the current block/boundary
693 // and any block/boundary
694 // and not is not a zero material property.
695 if (_map_boundary_material_props[id].count(prop_it.second) == 0 &&
696 _map_boundary_material_props[any_id].count(prop_it.second) == 0 &&
697 _zero_boundary_material_props[id].count(prop_it.second) == 0 &&
698 _zero_boundary_material_props[any_id].count(prop_it.second) == 0)
699 {
700 std::string check_name = restrictionBoundaryCheckName(id);
701 if (check_name.empty())
702 check_name = std::to_string(id);
703 errors << "Material property '" << prop_it.second << "', requested by '" << prop_it.first
704 << "' is not defined on boundary " << check_name << "\n";
705 }
706 }
707 }
708 }
709
710 if (!errors.str().empty())
711 mooseError(errors.str());
712}
boundary_id_type BoundaryID
std::string restrictionBoundaryCheckName(BoundaryID check_id)
Definition SubProblem.C:782
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
std::vector< BoundaryID > getBoundaryIDs(const libMesh::MeshBase &mesh, const std::vector< BoundaryName > &boundary_name, bool generate_unknown, const std::set< BoundaryID > &mesh_boundary_ids)
Gets the boundary IDs with their names.
const BoundaryID ANY_BOUNDARY_ID
Definition MooseTypes.C:21

Referenced by FEProblemBase::checkProblemIntegrity().

◆ checkNonlocalCouplingRequirement()

bool DisplacedProblem::checkNonlocalCouplingRequirement ( ) const
overridevirtual
Returns
whether there will be nonlocal coupling at any point in the simulation, e.g. whether there are any active \emph or inactive nonlocal kernels or boundary conditions

Implements SubProblem.

Definition at line 1410 of file DisplacedProblem.C.

1411{
1413}
virtual bool checkNonlocalCouplingRequirement() const override

◆ checkResidualForNans()

virtual bool DisplacedProblem::checkResidualForNans ( ) const
inlineoverridevirtual

Whether to check residual for NaN/Inf values.

Implements SubProblem.

Definition at line 387 of file DisplacedProblem.h.

virtual bool checkResidualForNans() const override
Whether to check residual for NaN/Inf values.

◆ clearActiveElementalMooseVariables()

void SubProblem::clearActiveElementalMooseVariables ( const THREAD_ID  tid)
virtualinherited

Clear the active elemental MooseVariableFieldBase.

If there are no active variables then they will all be reinited. Call this after finishing the computation that was using a restricted set of MooseVariableFieldBase

Parameters
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 465 of file SubProblem.C.

466{
469}
std::vector< std::set< MooseVariableFieldBase * > > _active_elemental_moose_variables
This is the set of MooseVariableFieldBase that will actually get reinited by a call to reinit(elem)
std::vector< unsigned int > _has_active_elemental_moose_variables
Whether or not there is currently a list of active elemental moose variables.

Referenced by FEProblemBase::clearActiveElementalMooseVariables().

◆ clearActiveFEVariableCoupleableMatrixTags()

void SubProblem::clearActiveFEVariableCoupleableMatrixTags ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 383 of file SubProblem.C.

384{
386}
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags

Referenced by FEProblemBase::clearActiveFEVariableCoupleableMatrixTags().

◆ clearActiveFEVariableCoupleableVectorTags()

void SubProblem::clearActiveFEVariableCoupleableVectorTags ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 377 of file SubProblem.C.

378{
380}
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags

Referenced by FEProblemBase::clearActiveFEVariableCoupleableVectorTags().

◆ clearActiveScalarVariableCoupleableMatrixTags()

void SubProblem::clearActiveScalarVariableCoupleableMatrixTags ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 424 of file SubProblem.C.

425{
427}
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags

Referenced by FEProblemBase::clearActiveScalarVariableCoupleableMatrixTags().

◆ clearActiveScalarVariableCoupleableVectorTags()

void SubProblem::clearActiveScalarVariableCoupleableVectorTags ( const THREAD_ID  tid)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 418 of file SubProblem.C.

419{
421}
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags

Referenced by FEProblemBase::clearActiveScalarVariableCoupleableVectorTags().

◆ clearAllDofIndices()

void SubProblem::clearAllDofIndices ( )
inherited

Clear dof indices from variables in nl and aux systems.

Definition at line 1192 of file SubProblem.C.

1193{
1194 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
1197}
void clearAllDofIndices()
Clear dof indices from variables in nl and aux systems.
virtual const SystemBase & systemBaseAuxiliary() const =0
Return the auxiliary system object as a base class reference.
void clearAllDofIndices()
Clear all dof indices from moose variables.

Referenced by FEProblemBase::solve().

◆ clearDiracInfo()

void DisplacedProblem::clearDiracInfo ( )
overridevirtual

Gets called before Dirac Kernels are asked to add the points they are supposed to be evaluated in.

Implements SubProblem.

Definition at line 922 of file DisplacedProblem.C.

923{
925}
void clearPoints()
Remove all of the current points and elements.
DiracKernelInfo _dirac_kernel_info

◆ cloneAlgebraicGhostingFunctor()

void SubProblem::cloneAlgebraicGhostingFunctor ( libMesh::GhostingFunctor algebraic_gf,
bool  to_mesh = true 
)
privateinherited

Creates (n_sys - 1) clones of the provided algebraic ghosting functor (corresponding to the nonlinear system algebraic ghosting functor), initializes the clone with the appropriate DofMap, and then adds the clone to said DofMap.

Parameters
algebraic_gfthe (nonlinear system's) algebraic ghosting functor to clone
to_meshwhether the clone should be added to the corresponding DofMap's underlying MeshBase (the underlying MeshBase will be the same for every system held by this object's EquationSystems object)

Definition at line 1016 of file SubProblem.C.

1017{
1018 EquationSystems & eq = es();
1019 const auto n_sys = eq.n_systems();
1020
1021 auto pr = _root_alg_gf_to_sys_clones.emplace(
1022 &algebraic_gf, std::vector<std::shared_ptr<libMesh::GhostingFunctor>>(n_sys - 1));
1023 mooseAssert(pr.second, "We are adding a duplicate algebraic ghosting functor");
1024 auto & clones_vec = pr.first->second;
1025
1026 for (MooseIndex(n_sys) i = 1; i < n_sys; ++i)
1027 {
1028 DofMap & dof_map = eq.get_system(i).get_dof_map();
1029 std::shared_ptr<libMesh::GhostingFunctor> clone_alg_gf = algebraic_gf.clone();
1030 std::dynamic_pointer_cast<RelationshipManager>(clone_alg_gf)
1031 ->init(mesh(), *algebraic_gf.get_mesh(), &dof_map);
1032 dof_map.add_algebraic_ghosting_functor(clone_alg_gf, to_mesh);
1033 clones_vec[i - 1] = clone_alg_gf;
1034 }
1035}
std::unordered_map< libMesh::GhostingFunctor *, std::vector< std::shared_ptr< libMesh::GhostingFunctor > > > _root_alg_gf_to_sys_clones
A map from a root algebraic ghosting functor, e.g.
virtual std::unique_ptr< GhostingFunctor > clone() const=0
const MeshBase * get_mesh() const

Referenced by SubProblem::addAlgebraicGhostingFunctor().

◆ cloneCouplingGhostingFunctor()

void SubProblem::cloneCouplingGhostingFunctor ( libMesh::GhostingFunctor coupling_gf,
bool  to_mesh = true 
)
privateinherited

Creates (n_sys - 1) clones of the provided coupling ghosting functor (corresponding to the nonlinear system coupling ghosting functor), initializes the clone with the appropriate DofMap, and then adds the clone to said DofMap.

Parameters
coupling_gfthe (nonlinear system's) coupling ghosting functor to clone
to_meshwhether the clone should be added to the corresponding DofMap's underlying MeshBase (the underlying MeshBase will be the same for every system held by this object's EquationSystems object)

Definition at line 1050 of file SubProblem.C.

1051{
1052 const std::size_t num_nl_sys = numNonlinearSystems();
1053
1054 auto pr = _root_coupling_gf_to_sys_clones.emplace(
1055 &coupling_gf, std::vector<std::shared_ptr<libMesh::GhostingFunctor>>(num_nl_sys - 1));
1056 mooseAssert(pr.second, "We are adding a duplicate coupling functor");
1057 auto & clones_vec = pr.first->second;
1058
1059 for (const auto i : make_range(std::size_t(1), num_nl_sys))
1060 {
1061 DofMap & dof_map = systemBaseNonlinear(i).system().get_dof_map();
1062 std::shared_ptr<libMesh::GhostingFunctor> clone_coupling_gf = coupling_gf.clone();
1063 std::dynamic_pointer_cast<RelationshipManager>(clone_coupling_gf)
1064 ->init(mesh(), *coupling_gf.get_mesh(), &dof_map);
1065 dof_map.add_coupling_functor(clone_coupling_gf, to_mesh);
1066 clones_vec[i - 1] = clone_coupling_gf;
1067 }
1068}
std::unordered_map< libMesh::GhostingFunctor *, std::vector< std::shared_ptr< libMesh::GhostingFunctor > > > _root_coupling_gf_to_sys_clones
A map from a root coupling ghosting functor, e.g.

Referenced by SubProblem::addCouplingGhostingFunctor().

◆ computingNonlinearResid() [1/2]

bool SubProblem::computingNonlinearResid ( ) const
inlineinherited

Returns true if the problem is in the process of computing the nonlinear residual.

Definition at line 715 of file SubProblem.h.

bool _computing_nonlinear_residual
Whether the non-linear residual is being evaluated.

◆ computingNonlinearResid() [2/2]

virtual void SubProblem::computingNonlinearResid ( const bool  computing_nonlinear_residual)
inlinevirtualinherited

Set whether or not the problem is in the process of computing the nonlinear residual.

Reimplemented in FEProblemBase, and FEProblemBase.

Definition at line 720 of file SubProblem.h.

721 {
722 _computing_nonlinear_residual = computing_nonlinear_residual;
723 }

◆ computingPreSMOResidual()

bool DisplacedProblem::computingPreSMOResidual ( const unsigned int  nl_sys_num) const
overridevirtual

Returns true if the problem is in the process of computing it's initial residual.

Returns
Whether or not the problem is currently computing the initial residual.

Implements SubProblem.

Definition at line 1180 of file DisplacedProblem.C.

1181{
1182 return _mproblem.computingPreSMOResidual(nl_sys_num);
1183}
virtual bool computingPreSMOResidual(const unsigned int nl_sys_num) const override
Returns true if the problem is in the process of computing it's initial residual.

◆ computingScalingJacobian()

bool DisplacedProblem::computingScalingJacobian ( ) const
finaloverridevirtual

Getter for whether we're computing the scaling jacobian.

Implements SubProblem.

Definition at line 1238 of file DisplacedProblem.C.

1239{
1241}
void computingScalingJacobian(bool computing_scaling_jacobian)
Setter for whether we're computing the scaling jacobian.

◆ computingScalingResidual()

bool DisplacedProblem::computingScalingResidual ( ) const
finaloverridevirtual

Getter for whether we're computing the scaling residual.

Implements SubProblem.

Definition at line 1244 of file DisplacedProblem.C.

1245{
1247}
void computingScalingResidual(bool computing_scaling_residual)
Setter for whether we're computing the scaling residual.

◆ connectControllableParams()

void MooseBase::connectControllableParams ( const std::string &  parameter,
const std::string &  object_type,
const std::string &  object_name,
const std::string &  object_parameter 
) const
inherited

Connect controllable parameter of this action with the controllable parameters of the objects added by this action.

Parameters
parameterName of the controllable parameter of this action
object_typeType of the object added by this action.
object_nameName of the object added by this action.
object_parameterName of the parameter of the object.

Definition at line 77 of file MooseBase.C.

81{
82 auto & factory = _app.getFactory();
83 auto & ip_warehouse = _app.getInputParameterWarehouse();
84
85 MooseObjectParameterName primary_name(uniqueName(), parameter);
86 const auto base_type = factory.getValidParams(object_type).getBase();
87 MooseObjectParameterName secondary_name(base_type, object_name, object_parameter);
88 ip_warehouse.addControllableParameterConnection(primary_name, secondary_name);
89
90 const auto & tags = _pars.get<std::vector<std::string>>("control_tags");
91 for (const auto & tag : tags)
92 {
93 if (!tag.empty())
94 {
95 // Only adds the parameter with the different control tags if the derived class
96 // properly registers the parameter to its own syntax
97 MooseObjectParameterName tagged_name(tag, name(), parameter);
98 ip_warehouse.addControllableParameterConnection(
99 tagged_name, secondary_name, /*error_on_empty=*/false);
100 }
101 }
102}
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
Factory & getFactory()
Retrieve a writable reference to the Factory associated with this App.
Definition MooseApp.h:407
InputParameterWarehouse & getInputParameterWarehouse()
Get the InputParameterWarehouse for MooseObjects.
Definition MooseApp.C:2873
MooseObjectName uniqueName() const
Definition MooseBase.C:69
A class for storing an input parameter name.

◆ console()

const ConsoleStream & Problem::console ( ) const
inlineinherited

Return console handle.

Definition at line 48 of file Problem.h.

48{ return _console; }
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.

Referenced by Moose::SlepcSupport::mooseSlepcEPSMonitor(), ComputeLinearFVElementalThread::printBlockExecutionInformation(), ComputeLinearFVFaceThread::printBlockExecutionInformation(), ComputeDiracThread::printBlockExecutionInformation(), ComputeIndicatorThread::printBlockExecutionInformation(), ComputeMarkerThread::printBlockExecutionInformation(), ComputeUserObjectsThread::printBlockExecutionInformation(), NonlinearThread::printBlockExecutionInformation(), NonlinearThread::printBoundaryExecutionInformation(), ComputeFVInitialConditionThread::printGeneralExecutionInformation(), ComputeInitialConditionThread::printGeneralExecutionInformation(), ComputeLinearFVElementalThread::printGeneralExecutionInformation(), ComputeLinearFVFaceThread::printGeneralExecutionInformation(), ComputeDiracThread::printGeneralExecutionInformation(), ComputeElemDampingThread::printGeneralExecutionInformation(), ComputeIndicatorThread::printGeneralExecutionInformation(), ComputeMarkerThread::printGeneralExecutionInformation(), ComputeNodalDampingThread::printGeneralExecutionInformation(), ComputeNodalKernelBCJacobiansThread::printGeneralExecutionInformation(), ComputeNodalKernelBcsThread::printGeneralExecutionInformation(), ComputeNodalKernelJacobiansThread::printGeneralExecutionInformation(), ComputeNodalKernelsThread::printGeneralExecutionInformation(), ComputeNodalUserObjectsThread::printGeneralExecutionInformation(), ComputeUserObjectsThread::printGeneralExecutionInformation(), NonlinearThread::printGeneralExecutionInformation(), and ComputeThreadedGeneralUserObjectsThread::printGeneralExecutionInformation().

◆ converged()

virtual bool SubProblem::converged ( const unsigned int  sys_num)
inlinevirtualinherited

Eventually we want to convert this virtual over to taking a solver system number argument.

We will have to first convert apps to use solverSystemConverged, and then once that is done, we can change this signature. Then we can go through the apps again and convert back to this changed API

Definition at line 113 of file SubProblem.h.

113{ return solverSystemConverged(sys_num); }
virtual bool solverSystemConverged(const unsigned int sys_num)
Definition SubProblem.h:100

Referenced by EigenExecutionerBase::inversePowerIteration(), EigenExecutionerBase::nonlinearSolve(), FEProblemSolve::solve(), AStableDirk4::solve(), ExplicitRK2::solve(), ExplicitTVDRK2::solve(), ImplicitMidpoint::solve(), LStableDirk2::solve(), LStableDirk3::solve(), LStableDirk4::solve(), solverSystemConverged(), SubProblem::solverSystemConverged(), and AB2PredictorCorrector::step().

◆ couplingMatrix()

const CouplingMatrix * DisplacedProblem::couplingMatrix ( const unsigned int  nl_sys_num) const
overridevirtual

The coupling matrix defining what blocks exist in the preconditioning matrix.

Implements SubProblem.

Definition at line 1232 of file DisplacedProblem.C.

1233{
1234 return _mproblem.couplingMatrix(nl_sys_num);
1235}
const libMesh::CouplingMatrix * couplingMatrix(const unsigned int nl_sys_num) const override
The coupling matrix defining what blocks exist in the preconditioning matrix.

◆ createQRules()

void DisplacedProblem::createQRules ( QuadratureType  type,
Order  order,
Order  volume_order,
Order  face_order,
SubdomainID  block,
bool  allow_negative_qweights = true 
)
virtual

Definition at line 117 of file DisplacedProblem.C.

123{
124 for (unsigned int tid = 0; tid < libMesh::n_threads(); ++tid)
125 for (const auto sys_num : index_range(_assembly[tid]))
126 _assembly[tid][sys_num]->createQRules(
127 type, order, volume_order, face_order, block, allow_negative_qweights);
128}
virtual void createQRules(QuadratureType type, Order order, Order volume_order, Order face_order, SubdomainID block, bool allow_negative_qweights=true)

Referenced by createQRules().

◆ currentLinearSysNum()

unsigned int DisplacedProblem::currentLinearSysNum ( ) const
overridevirtual
Returns
the current linear system number

Implements SubProblem.

Definition at line 609 of file DisplacedProblem.C.

610{
612}
virtual unsigned int currentLinearSysNum() const override

◆ currentlyComputingJacobian()

const bool & SubProblem::currentlyComputingJacobian ( ) const
inlineinherited

Returns true if the problem is in the process of computing the Jacobian.

Definition at line 692 of file SubProblem.h.

bool _currently_computing_jacobian
Flag to determine whether the problem is currently computing Jacobian.

Referenced by PenetrationLocator::detectPenetration(), ComputeUserObjectsThread::onBoundary(), ComputeUserObjectsThread::onElement(), FEProblemBase::prepare(), ComputeUserObjectsThread::printBlockExecutionInformation(), SubProblem::reinitElemFaceRef(), and NEML2Utils::shouldCompute().

◆ currentlyComputingResidual()

const bool & SubProblem::currentlyComputingResidual ( ) const
inlineinherited

Returns true if the problem is in the process of computing the residual.

Definition at line 728 of file SubProblem.h.

bool _currently_computing_residual
Whether the residual is being evaluated.

◆ currentlyComputingResidualAndJacobian()

const bool & SubProblem::currentlyComputingResidualAndJacobian ( ) const
inlineinherited

Returns true if the problem is in the process of computing the residual and the Jacobian.

Definition at line 1505 of file SubProblem.h.

1506{
1508}
bool _currently_computing_residual_and_jacobian
Flag to determine whether the problem is currently computing the residual and Jacobian.

Referenced by SubProblem::reinitElemFaceRef(), and NEML2Utils::shouldCompute().

◆ currentNlSysNum()

unsigned int DisplacedProblem::currentNlSysNum ( ) const
overridevirtual

◆ currentResidualVectorTags()

const std::vector< VectorTag > & DisplacedProblem::currentResidualVectorTags ( ) const
overridevirtual

Return the residual vector tags we are currently computing.

Implements SubProblem.

Definition at line 1350 of file DisplacedProblem.C.

1351{
1353}
virtual const std::vector< VectorTag > & currentResidualVectorTags() const override
Return the residual vector tags we are currently computing.

Referenced by addCachedResidualDirectly(), addResidual(), addResidualLower(), and addResidualNeighbor().

◆ customSetup()

void DisplacedProblem::customSetup ( const ExecFlagType exec_type)
overridevirtual

Reimplemented from SubProblem.

Definition at line 1270 of file DisplacedProblem.C.

1271{
1272 SubProblem::customSetup(exec_type);
1273
1274 for (auto & nl : _displaced_solver_systems)
1275 nl->customSetup(exec_type);
1276 _displaced_aux->customSetup(exec_type);
1277}
virtual void customSetup(const ExecFlagType &exec_type) override
virtual void customSetup(const ExecFlagType &exec_type)

◆ defaultGhosting()

bool SubProblem::defaultGhosting ( )
inlineinherited

Whether or not the user has requested default ghosting ot be on.

Definition at line 144 of file SubProblem.h.

144{ return _default_ghosting; }
bool _default_ghosting
Whether or not to use default libMesh coupling.

Referenced by DisplacedSystem::DisplacedSystem(), and NonlinearSystemBase::NonlinearSystemBase().

◆ determineSolverSystem()

std::pair< bool, unsigned int > DisplacedProblem::determineSolverSystem ( const std::string &  var_name,
bool  error_if_not_found = false 
) const
overrideprivatevirtual
Returns
whether a given variable name is in the solver systems (reflected by the first member of the returned pair which is a boolean) and if so, what solver system number it is in (the second member of the returned pair; if the variable is not in the solver systems, then this will be an invalid unsigned integer)

Implements SubProblem.

Definition at line 1307 of file DisplacedProblem.C.

1309{
1310 return _mproblem.determineSolverSystem(var_name, error_if_not_found);
1311}
virtual std::pair< bool, unsigned int > determineSolverSystem(const std::string &var_name, bool error_if_not_found=false) const override
Determine what solver system the provided variable name lies in.

◆ diracKernelInfo()

DiracKernelInfo & SubProblem::diracKernelInfo ( )
virtualinherited

Definition at line 747 of file SubProblem.C.

748{
749 return _dirac_kernel_info;
750}

◆ doingPRefinement()

bool SubProblem::doingPRefinement ( ) const
inherited
Returns
whether we're doing p-refinement

Definition at line 1380 of file SubProblem.C.

1381{
1382 return mesh().doingPRefinement();
1383}
void doingPRefinement(bool doing_p_refinement)
Indicate whether the kind of adaptivity we're doing includes p-refinement.
Definition MooseMesh.h:1502

Referenced by FEProblemBase::meshChanged().

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 49 of file MooseObject.h.

49{ return _enabled; }
const bool & _enabled
Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects.
Definition MooseObject.h:71

Referenced by EigenKernel::enabled(), BlockRestrictionDebugOutput::printBlockRestrictionGroups(), BlockRestrictionDebugOutput::printBoundaryRestrictionGroups(), and NodeFaceConstraint::validParams().

◆ errorPrefix()

std::string MooseBase::errorPrefix ( const std::string &  ) const
inlineinherited

Deprecated message prefix; the error type is no longer used.

Definition at line 264 of file MooseBase.h.

264{ return messagePrefix(); }

◆ es()

virtual EquationSystems & DisplacedProblem::es ( )
inlineoverridevirtual

Implements SubProblem.

Definition at line 48 of file DisplacedProblem.h.

48{ return _eq; }

Referenced by DisplacedProblem::UpdateDisplacedMeshThread::init().

◆ finalNonlinearResidual()

Real SubProblem::finalNonlinearResidual ( const unsigned int  nl_sys_num) const
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 753 of file SubProblem.C.

754{
755 return 0;
756}

Referenced by Residual::getValue().

◆ flagInvalidSolutionInternal()

template<bool warning>
template void SolutionInvalidInterface::flagInvalidSolutionInternal< false > ( const InvalidSolutionID  invalid_solution_id) const
protectedinherited

Set solution invalid mark for the given solution ID.

Definition at line 41 of file SolutionInvalidInterface.C.

43{
44 mooseAssert(
45 warning == moose::internal::getSolutionInvalidityRegistry().item(invalid_solution_id).warning,
46 "Inconsistent warning flag");
47 auto & solution_invalidity = _si_moose_base.getMooseApp().solutionInvalidity();
48 if constexpr (!warning)
50 solution_invalidity.printDebug(invalid_solution_id);
51 return solution_invalidity.flagInvalidSolutionInternal(invalid_solution_id);
52}
bool immediatelyPrintInvalidSolution() const
Whether or not the solution invalid warnings are printed out immediately.
SolutionInvalidity & solutionInvalidity()
Get the SolutionInvalidity for this app.
Definition MooseApp.h:185
MooseApp & getMooseApp() const
Get the MooseApp this class is associated with.
Definition MooseBase.h:87
const FEProblemBase * _si_problem
A pointer to FEProblem base.
const MooseBase & _si_moose_base
The MooseBase that owns this interface.
void printDebug(InvalidSolutionID _invalid_solution_id) const
Immediately print the section and message for debug purpose.
SolutionInvalidityRegistry & getSolutionInvalidityRegistry()
Get the global SolutionInvalidityRegistry singleton.

◆ geomSearchData()

virtual GeometricSearchData & DisplacedProblem::geomSearchData ( )
inlineoverridevirtual

Implements SubProblem.

Definition at line 313 of file DisplacedProblem.h.

313{ return _geometric_search_data; }

◆ getActiveElementalMooseVariables()

const std::set< MooseVariableFEBase * > & SubProblem::getActiveElementalMooseVariables ( const THREAD_ID  tid) const
virtualinherited

Get the MOOSE variables to be reinited on each element.

Parameters
tidThe thread id

Definition at line 453 of file SubProblem.C.

454{
456}

Referenced by SystemBase::prepare(), SystemBase::prepareFace(), FEProblemBase::prepareMaterials(), and SystemBase::reinitElem().

◆ getActiveFEVariableCoupleableMatrixTags()

const std::set< TagID > & SubProblem::getActiveFEVariableCoupleableMatrixTags ( const THREAD_ID  tid) const
inherited

Definition at line 389 of file SubProblem.C.

390{
392}

◆ getActiveFEVariableCoupleableVectorTags()

const std::set< TagID > & SubProblem::getActiveFEVariableCoupleableVectorTags ( const THREAD_ID  tid) const
inherited

Definition at line 395 of file SubProblem.C.

396{
398}

Referenced by MultiAppVariableValueSamplePostprocessorTransfer::execute().

◆ getActiveScalarVariableCoupleableMatrixTags()

const std::set< TagID > & SubProblem::getActiveScalarVariableCoupleableMatrixTags ( const THREAD_ID  tid) const
inherited

Definition at line 430 of file SubProblem.C.

431{
433}

Referenced by MooseVariableScalar::reinit().

◆ getActiveScalarVariableCoupleableVectorTags()

const std::set< TagID > & SubProblem::getActiveScalarVariableCoupleableVectorTags ( const THREAD_ID  tid) const
inherited

Definition at line 436 of file SubProblem.C.

437{
439}

◆ getActualFieldVariable()

MooseVariableFieldBase & DisplacedProblem::getActualFieldVariable ( const THREAD_ID  tid,
const std::string &  var_name 
)
overridevirtual

Returns the variable reference for requested MooseVariableField which may be in any system.

Implements SubProblem.

Definition at line 513 of file DisplacedProblem.C.

514{
515 for (auto & nl : _displaced_solver_systems)
516 if (nl->hasVariable(var_name))
517 return nl->getActualFieldVariable<Real>(tid, var_name);
518 if (_displaced_aux->hasVariable(var_name))
519 return _displaced_aux->getActualFieldVariable<Real>(tid, var_name);
520
521 mooseError("No variable with name '" + var_name + "'");
522}
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Definition MooseError.h:311
virtual MooseVariableFieldBase & getActualFieldVariable(const THREAD_ID tid, const std::string &var_name) override
Returns the variable reference for requested MooseVariableField which may be in any system.
virtual bool hasVariable(const std::string &var_name) const override
Whether or not this problem has the variable.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ getArrayVariable()

ArrayMooseVariable & DisplacedProblem::getArrayVariable ( const THREAD_ID  tid,
const std::string &  var_name 
)
overridevirtual

Returns the variable reference for requested ArrayMooseVariable which may be in any system.

Implements SubProblem.

Definition at line 537 of file DisplacedProblem.C.

538{
539 for (auto & nl : _displaced_solver_systems)
540 if (nl->hasVariable(var_name))
541 return nl->getFieldVariable<RealEigenVector>(tid, var_name);
542 if (_displaced_aux->hasVariable(var_name))
543 return _displaced_aux->getFieldVariable<RealEigenVector>(tid, var_name);
544
545 mooseError("No variable with name '" + var_name + "'");
546}
Eigen::Matrix< Real, Eigen::Dynamic, 1 > RealEigenVector
Definition MooseTypes.h:147

◆ getAxisymmetricRadialCoord()

unsigned int SubProblem::getAxisymmetricRadialCoord ( ) const
inherited

Returns the desired radial direction for RZ coordinate transformation.

Returns
The coordinate direction for the radial direction

Definition at line 795 of file SubProblem.C.

796{
798}
unsigned int getAxisymmetricRadialCoord() const
Returns the desired radial direction for RZ coordinate transformation.
Definition MooseMesh.C:4423

◆ getBase()

const std::string & MooseBase::getBase ( ) const
inlineinherited
Returns
The registered base for this object (set via InputParameters::registerBase())

Definition at line 147 of file MooseBase.h.

147{ return _pars.getBase(); }
const std::string & getBase() const

Referenced by MooseBase::uniqueParameterName().

◆ getCheckedPointerParam()

template<typename T >
T MooseBase::getCheckedPointerParam ( const std::string &  name,
const std::string &  error_string = "" 
) const
inherited

Verifies that the requested parameter exists and is not NULL and returns it to the caller.

The template parameter must be a pointer or an error will be thrown.

Definition at line 450 of file MooseBase.h.

451{
452 return _pars.getCheckedPointerParam<T>(name, error_string);
453}
T getCheckedPointerParam(const std::string &name, const std::string &error_string="") const
Verifies that the requested parameter exists and is not NULL and returns it to the caller.

◆ getConsumedPropertyMap()

const std::map< MooseObjectName, std::set< std::string > > & SubProblem::getConsumedPropertyMap ( ) const
inherited

Return the map that tracks the object with consumed material properties.

Definition at line 741 of file SubProblem.C.

742{
744}

Referenced by MaterialPropertyDebugOutput::output().

◆ getCoordSystem()

Moose::CoordinateSystemType SubProblem::getCoordSystem ( SubdomainID  sid) const
inherited

Definition at line 1297 of file SubProblem.C.

1298{
1299 return mesh().getCoordSystem(sid);
1300}
Moose::CoordinateSystemType getCoordSystem(SubdomainID sid) const
Get the coordinate system type, e.g.
Definition MooseMesh.C:4304

Referenced by BlockRestrictable::getBlockCoordSystem(), MultiApp::getBoundingBox(), Assembly::reinitLowerDElem(), Assembly::reinitNeighborLowerDElem(), and Assembly::setCoordinateTransformation().

◆ getDataFileName()

std::string DataFileInterface::getDataFileName ( const std::string &  param) const
inherited

Deprecated method.

The data file paths are now automatically set within the InputParameters object, so using getParam<DataFileName>("param_name") is now sufficient.

Definition at line 21 of file DataFileInterface.C.

22{
23 _parent.mooseDeprecated("getDataFileName() is deprecated. The file path is now directly set "
24 "within the InputParameters.\nUse getParam<DataFileName>(\"",
25 param,
26 "\") instead.");
27 return _parent.getParam<DataFileName>(param);
28}
const ParallelParamObject & _parent
void mooseDeprecated(Args &&... args) const
Emits a deprecation warning prefixed with the object name and type, and a stack trace.
Definition MooseBase.h:317

◆ getDataFileNameByName()

std::string DataFileInterface::getDataFileNameByName ( const std::string &  relative_path) const
inherited

Deprecated method.

Use getDataFilePath() instead.

Definition at line 31 of file DataFileInterface.C.

32{
33 _parent.mooseDeprecated("getDataFileNameByName() is deprecated. Use getDataFilePath(\"",
34 relative_path,
35 "\") instead.");
36 return getDataFilePath(relative_path);
37}
std::string getDataFilePath(const std::string &relative_path) const
Returns the path of a data file for a given relative file path.

◆ getDataFilePath()

std::string DataFileInterface::getDataFilePath ( const std::string &  relative_path) const
inherited

Returns the path of a data file for a given relative file path.

This can be used for hardcoded datafile names and will search the same locations as getDataFileName

Definition at line 40 of file DataFileInterface.C.

41{
42 // This should only ever be used with relative paths. There is no point to
43 // use this search path with an absolute path.
44 if (std::filesystem::path(relative_path).is_absolute())
45 _parent.mooseWarning("While using getDataFilePath(\"",
46 relative_path,
47 "\"): This API should not be used for absolute paths.");
48
49 // This will search the data paths for this relative path
50 std::optional<std::string> error;
52 {
53 // Throw on error so that if getPath() fails, we can throw an error
54 // with the context of _parent.mooseError()
55 Moose::ScopedThrowOnError scoped_throw_on_error;
56
57 try
58 {
59 found_path = Moose::DataFileUtils::getPath(relative_path);
60 }
61 catch (std::exception & e)
62 {
63 error = e.what();
64 }
65 }
66
67 if (error)
68 _parent.mooseError(*error);
69
70 mooseAssert(found_path.context == Moose::DataFileUtils::Context::DATA,
71 "Should only ever obtain data");
72 mooseAssert(found_path.data_name, "Should be set");
73
74 const std::string msg =
75 "Using data file '" + found_path.path + "' from " + *found_path.data_name + " data";
76 _parent.mooseInfo(msg);
77
78 return found_path.path;
79}
void mooseWarning(Args &&... args) const
Emits a warning prefixed with object name and type.
Definition MooseBase.h:299
void mooseInfo(Args &&... args) const
Definition MooseBase.h:334
Scoped helper for setting Moose::_throw_on_error during this scope.
Definition Moose.h:308
@ DATA
From installed/in-tree data.
Path getPath(std::string path, const GetPathOptions &options={})
Get the data path for a given path, searching the registered data.
Representation of a data file path.
std::optional< std::string > data_name
The name of the data registry the file came from (with context == DATA)
Context context
Context for the file (where it came from)

Referenced by DataFileInterface::getDataFileNameByName().

◆ getDiracElements()

void DisplacedProblem::getDiracElements ( std::set< const Elem * > &  elems)
overridevirtual

Fills "elems" with the elements that should be looped over for Dirac Kernels.

Implements SubProblem.

Definition at line 916 of file DisplacedProblem.C.

917{
919}
std::set< const Elem * > & getElements()
Returns a writeable reference to the _elements container.

◆ getDisplacementVarNames()

const std::vector< std::string > & DisplacedProblem::getDisplacementVarNames ( ) const
inline

Definition at line 74 of file DisplacedProblem.h.

74{ return _displacements; }

◆ getFunctor()

template<typename T >
const Moose::Functor< T > & SubProblem::getFunctor ( const std::string &  name,
const THREAD_ID  tid,
const std::string &  requestor_name,
bool  requestor_is_ad 
)
inherited
Template Parameters
TThe type that the functor will return when evaluated, e.g. ADReal or Real
Parameters
nameThe name of the functor to retrieve
tidThe thread ID that we are retrieving the functor property for
requestor_nameThe name of the object that is requesting this functor property
requestor_is_adWhether the requesting object is an AD object
Returns
a constant reference to the functor

Definition at line 1232 of file SubProblem.h.

1236{
1237 mooseAssert(tid < _functors.size(), "Too large a thread ID");
1238
1239 // Log the requestor
1240 _functor_to_requestors["wraps_" + name].insert(requestor_name);
1241
1242 constexpr bool requested_functor_is_ad =
1243 !std::is_same<T, typename MetaPhysicL::RawType<T>::value_type>::value;
1244
1245 auto & functor_to_request_info = _functor_to_request_info[tid];
1246
1247 // Get the requested functor if we already have it
1248 auto & functors = _functors[tid];
1249 if (auto find_ret = functors.find("wraps_" + name); find_ret != functors.end())
1250 {
1251 if (functors.count("wraps_" + name) > 1)
1252 mooseError("Attempted to get a functor with the name '",
1253 name,
1254 "' but multiple (" + std::to_string(functors.count("wraps_" + name)) +
1255 ") functors match. Make sure that you do not have functor material "
1256 "properties, functions, postprocessors or variables with the same names.");
1257
1258 auto & [true_functor_is, non_ad_functor, ad_functor] = find_ret->second;
1259 auto & functor_wrapper = requested_functor_is_ad ? *ad_functor : *non_ad_functor;
1260
1261 auto * const functor = dynamic_cast<Moose::Functor<T> *>(&functor_wrapper);
1262 if (!functor)
1263 mooseError("A call to SubProblem::getFunctor requested a functor named '",
1264 name,
1265 "' that returns the type: '",
1266 libMesh::demangle(typeid(T).name()),
1267 "'. However, that functor already exists and returns a different type: '",
1268 functor_wrapper.returnType(),
1269 "'");
1270
1271 if (functor->template wrapsType<Moose::NullFunctor<T>>())
1272 // Store for future checking when the actual functor gets added
1273 functor_to_request_info.emplace(name,
1274 std::make_pair(requested_functor_is_ad, requestor_is_ad));
1275 else
1276 {
1277 // We already have the actual functor
1278 if (true_functor_is == SubProblem::TrueFunctorIs::UNSET)
1279 mooseError("We already have the functor; it should not be unset");
1280
1281 // Check for whether this is a valid request
1282 // We allow auxiliary variables and linear variables to be retrieved as non AD
1283 if (!requested_functor_is_ad && requestor_is_ad &&
1284 true_functor_is == SubProblem::TrueFunctorIs::AD &&
1286 mooseError("The AD object '",
1287 requestor_name,
1288 "' is requesting the functor '",
1289 name,
1290 "' as a non-AD functor even though it is truly an AD functor, which is not "
1291 "allowed, since this may unintentionally drop derivatives.");
1292 }
1293
1294 return *functor;
1295 }
1296
1297 // We don't have the functor yet but we could have it in the future. We'll create null functors
1298 // for now
1299 functor_to_request_info.emplace(name, std::make_pair(requested_functor_is_ad, requestor_is_ad));
1300 if constexpr (requested_functor_is_ad)
1301 {
1302 typedef typename MetaPhysicL::RawType<T>::value_type NonADType;
1303 typedef T ADType;
1304
1305 auto emplace_ret =
1306 functors.emplace("wraps_" + name,
1307 std::make_tuple(SubProblem::TrueFunctorIs::UNSET,
1308 std::make_unique<Moose::Functor<NonADType>>(
1309 std::make_unique<Moose::NullFunctor<NonADType>>()),
1310 std::make_unique<Moose::Functor<ADType>>(
1311 std::make_unique<Moose::NullFunctor<ADType>>())));
1312
1313 return cast_ref<Moose::Functor<T> &>(*(requested_functor_is_ad
1314 ? std::get<2>(emplace_ret->second)
1315 : std::get<1>(emplace_ret->second)));
1316 }
1317 else
1318 {
1319 typedef T NonADType;
1320 typedef typename Moose::ADType<T>::type ADType;
1321
1322 auto emplace_ret =
1323 functors.emplace("wraps_" + name,
1324 std::make_tuple(SubProblem::TrueFunctorIs::UNSET,
1325 std::make_unique<Moose::Functor<NonADType>>(
1326 std::make_unique<Moose::NullFunctor<NonADType>>()),
1327 std::make_unique<Moose::Functor<ADType>>(
1328 std::make_unique<Moose::NullFunctor<ADType>>())));
1329
1330 return cast_ref<Moose::Functor<T> &>(*(requested_functor_is_ad
1331 ? std::get<2>(emplace_ret->second)
1332 : std::get<1>(emplace_ret->second)));
1333 }
1334}
virtual bool hasLinearVariable(const std::string &var_name) const
Whether or not this problem has this linear variable.
Definition SubProblem.C:801
std::map< std::string, std::set< std::string > > _functor_to_requestors
The requestors of functors where the key is the prop name and the value is a set of names of requesto...
virtual bool hasAuxiliaryVariable(const std::string &var_name) const
Whether or not this problem has this auxiliary variable.
Definition SubProblem.C:810
const Elem & get(const ElemType type_in)
std::string demangle(const char *name)

Referenced by FunctorInterface::getFunctorByName().

◆ getHitNode() [1/2]

const hit::Node * MooseBase::getHitNode ( ) const
inlineinherited
Returns
The block-level hit node for this object, if any

Definition at line 136 of file MooseBase.h.

136{ return getHitNode(_pars); }

Referenced by MooseBase::callMooseError(), MooseBase::getHitNode(), and MooseBase::messagePrefix().

◆ getHitNode() [2/2]

const hit::Node * MooseBase::getHitNode ( const InputParameters params)
staticprivateinherited

Internal method for getting a hit node (if available) given a set of parameters.

Needs to be static so that we can call it externally from InputParameters for errors that do not have context of the MooseBase

Definition at line 167 of file MooseBase.C.

168{
169 if (const auto hit_node = params.getHitNode())
170 if (!hit_node->isRoot())
171 return hit_node;
172 return nullptr;
173}
const hit::Node * getHitNode(const std::string &param) const

◆ getLineSearch()

LineSearch * DisplacedProblem::getLineSearch ( )
overridevirtual

Implements SubProblem.

Definition at line 1226 of file DisplacedProblem.C.

1227{
1228 return _mproblem.getLineSearch();
1229}
LineSearch * getLineSearch() override
getter for the MOOSE line search

◆ getMaterialPropertyBlockNames()

std::vector< SubdomainName > SubProblem::getMaterialPropertyBlockNames ( const std::string &  prop_name)
virtualinherited

Get a vector of block id equivalences that the material property is defined on.

Definition at line 488 of file SubProblem.C.

489{
490 std::set<SubdomainID> blocks = getMaterialPropertyBlocks(prop_name);
491 std::vector<SubdomainName> block_names;
492 block_names.reserve(blocks.size());
493 for (const auto & block_id : blocks)
494 {
495 SubdomainName name;
496 name = mesh().getMesh().subdomain_name(block_id);
497 if (name.empty())
498 {
499 std::ostringstream oss;
500 oss << block_id;
501 name = oss.str();
502 }
503 block_names.push_back(name);
504 }
505
506 return block_names;
507}
char ** blocks
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition MooseMesh.C:3557
virtual std::set< SubdomainID > getMaterialPropertyBlocks(const std::string &prop_name)
Get a vector containing the block ids the material property is defined on.
Definition SubProblem.C:472

Referenced by MaterialPropertyInterface::getMaterialPropertyBlockNames().

◆ getMaterialPropertyBlocks()

std::set< SubdomainID > SubProblem::getMaterialPropertyBlocks ( const std::string &  prop_name)
virtualinherited

Get a vector containing the block ids the material property is defined on.

Definition at line 472 of file SubProblem.C.

473{
474 std::set<SubdomainID> blocks;
475
476 for (const auto & it : _map_block_material_props)
477 {
478 const std::set<std::string> & prop_names = it.second;
479 std::set<std::string>::iterator name_it = prop_names.find(prop_name);
480 if (name_it != prop_names.end())
481 blocks.insert(it.first);
482 }
483
484 return blocks;
485}

Referenced by SubProblem::getMaterialPropertyBlockNames(), and MaterialPropertyInterface::getMaterialPropertyBlocks().

◆ getMaterialPropertyBoundaryIDs()

std::set< BoundaryID > SubProblem::getMaterialPropertyBoundaryIDs ( const std::string &  prop_name)
virtualinherited

Get a vector containing the block ids the material property is defined on.

Definition at line 524 of file SubProblem.C.

525{
526 std::set<BoundaryID> boundaries;
527
528 for (const auto & it : _map_boundary_material_props)
529 {
530 const std::set<std::string> & prop_names = it.second;
531 std::set<std::string>::iterator name_it = prop_names.find(prop_name);
532 if (name_it != prop_names.end())
533 boundaries.insert(it.first);
534 }
535
536 return boundaries;
537}

Referenced by MaterialPropertyInterface::getMaterialPropertyBoundaryIDs(), and SubProblem::getMaterialPropertyBoundaryNames().

◆ getMaterialPropertyBoundaryNames()

std::vector< BoundaryName > SubProblem::getMaterialPropertyBoundaryNames ( const std::string &  prop_name)
virtualinherited

Get a vector of block id equivalences that the material property is defined on.

Definition at line 540 of file SubProblem.C.

541{
542 std::set<BoundaryID> boundaries = getMaterialPropertyBoundaryIDs(prop_name);
543 std::vector<BoundaryName> boundary_names;
544 boundary_names.reserve(boundaries.size());
545 const BoundaryInfo & boundary_info = mesh().getMesh().get_boundary_info();
546
547 for (const auto & bnd_id : boundaries)
548 {
549 BoundaryName name;
550 if (bnd_id == Moose::ANY_BOUNDARY_ID)
551 name = "ANY_BOUNDARY_ID";
552 else
553 {
554 name = boundary_info.get_sideset_name(bnd_id);
555 if (name.empty())
556 {
557 std::ostringstream oss;
558 oss << bnd_id;
559 name = oss.str();
560 }
561 }
562 boundary_names.push_back(name);
563 }
564
565 return boundary_names;
566}
virtual std::set< BoundaryID > getMaterialPropertyBoundaryIDs(const std::string &prop_name)
Get a vector containing the block ids the material property is defined on.
Definition SubProblem.C:524

Referenced by MaterialPropertyInterface::getMaterialPropertyBoundaryNames().

◆ getMatrixTagID()

TagID DisplacedProblem::getMatrixTagID ( const TagName &  tag_name) const
overridevirtual

Get a TagID from a TagName.

Reimplemented from SubProblem.

Definition at line 445 of file DisplacedProblem.C.

446{
447 return _mproblem.getMatrixTagID(tag_name);
448}
virtual TagID getMatrixTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition SubProblem.C:341

◆ getMatrixTags()

virtual std::map< TagName, TagID > & SubProblem::getMatrixTags ( )
inlinevirtualinherited

Return all matrix tags in the system, where a tag is represented by a map from name to ID.

Definition at line 253 of file SubProblem.h.

std::map< TagName, TagID > _matrix_tag_name_to_tag_id
The currently declared tags.

Referenced by FEProblemBase::computeJacobian(), NonlinearSystemBase::computeJacobian(), EigenProblem::computeJacobianAB(), NonlinearSystemBase::computeJacobianBlocks(), EigenProblem::computeJacobianTag(), FEProblemBase::computeLinearSystemSys(), and FEProblemBase::computeResidualAndJacobian().

◆ getMooseApp()

MooseApp & MooseBase::getMooseApp ( ) const
inlineinherited

Get the MooseApp this class is associated with.

Definition at line 87 of file MooseBase.h.

87{ return _app; }

Referenced by ChainControlSetupAction::act(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultSteadyStateConvergence(), FEProblemBase::advanceState(), ParsedChainControl::buildFunction(), ReporterTransferInterface::checkHasReporterValue(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), Coupleable::checkWritableVar(), ComponentPhysicsInterface::ComponentPhysicsInterface(), Coupleable::Coupleable(), MortarInterfaceWarehouse::createMortarInterface(), EigenProblem::doFreeNonlinearPowerIterations(), Terminator::execute(), FEProblemSolve::FEProblemSolve(), SolutionInvalidInterface::flagInvalidSolutionInternal(), ChainControl::getChainControlDataSystem(), FEProblemBase::getDistribution(), FEProblemBase::getFunction(), FEProblemBase::getFVInterpolationMethod(), FEProblemBase::getMultiApp(), FEProblemBase::getSampler(), DefaultConvergenceBase::getSharedExecutionerParam(), FEProblemBase::getUserObjectBase(), FEProblemBase::getVectorPostprocessorObjectByName(), ChainControlDataPostprocessor::initialSetup(), MaterialPropertyInterface::MaterialPropertyInterface(), MooseVariableDataFV< OutputType >::MooseVariableDataFV(), ProgressOutput::output(), PetscOutputInterface::petscLinearOutput(), PetscOutputInterface::petscNonlinearOutput(), Moose::PetscSupport::PetscOptionsScope::PetscOptionsScope(), PetscOutputInterface::PetscOutputInterface(), PostprocessorInterface::postprocessorsAdded(), MultiApp::preTransfer(), Reporter::Reporter(), ReporterInterface::reportersAdded(), LinearFVGradientInterface::resolveFVGradientMethod(), MultiApp::restore(), and VectorPostprocessorInterface::vectorPostprocessorsAdded().

◆ getParam() [1/2]

template<typename T >
const T & MooseBase::getParam ( const std::string &  name) const
inherited

Retrieve a parameter for the object.

Parameters
nameThe name of the parameter
Returns
The value of the parameter

Definition at line 406 of file MooseBase.h.

407{
408 return InputParameters::getParamHelper<T>(name, _pars);
409}

Referenced by CommonOutputAction::act(), CreateDisplacedProblemAction::act(), CylinderComponent::addMeshGenerators(), FEProblemBase::addOutput(), ArrayParsedAux::ArrayParsedAux(), BicubicSplineFunction::BicubicSplineFunction(), Console::Console(), CutMeshByLevelSetGenerator::CutMeshByLevelSetGenerator(), DebugResidualAux::DebugResidualAux(), DerivativeParsedMaterialTempl< is_ad >::DerivativeParsedMaterialTempl(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), EigenKernel::EigenKernel(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), MFEMEigenvaluesPostprocessor::execute(), FEProblemSolve::FEProblemSolve(), ParsedVectorReporter::finalize(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), ParsedSubdomainGeneratorBase::functionInitialize(), BlockDeletionGenerator::generate(), BoundaryLayerSubdomainGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenBlockGenerator::generate(), FileMeshGenerator::generate(), MeshExtruderGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), SubdomainsFromPartitionerGenerator::generate(), XYDelaunayGenerator::generate(), GenericConstantRankTwoTensorTempl< is_ad >::GenericConstantRankTwoTensorTempl(), GenericConstantSymmetricRankTwoTensorTempl< is_ad >::GenericConstantSymmetricRankTwoTensorTempl(), GeometricSearchInterface::GeometricSearchInterface(), MooseApp::getCheckpointDirectories(), DataFileInterface::getDataFileName(), ExecutorInterface::getExecutor(), DefaultConvergenceBase::getSharedExecutionerParam(), AddVariableAction::init(), AdvancedOutput::init(), FixedPointIterationAdaptiveDT::init(), TimeSequenceStepper::init(), AdvancedOutput::initAvailableLists(), AttribThread::initFrom(), AttribExecutionOrderGroup::initFrom(), AttribSysNum::initFrom(), AttribResidualObject::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), SampledOutput::initSample(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MooseMesh::MooseMesh(), MooseVariableBase::MooseVariableBase(), MoveNodesByParsedExpressionModifier::MoveNodesByParsedExpressionModifier(), MultiPostprocessorConvergence::MultiPostprocessorConvergence(), PerfGraphOutput::output(), Console::outputSystemInformation(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedElementDeletionGenerator::ParsedElementDeletionGenerator(), ParsedGenerateNodeset::ParsedGenerateNodeset(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedMaterialTempl< is_ad >::ParsedMaterialTempl(), ParsedNodeTransformGenerator::ParsedNodeTransformGenerator(), ParsedODEKernel::ParsedODEKernel(), ParsedPostprocessor::ParsedPostprocessor(), ParsedReporterBase::ParsedReporterBase(), ParsedVectorReporter::ParsedVectorReporter(), ProjectSideSetOntoLevelSetGenerator::ProjectSideSetOntoLevelSetGenerator(), ReferenceResidualInterface::ReferenceResidualInterface(), Moose::FV::setInterpolationMethod(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), Output::setWallTimeIntervalFromCommandLineParam(), PetscOutput::solveSetup(), TimePeriod::TimePeriod(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), and VectorOfPostprocessors::VectorOfPostprocessors().

◆ getParam() [2/2]

template<typename T1 , typename T2 >
std::vector< std::pair< T1, T2 > > MooseBase::getParam ( const std::string &  param1,
const std::string &  param2 
) const
inherited

Retrieve two parameters and provide pair of parameters for the object.

Parameters
param1The name of first parameter
param2The name of second parameter
Returns
Vector of pairs of first and second parameters

Definition at line 443 of file MooseBase.h.

444{
445 return _pars.get<T1, T2>(param1, param2);
446}

◆ getRenamedParam()

template<typename T >
const T & MooseBase::getRenamedParam ( const std::string &  old_name,
const std::string &  new_name 
) const
inherited

Retrieve a renamed parameter for the object.

This helper makes sure we check both names before erroring, and that only one parameter is passed to avoid silent errors

Parameters
old_namethe old name for the parameter
new_namethe new name for the parameter

Definition at line 420 of file MooseBase.h.

421{
422 // Most important: accept new parameter
423 if (isParamSetByUser(new_name) && !isParamValid(old_name))
424 return getParam<T>(new_name);
425 // Second most: accept old parameter
426 if (isParamValid(old_name) && !isParamSetByUser(new_name))
427 return getParam<T>(old_name);
428 // Third most: accept default for new parameter
429 if (isParamValid(new_name) && !isParamValid(old_name))
430 return getParam<T>(new_name);
431 // Refuse: no default, no value passed
432 if (!isParamValid(old_name) && !isParamValid(new_name))
433 mooseError("parameter '" + new_name +
434 "' is being retrieved without being set.\nDid you misspell it?");
435 // Refuse: both old and new parameters set by user
436 else
437 mooseError("Parameter '" + new_name + "' may not be provided alongside former parameter '" +
438 old_name + "'");
439}
bool isParamSetByUser(const std::string &name) const
Test if the supplied parameter is set by a user, as opposed to not set or set to default.
Definition MooseBase.h:205
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
Definition MooseBase.h:199

◆ getScalarVariable()

MooseVariableScalar & DisplacedProblem::getScalarVariable ( const THREAD_ID  tid,
const std::string &  var_name 
)
overridevirtual

Returns the scalar variable reference from whichever system contains it.

Implements SubProblem.

Definition at line 561 of file DisplacedProblem.C.

562{
563 for (auto & nl : _displaced_solver_systems)
564 if (nl->hasScalarVariable(var_name))
565 return nl->getScalarVariable(tid, var_name);
566 if (_displaced_aux->hasScalarVariable(var_name))
567 return _displaced_aux->getScalarVariable(tid, var_name);
568
569 mooseError("No variable with name '" + var_name + "'");
570}
virtual bool hasScalarVariable(const std::string &var_name) const override
Returns a Boolean indicating whether any system contains a variable with the name provided.
virtual MooseVariableScalar & getScalarVariable(const THREAD_ID tid, const std::string &var_name) override
Returns the scalar variable reference from whichever system contains it.

◆ getSharedPtr() [1/2]

std::shared_ptr< MooseObject > MooseObject::getSharedPtr ( )
inherited

Get another shared pointer to this object that has the same ownership group.

Wrapper around shared_from_this().

Definition at line 70 of file MooseObject.C.

71{
72 try
73 {
74 return shared_from_this();
75 }
76 catch (std::bad_weak_ptr &)
77 {
78 mooseError(not_shared_error);
79 }
80}

Referenced by MFEMProblem::addImagComponentToBC(), MFEMProblem::addImagComponentToKernel(), MFEMProblem::addRealComponentToBC(), MFEMProblem::addRealComponentToKernel(), and WebServerControl::addServerAction().

◆ getSharedPtr() [2/2]

std::shared_ptr< const MooseObject > MooseObject::getSharedPtr ( ) const
inherited

Definition at line 83 of file MooseObject.C.

84{
85 try
86 {
87 return shared_from_this();
88 }
89 catch (std::bad_weak_ptr &)
90 {
91 mooseError(not_shared_error);
92 }
93}

◆ getStandardVariable()

MooseVariable & DisplacedProblem::getStandardVariable ( const THREAD_ID  tid,
const std::string &  var_name 
)
overridevirtual

Returns the variable reference for requested MooseVariable which may be in any system.

Implements SubProblem.

Definition at line 501 of file DisplacedProblem.C.

502{
503 for (auto & nl : _displaced_solver_systems)
504 if (nl->hasVariable(var_name))
505 return nl->getFieldVariable<Real>(tid, var_name);
506 if (_displaced_aux->hasVariable(var_name))
507 return _displaced_aux->getFieldVariable<Real>(tid, var_name);
508
509 mooseError("No variable with name '" + var_name + "'");
510}

◆ getSystem()

System & DisplacedProblem::getSystem ( const std::string &  var_name)
overridevirtual

Returns the equation system containing the variable provided.

Implements SubProblem.

Definition at line 573 of file DisplacedProblem.C.

574{
575 for (const auto sys_num : make_range(_eq.n_systems()))
576 {
577 auto & sys = _eq.get_system(sys_num);
578 if (sys.has_variable(var_name))
579 return sys;
580 }
581
582 mooseError("Unable to find a system containing the variable " + var_name);
583}

◆ getVariable() [1/3]

virtual MooseVariableFieldBase & SubProblem::getVariable ( const THREAD_ID  tid,
const std::string &  var_name,
Moose::VarKindType  expected_var_type = Moose::VarKindType::VAR_ANY,
Moose::VarFieldType  expected_var_field_type = Moose::VarFieldType::VAR_FIELD_ANY 
)
inlinevirtual

Reimplemented from SubProblem.

Definition at line 279 of file SubProblem.h.

283 {
284 return const_cast<MooseVariableFieldBase &>(const_cast<const SubProblem *>(this)->getVariable(
285 tid, var_name, expected_var_type, expected_var_field_type));
286 }
virtual const MooseVariableFieldBase & getVariable(const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const override
Returns the variable reference for requested variable which must be of the expected_var_type (Nonline...
This class provides an interface for common operations on field variables of both FE and FV types wit...

◆ getVariable() [2/3]

const MooseVariableFieldBase & DisplacedProblem::getVariable ( const THREAD_ID  tid,
const std::string &  var_name,
Moose::VarKindType  expected_var_type = Moose::VarKindType::VAR_ANY,
Moose::VarFieldType  expected_var_field_type = Moose::VarFieldType::VAR_FIELD_ANY 
) const
overridevirtual

Returns the variable reference for requested variable which must be of the expected_var_type (Nonlinear vs.

Auxiliary) and expected_var_field_type (standard, scalar, vector). The default values of VAR_ANY and VAR_FIELD_ANY should be used when "any" type of variable is acceptable. Throws an error if the variable in question is not in the expected System or of the expected type.

Implements SubProblem.

Definition at line 487 of file DisplacedProblem.C.

491{
492 return getVariableHelper(tid,
493 var_name,
494 expected_var_type,
495 expected_var_field_type,
498}
MooseVariableFieldBase & getVariableHelper(const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type, Moose::VarFieldType expected_var_field_type, const std::vector< T > &nls, const SystemBase &aux) const
Helper function called by getVariable that handles the logic for checking whether Variables of the re...

Referenced by init().

◆ getVariable() [3/3]

virtual const MooseVariableFieldBase & SubProblem::getVariable ( const THREAD_ID  tid,
const std::string &  var_name,
Moose::VarKindType  expected_var_type = Moose::VarKindType::VAR_ANY,
Moose::VarFieldType  expected_var_field_type = Moose::VarFieldType::VAR_FIELD_ANY 
) const
virtual

Returns the variable reference for requested variable which must be of the expected_var_type (Nonlinear vs.

Auxiliary) and expected_var_field_type (standard, scalar, vector). The default values of VAR_ANY and VAR_FIELD_ANY should be used when "any" type of variable is acceptable. Throws an error if the variable in question is not in the expected System or of the expected type.

Implements SubProblem.

◆ getVariableHelper() [1/2]

template<typename T >
MooseVariableFieldBase & SubProblem::getVariableHelper ( const THREAD_ID  tid,
const std::string &  var_name,
Moose::VarKindType  expected_var_type,
Moose::VarFieldType  expected_var_field_type,
const std::vector< T > &  nls,
const SystemBase aux 
) const
protectedinherited

Helper function called by getVariable that handles the logic for checking whether Variables of the requested type are available.

Referenced by getVariable(), and FEProblemBase::getVariable().

◆ getVariableHelper() [2/2]

template<typename T >
MooseVariableFEBase & SubProblem::getVariableHelper ( const THREAD_ID  tid,
const std::string &  var_name,
Moose::VarKindType  expected_var_type,
Moose::VarFieldType  expected_var_field_type,
const std::vector< T > &  systems,
const SystemBase aux 
) const
inherited

Definition at line 817 of file SubProblem.C.

823{
824 // Eventual return value
825 MooseVariableFEBase * var = nullptr;
826
827 const auto [var_in_sys, sys_num] = determineSolverSystem(var_name);
828
829 // First check that the variable is found on the expected system.
830 if (expected_var_type == Moose::VarKindType::VAR_ANY)
831 {
832 if (var_in_sys)
833 var = &(systems[sys_num]->getVariable(tid, var_name));
834 else if (aux.hasVariable(var_name))
835 var = &(aux.getVariable(tid, var_name));
836 else
837 mooseError("Unknown variable " + var_name);
838 }
839 else if (expected_var_type == Moose::VarKindType::VAR_SOLVER && var_in_sys &&
840 systems[sys_num]->hasVariable(var_name))
841 var = &(systems[sys_num]->getVariable(tid, var_name));
842 else if (expected_var_type == Moose::VarKindType::VAR_AUXILIARY && aux.hasVariable(var_name))
843 var = &(aux.getVariable(tid, var_name));
844 else
845 {
846 std::string expected_var_type_string =
847 (expected_var_type == Moose::VarKindType::VAR_SOLVER ? "nonlinear" : "auxiliary");
848 mooseError("No ",
849 expected_var_type_string,
850 " variable named ",
851 var_name,
852 " found. "
853 "Did you specify an auxiliary variable when you meant to specify a nonlinear "
854 "variable (or vice-versa)?");
855 }
856
857 // Now make sure the var found has the expected field type.
858 if ((expected_var_field_type == Moose::VarFieldType::VAR_FIELD_ANY) ||
859 (expected_var_field_type == var->fieldType()))
860 return *var;
861 else
862 {
863 std::string expected_var_field_type_string =
864 MooseUtils::toLower(Moose::stringify(expected_var_field_type));
865 std::string var_field_type_string = MooseUtils::toLower(Moose::stringify(var->fieldType()));
866
867 mooseError("No ",
868 expected_var_field_type_string,
869 " variable named ",
870 var_name,
871 " found. "
872 "Did you specify a ",
873 var_field_type_string,
874 " variable when you meant to specify a ",
875 expected_var_field_type_string,
876 " variable?");
877 }
878}
virtual Moose::VarFieldType fieldType() const =0
Field type of this variable.
virtual std::pair< bool, unsigned int > determineSolverSystem(const std::string &var_name, bool error_if_not_found=false) const =0
virtual bool hasVariable(const std::string &var_name) const =0
Whether or not this problem has the variable.
MooseVariableFieldBase & getVariable(THREAD_ID tid, const std::string &var_name) const
Gets a reference to a variable of with specified name.
Definition SystemBase.C:89
virtual bool hasVariable(const std::string &var_name) const
Query a system for a variable.
Definition SystemBase.C:850
std::string toLower(std::string name)
Convert supplied string to lower case.
@ VAR_FIELD_ANY
Definition MooseTypes.h:781
std::string stringify(const T &t)
conversion to string
Definition Conversion.h:64
@ VAR_ANY
Definition MooseTypes.h:772

◆ getVectorTag()

const VectorTag & DisplacedProblem::getVectorTag ( const TagID  tag_id) const
overridevirtual

Get a VectorTag from a TagID.

Reimplemented from SubProblem.

Definition at line 391 of file DisplacedProblem.C.

392{
393 return _mproblem.getVectorTag(tag_id);
394}
virtual const VectorTag & getVectorTag(const TagID tag_id) const
Get a VectorTag from a TagID.
Definition SubProblem.C:160

Referenced by addCachedResidualDirectly(), setResidual(), and setResidualNeighbor().

◆ getVectorTagID()

TagID DisplacedProblem::getVectorTagID ( const TagName &  tag_name) const
overridevirtual

Get a TagID from a TagName.

Reimplemented from SubProblem.

Definition at line 397 of file DisplacedProblem.C.

398{
399 return _mproblem.getVectorTagID(tag_name);
400}
virtual TagID getVectorTagID(const TagName &tag_name) const
Get a TagID from a TagName.
Definition SubProblem.C:202

◆ getVectorTags() [1/2]

const std::vector< VectorTag > & DisplacedProblem::getVectorTags ( const Moose::VectorTagType  type = Moose::VECTOR_TAG_ANY) const
overridevirtual

Return all vector tags, where a tag is represented by a map from name to ID.

Can optionally be limited to a vector tag type.

Reimplemented from SubProblem.

Definition at line 427 of file DisplacedProblem.C.

428{
430}
std::vector< VectorTag > getVectorTags(const std::set< TagID > &tag_ids) const
Definition SubProblem.C:171

◆ getVectorTags() [2/2]

std::vector< VectorTag > SubProblem::getVectorTags ( const std::set< TagID > &  tag_ids) const
inherited

Definition at line 171 of file SubProblem.C.

172{
173 mooseAssert(verifyVectorTags(), "Vector tag storage invalid");
174
175 std::vector<VectorTag> tags;
176 tags.reserve(tag_ids.size());
177 for (const auto & tag_id : tag_ids)
178 tags.push_back(getVectorTag(tag_id));
179 return tags;
180}
bool verifyVectorTags() const
Verify the integrity of _vector_tags and _typed_vector_tags.
Definition SubProblem.C:240

Referenced by FEProblemBase::computeLinearSystemSys(), NonlinearSystemBase::computeNodalBCsResidual(), EigenProblem::computeResidualAB(), FEProblemBase::computeResidualAndJacobian(), EigenProblem::computeResidualTag(), ComputeResidualAndJacobianThread::determineObjectWarehouses(), getVectorTags(), SubProblem::numVectorTags(), ComputeMortarFunctor::operator()(), and FEProblemBase::setCurrentResidualVectorTags().

◆ getVectorVariable()

VectorMooseVariable & DisplacedProblem::getVectorVariable ( const THREAD_ID  tid,
const std::string &  var_name 
)
overridevirtual

Returns the variable reference for requested VectorMooseVariable which may be in any system.

Implements SubProblem.

Definition at line 525 of file DisplacedProblem.C.

526{
527 for (auto & nl : _displaced_solver_systems)
528 if (nl->hasVariable(var_name))
529 return nl->getFieldVariable<RealVectorValue>(tid, var_name);
530 if (_displaced_aux->hasVariable(var_name))
531 return _displaced_aux->getFieldVariable<RealVectorValue>(tid, var_name);
532
533 mooseError("No variable with name '" + var_name + "'");
534}
VectorValue< Real > RealVectorValue
Definition SubProblem.h:34

◆ ghostedElems()

std::set< dof_id_type > & DisplacedProblem::ghostedElems ( )
overridevirtual

Return the list of elements that should have their DoFs ghosted to this processor.

Returns
The list

Reimplemented from SubProblem.

Definition at line 111 of file DisplacedProblem.C.

112{
113 return _mproblem.ghostedElems();
114}
virtual std::set< dof_id_type > & ghostedElems()
Return the list of elements that should have their DoFs ghosted to this processor.
Definition SubProblem.h:680

◆ ghostGhostedBoundaries()

void DisplacedProblem::ghostGhostedBoundaries ( )
overridevirtual

Causes the boundaries added using addGhostedBoundary to actually be ghosted.

Implements SubProblem.

Definition at line 1162 of file DisplacedProblem.C.

1163{
1165}
virtual void ghostGhostedBoundaries() override
Causes the boundaries added using addGhostedBoundary to actually be ghosted.

◆ hasActiveElementalMooseVariables()

bool SubProblem::hasActiveElementalMooseVariables ( const THREAD_ID  tid) const
virtualinherited

Whether or not a list of active elemental moose variables has been set.

Returns
True if there has been a list of active elemental moose variables set, False otherwise

Definition at line 459 of file SubProblem.C.

460{
462}

Referenced by SystemBase::prepare(), SystemBase::prepareFace(), and SystemBase::reinitElem().

◆ hasAuxiliaryVariable()

bool SubProblem::hasAuxiliaryVariable ( const std::string &  var_name) const
virtualinherited

◆ hasBase()

bool MooseBase::hasBase ( ) const
inlineinherited
Returns
Whether or not this object has a registered base (set via InputParameters::registerBase())

Definition at line 142 of file MooseBase.h.

142{ return _pars.hasBase(); }
bool hasBase() const

◆ hasBlockMaterialProperty()

bool SubProblem::hasBlockMaterialProperty ( SubdomainID  block_id,
const std::string &  prop_name 
)
virtualinherited

Check if a material property is defined on a block.

Definition at line 510 of file SubProblem.C.

511{
512 auto it = _map_block_material_props.find(bid);
513 if (it == _map_block_material_props.end())
514 return false;
515
516 if (it->second.count(prop_name) > 0)
517 return true;
518 else
519 return false;
520}

◆ hasBoundaryMaterialProperty()

bool SubProblem::hasBoundaryMaterialProperty ( BoundaryID  boundary_id,
const std::string &  prop_name 
)
virtualinherited

Check if a material property is defined on a block.

Definition at line 569 of file SubProblem.C.

570{
571 auto it = _map_boundary_material_props.find(bid);
572 if (it == _map_boundary_material_props.end())
573 return false;
574
575 if (it->second.count(prop_name) > 0)
576 return true;
577 else
578 return false;
579}

◆ hasFunctor()

bool SubProblem::hasFunctor ( const std::string &  name,
const THREAD_ID  tid 
) const
inherited

checks whether we have a functor corresponding to name on the thread id tid

Definition at line 1289 of file SubProblem.C.

1290{
1291 mooseAssert(tid < _functors.size(), "Too large a thread ID");
1292 auto & functors = _functors[tid];
1293 return (functors.find("wraps_" + name) != functors.end());
1294}

Referenced by FunctorInterface::isFunctor().

◆ hasFunctorWithType()

template<typename T >
bool SubProblem::hasFunctorWithType ( const std::string &  name,
const THREAD_ID  tid 
) const
inherited

checks whether we have a functor of type T corresponding to name on the thread id tid

Definition at line 1338 of file SubProblem.h.

1339{
1340 mooseAssert(tid < _functors.size(), "Too large a thread ID");
1341 auto & functors = _functors[tid];
1342
1343 const auto & it = functors.find("wraps_" + name);
1344 constexpr bool requested_functor_is_ad =
1345 !std::is_same<T, typename MetaPhysicL::RawType<T>::value_type>::value;
1346
1347 if (it == functors.end())
1348 return false;
1349 else
1350 return dynamic_cast<Moose::Functor<T> *>(
1351 requested_functor_is_ad ? std::get<2>(it->second).get() : std::get<1>(it->second).get());
1352}

◆ hasLinearVariable()

bool SubProblem::hasLinearVariable ( const std::string &  var_name) const
virtualinherited

Whether or not this problem has this linear variable.

Definition at line 801 of file SubProblem.C.

802{
803 for (const auto i : make_range(numLinearSystems()))
804 if (systemBaseLinear(i).hasVariable(var_name))
805 return true;
806 return false;
807}
virtual std::size_t numLinearSystems() const =0
virtual const SystemBase & systemBaseLinear(const unsigned int sys_num) const =0
Return the linear system object as a base class reference given the system number.

Referenced by SubProblem::getFunctor().

◆ hasNonlocalCoupling()

bool DisplacedProblem::hasNonlocalCoupling ( ) const
overridevirtual

Whether the simulation has active nonlocal coupling which should be accounted for in the Jacobian.

For this to return true, there must be at least one active nonlocal kernel or boundary condition

Implements SubProblem.

Definition at line 1380 of file DisplacedProblem.C.

1381{
1383}
virtual bool hasNonlocalCoupling() const override
Whether the simulation has active nonlocal coupling which should be accounted for in the Jacobian.

◆ hasScalarVariable()

bool DisplacedProblem::hasScalarVariable ( const std::string &  var_name) const
overridevirtual

Returns a Boolean indicating whether any system contains a variable with the name provided.

Implements SubProblem.

Definition at line 549 of file DisplacedProblem.C.

550{
551 for (auto & nl : _displaced_solver_systems)
552 if (nl->hasScalarVariable(var_name))
553 return true;
554 if (_displaced_aux->hasScalarVariable(var_name))
555 return true;
556
557 return false;
558}

◆ hasScalingVector()

void SubProblem::hasScalingVector ( const unsigned int  nl_sys_num)
inherited

Tells this problem that the assembly associated with the given nonlinear system number involves a scaling vector.

Definition at line 1185 of file SubProblem.C.

1186{
1187 for (const THREAD_ID tid : make_range(libMesh::n_threads()))
1188 assembly(tid, nl_sys_num).hasScalingVector();
1189}
unsigned int THREAD_ID
Definition MooseTypes.h:237
void hasScalingVector(const unsigned int nl_sys_num)
Tells this problem that the assembly associated with the given nonlinear system number involves a sca...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...

Referenced by SystemBase::addScalingVector().

◆ hasVariable()

bool DisplacedProblem::hasVariable ( const std::string &  var_name) const
overridevirtual

Whether or not this problem has the variable.

Implements SubProblem.

Definition at line 475 of file DisplacedProblem.C.

476{
477 for (auto & nl : _displaced_solver_systems)
478 if (nl->hasVariable(var_name))
479 return true;
480 if (_displaced_aux->hasVariable(var_name))
481 return true;
482
483 return false;
484}

◆ haveADObjects() [1/3]

bool SubProblem::haveADObjects ( ) const
inline

Method for reading wehther we have any ad objects.

Definition at line 779 of file SubProblem.h.

779{ return _have_ad_objects; }
bool _have_ad_objects
AD flag indicating whether any AD objects have been added.

◆ haveADObjects() [2/3]

virtual void SubProblem::haveADObjects ( bool  have_ad_objects)
inlinevirtual

Method for setting whether we have any ad objects.

Reimplemented from SubProblem.

Definition at line 775 of file SubProblem.h.

775{ _have_ad_objects = have_ad_objects; }

◆ haveADObjects() [3/3]

void DisplacedProblem::haveADObjects ( bool  have_ad_objects)
overridevirtual

Method for setting whether we have any ad objects.

Reimplemented from SubProblem.

Definition at line 1300 of file DisplacedProblem.C.

1301{
1302 _have_ad_objects = have_ad_objects;
1303 _mproblem.SubProblem::haveADObjects(have_ad_objects);
1304}

◆ haveDisplaced()

virtual bool DisplacedProblem::haveDisplaced ( ) const
inlinefinaloverridevirtual

Whether we have a displaced problem in our simulation.

Implements SubProblem.

Definition at line 352 of file DisplacedProblem.h.

352{ return true; }

◆ haveFV()

bool DisplacedProblem::haveFV ( ) const
overridevirtual

returns true if this problem includes/needs finite volume functionality.

Implements SubProblem.

Definition at line 1374 of file DisplacedProblem.C.

1375{
1376 return _mproblem.haveFV();
1377}
virtual bool haveFV() const override
returns true if this problem includes/needs finite volume functionality.

Referenced by init(), and updateMesh().

◆ havePRefinement()

bool SubProblem::havePRefinement ( ) const
inlineinherited

Query whether p-refinement has been requested at any point during the simulation.

Definition at line 1024 of file SubProblem.h.

1024{ return _have_p_refinement; }
bool _have_p_refinement
Whether p-refinement has been requested at any point during the simulation.

Referenced by AdvancedOutput::initAvailableLists(), and FEProblemBase::meshChanged().

◆ init()

void DisplacedProblem::init ( )
overridevirtual

Implements Problem.

Definition at line 147 of file DisplacedProblem.C.

148{
149 for (THREAD_ID tid = 0; tid < libMesh::n_threads(); ++tid)
150 {
151 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
152 _assembly[tid][nl_sys_num]->init(_mproblem.couplingMatrix(nl_sys_num));
153
154 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
155 {
156 std::vector<std::pair<unsigned int, unsigned short>> disp_numbers_and_directions;
157 for (const auto direction : index_range(_displacements))
158 {
159 const auto & disp_string = _displacements[direction];
160 const auto & disp_variable = getVariable(tid, disp_string);
161 if (disp_variable.sys().number() == nl_sys_num)
162 disp_numbers_and_directions.push_back(
163 std::make_pair(disp_variable.number(), cast_int<unsigned short>(direction)));
164 }
165 _assembly[tid][nl_sys_num]->assignDisplacements(std::move(disp_numbers_and_directions));
166 }
167 }
168
169 for (auto & nl : _displaced_solver_systems)
170 {
171 nl->dofMap().attach_extra_send_list_function(&extraSendList, nl.get());
172 nl->preInit();
173 }
174
175 _displaced_aux->dofMap().attach_extra_send_list_function(&extraSendList, _displaced_aux.get());
176 _displaced_aux->preInit();
177
178 {
179 TIME_SECTION("eq::init", 2, "Initializing Displaced Equation System");
180 _eq.init();
181 }
182
183 for (auto & nl : _displaced_solver_systems)
184 nl->postInit();
185 _displaced_aux->postInit();
186
188
189 if (haveFV())
191}
void extraSendList(std::vector< dof_id_type > &send_list, void *context)
///< Type of coordinate system
Definition SystemBase.C:38
virtual const CouplingMatrix * couplingMatrix(const unsigned int nl_sys_num) const override
The coupling matrix defining what blocks exist in the preconditioning matrix.
virtual void init() override
virtual bool haveFV() const override
returns true if this problem includes/needs finite volume functionality.
void setupFiniteVolumeMeshData() const
Sets up the additional data needed for finite volume computations.
Definition MooseMesh.C:4201
void meshChanged()
Declares that the MooseMesh has changed, invalidates cached data and rebuilds caches.
Definition MooseMesh.C:892

Referenced by init().

◆ initAdaptivity()

void DisplacedProblem::initAdaptivity ( )
virtual

Definition at line 194 of file DisplacedProblem.C.

195{
196}

◆ initialSetup()

void DisplacedProblem::initialSetup ( )
overridevirtual

Reimplemented from SubProblem.

Definition at line 1250 of file DisplacedProblem.C.

1251{
1253
1254 for (auto & nl : _displaced_solver_systems)
1255 nl->initialSetup();
1256 _displaced_aux->initialSetup();
1257}
virtual void initialSetup() override
virtual void initialSetup()

◆ isKokkosObject()

bool MooseObject::isKokkosObject ( ) const
inlineinherited

Get whether this object is a Kokkos functor The parameter MooseBase::kokkos_object_param is set by the Kokkos base classes.

Definition at line 63 of file MooseObject.h.

63{ return parameters().isKokkosObject(); }
bool isKokkosObject() const
Returns whether this InputParameters belongs to a Kokkos object Checks whether MooseBase::kokkos_obje...

Referenced by AttribKokkos::initFrom(), BlockRestrictable::initializeBlockRestrictable(), and BoundaryRestrictable::initializeBoundaryRestrictable().

◆ isMatPropRequested()

bool SubProblem::isMatPropRequested ( const std::string &  prop_name) const
virtualinherited

Find out if a material property has been requested by any object.

Definition at line 729 of file SubProblem.C.

730{
731 return _material_property_requested.find(prop_name) != _material_property_requested.end();
732}
std::set< std::string > _material_property_requested
set containing all material property names that have been requested by getMaterialProperty*

◆ isParamSetByUser()

bool MooseBase::isParamSetByUser ( const std::string &  name) const
inlineinherited

Test if the supplied parameter is set by a user, as opposed to not set or set to default.

Parameters
nameThe name of the parameter to test

Definition at line 205 of file MooseBase.h.

206 {
208 }
bool isParamSetByUser(const std::string &name) const
Method returns true if the parameter was set by the user.

Referenced by DiffusionCG::addFEBCs(), DiffusionPhysicsBase::addInitialConditions(), CylinderComponent::addMeshGenerators(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), MFEMMesh::buildMesh(), MFEMBoundarySubMesh::buildSubMesh(), MFEMDomainSubMesh::buildSubMesh(), LibtorchNeuralNetControl::conditionalParameterError(), ConservativeAdvectionBCTempl< is_ad >::ConservativeAdvectionBCTempl(), MooseApp::copyInputs(), DiffusionPhysicsBase::DiffusionPhysicsBase(), MooseApp::errorCheck(), FileMesh::FileMesh(), FullSolveMultiApp::FullSolveMultiApp(), MeshDiagnosticsGenerator::generate(), OrientSurfaceMeshGenerator::generate(), SurfaceSubdomainsFromAllNormalsGenerator::generate(), MFEMVectorFESpace::getFECName(), MooseBase::getRenamedParam(), DefaultConvergenceBase::getSharedExecutionerParam(), AddVariableAction::init(), MFEMMesh::init(), PhysicsBase::initializePhysics(), ElementSubdomainModifierBase::initialSetup(), MatrixSymmetryCheck::MatrixSymmetryCheck(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MFEMGeneratedMeshGenerator::MFEMGeneratedMeshGenerator(), MFEMVariable::MFEMVariable(), MortarConstraintBase::MortarConstraintBase(), MoveNodesByParsedExpressionModifier::moveNodes(), MultiAppGeneralFieldFunctorTransfer::MultiAppGeneralFieldFunctorTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), OrientSurfaceMeshGenerator::OrientSurfaceMeshGenerator(), SolutionInvalidityOutput::output(), Output::Output(), MultiAppGeneralFieldTransfer::outputValueConflicts(), PetscExternalPartitioner::partition(), PolyLineMeshFollowingNodeSetGenerator::PolyLineMeshFollowingNodeSetGenerator(), MooseMesh::prepare(), SolutionUserObjectBase::readXda(), ReferenceResidualConvergence::ReferenceResidualConvergence(), PhysicsBase::reportPotentiallyMissedParameters(), MooseApp::run(), MooseApp::runInputFile(), MooseApp::runInputs(), Moose::MFEM::LinearSolverBase::SetPreconditioner(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SmoothMeshGenerator::SmoothMeshGenerator(), SurfaceSubdomainsDelaunayRemesher::SurfaceSubdomainsDelaunayRemesher(), SurfaceSubdomainsFromAllNormalsGenerator::SurfaceSubdomainsFromAllNormalsGenerator(), TagVectorAux::TagVectorAux(), TimedSubdomainModifier::TimedSubdomainModifier(), TimeIntegratedPostprocessor::TimeIntegratedPostprocessor(), XYDelaunayGenerator::XYDelaunayGenerator(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

◆ isParamValid()

bool MooseBase::isParamValid ( const std::string &  name) const
inlineinherited

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 199 of file MooseBase.h.

199{ return _pars.isParamValid(name); }
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another,...

Referenced by GridPartitioner::_do_partition(), HierarchicalGridPartitioner::_do_partition(), AddVariableAction::act(), AutoCheckpointAction::act(), CommonOutputAction::act(), ComposeTimeStepperAction::act(), CopyNodalVarsAction::act(), CreateDisplacedProblemAction::act(), SetAdaptivityOptionsAction::act(), SetupDebugAction::act(), SetupMeshCompleteAction::act(), DiffusionCG::addFEKernels(), DiffusionFV::addFVBCs(), DiffusionFV::addFVKernels(), DiffusionPhysicsBase::addInitialConditions(), ComponentJunction::addMeshGenerators(), CylinderComponent::addMeshGenerators(), DiffusionPhysicsBase::addPostprocessors(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), AdvectiveFluxAux::AdvectiveFluxAux(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayVarReductionAux::ArrayVarReductionAux(), BicubicSplineFunction::BicubicSplineFunction(), BlockDeletionGenerator::BlockDeletionGenerator(), BSplineCurveGenerator::BSplineCurveGenerator(), TimedSubdomainModifier::buildFromFile(), ParsedChainControl::buildFunction(), GeneratedMesh::buildMesh(), MooseMesh::buildTypedMesh(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), MultiAppTransfer::checkParentAppUserObjectExecuteOn(), LibmeshPartitioner::clone(), SampledOutput::cloneMesh(), CombinedVectorPostprocessor::CombinedVectorPostprocessor(), CombinerGenerator::CombinerGenerator(), ComponentJunction::ComponentJunction(), ConservativeAdvectionBCTempl< is_ad >::ConservativeAdvectionBCTempl(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), FEProblemSolve::convergenceSetup(), CopyMeshPartitioner::CopyMeshPartitioner(), CSVReaderVectorPostprocessor::CSVReaderVectorPostprocessor(), CutMeshByLevelSetGeneratorBase::CutMeshByLevelSetGeneratorBase(), ConstantReporter::declareConstantReporterValue(), ConstantReporter::declareConstantReporterValues(), DGKernelBase::DGKernelBase(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), DynamicObjectRegistrationAction::DynamicObjectRegistrationAction(), EigenProblemSolve::EigenProblemSolve(), ElementGenerator::ElementGenerator(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), PIDTransientControl::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), Exodus::Exodus(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FileOutput::FileOutput(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), FunctionDT::FunctionDT(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FVInterfaceKernel::FVInterfaceKernel(), FVMassMatrix::FVMassMatrix(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), AddMetaDataGenerator::generate(), BlockDeletionGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), BSplineCurveGenerator::generate(), ConcentricCircleMeshGenerator::generate(), DistributedRectilinearMeshGenerator::generate(), ElementGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), GeneratedMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), ManifoldSubdomainGenerator::generate(), MeshExtruderGenerator::generate(), OrientSurfaceMeshGenerator::generate(), ParsedExtraElementIDGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), RenumberBySubdomainGenerator::generate(), SideSetsFromNodeSetsGenerator::generate(), SphereMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), SubdomainPerElementGenerator::generate(), XYDelaunayGenerator::generate(), XYMeshLineCutter::generate(), XYZDelaunayGenerator::generate(), PropertyReadFile::getFileNames(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBase::getRenamedParam(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), AddPeriodicBCAction::getVariables(), Terminator::handleMessage(), HFEMDirichletBC::HFEMDirichletBC(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), AdvancedOutput::initAvailableLists(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionAux::initialSetup(), SolutionScalarAux::initialSetup(), PIDTransientControl::initialSetup(), ParsedConvergence::initialSetup(), EigenProblemSolve::initialSetup(), MooseParsedFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedVectorFunction::initialSetup(), PiecewiseTabularBase::initialSetup(), SolutionIC::initialSetup(), Console::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MultiAppVariableValueSampleTransfer::initialSetup(), SampledOutput::initSample(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), PNGOutput::makePNG(), MassMatrix::MassMatrix(), MatCoupledForce::MatCoupledForce(), MeshGeneratorComponent::MeshGeneratorComponent(), MFEMProblemSolve::MFEMProblemSolve(), MooseMesh::MooseMesh(), MoosePreconditioner::MoosePreconditioner(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MortarConstraintBase::MortarConstraintBase(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldKDTreeTransferBase::MultiAppGeneralFieldKDTreeTransferBase(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiPostprocessorConvergence::MultiPostprocessorConvergence(), MultiSystemSolveObject::MultiSystemSolveObject(), NodeSetsGeneratorBase::NodeSetsGeneratorBase(), EigenExecutionerBase::normalizeSolution(), OrientSurfaceMeshGenerator::OrientSurfaceMeshGenerator(), Output::Output(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedSubdomainGeneratorBase::ParsedSubdomainGeneratorBase(), PetscOutput::PetscOutput(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), EqualValueBoundaryConstraint::pickPrimaryNode(), PIDTransientControl::PIDTransientControl(), PiecewiseTabularBase::PiecewiseTabularBase(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), EqualValueBoundaryConstraint::populateSecondaryNodes(), MooseMesh::prepare(), MultiApp::readCommandLineArguments(), SolutionUserObjectBase::readExodusIIOrNemesis(), ReferenceResidualInterface::ReferenceResidualInterface(), RenameBlockGenerator::RenameBlockGenerator(), ReporterPointSource::ReporterPointSource(), PhysicsBase::reportPotentiallyMissedParameters(), ParsedSubdomainMeshGenerator::setBlockName(), MooseMesh::setCoordSystem(), FileOutput::setFileBaseInternal(), SideSetsGeneratorBase::setup(), SurfaceMeshGeneratorBase::setup(), Split::setup(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), Output::setWallTimeIntervalFromCommandLineParam(), SideDiffusiveFluxIntegralTempl< is_ad, T >::SideDiffusiveFluxIntegralTempl(), SideSetsGeneratorBase::SideSetsGeneratorBase(), SolutionUserObjectBase::SolutionUserObjectBase(), Terminator::Terminator(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), PIDTransientControl::timestepSetup(), MultiAppDofCopyTransfer::transfer(), TransformGenerator::TransformGenerator(), TransientBase::TransientBase(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), XYDelaunayGenerator::XYDelaunayGenerator(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

◆ isSolveTerminationRequested()

virtual bool Problem::isSolveTerminationRequested ( ) const
inlinevirtualinherited

Check of termination has been requested.

This should be called by transient Executioners in the keepGoing() member.

Definition at line 43 of file Problem.h.

43{ return _termination_requested; };
bool _termination_requested
True if termination of the solve has been requested.
Definition Problem.h:58

Referenced by WebServerControl::execute(), and TransientBase::keepGoing().

◆ isTransient()

bool DisplacedProblem::isTransient ( ) const
overridevirtual

Implements SubProblem.

Definition at line 105 of file DisplacedProblem.C.

106{
107 return _mproblem.isTransient();
108}
virtual bool isTransient() const override

◆ jacobianSetup()

void DisplacedProblem::jacobianSetup ( )
overridevirtual

Reimplemented from SubProblem.

Definition at line 1290 of file DisplacedProblem.C.

1291{
1293
1294 for (auto & nl : _displaced_solver_systems)
1295 nl->jacobianSetup();
1296 _displaced_aux->jacobianSetup();
1297}
virtual void jacobianSetup() override
virtual void jacobianSetup()

◆ linearSysNum()

unsigned int DisplacedProblem::linearSysNum ( const LinearSystemName &  linear_sys_name) const
overridevirtual
Returns
the linear system number corresponding to the provided linear_sys_name

Implements SubProblem.

Definition at line 1392 of file DisplacedProblem.C.

1393{
1394 return _mproblem.linearSysNum(sys_name);
1395}
unsigned int linearSysNum(const LinearSystemName &linear_sys_name) const override

◆ markFamilyPRefinement()

void SubProblem::markFamilyPRefinement ( const InputParameters params)
inherited

Mark a variable family for either disabling or enabling p-refinement with valid parameters of a variable.

Definition at line 1386 of file SubProblem.C.

1387{
1388 auto family = Utility::string_to_enum<FEFamily>(params.get<MooseEnum>("family"));
1389 bool flag = _default_families_without_p_refinement.count(family);
1390 if (params.isParamValid("disable_p_refinement"))
1391 flag = params.get<bool>("disable_p_refinement");
1392
1393 auto [it, inserted] = _family_for_p_refinement.emplace(family, flag);
1394 if (!inserted && flag != it->second)
1395 mooseError("'disable_p_refinement' not set consistently for variables in ", family);
1396}
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition MooseEnum.h:55
std::unordered_map< FEFamily, bool > _family_for_p_refinement
Indicate whether a family is disabled for p-refinement.
static const std::unordered_set< FEFamily > _default_families_without_p_refinement
The set of variable families by default disable p-refinement.
Definition SubProblem.h:48

Referenced by FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxVariable(), and FEProblemBase::addVariable().

◆ markMatPropRequested()

void SubProblem::markMatPropRequested ( const std::string &  prop_name)
virtualinherited

Helper method for adding a material property name to the _material_property_requested set.

Definition at line 723 of file SubProblem.C.

724{
725 _material_property_requested.insert(prop_name);
726}

Referenced by MaterialPropertyInterface::markMatPropRequested(), and MaterialBase::markMatPropRequested().

◆ matrixTagExists() [1/2]

bool DisplacedProblem::matrixTagExists ( const TagName &  tag_name) const
overridevirtual

Check to see if a particular Tag exists.

Reimplemented from SubProblem.

Definition at line 457 of file DisplacedProblem.C.

458{
459 return _mproblem.matrixTagExists(tag_name);
460}
virtual bool matrixTagExists(const TagName &tag_name) const
Check to see if a particular Tag exists.
Definition SubProblem.C:327

◆ matrixTagExists() [2/2]

bool DisplacedProblem::matrixTagExists ( TagID  tag_id) const
overridevirtual

Check to see if a particular Tag exists.

Reimplemented from SubProblem.

Definition at line 463 of file DisplacedProblem.C.

464{
465 return _mproblem.matrixTagExists(tag_id);
466}

◆ matrixTagName()

TagName DisplacedProblem::matrixTagName ( TagID  tag)
overridevirtual

Retrieve the name associated with a TagID.

Reimplemented from SubProblem.

Definition at line 451 of file DisplacedProblem.C.

452{
453 return _mproblem.matrixTagName(tag);
454}
virtual TagName matrixTagName(TagID tag)
Retrieve the name associated with a TagID.
Definition SubProblem.C:356

◆ mesh() [1/4]

virtual const MooseMesh & DisplacedProblem::mesh ( ) const
inlineoverridevirtual

Implements SubProblem.

Definition at line 50 of file DisplacedProblem.h.

50{ return _mesh; }

◆ mesh() [2/4]

virtual MooseMesh & DisplacedProblem::mesh ( )
inlineoverridevirtual

Implements SubProblem.

Definition at line 49 of file DisplacedProblem.h.

49{ return _mesh; }

Referenced by SidesetAroundSubdomainUpdater::finalize(), and mesh().

◆ mesh() [3/4]

const MooseMesh & DisplacedProblem::mesh ( bool   libmesh_dbg_varuse_displaced) const
inlineoverride

Definition at line 51 of file DisplacedProblem.h.

52 {
53 mooseAssert(use_displaced, "An undisplaced mesh was queried from the displaced problem");
54 return mesh();
55 }

◆ mesh() [4/4]

virtual const MooseMesh & SubProblem::mesh ( bool  use_displaced) const
pure virtualinherited

Implemented in FEProblemBase.

◆ meshChanged()

void DisplacedProblem::meshChanged ( bool  contract_mesh,
bool  clean_refinement_flags 
)

Definition at line 1113 of file DisplacedProblem.C.

1114{
1115 // The mesh changed. The displaced equations system object only holds Systems, so calling
1116 // EquationSystems::reinit only prolongs/restricts the solution vectors, which is something that
1117 // needs to happen for every step of mesh adaptivity.
1118 _eq.reinit();
1119 if (contract_mesh)
1120 // Once vectors are restricted, we can delete children of coarsened elements
1121 _mesh.getMesh().contract();
1122 if (clean_refinement_flags)
1123 {
1124 // Finally clean refinement flags so that if someone tries to project vectors again without
1125 // an intervening mesh refinement to clean flags they won't run into trouble
1127 refinement.clean_refinement_flags();
1128 }
1129
1130 // Since the mesh has changed, we need to make sure that we update any of our
1131 // MOOSE-system specific data.
1132 for (auto & nl : _displaced_solver_systems)
1133 nl->reinit();
1134 _displaced_aux->reinit();
1135
1136 // We've performed some mesh adaptivity. We need to
1137 // clear any quadrature nodes such that when we build the boundary node lists in
1138 // MooseMesh::meshChanged we don't have any extraneous extra boundary nodes lying around
1140
1142
1143 // Before performing mesh adaptivity we un-displaced the mesh. We need to re-displace the mesh and
1144 // then reinitialize GeometricSearchData such that we have all the correct geometric information
1145 // for the changed mesh
1146 updateMesh(/*mesh_changing=*/true);
1147}
virtual void updateMesh(bool mesh_changing=false)
Copy the solutions on the undisplaced systems to the displaced systems and reinitialize the geometry ...
void clearQuadratureNodes()
Clear out any existing quadrature nodes.
Definition MooseMesh.C:1670

◆ messagePrefix() [1/2]

std::string MooseBase::messagePrefix ( const bool  hit_prefix = true) const
inlineinherited
Returns
A prefix to be used in messages that contain the input file location associated with this object (if any) and the name and type of the object.

Definition at line 256 of file MooseBase.h.

257 {
258 return messagePrefix(_pars, hit_prefix);
259 }

Referenced by MooseBase::callMooseError(), MooseBase::errorPrefix(), MooseBase::messagePrefix(), MooseBase::mooseDeprecated(), MooseBase::mooseDeprecatedNoTrace(), MooseBase::mooseInfo(), and MooseBase::mooseWarning().

◆ messagePrefix() [2/2]

std::string MooseBase::messagePrefix ( const InputParameters params,
const bool  hit_prefix 
)
staticprivateinherited

Internal method for getting the message prefix for an object (object type, name, etc).

Needs to be static so that we can call it externally from InputParameters for errors that do not have context of the MooseBase

Definition at line 140 of file MooseBase.C.

141{
142 std::string prefix = "";
143
144 if (hit_prefix)
145 if (const auto node = MooseBase::getHitNode(params))
146 prefix += Moose::hitMessagePrefix(*node);
147
148 // Don't have context without type and name
149 if (!params.isMooseBaseObject())
150 return prefix;
151
152 const auto & name = params.getObjectName();
153 const std::string base = params.hasBase() ? params.getBase() : "object";
154 const bool is_main_app = base == "Application" && name == AppFactory::main_app_name;
155 prefix += "The following occurred in the ";
156 if (is_main_app)
157 prefix += "main " + base;
158 else
159 prefix += base;
160 if (base != params.getObjectName() && name.size() && !is_main_app)
161 prefix += " '" + name + "'";
162 prefix += " of type " + params.getObjectType() + ".";
163 return prefix + "\n\n";
164}
static const std::string main_app_name
The name for the "main" moose application.
Definition AppFactory.h:68
bool isMooseBaseObject() const
const std::string & getObjectType() const
const std::string & getObjectName() const
std::string hitMessagePrefix(const hit::Node &node)
Get the prefix to be associated with a hit node for a message.
Definition Moose.C:909

◆ mooseDeprecated() [1/2]

template<typename... Args>
void MooseBase::mooseDeprecated ( Args &&...  args) const
inlineinherited

Emits a deprecation warning prefixed with the object name and type, and a stack trace.

Definition at line 317 of file MooseBase.h.

318 {
320 _console, false, true, true, messagePrefix(true), std::forward<Args>(args)...);
321 }
void mooseDeprecatedStream(S &oss, const bool expired, const bool print_title, const bool show_trace, Args &&... args)
Definition MooseError.h:252

Referenced by MooseApp::addCapability(), DataFileInterface::getDataFileName(), DataFileInterface::getDataFileNameByName(), MooseApp::getRecoverFileBase(), MooseApp::hasRecoverFileBase(), and MooseApp::setupOptions().

◆ mooseDeprecated() [2/2]

template<typename... Args>
void SolutionInvalidInterface::mooseDeprecated ( Args &&...  args) const
inlineinherited

◆ mooseDeprecatedNoTrace()

template<typename... Args>
void MooseBase::mooseDeprecatedNoTrace ( Args &&...  args) const
inlineinherited

Emits a deprecation warning prefixed with the object name and type, and no stack trace.

Definition at line 327 of file MooseBase.h.

328 {
330 _console, false, true, false, messagePrefix(true), std::forward<Args>(args)...);
331 }

◆ mooseDocumentedError()

template<typename... Args>
void MooseBase::mooseDocumentedError ( const std::string &  repo_name,
const unsigned int  issue_num,
Args &&...  args 
) const
inlineinherited

Definition at line 277 of file MooseBase.h.

280 {
282 repo_name, issue_num, argumentsToString(std::forward<Args>(args)...)),
283 /* with_prefix = */ true);
284 }
std::string formatMooseDocumentedError(const std::string &repo_name, const unsigned int issue_num, const std::string &msg)
Formats a documented error.
Definition MooseError.C:140

Referenced by ManifoldSubdomainGenerator::ManifoldSubdomainGenerator().

◆ mooseError()

template<typename... Args>
void MooseBase::mooseError ( Args &&...  args) const
inlineinherited

Emits an error prefixed with object name and type and optionally a file path to the top-level block parameter if available.

Definition at line 271 of file MooseBase.h.

272 {
273 callMooseError(argumentsToString(std::forward<Args>(args)...), /* with_prefix = */ true);
274 }

Referenced by CopyMeshPartitioner::_do_partition(), GridPartitioner::_do_partition(), HierarchicalGridPartitioner::_do_partition(), PetscExternalPartitioner::_do_partition(), AdaptivityAction::act(), AddBoundsVectorsAction::act(), AddFVICAction::act(), AddICAction::act(), AddMeshGeneratorAction::act(), AddPeriodicBCAction::act(), AddTimeStepperAction::act(), AddVectorPostprocessorAction::act(), ChainControlSetupAction::act(), CheckFVBCAction::act(), CheckIntegrityAction::act(), CombineComponentsMeshes::act(), CommonOutputAction::act(), CreateDisplacedProblemAction::act(), CreateExecutionerAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), CSGOnlyAction::act(), DeprecatedBlockAction::act(), InitProblemAction::act(), MaterialDerivativeTestAction::act(), MaterialOutputAction::act(), SetAdaptivityOptionsAction::act(), SetupDebugAction::act(), SetupMeshAction::act(), SetupMeshCompleteAction::act(), SetupPredictorAction::act(), SetupTimeStepperAction::act(), SplitMeshAction::act(), Action::Action(), AddActionComponentAction::AddActionComponentAction(), PhysicsComponentInterface::addBoundaryConditionsFromComponents(), MooseApp::addCapabilityInternal(), DistributedRectilinearMeshGenerator::addElement(), MooseApp::addExecutor(), SubProblem::addFunctor(), PhysicsComponentInterface::addInitialConditionsFromComponents(), ComponentJunction::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), SubProblem::addPiecewiseByBlockLambdaFunctor(), DistributedRectilinearMeshGenerator::addPoint(), DiracKernelBase::addPointWithValidId(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MooseMesh::addQuadratureNode(), AddActionComponentAction::addRelationshipManagers(), WebServerControl::addServerAction(), AddVariableAction::addVariable(), SubProblem::addVectorTag(), MooseVariableScalar::adUDot(), Output::advancedExecuteOn(), MooseVariableBase::allDofIndices(), MooseApp::appNameToLibName(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), MooseApp::attachRelationshipManagers(), MooseApp::attachRelationshipManagers(), FEProblemBase::automaticScaling(), Function::average(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), MooseMesh::buildCoarseningMap(), MultiApp::buildComm(), DistributedRectilinearMeshGenerator::buildCube(), PiecewiseTabularInterface::buildFromFile(), PiecewiseTabularInterface::buildFromJSON(), PiecewiseTabularInterface::buildFromXY(), MooseMesh::buildLowerDMesh(), GeneratedMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), TiledMesh::buildMesh(), MooseMesh::buildRefinementMap(), MaterialBase::buildRequiredMaterials(), MooseMesh::buildTypedMesh(), MooseMesh::cacheFaceInfoVariableOwnership(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), EigenExecutionerBase::chebyshev(), SubProblem::checkBlockMatProps(), PhysicsBase::checkBlockRestrictionIdentical(), ComponentBoundaryConditionInterface::checkBoundaryConditionsAllRequested(), SubProblem::checkBoundaryMatProps(), PhysicsBase::checkComponentType(), IterationCountConvergence::checkConvergence(), MooseMesh::checkCoordinateSystems(), DiffusionLHDGAssemblyHelper::checkCoupling(), DefaultConvergenceBase::checkDuplicateSetSharedExecutionerParams(), MooseMesh::checkDuplicateSubdomainNames(), MaterialBase::checkExecutionStage(), FVFluxBC::checkFaceIntegrity(), FVInterfaceKernel::checkFaceIntegrity(), MeshGenerator::checkGetMesh(), ReporterTransferInterface::checkHasReporterValue(), EigenExecutionerBase::checkIntegrity(), Eigenvalue::checkIntegrity(), ExplicitTimeIntegrator::checkLinearConvergence(), MooseApp::checkMetaDataIntegrity(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), PostprocessorInterface::checkParam(), Moose::PeriodicBCHelper::checkPeriodicParams(), Sampler::checkReinitStatus(), MultiAppTransfer::checkSiblingsTransferSupported(), MaterialBase::checkStatefulSanity(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), Moose::PetscSupport::checkUserProvidedPetscOption(), MultiAppTransfer::checkVariable(), MeshDiagnosticsGenerator::checkWatertightNodesets(), MeshDiagnosticsGenerator::checkWatertightSidesets(), MooseMesh::clone(), LibmeshPartitioner::clone(), CombinerGenerator::CombinerGenerator(), MooseVariableFieldBase::componentName(), VariableCondensationPreconditioner::computeDInverseDiag(), CompositionDT::computeDT(), MooseVariableFieldBase::computeFaceValues(), TimeStepper::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), MooseMesh::computeFiniteVolumeCoords(), Moose::Kokkos::ResidualObject::computeOffDiagJacobian(), MaterialBase::computeProperties(), ResidualObject::computeResidualAndJacobian(), TimeStepper::computeStep(), AStableDirk4::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), ExplicitEuler::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), ConcentricCircleMesh::ConcentricCircleMesh(), ConditionalEnableControl::ConditionalEnableControl(), TimeStepper::constrainStep(), LibtorchNeuralNetControl::controlNeuralNet(), TransientBase::convergedToSteadyState(), ParsedConvergence::convertRealToBool(), MooseApp::copyInputs(), CopyMeshPartitioner::CopyMeshPartitioner(), MultiApp::createApp(), MooseApp::createExecutors(), AddVariableAction::createInitialConditionAction(), MooseApp::createRMFromTemplateAndInit(), Function::curl(), ReporterTransferInterface::declareClone(), Moose::Kokkos::MaterialBase::declareKokkosPropertyInternal(), MeshGenerator::declareMeshProperty(), ReporterTransferInterface::declareVectorClone(), FunctorRelationshipManager::delete_remote_elements(), MooseMesh::deleteRemoteElements(), MooseApp::determineLibtorchDeviceType(), MeshDiagnosticsGenerator::diagnosticsLog(), Function::div(), FunctorBinnedValuesDivision::divisionIndex(), FunctorRelationshipManager::dofmap_reinit(), MooseApp::dynamicAllRegistration(), MooseApp::dynamicAppRegistration(), DistributedRectilinearMeshGenerator::elemId(), MooseApp::errorCheck(), MooseMesh::errorIfDistributedMesh(), MultiAppTransfer::errorIfObjectExecutesOnTransferInSourceApp(), FixedPointSolve::examineFixedPointConvergence(), Eigenvalue::execute(), TransientBase::execute(), WebServerControl::execute(), MooseApp::executeExecutioner(), FVInterfaceKernel::faceArg1(), FVInterfaceKernel::faceArg2(), MultiApp::fillPositions(), MooseApp::finalizeRestore(), Transfer::find_sys(), DiracKernelInfo::findPoint(), FixedPointSolve::findTransformedSystem(), FixedPointSolve::FixedPointSolve(), FunctionDT::FunctionDT(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), LinearFVBoundaryCondition::functorFaceArg(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), AdvancedExtruderGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), CoarsenBlockGenerator::generate(), CombinerGenerator::generate(), CutMeshByLevelSetGeneratorBase::generate(), DistributedRectilinearMeshGenerator::generate(), ElementOrderConversionGenerator::generate(), ExtraNodesetGenerator::generate(), FileMeshGenerator::generate(), FlipSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MeshCollectionGenerator::generate(), MeshDiagnosticsGenerator::generate(), MeshExtruderGenerator::generate(), MeshRepairGenerator::generate(), MoveNodeGenerator::generate(), PlaneIDMeshGenerator::generate(), PolyLineMeshFollowingNodeSetGenerator::generate(), ProjectSideSetOntoLevelSetGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), RenumberBySubdomainGenerator::generate(), SmoothMeshGenerator::generate(), SpiralAnnularMeshGenerator::generate(), StackGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), SubdomainPerElementGenerator::generate(), TiledMeshGenerator::generate(), XYMeshLineCutter::generate(), XYZDelaunayGenerator::generate(), PatternedMeshGenerator::generate(), MeshGenerator::generateCSG(), MeshGenerator::generateData(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), MeshGenerator::generateInternal(), MeshGenerator::generateInternalCSG(), CircularBoundaryCorrectionGenerator::generateRadialCorrectionFactor(), MooseMesh::getAxisymmetricRadialCoord(), MooseMesh::getBlockConnectedBlocks(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), ChainControl::getChainControlDataByName(), WebServerControl::getClientInfo(), MooseMesh::getCoarseningMap(), MultiApp::getCommandLineArgs(), MooseVariableBase::getContinuity(), Control::getControllableParameterByName(), MooseMesh::getCoordSystem(), PhysicsBase::getCoupledPhysics(), PhysicsBase::getCoupledPhysics(), DataFileInterface::getDataFilePath(), TransfiniteMeshGenerator::getDiscreteEdge(), MooseVariableBase::getDofIndices(), VariableCondensationPreconditioner::getDofToCondense(), TransfiniteMeshGenerator::getEdge(), EigenExecutionerBase::getEigenSystemConvergence(), MooseMesh::getElementIDIndex(), Material::getElementIDNeighbor(), Material::getElementIDNeighborByName(), MooseMesh::getElemIDMapping(), MooseMesh::getElemIDsOnBlocks(), WebServerControl::Response::getError(), MultiApp::getExecutioner(), MooseApp::getExecutor(), MultiAppTransfer::getFromMultiApp(), MultiAppTransfer::getFromMultiAppInfo(), SubProblem::getFunctor(), MooseMesh::getGeneralAxisymmetricCoordAxis(), MaterialPropertyInterface::getGenericMaterialPropertyByName(), DistributedRectilinearMeshGenerator::getGhostNeighbors(), DistributedRectilinearMeshGenerator::getIndices(), MaterialPropertyInterface::getKokkosBlockMaterialProperty(), FunctionInterface::getKokkosFunctionByName(), MaterialPropertyInterface::getKokkosMaterialPropertyByName(), Material::getMaterialByName(), SubProblem::getMatrixTagID(), AnnularMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), AnnularMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MultiAppTransfer::getMultiApp(), DistributedRectilinearMeshGenerator::getNeighbors(), MooseMesh::getNodeBlockIds(), MooseMesh::getNodeList(), MooseMesh::getPairedBoundaryMapping(), MaterialOutputAction::getParams(), PlaneIDMeshGenerator::getPlaneID(), PostprocessorInterface::getPostprocessorValueByNameInternal(), ComponentMaterialPropertyInterface::getPropertyValue(), MooseMesh::getRefinementMap(), MooseBase::getRenamedParam(), ReporterInterface::getReporterContextBaseByName(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), MooseApp::getRestartableDataMap(), MooseApp::getRestartableDataMapName(), MooseApp::getRestartableMetaData(), MooseApp::getRMClone(), MooseObject::getSharedPtr(), MooseObject::getSharedPtr(), PhysicsBase::getSolverSystem(), MooseMesh::getSubdomainBoundaryIds(), TransientBase::getTimeIntegratorNames(), MultiAppTransfer::getToMultiApp(), MultiAppTransfer::getToMultiAppInfo(), MooseMesh::getUniqueCoordSystem(), UserObjectInterface::getUserObjectBaseByName(), UserObjectInterface::getUserObjectName(), AddPeriodicBCAction::getVariables(), VectorPostprocessorInterface::getVectorPostprocessorName(), SubProblem::getVectorTag(), SubProblem::getVectorTagID(), MultiApp::globalAppToLocal(), Function::gradient(), MooseVariableBase::hasDoFsOnNodes(), PostprocessorInterface::hasPostprocessor(), PostprocessorInterface::hasPostprocessorByName(), ReporterInterface::hasReporterValue(), ReporterInterface::hasReporterValueByName(), VectorPostprocessorInterface::hasVectorPostprocessor(), VectorPostprocessorInterface::hasVectorPostprocessor(), VectorPostprocessorInterface::hasVectorPostprocessorByName(), VectorPostprocessorInterface::hasVectorPostprocessorByName(), TransientBase::incrementStepOrReject(), NEML2Action::inferMOOSEIOType(), AddVariableAction::init(), MooseMesh::init(), Sampler::init(), EigenExecutionerBase::init(), TransientBase::init(), MFEMMesh::init(), CrankNicolson::init(), ExplicitTimeIntegrator::init(), FixedPointIterationAdaptiveDT::init(), IterationAdaptiveDT::init(), MultiApp::init(), NestedDivision::initialize(), ParsedConvergence::initializeConstantSymbol(), PhysicsBase::initializePhysics(), SubProblem::initialSetup(), AuxKernelBase::initialSetup(), SolutionScalarAux::initialSetup(), FullSolveMultiApp::initialSetup(), ExplicitTimeIntegrator::initialSetup(), Function::integral(), InternalSideIndicatorBase::InternalSideIndicatorBase(), EigenExecutionerBase::inversePowerIteration(), Sampler::isAdaptiveSamplingCompleted(), MooseMesh::isBoundaryFullyExternalToSubdomains(), MooseVariableBase::isNodal(), IterationAdaptiveDT::IterationAdaptiveDT(), IterationCountConvergence::IterationCountConvergence(), LibmeshPartitioner::LibmeshPartitioner(), MooseApp::libNameToAppName(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LineSearch::lineSearch(), MooseApp::loadLibraryAndDependencies(), ReporterPointMarker::markerSetup(), SubProblem::markFamilyPRefinement(), Material::Material(), Distribution::median(), FunctorRelationshipManager::mesh_reinit(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshRepairGenerator::MeshRepairGenerator(), SetupMeshAction::modifyParamsForUseSplit(), MeshMetaDataInterface::mooseErrorInternal(), MooseMesh::MooseMesh(), MooseObject::MooseObject(), UserObjectInterface::mooseObjectError(), MooseVariableBase::MooseVariableBase(), MoveNodeGenerator::MoveNodeGenerator(), MultiApp::MultiApp(), MultiAppTransfer::MultiAppTransfer(), NewmarkBeta::NewmarkBeta(), DistributedRectilinearMeshGenerator::nodeId(), DistributedRectilinearMeshGenerator::numNeighbors(), Output::onInterval(), FunctorRelationshipManager::operator()(), RelationshipManager::operator==(), ActionComponent::outerSurfaceArea(), ActionComponent::outerSurfaceBoundaries(), MortarNodalGeometryOutput::output(), Output::Output(), MooseApp::outputMachineReadableData(), DistributedRectilinearMeshGenerator::paritionSquarely(), ParsedConvergence::ParsedConvergence(), ParsedCurveGenerator::ParsedCurveGenerator(), ExplicitTimeIntegrator::performExplicitSolve(), PetscExternalPartitioner::PetscExternalPartitioner(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), PIDTransientControl::PIDTransientControl(), PiecewiseTabularInterface::PiecewiseTabularInterface(), CutMeshByLevelSetGeneratorBase::pointPairLevelSetInterception(), ProjectSideSetOntoLevelSetGenerator::pointPairLevelSetInterception(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessorByName(), AStableDirk4::postResidual(), ExplicitRK2::postResidual(), ExplicitTVDRK2::postResidual(), ImplicitMidpoint::postResidual(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), LStableDirk4::postResidual(), VariableCondensationPreconditioner::preallocateCondensedJacobian(), Predictor::Predictor(), TransientBase::preExecute(), MooseMesh::prepare(), MooseMesh::prepared(), FixedPointSolve::printFixedPointConvergenceReason(), MultiApp::readCommandLineArguments(), CoarsenBlockGenerator::recursiveCoarsen(), MooseApp::recursivelyCreateExecutors(), FunctorRelationshipManager::redistribute(), MooseApp::registerRestartableData(), MooseApp::registerRestartableNameWithFilter(), Sampler::reinit(), MooseApp::removeRelationshipManager(), PhysicsBase::reportPotentiallyMissedParameters(), MooseApp::restore(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), MooseApp::run(), MooseApp::runInputs(), ScalarComponentIC::ScalarComponentIC(), DistributedRectilinearMeshGenerator::scaleNodalPositions(), FunctorRelationshipManager::set_mesh(), MooseVariableBase::setActiveTags(), DistributedRectilinearMeshGenerator::setBoundaryNames(), MooseMesh::setCoordSystem(), MooseMesh::setGeneralAxisymmetricCoordAxes(), MeshGenerator::setMeshProperty(), MooseApp::setMFEMDevice(), Sampler::setNumberOfCols(), Sampler::setNumberOfRandomSeeds(), Sampler::setNumberOfRows(), Moose::MFEM::LinearSolverBase::SetPreconditioner(), Split::setup(), TransientMultiApp::setupApp(), Moose::PeriodicBCHelper::setupAutoPeriodicBoundaries(), Moose::PeriodicBCHelper::setupManualPeriodicBoundaries(), SetupMeshAction::setupMesh(), MooseApp::setupOptions(), TimeSequenceStepperBase::setupSequence(), TransientBase::setupTimeIntegrator(), PhysicsBase::shouldCreateIC(), PhysicsBase::shouldCreateTimeDerivative(), PhysicsBase::shouldCreateVariable(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), MooseVariableBase::sizeMatrixTagData(), SmoothMeshGenerator::SmoothMeshGenerator(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), Moose::MFEM::LinearSolverBase::Solve(), TimeIntegrator::solve(), ExplicitRK2::solve(), ExplicitTVDRK2::solve(), FullSolveMultiApp::solveStep(), UserObject::spatialPoints(), UserObject::spatialValue(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), MeshRepairGenerator::splitNonConvexPolygons(), WebServerControl::startServer(), StitchedMesh::StitchedMesh(), MaterialBase::subdomainSetup(), CutMeshByLevelSetGeneratorBase::tet4ElemCutter(), Action::timedAct(), Function::timeDerivative(), Function::timeIntegral(), ParsedCurveGenerator::tSectionSpaceDefiner(), MooseVariableScalar::uDot(), MooseVariableScalar::uDotDot(), MooseVariableScalar::uDotDotOld(), MooseVariableScalar::uDotOld(), MooseBase::uniqueName(), AuxScalarKernel::uOld(), ScalarKernelBase::uOld(), Function::value(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), PhysicsBase::variableExists(), MultiAppTransfer::variableIntegrityCheck(), AddVariableAction::variableType(), SubProblem::vectorTagName(), SubProblem::vectorTagType(), Function::vectorValue(), SubProblem::verifyVectorTags(), ActionComponent::volume(), WebServerControl::WebServerControl(), MFEMMesh::writeRecoveryFiles(), and MooseApp::writeRestartableMetaData().

◆ mooseErrorNonPrefixed()

template<typename... Args>
void MooseBase::mooseErrorNonPrefixed ( Args &&...  args) const
inlineinherited

Emits an error without the prefixing included in mooseError().

Definition at line 290 of file MooseBase.h.

291 {
292 callMooseError(argumentsToString(std::forward<Args>(args)...), /* with_prefix = */ false);
293 }

◆ mooseInfo()

template<typename... Args>
void MooseBase::mooseInfo ( Args &&...  args) const
inlineinherited

◆ mooseWarning() [1/2]

template<typename... Args>
void MooseBase::mooseWarning ( Args &&...  args) const
inlineinherited

Emits a warning prefixed with object name and type.

Definition at line 299 of file MooseBase.h.

300 {
301 moose::internal::mooseWarningStream(_console, messagePrefix(true), std::forward<Args>(args)...);
302 }
void mooseWarningStream(S &oss, Args &&... args)
Definition MooseError.h:197

Referenced by DiracKernelInfo::findPoint(), DataFileInterface::getDataFilePath(), MooseApp::loadLibraryAndDependencies(), and MooseBase::paramWarning().

◆ mooseWarning() [2/2]

template<typename... Args>
void SolutionInvalidInterface::mooseWarning ( Args &&...  args) const
inlineinherited

Definition at line 73 of file SolutionInvalidInterface.h.

74 {
75 _si_moose_base.MooseBase::mooseWarning(std::forward<Args>(args)...);
76 flagSolutionWarningMultipleRegistration(_si_moose_base.name() + ": warning");
77 }

Referenced by CopyMeshPartitioner::_do_partition(), AddFunctionAction::act(), AddKernelAction::act(), CommonOutputAction::act(), MaterialOutputAction::act(), MeshOnlyAction::act(), MooseMesh::addPeriodicVariable(), BoundaryMarker::BoundaryMarker(), DistributedRectilinearMeshGenerator::buildCube(), CartesianMeshGenerator::CartesianMeshGenerator(), CheckOutputAction::checkConsoleOutput(), MultiAppTransfer::checkMultiAppExecuteOn(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), MeshDiagnosticsGenerator::checkPolygons(), ActionComponent::checkRequiredTasks(), PhysicsBase::checkRequiredTasks(), MultiApp::createApp(), MeshDiagnosticsGenerator::diagnosticsLog(), CartesianGridDivision::divisionIndex(), CylindricalGridDivision::divisionIndex(), SphericalGridDivision::divisionIndex(), Postprocessor::evaluateDotWarning(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FixedPointSolve::FixedPointSolve(), BSplineCurveGenerator::generate(), RenumberBySubdomainGenerator::generate(), SubdomainPerElementGenerator::generate(), SurfaceMeshGeneratorBase::get2DElemNormal(), MultiAppTransfer::getAppInfo(), FunctorBinnedValuesDivision::getBinIndex(), IndicatorMarker::IndicatorMarker(), CartesianGridDivision::initialize(), CylindricalGridDivision::initialize(), SphericalGridDivision::initialize(), MaterialBase::initStatefulProperties(), IterationAdaptiveDT::limitDTToPostprocessorValue(), MFEMRefinementMarker::MFEMRefinementMarker(), NewmarkBeta::NewmarkBeta(), Output::Output(), MaterialOutputAction::outputHelper(), Executioner::problem(), TestSourceStepper::rejectStep(), PhysicsBase::reportPotentiallyMissedParameters(), MaterialBase::resetQpProperties(), MooseMesh::setCoordSystem(), TransientMultiApp::solveStep(), MeshRepairGenerator::splitNonConvexPolygons(), and VariableCondensationPreconditioner::VariableCondensationPreconditioner().

◆ mooseWarningNonPrefixed() [1/2]

template<typename... Args>
void MooseBase::mooseWarningNonPrefixed ( Args &&...  args) const
inlineinherited

Emits a warning without the prefixing included in mooseWarning().

Definition at line 308 of file MooseBase.h.

309 {
310 moose::internal::mooseWarningStream(_console, std::forward<Args>(args)...);
311 }

◆ mooseWarningNonPrefixed() [2/2]

template<typename... Args>
void SolutionInvalidInterface::mooseWarningNonPrefixed ( Args &&...  args) const
inlineinherited

Definition at line 80 of file SolutionInvalidInterface.h.

81 {
82 _si_moose_base.MooseBase::mooseWarningNonPrefixed(std::forward<Args>(args)...);
83 flagSolutionWarningMultipleRegistration(_si_moose_base.name() + ": warning");
84 }

◆ name()

const std::string & MooseBase::name ( ) const
inlineinherited

Get the name of the class.

Returns
The name of the class

Definition at line 103 of file MooseBase.h.

104 {
105 mooseAssert(_name.size(), "Empty name");
106 return _name;
107 }
const std::string & _name
The name of this class.
Definition MooseBase.h:381

Referenced by AdaptivityAction::act(), AddActionComponentAction::act(), AddElementalFieldAction::act(), AddPeriodicBCAction::act(), AddTimeStepperAction::act(), CommonOutputAction::act(), CopyNodalVarsAction::act(), CSGOnlyAction::act(), DeprecatedBlockAction::act(), DisplayGhostingAction::act(), MaterialOutputAction::act(), SetupResidualDebugAction::act(), SetupTimeIntegratorAction::act(), FEProblemBase::addAnyRedistributers(), Executioner::addAttributeReporter(), FEProblemBase::addAuxKernel(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), addAuxVariable(), FEProblemBase::addBoundaryCondition(), MFEMProblem::addBoundaryCondition(), PhysicsComponentInterface::addComponent(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), MooseApp::addExecutor(), MooseApp::addExecutorParams(), MFEMProblem::addFESpace(), MFEMProblem::addFESpaceHierarchy(), FEProblemBase::addFunction(), MFEMProblem::addFunction(), SubProblem::addFunctor(), FEProblemBase::addFunctorMaterial(), MFEMProblem::addFunctorMaterial(), FunctorMaterial::addFunctorProperty(), FunctorMaterial::addFunctorPropertyByBlocks(), FEProblemBase::addFVBC(), FEProblemBase::addFVGradientMethod(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVInterpolationMethod(), FEProblemBase::addFVKernel(), ADDGKernel::ADDGKernel(), FEProblemBase::addHDGKernel(), MFEMProblem::addImagComponentToBC(), MFEMProblem::addImagComponentToKernel(), FEProblemBase::addIndicator(), MFEMProblem::addIndicator(), FEProblemBase::addInitialCondition(), MFEMProblem::addInitialCondition(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), ElementAndTraceScalarHDGAssemblyHelper::additionalROVariables(), BoundaryIntegralValueConstraint::additionalROVariables(), DiffusionLHDGKernel::additionalROVariables(), ADKernelScalarBase::additionalROVariables(), FEProblemBase::addKernel(), MFEMProblem::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), FEProblemBase::addMarker(), MFEMProblem::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), ComponentMaterialPropertyInterface::addMaterials(), FEProblemBase::addMeshDivision(), MooseApp::addMeshGenerator(), ComponentJunction::addMeshGenerators(), ComponentMeshTransformHelper::addMeshGenerators(), CylinderComponent::addMeshGenerators(), MeshGenerator::addMeshSubgenerator(), MeshGenerator::addMeshSubgenerator(), MFEMProblem::addMFEMProblemComposer(), MFEMProblem::addMFEMSolver(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), InitialConditionWarehouse::addObject(), ComponentPhysicsInterface::addPhysics(), SubProblem::addPiecewiseByBlockLambdaFunctor(), FEProblemBase::addPostprocessor(), MFEMProblem::addPostprocessor(), UserObjectBase::addPostprocessorDependencyHelper(), AuxKernelBase::addPostprocessorDependencyHelper(), InitialConditionBase::addPostprocessorDependencyHelper(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MFEMProblem::addQuadratureFunction(), MFEMProblem::addRealComponentToBC(), MFEMProblem::addRealComponentToKernel(), AddActionComponentAction::addRelationshipManagers(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), WebServerControl::addServerActionsInternal(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), MFEMProblem::addTransfer(), PhysicsBase::addUserObject(), FEProblemBase::addUserObject(), UserObjectBase::addUserObjectDependencyHelper(), AuxKernelBase::addUserObjectDependencyHelper(), InitialConditionBase::addUserObjectDependencyHelper(), addVariable(), FEProblemBase::addVectorPostprocessor(), MFEMProblem::addVectorPostprocessor(), UserObjectBase::addVectorPostprocessorDependencyHelper(), AuxKernelBase::addVectorPostprocessorDependencyHelper(), MooseLinearVariableFV< OutputType >::adError(), Output::advancedExecuteOn(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), NEML2ModelExecutor::advanceState(), MooseVariableBase::allDofIndices(), MooseApp::appBinaryName(), MooseApp::appendMeshGenerator(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), ArrayDGKernel::ArrayDGKernel(), ArrayParsedAux::ArrayParsedAux(), PhysicsBase::assignBlocks(), AStableDirk4::AStableDirk4(), Function::average(), MultiApp::backup(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), PiecewiseTabularInterface::buildFromFile(), PiecewiseTabularInterface::buildFromXY(), MFEMGeometricMultigridSolver::BuildMultigrid(), MooseMesh::buildNodeListFromSideList(), MultiAppVariableValueSamplePostprocessorTransfer::cacheElemToPostprocessorData(), MooseBase::callMooseError(), ChangeOverFixedPointPostprocessor::ChangeOverFixedPointPostprocessor(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), PhysicsBase::checkBlockRestrictionIdentical(), PhysicsBase::checkComponentType(), DefaultNonlinearConvergence::checkConvergence(), ParsedConvergence::checkConvergence(), FEProblemBase::checkDependMaterialsHelper(), FVFluxBC::checkFaceIntegrity(), FVInterfaceKernel::checkFaceIntegrity(), TaggingInterface::checkForNans(), SamplerBase::checkForStandardFieldVariableType(), MeshGenerator::checkGetMesh(), ReporterTransferInterface::checkHasReporterValue(), FEProblemBase::checkICRestartError(), NonlinearSystemBase::checkKernelCoverage(), Moose::Kokkos::Material::checkMaterialProperty(), Material::checkMaterialProperty(), MooseApp::checkMetaDataIntegrity(), Damper::checkMinDamping(), SideUserObject::checkNoInterfaceMaterialPropertyDependencies(), MultiAppTransfer::checkParentAppUserObjectExecuteOn(), Checkpoint::checkpointInfo(), FEProblemBase::checkUserObjectNameCollision(), BlockRestrictable::checkVariable(), DomainUserObject::checkVariable(), Coupleable::checkWritableVar(), CoarsenSurfaceMeshAlongSidesetGenerator::coarsenAlongSidesets(), MooseVariableFieldBase::componentName(), CompositeFunction::CompositeFunction(), MaterialBase::computeProperties(), FEProblemBase::computeUserObjectByName(), VectorPostprocessorVisualizationAux::computeValue(), MooseBase::connectControllableParams(), ConstantPostprocessor::ConstantPostprocessor(), Coupleable::coupledName(), CommonOutputAction::create(), MultiApp::createApp(), MooseApp::createExecutors(), MeshGeneratorSystem::createMeshGeneratorOrder(), MooseApp::createRecoverablePerfGraph(), CutMeshByPlaneGenerator::CutMeshByPlaneGenerator(), DebugResidualAux::DebugResidualAux(), MaterialBase::declareADProperty(), MFEMComplexVariable::declareCoefficients(), MFEMVariable::declareCoefficients(), MeshInfo::declareHelper(), Moose::Kokkos::MaterialBase::declareKokkosOnDemandProperty(), Moose::Kokkos::MaterialBase::declareKokkosProperty(), MeshGenerator::declareMeshesForSubByName(), MeshGenerator::declareNullMeshName(), MaterialBase::declareProperty(), MFEMCoordinateTransformations::declareRZCoefficients(), DOFMapOutput::demangle(), DerivativeSumMaterialTempl< is_ad >::DerivativeSumMaterialTempl(), MooseMesh::detectPairedSidesets(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DomainUserObject::DomainUserObject(), DumpObjectsProblem::dumpObjectHelper(), ElementDamper::ElementDamper(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementMaterialSampler::ElementMaterialSampler(), ElementValueSampler::ElementValueSampler(), EigenKernel::enabled(), MooseMesh::errorIfDistributedMesh(), SolutionUserObjectBase::evalMeshFunction(), SolutionUserObjectBase::evalMeshFunctionGradient(), SolutionUserObjectBase::evalMultiValuedMeshFunction(), SolutionUserObjectBase::evalMultiValuedMeshFunctionGradient(), GreaterThanLessThanPostprocessor::execute(), PointValue::execute(), RestartableDataReporter::execute(), MultiAppGeneralFieldTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppUserObjectTransfer::execute(), SideValueSampler::execute(), WebServerControl::execute(), ActionWarehouse::executeActionsWithAction(), Exodus::Exodus(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FVInterfaceKernel::faceArg1(), FVInterfaceKernel::faceArg2(), FEProblemBase::FEProblemBase(), NEML2ModelExecutor::fillInputs(), MultiApp::fillPositions(), MultiAppGeometricInterpolationTransfer::fillSourceInterpolationPoints(), PointSamplerBase::finalize(), ChainControl::fullControlDataName(), FunctionArrayAux::FunctionArrayAux(), FunctionDT::FunctionDT(), FVFunctionIC::functionName(), FunctionIC::functionName(), FunctorPositions::FunctorPositions(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVInitialConditionTempl< T >::FVInitialConditionTempl(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), GapValueAux::GapValueAux(), BoundaryDeletionGenerator::generate(), BreakMeshByBlockGenerator::generate(), CoarsenSurfaceMeshAlongSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), ManifoldSubdomainGenerator::generate(), ParsedExtraElementIDGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), RenumberBySubdomainGenerator::generate(), SideSetsFromNodeSetsGenerator::generate(), StitchBoundaryMeshGenerator::generate(), StitchMeshGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), SubdomainsFromPartitionerGenerator::generate(), UniqueExtraIDMeshGenerator::generate(), MeshGenerator::generateInternal(), MeshGenerator::generateInternalCSG(), InterfaceMaterial::getADMaterialProperty(), Material::getADMaterialProperty(), MultiAppTransfer::getAppInfo(), MooseMesh::getBoundaryString(), MultiApp::getBoundingBox(), MooseBase::getCheckedPointerParam(), MooseApp::getCheckpointDirectories(), MFEMProblem::getComplexGridFunction(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), FEProblemBase::getConvergence(), MeshGenerator::getCSGBase(), MeshGenerator::getCSGBasesByName(), UserObjectBase::getDependObjects(), FEProblemBase::getDistribution(), DistributionInterface::getDistribution(), DistributionInterface::getDistributionByName(), ElementUOProvider::getElementalValueLong(), ElementUOProvider::getElementalValueReal(), MultiApp::getExecutioner(), FEProblemBase::getExecutor(), MooseApp::getExecutor(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SubProblem::getFunctor(), FEProblemBase::getFVAdvectedInterpolationMethod(), FEProblemBase::getFVFaceInterpolationMethod(), FEProblemBase::getFVGradientMethod(), FEProblemBase::getFVInterpolationMethod(), AuxKernelTempl< ComputeValueType >::getGenericMaterialProperty(), NodalPatchRecovery::getGenericMaterialProperty(), InterfaceMaterial::getGenericMaterialProperty(), Material::getGenericMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialProperty(), InterfaceMaterial::getGenericNeighborMaterialPropertyByName(), Material::getGenericOptionalMaterialProperty(), MaterialBase::getGenericZeroMaterialProperty(), MFEMProblem::getGridFunction(), FEProblemBase::getKokkosFunction(), FEProblemBase::getKokkosUserObject(), SolutionUserObjectBase::getLocalVarIndex(), Marker::getMarkerValue(), Material::getMaterial(), FEProblemBase::getMaterial(), Material::getMaterialByName(), AuxKernelTempl< ComputeValueType >::getMaterialProperty(), NodalPatchRecovery::getMaterialProperty(), InterfaceMaterial::getMaterialProperty(), Material::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOld(), InterfaceMaterial::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOlder(), NodalPatchRecovery::getMaterialPropertyOlder(), InterfaceMaterial::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), MFEMObject::getMatrixCoefficient(), MFEMObject::getMatrixCoefficientByName(), MeshGenerator::getMesh(), FEProblemBase::getMeshDivision(), MeshGenerator::getMeshesByName(), MooseApp::getMeshGenerator(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MFEMProblem::getMFEMObject(), ActionWarehouse::getMooseAppName(), NEML2FEInterpolation::getMOOSEVariable(), MultiAppTransfer::getMultiApp(), InterfaceMaterial::getNeighborADMaterialProperty(), InterfaceMaterial::getNeighborMaterialProperty(), InterfaceMaterial::getNeighborMaterialPropertyOld(), InterfaceMaterial::getNeighborMaterialPropertyOlder(), Material::getOptionalADMaterialProperty(), Material::getOptionalMaterialProperty(), Material::getOptionalMaterialPropertyOld(), Material::getOptionalMaterialPropertyOlder(), MooseBase::getParam(), FEProblemBase::getPositionsObject(), FEProblemBase::getPostprocessorValueByName(), ComponentMaterialPropertyInterface::getPropertyValue(), ReporterData::getReporterInfo(), MFEMExecutedObject::getRequestedItems(), MooseApp::getRestartableDataMap(), MooseApp::getRestartableDataMapName(), MooseApp::getRestartableMetaData(), FEProblemBase::getSampler(), MFEMObject::getScalarCoefficient(), MFEMObject::getScalarCoefficientByName(), TimedSubdomainModifier::getSubdomainIDAndCheck(), MFEMExecutedObject::getSuppliedItems(), TransientBase::getTimeStepperName(), ProjectedStatefulMaterialStorageAction::getTypeEnum(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), MFEMObject::getVectorCoefficient(), MFEMObject::getVectorCoefficientByName(), Terminator::handleMessage(), Control::hasControllableParameterByName(), FEProblemBase::hasConvergence(), FEProblemBase::hasDistribution(), FEProblemBase::hasFunction(), SubProblem::hasFunctor(), SubProblem::hasFunctorWithType(), FEProblemBase::hasFVGradientMethod(), FEProblemBase::hasFVInterpolationMethod(), MeshInfo::hasItem(), MooseApp::hasMeshGenerator(), MFEMProblem::hasMFEMObject(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasPostprocessorValueByName(), MooseApp::hasRelationshipManager(), MooseApp::hasRestartableDataMap(), MooseApp::hasRestartableMetaData(), FEProblemBase::hasUserObject(), NEML2Action::inferMOOSEIOType(), AddVariableAction::init(), AdvancedOutput::init(), IterationAdaptiveDT::init(), AdvancedOutput::initAvailableLists(), MeshInfo::initCombinedInfos(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), NestedDivision::initialize(), TransformedPositions::initialize(), BoundaryRestrictable::initializeBoundaryRestrictable(), AuxKernelBase::initialSetup(), SolutionScalarAux::initialSetup(), Console::initialSetup(), JSONOutput::initialSetup(), BoundaryLinearFVFluxIntegral::initialSetup(), NodalVariableValue::initialSetup(), SideFVFluxBCIntegral::initialSetup(), MultiAppGeneralFieldFunctorTransfer::initialSetup(), MultiAppProjectionTransfer::initialSetup(), BoundaryMeshBuilder::initialSetup(), SolutionUserObjectBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), MaterialBase::initStatefulProperties(), Function::integral(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MultiAppGeometricInterpolationTransfer::interpolateTargetPoints(), MeshGenerator::isChildMeshGenerator(), DerivativeMaterialInterface< T >::isNotObjectVariable(), MeshGenerator::isNullMeshName(), MooseBase::isParamSetByUser(), MooseBase::isParamValid(), MeshGenerator::isParentMeshGenerator(), LinearCombinationFunction::LinearCombinationFunction(), FEProblemBase::logAdd(), MooseLinearVariableFV< OutputType >::lowerDError(), Marker::Marker(), MaterialBase::markMatPropRequested(), Material::Material(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), NEML2ModelExecutor::meshChanged(), MeshGenerator::meshPropertyPrefix(), MooseBase::messagePrefix(), MFEMGeometricMultigridSolver::MFEMGeometricMultigridSolver(), MFEMScalarQuadratureFunction::MFEMScalarQuadratureFunction(), MFEMTransient::MFEMTransient(), MFEMVectorQuadratureFunction::MFEMVectorQuadratureFunction(), OutputWarehouse::mooseConsole(), SolutionInvalidInterface::mooseDeprecated(), MooseVariableBase::MooseVariableBase(), MooseVariableInterface< T >::MooseVariableInterface(), SolutionInvalidInterface::mooseWarning(), SolutionInvalidInterface::mooseWarningNonPrefixed(), MoveNodesByParsedExpressionModifier::MoveNodesByParsedExpressionModifier(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), NEML2PreKernel::NEML2PreKernel(), NodalDamper::NodalDamper(), MooseLinearVariableFV< OutputType >::nodalError(), NodalPatchRecoveryAuxBase::NodalPatchRecoveryAuxBase(), NodalValueSampler::NodalValueSampler(), MeshGenerator::Comparator::operator()(), DOFMapOutput::output(), ProgressOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), ConsoleUtils::outputExecutionInformation(), MaterialOutputAction::outputHelper(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), Exodus::outputPostprocessors(), Nemesis::outputPostprocessors(), TableOutput::outputReporter(), AdvancedOutput::outputReporters(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), SolutionInvalidInterface::paramWarning(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedODEKernel::ParsedODEKernel(), ComponentPhysicsInterface::physicsExists(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseByBlockFunctorMaterialTempl< T >::PiecewiseByBlockFunctorMaterialTempl(), PiecewiseFunction::PiecewiseFunction(), PointInUnionCheckUO::PointInUnionCheckUO(), MooseApp::possiblyLoadRestartableMetaData(), MFEMExecutedObject::postprocessorDependencyKey(), PhysicsBase::prefix(), MooseMesh::prepare(), BlockRestrictionDebugOutput::printBlockRestrictionMap(), PerfGraphLivePrint::printStats(), FEProblemBase::projectInitialConditionOnCustomRange(), MooseBase::queryParam(), MultiApp::readCommandLineArguments(), Receiver::Receiver(), Executor::Result::record(), FEProblemBase::registerRandomInterface(), MooseApp::registerRestartableDataMapName(), MooseApp::registerRestartableNameWithFilter(), MaterialBase::resetQpProperties(), MultiApp::restore(), ScalarComponentIC::ScalarComponentIC(), MultiApp::setAppOutputFileBase(), FEProblemBase::setAuxKernelParamsAndLog(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), OutputWarehouse::setFileNumbers(), FEProblemBase::setPostprocessorValueByName(), FEProblemBase::setResidualObjectParamsAndLog(), MooseMesh::setSubdomainName(), MooseMesh::setSubdomainName(), NodeSetsGeneratorBase::setup(), SideSetsGeneratorBase::setup(), SurfaceMeshGeneratorBase::setup(), Split::setup(), TransientMultiApp::setupApp(), MoveNodesByParsedExpressionModifier::setupNodalOutputVariables(), NEML2Action::setupOutputMappings(), SideSetExtruderGenerator::SideSetExtruderGenerator(), TransientMultiApp::solveStep(), UserObject::spatialValue(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), MaterialBase::storeBoundaryZeroMatProp(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), MaterialBase::storeSubdomainZeroMatProp(), SubProblem::storeSubdomainZeroMatProp(), ConstraintWarehouse::subdomainsCovered(), MaterialBase::subdomainSetup(), SumPostprocessor::SumPostprocessor(), MFEMPostprocessor::suppliedPostprocessorName(), MFEMVectorPostprocessor::suppliedVectorPostprocessorName(), BoundaryMeshBuilder::surfaceElementSet(), NEML2FEInterpolation::syncWithMainThread(), TaggingInterface::TaggingInterface(), MooseLinearVariableFV< OutputType >::timeIntegratorError(), VectorPostprocessorVisualizationAux::timestepSetup(), ElementSubdomainModifierBase::timestepSetup(), to_json(), MultiAppDofCopyTransfer::transfer(), MultiAppShapeEvaluationTransfer::transferVariable(), MultiAppMFEMCopyTransfer::transferVariables(), MultiAppMFEMShapeEvaluationTransfer::transferVariables(), TransientMultiApp::TransientMultiApp(), MooseBase::typeAndName(), MooseBase::uniqueParameterName(), FVQpFluxBC::uOnGhost(), FVQpFluxBC::uOnUSub(), UserObjectBase::UserObjectBase(), UserObjectInterface::userObjectName(), ParsedAux::validateGenericVectorNames(), MeshInfo::validParams(), MFEMExecutedObject::variableDependencyKey(), PhysicsBase::variableExists(), MultiAppTransfer::variableIntegrityCheck(), VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl(), MFEMExecutedObject::vectorPostprocessorDependencyKey(), Convergence::verboseOutput(), AdvancedOutput::wantOutput(), Coupleable::writableCoupledValue(), Coupleable::writableVariable(), Console::write(), and MooseApp::writeRestartableMetaData().

◆ needFV()

void DisplacedProblem::needFV ( )
overridevirtual

marks this problem as including/needing finite volume functionality.

Implements SubProblem.

Definition at line 1368 of file DisplacedProblem.C.

1369{
1370 _mproblem.needFV();
1371}
virtual void needFV() override
marks this problem as including/needing finite volume functionality.

◆ nlConverged()

bool SubProblem::nlConverged ( const unsigned int  nl_sys_num)
virtualinherited
Returns
whether the given nonlinear system nl_sys_num is converged.

Definition at line 715 of file SubProblem.C.

716{
717 mooseAssert(nl_sys_num < numNonlinearSystems(),
718 "The nonlinear system number is higher than the number of systems we have!");
719 return solverSystemConverged(nl_sys_num);
720}

◆ nLinearIterations()

unsigned int SubProblem::nLinearIterations ( const unsigned int  nl_sys_num) const
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 765 of file SubProblem.C.

766{
767 return 0;
768}

Referenced by IterationInfo::execute(), and NumLinearIterations::getValue().

◆ nlSysNum()

unsigned int DisplacedProblem::nlSysNum ( const NonlinearSystemName &  nl_sys_name) const
overridevirtual
Returns
the nonlinear system number corresponding to the provided nl_sys_name

Implements SubProblem.

Definition at line 1386 of file DisplacedProblem.C.

1387{
1388 return _mproblem.nlSysNum(nl_sys_name);
1389}
virtual unsigned int nlSysNum(const NonlinearSystemName &nl_sys_name) const override

◆ nNonlinearIterations()

unsigned int SubProblem::nNonlinearIterations ( const unsigned int  nl_sys_num) const
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 759 of file SubProblem.C.

760{
761 return 0;
762}

Referenced by IterationInfo::execute(), and NumNonlinearIterations::finalize().

◆ nonlocalCouplingMatrix()

const libMesh::CouplingMatrix & DisplacedProblem::nonlocalCouplingMatrix ( const unsigned  i) const
overridevirtual
Returns
the nonlocal coupling matrix for the i'th nonlinear system

Implements SubProblem.

Definition at line 1404 of file DisplacedProblem.C.

1405{
1407}
virtual const libMesh::CouplingMatrix & nonlocalCouplingMatrix(const unsigned i) const override

◆ numLinearSystems()

std::size_t DisplacedProblem::numLinearSystems ( ) const
overridevirtual
Returns
the number of linear systems in the problem

Implements SubProblem.

Definition at line 1338 of file DisplacedProblem.C.

1339{
1340 return _mproblem.numLinearSystems();
1341}
virtual std::size_t numLinearSystems() const override

◆ numMatrixTags()

unsigned int DisplacedProblem::numMatrixTags ( ) const
overridevirtual

The total number of tags.

Reimplemented from SubProblem.

Definition at line 469 of file DisplacedProblem.C.

470{
471 return _mproblem.numMatrixTags();
472}
virtual unsigned int numMatrixTags() const
The total number of tags.
Definition SubProblem.h:248

◆ numNonlinearSystems()

std::size_t DisplacedProblem::numNonlinearSystems ( ) const
overridevirtual
Returns
the number of nonlinear systems in the problem

Implements SubProblem.

Definition at line 1332 of file DisplacedProblem.C.

1333{
1335}
virtual std::size_t numNonlinearSystems() const override

◆ numSolverSystems()

std::size_t DisplacedProblem::numSolverSystems ( ) const
overridevirtual
Returns
the number of solver systems in the problem

Implements SubProblem.

Definition at line 1344 of file DisplacedProblem.C.

1345{
1346 return _mproblem.numSolverSystems();
1347}
virtual std::size_t numSolverSystems() const override

◆ numVectorTags()

unsigned int DisplacedProblem::numVectorTags ( const Moose::VectorTagType  type = Moose::VECTOR_TAG_ANY) const
overridevirtual

The total number of tags, which can be limited to the tag type.

Reimplemented from SubProblem.

Definition at line 421 of file DisplacedProblem.C.

422{
424}
virtual unsigned int numVectorTags(const Moose::VectorTagType type=Moose::VECTOR_TAG_ANY) const
The total number of tags, which can be limited to the tag type.
Definition SubProblem.C:194

◆ onTimestepBegin()

void DisplacedProblem::onTimestepBegin ( )
overridevirtual

Implements SubProblem.

Definition at line 1186 of file DisplacedProblem.C.

1187{
1188}

◆ onTimestepEnd()

void DisplacedProblem::onTimestepEnd ( )
overridevirtual

Implements SubProblem.

Definition at line 1191 of file DisplacedProblem.C.

1192{
1193}

◆ operator=()

DisplacedProblem & DisplacedProblem::operator= ( DisplacedProblem &&  )
delete

◆ paramError()

template<typename... Args>
void MooseBase::paramError ( const std::string &  param,
Args...  args 
) const
inherited

Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseError - only printing a message using the given args.

Definition at line 457 of file MooseBase.h.

458{
459 _pars.paramError(param, std::forward<Args>(args)...);
460}
void paramError(const std::string &param, Args... args) const
Emits a parameter error prefixed with the parameter location and object information if available.

Referenced by HierarchicalGridPartitioner::_do_partition(), AutoCheckpointAction::act(), CommonOutputAction::act(), SetupDebugAction::act(), DiffusionCG::addFEKernels(), DiffusionFV::addFVKernels(), NEML2ModelExecutor::addGatheredParameter(), NEML2ModelExecutor::addGatheredVariable(), ADDGKernel::ADDGKernel(), ComponentJunction::addMeshGenerators(), CylinderComponent::addMeshGenerators(), ReporterPointSource::addPoints(), ADIntegratedBCTempl< T >::ADIntegratedBCTempl(), ADKernelTempl< T >::ADKernelTempl(), ADPenaltyPeriodicSegmentalConstraint::ADPenaltyPeriodicSegmentalConstraint(), ADPeriodicSegmentalConstraint::ADPeriodicSegmentalConstraint(), AdvancedExtruderGenerator::AdvancedExtruderGenerator(), AdvectiveFluxAux::AdvectiveFluxAux(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), ArrayBodyForce::ArrayBodyForce(), ArrayCoupledForce::ArrayCoupledForce(), ArrayDGKernel::ArrayDGKernel(), ArrayDGLowerDKernel::ArrayDGLowerDKernel(), ArrayDirichletBC::ArrayDirichletBC(), ArrayHFEMDirichletBC::ArrayHFEMDirichletBC(), ArrayIntegratedBC::ArrayIntegratedBC(), ArrayKernel::ArrayKernel(), ArrayLowerDIntegratedBC::ArrayLowerDIntegratedBC(), ArrayParsedAux::ArrayParsedAux(), ArrayPenaltyDirichletBC::ArrayPenaltyDirichletBC(), ArrayReactionNodalKernelTempl< is_ad >::ArrayReactionNodalKernelTempl(), ArrayVacuumBC::ArrayVacuumBC(), ArrayVarReductionAux::ArrayVarReductionAux(), ParsedSubdomainIDsGenerator::assignElemSubdomainID(), AuxKernelBase::AuxKernelBase(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), BlockDeletionGenerator::BlockDeletionGenerator(), BlockWeightedPartitioner::BlockWeightedPartitioner(), BoundaryIntegralValueConstraint::BoundaryIntegralValueConstraint(), BoundaryLinearFVFluxIntegral::BoundaryLinearFVFluxIntegral(), BoundsBase::BoundsBase(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BSplineCurveGenerator::BSplineCurveGenerator(), BuildArrayVariableAux::BuildArrayVariableAux(), MFEMFESpaceHierarchy::buildHierarchy(), MFEMMesh::buildMesh(), MFEMGeometricMultigridSolver::BuildMultigrid(), TimeSequenceStepperBase::buildSequence(), CartesianGridDivision::CartesianGridDivision(), CartesianMeshGenerator::CartesianMeshGenerator(), checkComponent(), Moose::Kokkos::ParsedObjectBase::checkDuplicateSymbols(), SamplerBase::checkForStandardFieldVariableType(), MeshGenerator::checkGetMesh(), ComponentInitialConditionInterface::checkInitialConditionsAllRequested(), BatchMeshGeneratorAction::checkInputParameterType(), PhysicsBase::checkIntegrityEarly(), SideUserObject::checkNoInterfaceMaterialPropertyDependencies(), PostprocessorInterface::checkParam(), FEProblemBase::checkProblemIntegrity(), MultiAppReporterTransfer::checkSiblingsTransferSupported(), MFEMMultiAppTransfer::checkValidTransferProblemTypes(), Coupleable::checkVar(), MultiAppTransfer::checkVariable(), CircularBoundaryCorrectionGenerator::CircularBoundaryCorrectionGenerator(), CircularBoundaryCorrectionGenerator::circularCenterCalculator(), MultiAppGeneralFieldTransfer::closestToPosition(), CoarsenBlockGenerator::CoarsenBlockGenerator(), CombinedVectorPostprocessor::CombinedVectorPostprocessor(), CombinerGenerator::CombinerGenerator(), ComponentInitialConditionInterface::ComponentInitialConditionInterface(), ComponentJunction::ComponentJunction(), ComponentMaterialPropertyInterface::ComponentMaterialPropertyInterface(), CompositionDT::CompositionDT(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), LibtorchNeuralNetControl::conditionalParameterError(), ConservativeAdvectionBCTempl< is_ad >::ConservativeAdvectionBCTempl(), ConservativeAdvectionTempl< is_ad >::ConservativeAdvectionTempl(), ConstantVectorPostprocessor::ConstantVectorPostprocessor(), ContainsPointAux::ContainsPointAux(), CopyValueAux::CopyValueAux(), MultiAppGeneralFieldTransfer::correctSolutionVectorValues(), Coupleable::Coupleable(), CoupledForceTempl< is_ad >::CoupledForceTempl(), CoupledValueFunctionMaterialTempl< is_ad >::CoupledValueFunctionMaterialTempl(), MultiApp::createApp(), MeshGeneratorSystem::createMeshGenerator(), CylindricalGridDivision::CylindricalGridDivision(), DebugResidualAux::DebugResidualAux(), ConstantReporter::declareConstantReporterValue(), ConstantReporter::declareConstantReporterValues(), AccumulateReporter::declareLateValues(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), DGKernel::DGKernel(), DGKernelBase::DGKernelBase(), DGLowerDKernel::DGLowerDKernel(), DiffusionFluxAux::DiffusionFluxAux(), DomainUserObject::DomainUserObject(), EigenProblem::EigenProblem(), EigenProblemSolve::EigenProblemSolve(), ElementAdaptivityLevelAux::ElementAdaptivityLevelAux(), ElementGenerator::ElementGenerator(), ElementGroupCentroidPositions::ElementGroupCentroidPositions(), ElementLengthAux::ElementLengthAux(), ElementLpNormAux::ElementLpNormAux(), ElementNormalAux::ElementNormalAux(), ExtraIDIntegralVectorPostprocessor::elementValue(), ElementValueSampler::ElementValueSampler(), ElementVectorL2Error::ElementVectorL2Error(), EqualValueEmbeddedConstraintTempl< is_ad >::EqualValueEmbeddedConstraintTempl(), ReporterPointSource::errorCheck(), StitchMeshGeneratorBase::errorMissingBoundary(), ExamplePatchMeshGenerator::ExamplePatchMeshGenerator(), FunctorNodalCorrector::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppUserObjectTransfer::execute(), ExtraElementIDAux::ExtraElementIDAux(), ExtraElementIntegerDivision::ExtraElementIntegerDivision(), ExtraIDIntegralVectorPostprocessor::ExtraIDIntegralVectorPostprocessor(), FEProblemBase::FEProblemBase(), FEProblemSolve::FEProblemSolve(), FileMeshGenerator::FileMeshGenerator(), FillBetweenCurvesGenerator::FillBetweenCurvesGenerator(), FillBetweenSidesetsGenerator::FillBetweenSidesetsGenerator(), SpatialUserObjectVectorPostprocessor::fillPoints(), CombinerGenerator::fillPositions(), MultiApp::fillPositions(), InternalSideIndicatorBase::finalize(), FixedPointSolve::findTransformedSystem(), FixedPointSolve::FixedPointSolve(), ForcingFunctionAux::ForcingFunctionAux(), FullSolveMultiApp::FullSolveMultiApp(), FunctionArrayAux::FunctionArrayAux(), FunctionValuePostprocessor::FunctionValuePostprocessor(), FunctorADConverterTempl< T >::FunctorADConverterTempl(), FunctorAux::FunctorAux(), FunctorBinnedValuesDivision::FunctorBinnedValuesDivision(), FunctorCoordinatesFunctionAux::FunctorCoordinatesFunctionAux(), FunctorElementalGradientAuxTempl< is_ad >::FunctorElementalGradientAuxTempl(), FunctorExtremaPositions::FunctorExtremaPositions(), FunctorIC::FunctorIC(), FunctorNodalCorrector::FunctorNodalCorrector(), FunctorPositions::FunctorPositions(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FunctorVectorElementalAuxTempl< is_ad >::FunctorVectorElementalAuxTempl(), FVAdvection::FVAdvection(), FVFluxBC::FVFluxBC(), FVInterfaceKernel::FVInterfaceKernel(), FVOneVarDiffusionInterface::FVOneVarDiffusionInterface(), FVTwoVarContinuityConstraint::FVTwoVarContinuityConstraint(), Boundary2DDelaunayGenerator::General2DDelaunay(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), AddMetaDataGenerator::generate(), AdvancedExtruderGenerator::generate(), BlockDeletionGenerator::generate(), BlockToMeshConverterGenerator::generate(), Boundary2DDelaunayGenerator::generate(), BoundaryDeletionGenerator::generate(), BoundaryElementConversionGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), BreakMeshByBlockGenerator::generate(), BreakMeshByElementGenerator::generate(), CircularBoundaryCorrectionGenerator::generate(), CoarsenBlockGenerator::generate(), CoarsenSurfaceMeshAlongSidesetGenerator::generate(), CombinerGenerator::generate(), CutMeshByLevelSetGeneratorBase::generate(), ElementsToTetrahedronsConverter::generate(), ExtraNodesetGenerator::generate(), FillBetweenCurvesGenerator::generate(), FillBetweenSidesetsGenerator::generate(), FlipSidesetGenerator::generate(), GeneratedMeshGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), ManifoldSubdomainGenerator::generate(), MeshCollectionGenerator::generate(), MeshExtruderGenerator::generate(), ParsedCurveGenerator::generate(), ParsedExtraElementIDGenerator::generate(), ParsedSubdomainGeneratorBase::generate(), PlaneIDMeshGenerator::generate(), PolyLineMeshFollowingNodeSetGenerator::generate(), ProjectSideSetOntoLevelSetGenerator::generate(), RefineBlockGenerator::generate(), RefineSidesetGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), RenumberBySubdomainGenerator::generate(), SideSetsFromNodeSetsGenerator::generate(), StackGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), SubdomainsFromPartitionerGenerator::generate(), SurfaceSubdomainsDelaunayRemesher::generate(), UniqueExtraIDMeshGenerator::generate(), XYMeshLineCutter::generate(), XYZDelaunayGenerator::generate(), PatternedMeshGenerator::generate(), GeneratedMeshGenerator::GeneratedMeshGenerator(), BoundaryLayerUtils::generateOffsetPolyline(), GenericConstantStdVectorMaterialTempl< is_ad >::GenericConstantStdVectorMaterialTempl(), GenericFunctorGradientMaterialTempl< is_ad >::GenericFunctorGradientMaterialTempl(), GenericFunctorMaterialTempl< is_ad >::GenericFunctorMaterialTempl(), GenericFunctorTimeDerivativeMaterialTempl< is_ad >::GenericFunctorTimeDerivativeMaterialTempl(), GenericVectorFunctorMaterialTempl< is_ad >::GenericVectorFunctorMaterialTempl(), PropertyReadFile::getBlockData(), ComponentBoundaryConditionInterface::getBoundaryCondition(), MultiApp::getCommandLineArgs(), PropertyReadFile::getData(), PropertyReadFile::getFileNames(), Sampler::getGlobalSamples(), ComponentInitialConditionInterface::getInitialCondition(), NEML2Action::getInputParameterMapping(), MultiAppNearestNodeTransfer::getLocalEntitiesAndComponents(), Sampler::getLocalSamples(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), Sampler::getNextLocalRow(), FEProblemSolve::getParamFromNonlinearSystemVectorParam(), PostprocessorInterface::getPostprocessorNameInternal(), PostprocessorInterface::getPostprocessorValueInternal(), MultiAppNearestNodeTransfer::getTargetLocalNodes(), UserObjectInterface::getUserObjectBase(), UserObjectInterface::getUserObjectName(), AddPeriodicBCAction::getVariables(), HFEMDirichletBC::HFEMDirichletBC(), AddVariableAction::init(), MFEMTransient::init(), MultiApp::init(), DistributedPositions::initialize(), BlockWeightedPartitioner::initialize(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), PhysicsBase::initializePhysics(), ReferenceResidualConvergence::initialSetup(), PiecewiseConstantFromCSV::initialSetup(), SolutionIC::initialSetup(), LibtorchControlValuePostprocessor::initialSetup(), ElementSubdomainModifierBase::initialSetup(), MFEMScalarCoefficientPointValueSampler::initialSetup(), FullSolveMultiApp::initialSetup(), JSONOutput::initialSetup(), BoundaryLinearFVFluxIntegral::initialSetup(), SideFVFluxBCIntegral::initialSetup(), MultiAppCloneReporterTransfer::initialSetup(), MultiAppDofCopyTransfer::initialSetup(), MultiAppGeneralFieldKDTreeTransferBase::initialSetup(), MultiAppGeneralFieldNearestLocationTransfer::initialSetup(), MultiAppGeneralFieldTransfer::initialSetup(), MultiAppVariableValueSamplePostprocessorTransfer::initialSetup(), PointInPolyhedronCheckUO::initialSetup(), HistogramVectorPostprocessor::initialSetup(), SampledOutput::initSample(), AddMetaDataGenerator::inputChecker(), IntegratedBC::IntegratedBC(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceValueUserObjectAux::InterfaceValueUserObjectAux(), InternalSideIndicatorBase::InternalSideIndicatorBase(), InterpolatedStatefulMaterialTempl< T >::InterpolatedStatefulMaterialTempl(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), MultiApp::keepSolutionDuringRestore(), Kernel::Kernel(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), LinearCombinationFunction::LinearCombinationFunction(), LinearFVAdvectionDiffusionFunctorRobinBC::LinearFVAdvectionDiffusionFunctorRobinBC(), LowerDIntegratedBC::LowerDIntegratedBC(), PNGOutput::makeMeshFunc(), MatCoupledForce::MatCoupledForce(), MaterialADConverterTempl< T >::MaterialADConverterTempl(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), MatReactionTempl< is_ad >::MatReactionTempl(), MatrixSymmetryCheck::MatrixSymmetryCheck(), PatternedMeshGenerator::mergeSubdomainNameMaps(), MeshCollectionGenerator::MeshCollectionGenerator(), MeshDiagnosticsGenerator::MeshDiagnosticsGenerator(), MeshDivisionAux::MeshDivisionAux(), MeshGenerator::MeshGenerator(), MeshGeneratorComponent::MeshGeneratorComponent(), MeshInfo::MeshInfo(), MFEMComplexSumAux::MFEMComplexSumAux(), MFEMFunctorMaterial::MFEMFunctorMaterial(), MFEMGeneratedMeshGenerator::MFEMGeneratedMeshGenerator(), MFEMGenericFunctorMaterial::MFEMGenericFunctorMaterial(), MFEMGenericFunctorVectorMaterial::MFEMGenericFunctorVectorMaterial(), MFEMGeometricMultigridSolver::MFEMGeometricMultigridSolver(), MFEMMultiAppTransfer::MFEMMultiAppTransfer(), MFEMNDtoRTAux::MFEMNDtoRTAux(), MFEMSumAux::MFEMSumAux(), MFEMVariable::MFEMVariable(), MooseLinearVariableFV< OutputType >::MooseLinearVariableFV(), UserObjectInterface::mooseObjectError(), MoosePreconditioner::MoosePreconditioner(), MooseStaticCondensationPreconditioner::MooseStaticCondensationPreconditioner(), MooseVariableBase::MooseVariableBase(), MortarConstraintBase::MortarConstraintBase(), MortarNodalAuxKernelTempl< ComputeValueType >::MortarNodalAuxKernelTempl(), MultiApp::moveApp(), MoveNodeGenerator::MoveNodeGenerator(), MoveNodesByParsedExpressionModifier::MoveNodesByParsedExpressionModifier(), MultiApp::MultiApp(), MultiAppCloneReporterTransfer::MultiAppCloneReporterTransfer(), MultiAppGeneralFieldFunctorTransfer::MultiAppGeneralFieldFunctorTransfer(), MultiAppGeneralFieldKDTreeTransferBase::MultiAppGeneralFieldKDTreeTransferBase(), MultiAppGeneralFieldShapeEvaluationTransfer::MultiAppGeneralFieldShapeEvaluationTransfer(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppGeometricInterpolationTransfer::MultiAppGeometricInterpolationTransfer(), MultiAppNearestNodeTransfer::MultiAppNearestNodeTransfer(), MultiAppPostprocessorInterpolationTransfer::MultiAppPostprocessorInterpolationTransfer(), MultiAppPostprocessorToAuxScalarTransfer::MultiAppPostprocessorToAuxScalarTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), MultiAppProjectionTransfer::MultiAppProjectionTransfer(), MultiAppReporterTransfer::MultiAppReporterTransfer(), MultiAppScalarToAuxScalarTransfer::MultiAppScalarToAuxScalarTransfer(), MultiAppShapeEvaluationTransfer::MultiAppShapeEvaluationTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppUserObjectTransfer::MultiAppUserObjectTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), MultiAppVariableValueSampleTransfer::MultiAppVariableValueSampleTransfer(), MultiAppVectorPostprocessorTransfer::MultiAppVectorPostprocessorTransfer(), MultiSystemSolveObject::MultiSystemSolveObject(), NearestNodeValueAux::NearestNodeValueAux(), NEML2Action::NEML2Action(), NEML2PreKernel::NEML2PreKernel(), NestedDivision::NestedDivision(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalPatchRecoveryAux::NodalPatchRecoveryAux(), NodalValueSampler::NodalValueSampler(), NumDOFs::NumDOFs(), OrientSurfaceMeshGenerator::OrientSurfaceMeshGenerator(), Output::Output(), ParsedCurveGenerator::ParsedCurveGenerator(), ParsedFunctorMaterialTempl< is_ad >::ParsedFunctorMaterialTempl(), ParsedPostprocessor::ParsedPostprocessor(), ParsedReporterBase::ParsedReporterBase(), ParsedScalarReporter::ParsedScalarReporter(), ParsedSubdomainGeneratorBase::ParsedSubdomainGeneratorBase(), ParsedVectorRealReductionReporter::ParsedVectorRealReductionReporter(), ParsedVectorReporter::ParsedVectorReporter(), ParsedVectorVectorRealReductionReporter::ParsedVectorVectorRealReductionReporter(), PatternedMeshGenerator::PatternedMeshGenerator(), PenaltyPeriodicSegmentalConstraint::PenaltyPeriodicSegmentalConstraint(), PeriodicSegmentalConstraint::PeriodicSegmentalConstraint(), PIDTransientControl::PIDTransientControl(), PlaneDeletionGenerator::PlaneDeletionGenerator(), PlaneIDMeshGenerator::PlaneIDMeshGenerator(), PointInPolyhedronBaseUO::PointInPolyhedronBaseUO(), PointInSignedFunctionCheckUO::PointInSignedFunctionCheckUO(), PointInUnionCheckUO::PointInUnionCheckUO(), PointwiseRenormalizeVector::PointwiseRenormalizeVector(), PolyLineMeshFollowingNodeSetGenerator::PolyLineMeshFollowingNodeSetGenerator(), EqualValueBoundaryConstraint::populateSecondaryNodes(), ReporterInterface::possiblyCheckHasReporter(), VectorPostprocessorInterface::possiblyCheckHasVectorPostprocessor(), LibmeshPartitioner::prepareBlocksForSubdomainPartitioner(), ProjectedMaterialPropertyNodalPatchRecoveryAux::ProjectedMaterialPropertyNodalPatchRecoveryAux(), ProjectSideSetOntoLevelSetGenerator::ProjectSideSetOntoLevelSetGenerator(), PropertyReadFile::PropertyReadFile(), RandomIC::RandomIC(), RankTwoTensorFromComponentProperties::RankTwoTensorFromComponentProperties(), MultiApp::readCommandLineArguments(), PropertyReadFile::readData(), SolutionUserObjectBase::readExodusIIOrNemesis(), SolutionUserObjectBase::readXda(), ReferenceResidualConvergence::ReferenceResidualConvergence(), RefineBlockGenerator::RefineBlockGenerator(), RefineSidesetGenerator::RefineSidesetGenerator(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), ReporterPointSource::ReporterPointSource(), FEProblemBase::restoreSolutions(), SecondTimeDerivativeAux::SecondTimeDerivativeAux(), FEProblemBase::setLinearConvergenceNames(), FEProblemBase::setNonlinearConvergenceNames(), MooseMesh::setPartitioner(), NodeSetsGeneratorBase::setup(), SideSetsGeneratorBase::setup(), SurfaceMeshGeneratorBase::setup(), CylinderComponent::setupComponent(), NEML2Action::setupDerivativeMappings(), NEML2Action::setupInputMappings(), MultiSystemSolveObject::setupMultiSystemFixedPointRelaxationFactors(), MoveNodesByParsedExpressionModifier::setupNodalOutputVariables(), NEML2Action::setupParameterDerivativeMappings(), NEML2Action::setupParameterMappings(), SetupQuadratureAction::SetupQuadratureAction(), SidesetAroundSubdomainUpdater::SidesetAroundSubdomainUpdater(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideValueSampler::SideValueSampler(), SingleRankPartitioner::SingleRankPartitioner(), SphericalGridDivision::SphericalGridDivision(), StitchBoundaryMeshGenerator::StitchBoundaryMeshGenerator(), StitchMeshGenerator::StitchMeshGenerator(), SurfaceSubdomainsDelaunayRemesher::SurfaceSubdomainsDelaunayRemesher(), SymmetryTransformGenerator::SymmetryTransformGenerator(), TagVectorAux::TagVectorAux(), Terminator::Terminator(), TimeDerivativeAux::TimeDerivativeAux(), Transfer::Transfer(), TransformGenerator::TransformGenerator(), TransientMultiApp::TransientMultiApp(), CylinderComponent::translation(), MeshTriangulationUtils::triangulateWithDelaunay(), ParsedCurveGenerator::tSectionSpaceDefiner(), UniqueExtraIDMeshGenerator::UniqueExtraIDMeshGenerator(), UserObjectBase::UserObjectBase(), Checkpoint::validateExecuteOn(), ParsedAux::validateGenericVectorNames(), MFEMProblem::validateVariableNumericType(), VariableCondensationPreconditioner::VariableCondensationPreconditioner(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), VolumeAux::VolumeAux(), WebServerControl::WebServerControl(), XYDelaunayGenerator::XYDelaunayGenerator(), XYMeshLineCutter::XYMeshLineCutter(), and XYZDelaunayGenerator::XYZDelaunayGenerator().

◆ parameters()

const InputParameters & MooseBase::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 131 of file MooseBase.h.

131{ return _pars; }

Referenced by AddActionComponentAction::act(), CommonOutputAction::act(), CSGOnlyAction::act(), MeshOnlyAction::act(), SetupDebugAction::act(), SplitMeshAction::act(), Action::Action(), FEProblemBase::addAnyRedistributers(), FEProblemBase::addAuxKernel(), MFEMProblem::addAuxKernel(), FEProblemBase::addAuxScalarKernel(), addAuxVariable(), MFEMProblem::addAuxVariable(), FEProblemBase::addBoundaryCondition(), MFEMProblem::addBoundaryCondition(), FEProblemBase::addConstraint(), FEProblemBase::addConvergence(), FEProblemBase::addDamper(), AddDefaultConvergenceAction::addDefaultMultiAppFixedPointConvergence(), FEProblemBase::addDefaultMultiAppFixedPointConvergence(), AddDefaultConvergenceAction::addDefaultNonlinearConvergence(), FEProblemBase::addDefaultNonlinearConvergence(), ReferenceResidualProblem::addDefaultNonlinearConvergence(), AddDefaultConvergenceAction::addDefaultSteadyStateConvergence(), FEProblemBase::addDefaultSteadyStateConvergence(), FEProblemBase::addDGKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), MFEMProblem::addFESpace(), MFEMProblem::addFESpaceHierarchy(), FEProblemBase::addFunction(), MFEMProblem::addFunction(), FEProblemBase::addFunctorMaterial(), MFEMProblem::addFunctorMaterial(), FEProblemBase::addFVBC(), FEProblemBase::addFVGradientMethod(), FEProblemBase::addFVInitialCondition(), FEProblemBase::addFVInterfaceKernel(), FEProblemBase::addFVInterpolationMethod(), FEProblemBase::addFVKernel(), MFEMProblem::addGridFunction(), FEProblemBase::addHDGKernel(), MFEMProblem::addImagComponentToBC(), MFEMProblem::addImagComponentToKernel(), FEProblemBase::addIndicator(), MFEMProblem::addIndicator(), FEProblemBase::addInitialCondition(), MFEMProblem::addInitialCondition(), DiffusionPhysicsBase::addInitialConditions(), FEProblemBase::addInterfaceKernel(), FEProblemBase::addInterfaceMaterial(), FEProblemBase::addKernel(), MFEMProblem::addKernel(), FEProblemBase::addLinearFVBC(), FEProblemBase::addLinearFVKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), MFEMProblem::addMarker(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMeshDivision(), MFEMProblem::addMFEMFESpaceFromMOOSEVariable(), MFEMProblem::addMFEMProblemComposer(), MFEMProblem::addMFEMSolver(), FEProblemBase::addMultiApp(), FEProblemBase::addNodalKernel(), FEProblemBase::addObject(), FEProblemBase::addObjectParamsHelper(), FEProblemBase::addOutput(), FEProblemBase::addPostprocessor(), MFEMProblem::addPostprocessor(), FEProblemBase::addPredictor(), MFEMProblem::addQuadratureFunction(), MFEMProblem::addRealComponentToBC(), MFEMProblem::addRealComponentToKernel(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), FEProblemBase::addScalarKernel(), MFEMProblem::addSubMesh(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), MFEMProblem::addTransfer(), FEProblemBase::addUserObject(), addVariable(), MFEMEigenproblem::addVariable(), MFEMProblem::addVariable(), FEProblemBase::addVectorPostprocessor(), MFEMProblem::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), assemble_l2(), Moose::assemble_matrix(), Action::associateWithParameter(), AuxKernelBase::AuxKernelBase(), AuxScalarKernel::AuxScalarKernel(), BoundsBase::BoundsBase(), MooseMesh::buildTypedMesh(), MeshGenerator::checkGetMesh(), PostprocessorInterface::checkParam(), AddDefaultConvergenceAction::checkUnusedMultiAppFixedPointConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedNonlinearConvergenceParameters(), AddDefaultConvergenceAction::checkUnusedSteadyStateConvergenceParameters(), SampledOutput::cloneMesh(), Moose::compute_bounds(), Moose::compute_jacobian(), Moose::compute_nearnullspace(), Moose::compute_nullspace(), Moose::compute_postcheck(), Moose::compute_transpose_nullspace(), LibtorchNeuralNetControl::conditionalParameterError(), Console::Console(), MooseMeshUtils::copyIntoMesh(), CommonOutputAction::create(), MultiApp::createApp(), Postprocessor::declareValue(), DumpObjectsProblem::deduceNecessaryParameters(), DefaultMultiAppFixedPointConvergence::DefaultMultiAppFixedPointConvergence(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::DumpObjectsProblem(), EigenProblem::EigenProblem(), EigenProblemSolve::EigenProblemSolve(), ElementMaterialSampler::ElementMaterialSampler(), ExamplePatchMeshGenerator::ExamplePatchMeshGenerator(), Executor::Executor(), Exodus::Exodus(), ElementSubdomainModifierBase::extrapolatePolynomial(), FEProblem::FEProblem(), FixedPointSolve::FixedPointSolve(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), GapValueAux::GapValueAux(), ParsedSubdomainGeneratorBase::generate(), ActionWarehouse::getCurrentActionName(), ExecutorInterface::getExecutor(), Material::getMaterial(), Moose::PeriodicBCHelper::getParams(), ReporterInterface::getReporterName(), Reporter::getReporterValueName(), UserObjectInterface::getUserObjectName(), AuxKernelBase::getVariableHelper(), VectorPostprocessorInterface::getVectorPostprocessorName(), GhostingUserObject::GhostingUserObject(), MeshGeneratorSystem::hasDataDrivenAllowed(), AttribSystem::initFrom(), AttribDisplaced::initFrom(), BlockRestrictable::initializeBlockRestrictable(), FullSolveMultiApp::initialSetup(), FEProblemBase::initNullSpaceVectors(), InterfaceDiffusiveFluxIntegralTempl< is_ad >::InterfaceDiffusiveFluxIntegralTempl(), InterfaceIntegralVariableValuePostprocessor::InterfaceIntegralVariableValuePostprocessor(), InterfaceKernelTempl< T >::InterfaceKernelTempl(), MooseObject::isKokkosObject(), isValid(), IterationAdaptiveDT::IterationAdaptiveDT(), LibtorchNeuralNetControl::LibtorchNeuralNetControl(), MooseObject::MooseObject(), UserObjectInterface::mooseObjectError(), MooseVariableInterface< T >::MooseVariableInterface(), MultiApp::MultiApp(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), MultiAppGeneralFieldUserObjectTransfer::MultiAppGeneralFieldUserObjectTransfer(), MultiAppTransfer::MultiAppTransfer(), MultiAppVariableValueSamplePostprocessorTransfer::MultiAppVariableValueSamplePostprocessorTransfer(), NodeFaceConstraint::NodeFaceConstraint(), ConsoleUtils::outputLegacyInformation(), OverlayMeshGenerator::OverlayMeshGenerator(), ParsedReporterBase::ParsedReporterBase(), ParsedScalarReporter::ParsedScalarReporter(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), NEML2Action::printSummary(), ProjectedStatefulMaterialStorageAction::processProperty(), PropertyReadFile::PropertyReadFile(), PseudoTimestep::PseudoTimestep(), RandomIC::RandomIC(), ReferenceResidualConvergence::ReferenceResidualConvergence(), InputParameterWarehouse::removeInputParameters(), FEProblemBase::setAuxKernelParamsAndLog(), FEProblemBase::setInputParametersFEProblem(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setResidualObjectParamsAndLog(), SideSetsGeneratorBase::setup(), NonlinearSystemBase::shouldEvaluatePreSMOResidual(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), Moose::PetscSupport::storePetscOptions(), DumpObjectsProblem::stringifyParameters(), TaggingInterface::TaggingInterface(), Transfer::Transfer(), TransientBase::TransientBase(), VectorBodyForce::VectorBodyForce(), VectorFunctionDirichletBC::VectorFunctionDirichletBC(), VectorFunctionIC::VectorFunctionIC(), and VectorMagnitudeFunctorMaterialTempl< is_ad >::VectorMagnitudeFunctorMaterialTempl().

◆ paramInfo()

template<typename... Args>
void MooseBase::paramInfo ( const std::string &  param,
Args...  args 
) const
inherited

Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseInfo - only printing a message using the given args.

Definition at line 471 of file MooseBase.h.

472{
473 mooseInfo(_pars.paramMessage(param, std::forward<Args>(args)...));
474}
std::string paramMessage(const std::string &param, Args... args) const

Referenced by GridPartitioner::_do_partition(), ComboMarker::ComboMarker(), Control::Control(), FunctorIC::FunctorIC(), and TransientMultiApp::TransientMultiApp().

◆ paramWarning() [1/2]

template<typename... Args>
void MooseBase::paramWarning ( const std::string &  param,
Args...  args 
) const
inherited

Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseWarning - only printing a message using the given args.

Definition at line 464 of file MooseBase.h.

465{
466 mooseWarning(_pars.paramMessage(param, std::forward<Args>(args)...));
467}

◆ paramWarning() [2/2]

template<typename... Args>
void SolutionInvalidInterface::paramWarning ( const std::string &  param,
Args...  args 
) const
inlineinherited

◆ perfGraph()

PerfGraph & PerfGraphInterface::perfGraph ( )
inherited

Get the PerfGraph.

Definition at line 86 of file PerfGraphInterface.C.

87{
88 return _pg_moose_app.perfGraph();
89}
PerfGraph & perfGraph()
Get the PerfGraph for this app.
Definition MooseApp.h:179
MooseApp & _pg_moose_app
The MooseApp that owns the PerfGraph.

Referenced by CommonOutputAction::act(), PerfGraphData::finalize(), PerfGraphReporter::finalize(), and PerfGraphOutput::output().

◆ prepare() [1/2]

void DisplacedProblem::prepare ( const Elem *  elem,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 615 of file DisplacedProblem.C.

616{
617 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
618 {
619 _assembly[tid][nl_sys_num]->reinit(elem);
620 _displaced_solver_systems[nl_sys_num]->prepare(tid);
621 // This method is called outside of residual/Jacobian callbacks during initial condition
622 // evaluation
624 _assembly[tid][nl_sys_num]->prepareJacobianBlock();
625 _assembly[tid][nl_sys_num]->prepareResidual();
626 }
627
628 _displaced_aux->prepare(tid);
629}
bool hasJacobian() const
Returns _has_jacobian.
bool constJacobian() const
Returns _const_jacobian (whether a MOOSE object has specified that the Jacobian is the same as the pr...

◆ prepare() [2/2]

void DisplacedProblem::prepare ( const Elem *  elem,
unsigned int  ivar,
unsigned int  jvar,
const std::vector< dof_id_type > &  dof_indices,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 646 of file DisplacedProblem.C.

651{
652 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
653 {
654 _assembly[tid][nl_sys_num]->reinit(elem);
655 _displaced_solver_systems[nl_sys_num]->prepare(tid);
656 }
657 _displaced_aux->prepare(tid);
658 _assembly[tid][currentNlSysNum()]->prepareBlock(ivar, jvar, dof_indices);
659}

◆ prepareAssembly()

void DisplacedProblem::prepareAssembly ( const THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 688 of file DisplacedProblem.C.

689{
690 _assembly[tid][currentNlSysNum()]->prepare();
691}

◆ prepareAssemblyNeighbor()

void DisplacedProblem::prepareAssemblyNeighbor ( const THREAD_ID  tid)
virtual

Definition at line 694 of file DisplacedProblem.C.

695{
696 _assembly[tid][currentNlSysNum()]->prepareNeighbor();
697}

Referenced by reinitNeighborPhys(), and reinitNeighborPhys().

◆ prepareBlockNonlocal()

void DisplacedProblem::prepareBlockNonlocal ( unsigned int  ivar,
unsigned int  jvar,
const std::vector< dof_id_type > &  idof_indices,
const std::vector< dof_id_type > &  jdof_indices,
const THREAD_ID  tid 
)
virtual

Definition at line 678 of file DisplacedProblem.C.

683{
684 _assembly[tid][currentNlSysNum()]->prepareBlockNonlocal(ivar, jvar, idof_indices, jdof_indices);
685}

◆ prepareFace()

void DisplacedProblem::prepareFace ( const Elem *  elem,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 638 of file DisplacedProblem.C.

639{
640 for (auto & nl : _displaced_solver_systems)
641 nl->prepareFace(tid, true);
642 _displaced_aux->prepareFace(tid, false);
643}
virtual void prepareFace(const Elem *elem, const THREAD_ID tid) override

◆ prepareFaceShapes()

void DisplacedProblem::prepareFaceShapes ( unsigned int  var,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 1093 of file DisplacedProblem.C.

1094{
1095 _assembly[tid][currentNlSysNum()]->copyFaceShapes(var);
1096}

◆ prepareNeighborShapes()

void DisplacedProblem::prepareNeighborShapes ( unsigned int  var,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 1099 of file DisplacedProblem.C.

1100{
1101 _assembly[tid][currentNlSysNum()]->copyNeighborShapes(var);
1102}

◆ prepareNonlocal()

void DisplacedProblem::prepareNonlocal ( const THREAD_ID  tid)
virtual

Definition at line 632 of file DisplacedProblem.C.

633{
634 _assembly[tid][currentNlSysNum()]->prepareNonlocal();
635}

◆ preparePRefinement()

void SubProblem::preparePRefinement ( )
inherited

Prepare DofMap and Assembly classes with our p-refinement information.

Definition at line 1351 of file SubProblem.C.

1352{
1353 std::unordered_set<FEFamily> disable_families;
1354 for (const auto & [family, flag] : _family_for_p_refinement)
1355 if (flag)
1356 disable_families.insert(family);
1357
1358 for (const auto tid : make_range(libMesh::n_threads()))
1359 for (const auto s : make_range(numNonlinearSystems()))
1360 assembly(tid, s).havePRefinement(disable_families);
1361
1362 auto & eq = es();
1363 for (const auto family : disable_families)
1364 for (const auto i : make_range(eq.n_systems()))
1365 {
1366 auto & system = eq.get_system(i);
1367 auto & dof_map = system.get_dof_map();
1368 for (const auto vg : make_range(system.n_variable_groups()))
1369 {
1370 const auto & var_group = system.variable_group(vg);
1371 if (var_group.type().family == family)
1372 dof_map.should_p_refine(vg, false);
1373 }
1374 }
1375
1376 _have_p_refinement = true;
1377}
for(PetscInt i=0;i< nvars;++i)
bool havePRefinement() const
Query whether p-refinement has been requested at any point during the simulation.

Referenced by FEProblemBase::init().

◆ prepareShapes()

void DisplacedProblem::prepareShapes ( unsigned int  var,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 1087 of file DisplacedProblem.C.

1088{
1089 _assembly[tid][currentNlSysNum()]->copyShapes(var);
1090}

◆ queryParam()

template<typename T >
const T * MooseBase::queryParam ( const std::string &  name) const
inherited

Query a parameter for the object.

If a parameter of the given name and type does not exist or if the parameter is not valid, nullptr will be returned

Parameters
nameThe name of the parameter
Returns
A pointer to the parameter value, if it exists

Definition at line 413 of file MooseBase.h.

414{
415 return _pars.queryParam<T>(name);
416}
const T * queryParam(const std::string &name) const
Query a parameter.

Referenced by MFEMExecutedObject::getRequestedItems(), and MFEMGeometricMultigridSolver::MFEMGeometricMultigridSolver().

◆ refMesh()

MooseMesh & DisplacedProblem::refMesh ( )

Definition at line 1168 of file DisplacedProblem.C.

1169{
1170 return _ref_mesh;
1171}

Referenced by updateMesh().

◆ registerInvalidSolutionInternal()

InvalidSolutionID SolutionInvalidInterface::registerInvalidSolutionInternal ( const std::string &  message,
const bool  warning 
) const
protectedinherited

Definition at line 55 of file SolutionInvalidInterface.C.

57{
59 _si_moose_base.type(), message, warning);
60}
InvalidSolutionID registerInvalidity(const std::string &object_type, const std::string &message, const bool warning)
Call to register an invalid calculation.

◆ registerTimedSection() [1/2]

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level 
) const
protectedinherited

Call to register a named section for timing.

Parameters
section_nameThe name of the code section to be timed
levelThe importance of the timer - lower is more important (0 will always come out)
Returns
The ID of the section - use when starting timing

Definition at line 61 of file PerfGraphInterface.C.

63{
64 const auto timed_section_name = timedSectionName(section_name);
65 if (!moose::internal::getPerfGraphRegistry().sectionExists(timed_section_name))
66 return moose::internal::getPerfGraphRegistry().registerSection(timed_section_name, level);
67 else
68 return moose::internal::getPerfGraphRegistry().sectionID(timed_section_name);
69}
std::string timedSectionName(const std::string &section_name) const
PerfID sectionID(const std::string &section_name) const
Given a name return the PerfID @section_name The name of the section.
PerfID registerSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
PerfGraphRegistry & getPerfGraphRegistry()
Get the global PerfGraphRegistry singleton.

◆ registerTimedSection() [2/2]

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level,
const std::string &  live_message,
const bool  print_dots = true 
) const
protectedinherited

Call to register a named section for timing.

Parameters
section_nameThe name of the code section to be timed
levelThe importance of the timer - lower is more important (0 will always come out)
live_messageThe message to be printed to the screen during execution
print_dotsWhether or not progress dots should be printed for this section
Returns
The ID of the section - use when starting timing

Definition at line 72 of file PerfGraphInterface.C.

76{
77 const auto timed_section_name = timedSectionName(section_name);
78 if (!moose::internal::getPerfGraphRegistry().sectionExists(timed_section_name))
80 timedSectionName(section_name), level, live_message, print_dots);
81 else
82 return moose::internal::getPerfGraphRegistry().sectionID(timed_section_name);
83}

◆ registerUnfilledFunctorRequest()

template<typename T >
void SubProblem::registerUnfilledFunctorRequest ( T *  functor_interface,
const std::string &  functor_name,
const THREAD_ID  tid 
)
inherited

Register an unfulfilled functor request.

◆ reinitDirac()

bool DisplacedProblem::reinitDirac ( const Elem *  elem,
const THREAD_ID  tid 
)
overridevirtual

Returns true if the Problem has Dirac kernels it needs to compute on elem.

Implements SubProblem.

Definition at line 700 of file DisplacedProblem.C.

701{
702 std::vector<Point> & points = _dirac_kernel_info.getPoints()[elem].first;
703
704 unsigned int n_points = points.size();
705
706 if (n_points)
707 {
708 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
709 {
710 _assembly[tid][nl_sys_num]->reinitAtPhysical(elem, points);
711 _displaced_solver_systems[nl_sys_num]->prepare(tid);
712 }
713 _displaced_aux->prepare(tid);
714
715 reinitElem(elem, tid);
716 }
717
718 _assembly[tid][currentNlSysNum()]->prepare();
719
720 return n_points > 0;
721}
MultiPointMap & getPoints()
Returns a writeable reference to the _points container.
virtual void reinitElem(const Elem *elem, const THREAD_ID tid) override

◆ reinitElem()

void DisplacedProblem::reinitElem ( const Elem *  elem,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 724 of file DisplacedProblem.C.

725{
726 for (auto & nl : _displaced_solver_systems)
727 nl->reinitElem(elem, tid);
728 _displaced_aux->reinitElem(elem, tid);
729}

Referenced by reinitDirac(), and reinitElemPhys().

◆ reinitElemFace()

void DisplacedProblem::reinitElemFace ( const Elem *  elem,
unsigned int  side,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 751 of file DisplacedProblem.C.

752{
753 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
754 {
755 _assembly[tid][nl_sys_num]->reinit(elem, side);
756 _displaced_solver_systems[nl_sys_num]->reinitElemFace(elem, side, tid);
757 }
758 _displaced_aux->reinitElemFace(elem, side, tid);
759}

◆ reinitElemFaceRef()

void SubProblem::reinitElemFaceRef ( const Elem *  elem,
unsigned int  side,
Real  tolerance,
const std::vector< Point > *const  pts,
const std::vector< Real > *const  weights = nullptr,
const THREAD_ID  tid = 0 
)
virtualinherited

reinitialize FE objects on a given element on a given side at a given set of reference points and then compute variable data.

Note that this method makes no assumptions about what's been called beforehand, e.g. you don't have to call some prepare method before this one. This is an all-in-one reinit

Reimplemented in FEProblemBase.

Definition at line 881 of file SubProblem.C.

887{
888 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
889 {
890 // - Set our _current_elem for proper dof index getting in the moose variables
891 // - Reinitialize all of our FE objects so we have current phi, dphi, etc. data
892 // Note that our number of shape functions will reflect the number of shapes associated with the
893 // interior element while the number of quadrature points will be determined by the passed pts
894 // parameter (which presumably will have a number of pts reflective of a facial quadrature rule)
895 assembly(tid, nl_sys_num).reinitElemFaceRef(elem, side, tolerance, pts, weights);
896
897 auto & nl = systemBaseNonlinear(nl_sys_num);
898
899 // Actually get the dof indices in the moose variables
900 nl.prepare(tid);
901
902 // Let's finally compute our variable values!
903 nl.reinitElemFace(elem, side, tid);
904 }
905
906 // do same for aux as for nl
908 systemBaseAuxiliary().reinitElemFace(elem, side, tid);
909
910 // With the dof indices set in the moose variables, now let's properly size
911 // our local residuals/Jacobians
912 auto & current_assembly = assembly(tid, currentNlSysNum());
914 current_assembly.prepareJacobianBlock();
916 current_assembly.prepareResidual();
917}
void reinitElemFaceRef(const Elem *elem, unsigned int elem_side, Real tolerance, const std::vector< Point > *const pts=nullptr, const std::vector< Real > *const weights=nullptr)
Reinitialize FE data for the given element on the given side, optionally with a given set of referenc...
Definition Assembly.C:2019
const bool & currentlyComputingJacobian() const
Returns true if the problem is in the process of computing the Jacobian.
Definition SubProblem.h:692
const bool & currentlyComputingResidualAndJacobian() const
Returns true if the problem is in the process of computing the residual and the Jacobian.
virtual void prepare(THREAD_ID tid)
Prepare the system for use.
Definition SystemBase.C:255
virtual void reinitElemFace(const Elem *elem, unsigned int side, THREAD_ID tid)
Reinit assembly info for a side of an element.
Definition SystemBase.C:365

Referenced by FEProblemBase::reinitElemFaceRef().

◆ reinitElemNeighborAndLowerD()

void DisplacedProblem::reinitElemNeighborAndLowerD ( const Elem *  elem,
unsigned int  side,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 873 of file DisplacedProblem.C.

876{
877 reinitNeighbor(elem, side, tid);
878
879 const Elem * lower_d_elem = _mesh.getLowerDElem(elem, side);
880 if (lower_d_elem && _mesh.interiorLowerDBlocks().count(lower_d_elem->subdomain_id()) > 0)
881 reinitLowerDElem(lower_d_elem, tid);
882 else
883 {
884 // with mesh refinement, lower-dimensional element might be defined on neighbor side
885 auto & neighbor = _assembly[tid][currentNlSysNum()]->neighbor();
886 auto & neighbor_side = _assembly[tid][currentNlSysNum()]->neighborSide();
887 const Elem * lower_d_elem_neighbor = _mesh.getLowerDElem(neighbor, neighbor_side);
888 if (lower_d_elem_neighbor &&
889 _mesh.interiorLowerDBlocks().count(lower_d_elem_neighbor->subdomain_id()) > 0)
890 {
891 auto qps = _assembly[tid][currentNlSysNum()]->qPointsFaceNeighbor().stdVector();
892 std::vector<Point> reference_points;
893 FEMap::inverse_map(
894 lower_d_elem_neighbor->dim(), lower_d_elem_neighbor, qps, reference_points);
895 reinitLowerDElem(lower_d_elem_neighbor, tid, &qps);
896 }
897 }
898}
virtual void reinitNeighbor(const Elem *elem, unsigned int side, const THREAD_ID tid) override
const Elem * getLowerDElem(const Elem *, unsigned short int) const
Returns a const pointer to a lower dimensional element that corresponds to a side of a higher dimensi...
Definition MooseMesh.C:1693
const std::set< SubdomainID > & interiorLowerDBlocks() const
Definition MooseMesh.h:1550
virtual void reinitLowerDElem(const Elem *lower_d_elem, const THREAD_ID tid, const std::vector< Point > *const pts=nullptr, const std::vector< Real > *const weights=nullptr)
Definition SubProblem.C:956

◆ reinitElemPhys()

void DisplacedProblem::reinitElemPhys ( const Elem *  elem,
const std::vector< Point > &  phys_points_in_elem,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 732 of file DisplacedProblem.C.

735{
736 mooseAssert(_mesh.queryElemPtr(elem->id()) == elem,
737 "Are you calling this method with a undisplaced mesh element?");
738
739 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
740 {
741 _assembly[tid][nl_sys_num]->reinitAtPhysical(elem, phys_points_in_elem);
742 _displaced_solver_systems[nl_sys_num]->prepare(tid);
743 _assembly[tid][nl_sys_num]->prepare();
744 }
745 _displaced_aux->prepare(tid);
746
747 reinitElem(elem, tid);
748}
virtual Elem * queryElemPtr(const dof_id_type i)
Definition MooseMesh.C:3234

◆ reinitFVFace()

void SubProblem::reinitFVFace ( const THREAD_ID  tid,
const FaceInfo fi 
)
inherited

reinitialize the finite volume assembly data for the provided face and thread

Definition at line 1303 of file SubProblem.C.

1304{
1305 for (const auto nl : make_range(numNonlinearSystems()))
1306 assembly(tid, nl).reinitFVFace(fi);
1307}
void reinitFVFace(const THREAD_ID tid, const FaceInfo &fi)
reinitialize the finite volume assembly data for the provided face and thread

◆ reinitGeomSearch()

void SubProblem::reinitGeomSearch ( )
inherited

reinitialize this object's geometric search data, e.g.

do things like clear and re-add quadrature nodes

Definition at line 1421 of file SubProblem.C.

1422{
1424}
void reinit()
Completely redo all geometric search objects.
virtual GeometricSearchData & geomSearchData()=0

◆ reinitLowerDElem()

void SubProblem::reinitLowerDElem ( const Elem *  lower_d_elem,
const THREAD_ID  tid,
const std::vector< Point > *const  pts = nullptr,
const std::vector< Real > *const  weights = nullptr 
)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 956 of file SubProblem.C.

960{
961 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
962 {
963 // - Set our _current_lower_d_elem for proper dof index getting in the moose variables
964 // - Reinitialize all of our lower-d FE objects so we have current phi, dphi, etc. data
965 assembly(tid, nl_sys_num).reinitLowerDElem(elem, pts, weights);
966
967 auto & nl = systemBaseNonlinear(nl_sys_num);
968
969 // Actually get the dof indices in the moose variables
970 nl.prepareLowerD(tid);
971
972 // With the dof indices set in the moose variables, now let's properly size
973 // our local residuals/Jacobians
974 assembly(tid, nl_sys_num).prepareLowerD();
975
976 // Let's finally compute our variable values!
977 nl.reinitLowerD(tid);
978 }
979
980 // do same for aux as for nl
983}
void prepareLowerD()
Prepare the Jacobians and residuals for a lower dimensional element.
Definition Assembly.C:2848
void reinitLowerDElem(const Elem *elem, const std::vector< Point > *const pts=nullptr, const std::vector< Real > *const weights=nullptr)
Reinitialize FE data for a lower dimenesional element with a given set of reference points.
Definition Assembly.C:2290
virtual void reinitLowerD(THREAD_ID tid)
Compute the values of the variables on the lower dimensional element.
Definition SystemBase.C:389
virtual void prepareLowerD(THREAD_ID tid)
Prepare the system for use for lower dimensional elements.
Definition SystemBase.C:331

Referenced by Moose::Mortar::loopOverMortarSegments(), reinitElemNeighborAndLowerD(), and FEProblemBase::reinitLowerDElem().

◆ reinitMortarElem()

void SubProblem::reinitMortarElem ( const Elem *  elem,
const THREAD_ID  tid = 0 
)
inherited

Reinit a mortar element to obtain a valid JxW.

Definition at line 1009 of file SubProblem.C.

1010{
1011 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
1012 assembly(tid, nl_sys_num).reinitMortarElem(elem);
1013}
void reinitMortarElem(const Elem *elem, const THREAD_ID tid=0)
Reinit a mortar element to obtain a valid JxW.

Referenced by Moose::Mortar::loopOverMortarSegments().

◆ reinitNeighbor() [1/2]

void DisplacedProblem::reinitNeighbor ( const Elem *  elem,
unsigned int  side,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 784 of file DisplacedProblem.C.

785{
786 reinitNeighbor(elem, side, tid, nullptr);
787}

Referenced by reinitElemNeighborAndLowerD(), and reinitNeighbor().

◆ reinitNeighbor() [2/2]

void DisplacedProblem::reinitNeighbor ( const Elem *  elem,
unsigned int  side,
const THREAD_ID  tid,
const std::vector< Point > *  neighbor_reference_points 
)

reinitialize neighbor routine

Parameters
elemThe element driving the reinit (note that this is not the neighbor)
sideThe side, e.g. face, of the elem that we want to reinit
tidThe thread for which we are reiniting
neighbor_reference_pointsSpecify the referrence points for the neighbor element. Useful if the element and neighbor faces are not coincident

Definition at line 790 of file DisplacedProblem.C.

794{
795 setNeighborSubdomainID(elem, side, tid);
796
797 const Elem * neighbor = elem->neighbor_ptr(side);
798 unsigned int neighbor_side = neighbor->which_neighbor_am_i(elem);
799
800 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
801 {
802 _assembly[tid][nl_sys_num]->reinitElemAndNeighbor(
803 elem, side, neighbor, neighbor_side, neighbor_reference_points);
804 _displaced_solver_systems[nl_sys_num]->prepareNeighbor(tid);
805 // Called during stateful material property evaluation outside of solve
806 _assembly[tid][nl_sys_num]->prepareNeighbor();
807 }
808 _displaced_aux->prepareNeighbor(tid);
809
810 for (auto & nl : _displaced_solver_systems)
811 {
812 nl->reinitElemFace(elem, side, tid);
813 nl->reinitNeighborFace(neighbor, neighbor_side, tid);
814 }
815 _displaced_aux->reinitElemFace(elem, side, tid);
816 _displaced_aux->reinitNeighborFace(neighbor, neighbor_side, tid);
817}
virtual void setNeighborSubdomainID(const Elem *elem, unsigned int side, const THREAD_ID tid) override

◆ reinitNeighborFaceRef()

void SubProblem::reinitNeighborFaceRef ( const Elem *  neighbor_elem,
unsigned int  neighbor_side,
Real  tolerance,
const std::vector< Point > *const  pts,
const std::vector< Real > *const  weights = nullptr,
const THREAD_ID  tid = 0 
)
virtualinherited

reinitialize FE objects on a given neighbor element on a given side at a given set of reference points and then compute variable data.

Note that this method makes no assumptions about what's been called beforehand, e.g. you don't have to call some prepare method before this one. This is an all-in-one reinit

Reimplemented in FEProblemBase.

Definition at line 920 of file SubProblem.C.

926{
927 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
928 {
929 // - Set our _current_neighbor_elem for proper dof index getting in the moose variables
930 // - Reinitialize all of our FE objects so we have current phi, dphi, etc. data
931 // Note that our number of shape functions will reflect the number of shapes associated with the
932 // interior element while the number of quadrature points will be determined by the passed pts
933 // parameter (which presumably will have a number of pts reflective of a facial quadrature rule)
934 assembly(tid, nl_sys_num)
935 .reinitNeighborFaceRef(neighbor_elem, neighbor_side, tolerance, pts, weights);
936
937 auto & nl = systemBaseNonlinear(nl_sys_num);
938
939 // Actually get the dof indices in the moose variables
940 nl.prepareNeighbor(tid);
941
942 // Let's finally compute our variable values!
943 nl.reinitNeighborFace(neighbor_elem, neighbor_side, tid);
944 }
945
946 // do same for aux as for nl
948 systemBaseAuxiliary().reinitNeighborFace(neighbor_elem, neighbor_side, tid);
949
950 // With the dof indices set in the moose variables, now let's properly size
951 // our local residuals/Jacobians
953}
void reinitNeighborFaceRef(const Elem *neighbor_elem, unsigned int neighbor_side, Real tolerance, const std::vector< Point > *const pts, const std::vector< Real > *const weights=nullptr)
Reinitialize FE data for the given neighbor_element on the given side with a given set of reference p...
Definition Assembly.C:2194
void prepareNeighbor()
Definition Assembly.C:2810
virtual void prepareNeighbor(THREAD_ID tid)
Prepare the system for use.
Definition SystemBase.C:323
virtual void reinitNeighborFace(const Elem *elem, unsigned int side, THREAD_ID tid)
Compute the values of the variables at all the current points.
Definition SystemBase.C:373

Referenced by FEProblemBase::reinitNeighborFaceRef().

◆ reinitNeighborLowerDElem()

void SubProblem::reinitNeighborLowerDElem ( const Elem *  elem,
const THREAD_ID  tid = 0 
)
inherited

reinitialize a neighboring lower dimensional element

Definition at line 1002 of file SubProblem.C.

1003{
1004 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
1005 assembly(tid, nl_sys_num).reinitNeighborLowerDElem(elem);
1006}
void reinitNeighborLowerDElem(const Elem *elem, const THREAD_ID tid=0)
reinitialize a neighboring lower dimensional element

Referenced by Moose::Mortar::loopOverMortarSegments().

◆ reinitNeighborPhys() [1/2]

void DisplacedProblem::reinitNeighborPhys ( const Elem *  neighbor,
const std::vector< Point > &  physical_points,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 847 of file DisplacedProblem.C.

850{
851 mooseAssert(_mesh.queryElemPtr(neighbor->id()) == neighbor,
852 "Are you calling this method with a undisplaced mesh element?");
853
854 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
855 {
856 // Reinit shape functions
857 _assembly[tid][nl_sys_num]->reinitNeighborAtPhysical(neighbor, physical_points);
858
859 // Set the neighbor dof indices
860 _displaced_solver_systems[nl_sys_num]->prepareNeighbor(tid);
861 }
862 _displaced_aux->prepareNeighbor(tid);
863
865
866 // Compute values at the points
867 for (auto & nl : _displaced_solver_systems)
868 nl->reinitNeighbor(neighbor, tid);
869 _displaced_aux->reinitNeighbor(neighbor, tid);
870}
virtual void prepareAssemblyNeighbor(const THREAD_ID tid)

◆ reinitNeighborPhys() [2/2]

void DisplacedProblem::reinitNeighborPhys ( const Elem *  neighbor,
unsigned int  neighbor_side,
const std::vector< Point > &  physical_points,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 820 of file DisplacedProblem.C.

824{
825 mooseAssert(_mesh.queryElemPtr(neighbor->id()) == neighbor,
826 "Are you calling this method with a undisplaced mesh element?");
827
828 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
829 {
830 // Reinit shape functions
831 _assembly[tid][nl_sys_num]->reinitNeighborAtPhysical(neighbor, neighbor_side, physical_points);
832
833 // Set the neighbor dof indices
834 _displaced_solver_systems[nl_sys_num]->prepareNeighbor(tid);
835 }
836 _displaced_aux->prepareNeighbor(tid);
837
839
840 // Compute values at the points
841 for (auto & nl : _displaced_solver_systems)
842 nl->reinitNeighborFace(neighbor, neighbor_side, tid);
843 _displaced_aux->reinitNeighborFace(neighbor, neighbor_side, tid);
844}

◆ reinitNode()

void DisplacedProblem::reinitNode ( const Node *  node,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 762 of file DisplacedProblem.C.

763{
764 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
765 {
766 _assembly[tid][nl_sys_num]->reinit(node);
767 _displaced_solver_systems[nl_sys_num]->reinitNode(node, tid);
768 }
769 _displaced_aux->reinitNode(node, tid);
770}

◆ reinitNodeFace()

void DisplacedProblem::reinitNodeFace ( const Node *  node,
BoundaryID  bnd_id,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 773 of file DisplacedProblem.C.

774{
775 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
776 {
777 _assembly[tid][nl_sys_num]->reinit(node);
778 _displaced_solver_systems[nl_sys_num]->reinitNodeFace(node, bnd_id, tid);
779 }
780 _displaced_aux->reinitNodeFace(node, bnd_id, tid);
781}

◆ reinitNodes()

void SubProblem::reinitNodes ( const std::vector< dof_id_type > &  nodes,
const THREAD_ID  tid 
)
inherited

Definition at line 986 of file SubProblem.C.

987{
988 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
989 systemBaseNonlinear(nl_sys_num).reinitNodes(nodes, tid);
990 systemBaseAuxiliary().reinitNodes(nodes, tid);
991}
void reinitNodes(const std::vector< dof_id_type > &nodes, const THREAD_ID tid)
Definition SubProblem.C:986
virtual void reinitNodes(const std::vector< dof_id_type > &nodes, THREAD_ID tid)
Reinit variables at a set of nodes.
Definition SystemBase.C:421

Referenced by AuxNodalScalarKernel::compute(), NodalScalarKernel::reinit(), and NodalConstraint::reinitConstraintNodes().

◆ reinitNodesNeighbor()

void SubProblem::reinitNodesNeighbor ( const std::vector< dof_id_type > &  nodes,
const THREAD_ID  tid 
)
inherited

Definition at line 994 of file SubProblem.C.

995{
996 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
997 systemBaseNonlinear(nl_sys_num).reinitNodesNeighbor(nodes, tid);
999}
void reinitNodesNeighbor(const std::vector< dof_id_type > &nodes, const THREAD_ID tid)
Definition SubProblem.C:994
virtual void reinitNodesNeighbor(const std::vector< dof_id_type > &nodes, THREAD_ID tid)
Reinit variables at a set of neighbor nodes.
Definition SystemBase.C:432

Referenced by NodalConstraint::reinitConstraintNodes().

◆ reinitOffDiagScalars()

void DisplacedProblem::reinitOffDiagScalars ( const THREAD_ID  tid)
overridevirtual

Implements SubProblem.

Definition at line 910 of file DisplacedProblem.C.

911{
912 _assembly[tid][currentNlSysNum()]->prepareOffDiagScalar();
913}

◆ reinitScalars()

void DisplacedProblem::reinitScalars ( const THREAD_ID  tid,
bool  reinit_for_derivative_reordering = false 
)
overridevirtual

fills the VariableValue arrays for scalar variables from the solution vector

Parameters
tidThe thread id
reinit_for_derivative_reorderingA flag indicating whether we are reinitializing for the purpose of re-ordering derivative information for ADNodalBCs

Implements SubProblem.

Definition at line 901 of file DisplacedProblem.C.

903{
904 for (auto & nl : _displaced_solver_systems)
905 nl->reinitScalars(tid, reinit_for_derivative_reordering);
906 _displaced_aux->reinitScalars(tid, reinit_for_derivative_reordering);
907}
virtual void reinitScalars(const THREAD_ID tid, bool reinit_for_derivative_reordering=false) override
fills the VariableValue arrays for scalar variables from the solution vector

◆ removeAlgebraicGhostingFunctor()

void SubProblem::removeAlgebraicGhostingFunctor ( libMesh::GhostingFunctor algebraic_gf)
inherited

Remove an algebraic ghosting functor from this problem's DofMaps.

Definition at line 1082 of file SubProblem.C.

1083{
1084 EquationSystems & eq = es();
1085 const auto n_sys = eq.n_systems();
1086 DofMap & nl_dof_map = eq.get_system(0).get_dof_map();
1087
1088 const bool found_in_root_sys =
1089 std::find(nl_dof_map.algebraic_ghosting_functors_begin(),
1090 nl_dof_map.algebraic_ghosting_functors_end(),
1091 &algebraic_gf) != nl_dof_map.algebraic_ghosting_functors_end();
1092
1093#ifndef NDEBUG
1094 const bool found_in_our_map =
1095 _root_alg_gf_to_sys_clones.find(&algebraic_gf) != _root_alg_gf_to_sys_clones.end();
1096 mooseAssert(found_in_root_sys == found_in_our_map,
1097 "If the ghosting functor exists in the root DofMap, then we need to have a key for "
1098 "it in our gf to clones map");
1099#endif
1100
1101 if (found_in_root_sys) // libMesh yells if we try to remove
1102 // something that's not there
1103 nl_dof_map.remove_algebraic_ghosting_functor(algebraic_gf);
1104
1105 auto it = _root_alg_gf_to_sys_clones.find(&algebraic_gf);
1106 if (it == _root_alg_gf_to_sys_clones.end())
1107 return;
1108
1109 auto & clones_vec = it->second;
1110 mooseAssert((n_sys - 1) == clones_vec.size(),
1111 "The size of the gf clones vector doesn't match the number of systems minus one");
1112 if (clones_vec.empty())
1113 {
1114 mooseAssert(n_sys == 1, "The clones vector should only be empty if there is only one system");
1115 return;
1116 }
1117
1118 for (const auto i : make_range(n_sys))
1119 eq.get_system(i + 1).get_dof_map().remove_algebraic_ghosting_functor(*clones_vec[i]);
1120
1121 _root_alg_gf_to_sys_clones.erase(it->first);
1122}

◆ removeCouplingGhostingFunctor()

void SubProblem::removeCouplingGhostingFunctor ( libMesh::GhostingFunctor coupling_gf)
inherited

Remove a coupling ghosting functor from this problem's DofMaps.

Definition at line 1125 of file SubProblem.C.

1126{
1127 EquationSystems & eq = es();
1128 const auto num_nl_sys = numNonlinearSystems();
1129 if (!num_nl_sys)
1130 return;
1131
1132 DofMap & nl_dof_map = eq.get_system(0).get_dof_map();
1133 const bool found_in_root_sys = std::find(nl_dof_map.coupling_functors_begin(),
1134 nl_dof_map.coupling_functors_end(),
1135 &coupling_gf) != nl_dof_map.coupling_functors_end();
1136
1137#ifndef NDEBUG
1138 const bool found_in_our_map =
1140 mooseAssert(found_in_root_sys == found_in_our_map,
1141 "If the ghosting functor exists in the root DofMap, then we need to have a key for "
1142 "it in our gf to clones map");
1143#endif
1144
1145 if (found_in_root_sys) // libMesh yells if we try to remove
1146 // something that's not there
1147 nl_dof_map.remove_coupling_functor(coupling_gf);
1148
1149 auto it = _root_coupling_gf_to_sys_clones.find(&coupling_gf);
1150 if (it == _root_coupling_gf_to_sys_clones.end())
1151 return;
1152
1153 auto & clones_vec = it->second;
1154 mooseAssert((num_nl_sys - 1) == clones_vec.size(),
1155 "The size of the gf clones vector doesn't match the number of systems minus one");
1156 if (clones_vec.empty())
1157 {
1158 mooseAssert(num_nl_sys == 1,
1159 "The clones vector should only be empty if there is only one nonlinear system");
1160 return;
1161 }
1162
1163 for (const auto i : make_range(num_nl_sys))
1164 eq.get_system(i + 1).get_dof_map().remove_coupling_functor(*clones_vec[i]);
1165
1166 _root_coupling_gf_to_sys_clones.erase(it->first);
1167}

◆ residualSetup()

void DisplacedProblem::residualSetup ( )
overridevirtual

Reimplemented from SubProblem.

Definition at line 1280 of file DisplacedProblem.C.

1281{
1283
1284 for (auto & nl : _displaced_solver_systems)
1285 nl->residualSetup();
1286 _displaced_aux->residualSetup();
1287}
virtual void residualSetup() override
virtual void residualSetup()

◆ restoreOldSolutions()

void DisplacedProblem::restoreOldSolutions ( )
virtual

Restore old solutions from the backup vectors and deallocate them.

Definition at line 216 of file DisplacedProblem.C.

217{
218 for (auto & displaced_nl : _displaced_solver_systems)
219 displaced_nl->restoreOldSolutions();
220 _displaced_aux->restoreOldSolutions();
221}
virtual void restoreOldSolutions()
Restore old solutions from the backup vectors and deallocate them.

◆ restrictionBoundaryCheckName()

std::string SubProblem::restrictionBoundaryCheckName ( BoundaryID  check_id)
privateinherited

Definition at line 782 of file SubProblem.C.

783{
784 return mesh().getMesh().get_boundary_info().sideset_name(check_id);
785}

Referenced by SubProblem::checkBoundaryMatProps().

◆ restrictionSubdomainCheckName()

std::string SubProblem::restrictionSubdomainCheckName ( SubdomainID  check_id)
privateinherited

Helper functions for checking MaterialProperties.

Definition at line 771 of file SubProblem.C.

772{
773 // TODO: Put a better a interface in MOOSE
774 std::map<subdomain_id_type, std::string> & name_map = mesh().getMesh().set_subdomain_name_map();
775 std::map<subdomain_id_type, std::string>::const_iterator pos = name_map.find(check_id);
776 if (pos != name_map.end())
777 return pos->second;
778 return "";
779}

Referenced by SubProblem::checkBlockMatProps().

◆ safeAccessTaggedMatrices()

bool DisplacedProblem::safeAccessTaggedMatrices ( ) const
overridevirtual

Is it safe to access the tagged matrices.

Reimplemented from SubProblem.

Definition at line 1356 of file DisplacedProblem.C.

1357{
1359}
virtual bool safeAccessTaggedMatrices() const
Is it safe to access the tagged matrices.
Definition SubProblem.h:739

◆ safeAccessTaggedVectors()

bool DisplacedProblem::safeAccessTaggedVectors ( ) const
overridevirtual

Is it safe to access the tagged vectors.

Reimplemented from SubProblem.

Definition at line 1362 of file DisplacedProblem.C.

1363{
1365}
virtual bool safeAccessTaggedVectors() const
Is it safe to access the tagged vectors.
Definition SubProblem.h:742

◆ saveOldSolutions()

void DisplacedProblem::saveOldSolutions ( )
virtual

Allocate vectors and save old solutions into them.

Definition at line 208 of file DisplacedProblem.C.

209{
210 for (auto & displaced_nl : _displaced_solver_systems)
211 displaced_nl->saveOldSolutions();
212 _displaced_aux->saveOldSolutions();
213}
virtual void saveOldSolutions()
Allocate vectors and save old solutions into them.

◆ selectMatrixTagsFromSystem()

void SubProblem::selectMatrixTagsFromSystem ( const SystemBase system,
const std::map< TagName, TagID > &  input_matrix_tags,
std::set< TagID > &  selected_tags 
)
staticinherited

Select the matrix tags which belong to a specific system.

Parameters
systemReference to the system
input_matrix_tagsA map of matrix tags
selected_tagsA set which gets populated by the tag-ids that belong to the system

Definition at line 299 of file SubProblem.C.

302{
303 selected_tags.clear();
304 for (const auto & matrix_tag_pair : input_matrix_tags)
305 if (system.hasMatrix(matrix_tag_pair.second))
306 selected_tags.insert(matrix_tag_pair.second);
307}

Referenced by FEProblemBase::computeLinearSystemSys().

◆ selectVectorTagsFromSystem()

void SubProblem::selectVectorTagsFromSystem ( const SystemBase system,
const std::vector< VectorTag > &  input_vector_tags,
std::set< TagID > &  selected_tags 
)
staticinherited

Select the vector tags which belong to a specific system.

Parameters
systemReference to the system
input_vector_tagsA vector of vector tags
selected_tagsA set which gets populated by the tag-ids that belong to the system

Definition at line 288 of file SubProblem.C.

291{
292 selected_tags.clear();
293 for (const auto & vector_tag : input_vector_tags)
294 if (system.hasVector(vector_tag._id))
295 selected_tags.insert(vector_tag._id);
296}

Referenced by FEProblemBase::computeLinearSystemSys(), FEProblemBase::computeResidualAndJacobian(), and ComputeResidualAndJacobianThread::determineObjectWarehouses().

◆ setActiveElementalMooseVariables()

void SubProblem::setActiveElementalMooseVariables ( const std::set< MooseVariableFieldBase * > &  moose_vars,
const THREAD_ID  tid 
)
virtualinherited

Set the MOOSE variables to be reinited on each element.

Parameters
moose_varsA set of variables that need to be reinited each time reinit() is called.
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 442 of file SubProblem.C.

444{
445 if (!moose_vars.empty())
446 {
448 _active_elemental_moose_variables[tid] = moose_vars;
449 }
450}

Referenced by FEProblemBase::setActiveElementalMooseVariables().

◆ setActiveFEVariableCoupleableMatrixTags()

void SubProblem::setActiveFEVariableCoupleableMatrixTags ( std::set< TagID > &  mtags,
const THREAD_ID  tid 
)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 362 of file SubProblem.C.

363{
365}

Referenced by FEProblemBase::setActiveFEVariableCoupleableMatrixTags().

◆ setActiveFEVariableCoupleableVectorTags()

void SubProblem::setActiveFEVariableCoupleableVectorTags ( std::set< TagID > &  vtags,
const THREAD_ID  tid 
)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 368 of file SubProblem.C.

369{
371 for (const auto sys_num : make_range(numSolverSystems()))
372 systemBaseSolver(sys_num).setActiveVariableCoupleableVectorTags(vtags, tid);
374}
virtual std::size_t numSolverSystems() const =0
virtual const SystemBase & systemBaseSolver(const unsigned int sys_num) const =0
Return the solver system object as a base class reference given the system number.
void setActiveVariableCoupleableVectorTags(const std::set< TagID > &vtags, THREAD_ID tid)
Set the active vector tags for the variables.

Referenced by FEProblemBase::setActiveFEVariableCoupleableVectorTags().

◆ setActiveScalarVariableCoupleableMatrixTags()

void SubProblem::setActiveScalarVariableCoupleableMatrixTags ( std::set< TagID > &  mtags,
const THREAD_ID  tid 
)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 401 of file SubProblem.C.

403{
405}

Referenced by FEProblemBase::setActiveScalarVariableCoupleableMatrixTags().

◆ setActiveScalarVariableCoupleableVectorTags()

void SubProblem::setActiveScalarVariableCoupleableVectorTags ( std::set< TagID > &  vtags,
const THREAD_ID  tid 
)
virtualinherited

Reimplemented in FEProblemBase.

Definition at line 408 of file SubProblem.C.

410{
412 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
415}
virtual void setActiveScalarVariableCoupleableVectorTags(std::set< TagID > &vtags, const THREAD_ID tid)
Definition SubProblem.C:408
void setActiveScalarVariableCoupleableVectorTags(const std::set< TagID > &vtags, THREAD_ID tid)
Set the active vector tags for the scalar variables.

Referenced by FEProblemBase::setActiveScalarVariableCoupleableVectorTags().

◆ setChainControlDataOutput()

void SubProblem::setChainControlDataOutput ( bool  set_output)
inlineinherited

Setter for debug chain control data output.

Definition at line 934 of file SubProblem.h.

934{ _show_chain_control_data = set_output; }
bool _show_chain_control_data
Whether to output a list of all the chain control data.

◆ setCurrentBoundaryID()

void SubProblem::setCurrentBoundaryID ( BoundaryID  bid,
const THREAD_ID  tid 
)
virtualinherited

sets the current boundary ID in assembly

Reimplemented in FEProblemBase.

Definition at line 788 of file SubProblem.C.

789{
790 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
791 assembly(tid, nl_sys_num).setCurrentBoundaryID(bid);
792}
virtual void setCurrentBoundaryID(BoundaryID bid, const THREAD_ID tid)
sets the current boundary ID in assembly
Definition SubProblem.C:788

Referenced by FEProblemBase::setCurrentBoundaryID().

◆ setCurrentLowerDElem()

void SubProblem::setCurrentLowerDElem ( const Elem *const  lower_d_elem,
const THREAD_ID  tid 
)
virtualinherited

Set the current lower dimensional element.

This can be null

Reimplemented in FEProblemBase.

Definition at line 1399 of file SubProblem.C.

1400{
1401 for (const auto nl_sys_num : make_range(numNonlinearSystems()))
1402 assembly(tid, nl_sys_num).setCurrentLowerDElem(lower_d_elem);
1403}
virtual void setCurrentLowerDElem(const Elem *const lower_d_elem, const THREAD_ID tid)
Set the current lower dimensional element.

Referenced by FEProblemBase::setCurrentLowerDElem().

◆ setCurrentlyComputingJacobian()

void SubProblem::setCurrentlyComputingJacobian ( const bool  currently_computing_jacobian)
inlineinherited

Set whether or not the problem is in the process of computing the Jacobian.

Definition at line 697 of file SubProblem.h.

698 {
699 _currently_computing_jacobian = currently_computing_jacobian;
700 }

Referenced by FEProblemBase::computeResidualAndJacobian(), and FEProblemBase::resetState().

◆ setCurrentlyComputingResidual()

virtual void SubProblem::setCurrentlyComputingResidual ( const bool  currently_computing_residual)
inlinevirtualinherited

Set whether or not the problem is in the process of computing the residual.

Reimplemented in FEProblemBase.

Definition at line 733 of file SubProblem.h.

734 {
735 _currently_computing_residual = currently_computing_residual;
736 }

◆ setCurrentlyComputingResidualAndJacobian()

void SubProblem::setCurrentlyComputingResidualAndJacobian ( bool  currently_computing_residual_and_jacobian)
inlineinherited

Set whether or not the problem is in the process of computing the Jacobian.

Definition at line 1511 of file SubProblem.h.

1513{
1514 _currently_computing_residual_and_jacobian = currently_computing_residual_and_jacobian;
1515}

Referenced by FEProblemBase::computeResidualAndJacobian(), and FEProblemBase::resetState().

◆ setCurrentSubdomainID()

void DisplacedProblem::setCurrentSubdomainID ( const Elem *  elem,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 662 of file DisplacedProblem.C.

663{
664 SubdomainID did = elem->subdomain_id();
665 for (auto & assembly : _assembly[tid])
667}
virtual Assembly & assembly(const THREAD_ID tid, const unsigned int sys_num) override
virtual void setCurrentSubdomainID(const Elem *elem, const THREAD_ID tid) override

◆ setFunctorOutput()

void SubProblem::setFunctorOutput ( bool  set_output)
inlineinherited

Setter for debug functor output.

Definition at line 932 of file SubProblem.h.

932{ _show_functors = set_output; }
bool _show_functors
Whether to output a list of the functors used and requested (currently only at initialSetup)

◆ setNeighborSubdomainID()

void DisplacedProblem::setNeighborSubdomainID ( const Elem *  elem,
unsigned int  side,
const THREAD_ID  tid 
)
overridevirtual

Implements SubProblem.

Definition at line 670 of file DisplacedProblem.C.

671{
672 SubdomainID did = elem->neighbor_ptr(side)->subdomain_id();
673 for (auto & assembly : _assembly[tid])
674 assembly->setCurrentNeighborSubdomainID(did);
675}

Referenced by reinitNeighbor().

◆ setResidual() [1/2]

virtual void SubProblem::setResidual ( libMesh::NumericVector< libMesh::Number > &  residual,
const THREAD_ID  tid 
)
pure virtualinherited

◆ setResidual() [2/2]

void DisplacedProblem::setResidual ( NumericVector< Number > &  residual,
const THREAD_ID  tid 
)
overridevirtual

Definition at line 986 of file DisplacedProblem.C.

987{
988 _assembly[tid][currentNlSysNum()]->setResidual(
989 residual,
992}

◆ setResidualNeighbor() [1/2]

virtual void SubProblem::setResidualNeighbor ( libMesh::NumericVector< libMesh::Number > &  residual,
const THREAD_ID  tid 
)
pure virtualinherited

◆ setResidualNeighbor() [2/2]

void DisplacedProblem::setResidualNeighbor ( NumericVector< Number > &  residual,
const THREAD_ID  tid 
)
overridevirtual

Definition at line 995 of file DisplacedProblem.C.

996{
997 _assembly[tid][currentNlSysNum()]->setResidualNeighbor(
998 residual,
1000 getVectorTag(_displaced_solver_systems[currentNlSysNum()]->residualVectorTag()));
1001}

◆ showFunctorRequestors()

void SubProblem::showFunctorRequestors ( ) const
privateinherited

Lists all functors and all the objects that requested them.

Definition at line 1278 of file SubProblem.C.

1279{
1280 for (const auto & [functor, requestors] : _functor_to_requestors)
1281 {
1282 _console << "[DBG] Requestors for wrapped functor "
1283 << std::regex_replace(functor, std::regex("wraps_"), "") << std::endl;
1284 _console << "[DBG] " << MooseUtils::join(requestors, " ") << std::endl;
1285 }
1286}

Referenced by SubProblem::initialSetup().

◆ showFunctors()

void SubProblem::showFunctors ( ) const
privateinherited

Lists all functors in the problem.

Definition at line 1266 of file SubProblem.C.

1267{
1268 _console << "[DBG] Wrapped functors found in Subproblem" << std::endl;
1269 std::string functor_names = "[DBG] ";
1270 for (const auto & functor_pair : _functors[0])
1271 functor_names += std::regex_replace(functor_pair.first, std::regex("wraps_"), "") + " ";
1272 if (functor_names.size())
1273 functor_names.pop_back();
1274 _console << functor_names << std::endl;
1275}

Referenced by SubProblem::initialSetup().

◆ solverSys()

DisplacedSystem & DisplacedProblem::solverSys ( const unsigned int  sys_num)
inline

Definition at line 477 of file DisplacedProblem.h.

478{
479 mooseAssert(sys_num < _displaced_solver_systems.size(),
480 "System number greater than the number of nonlinear systems");
481 return *_displaced_solver_systems[sys_num];
482}

◆ solverSysNum()

unsigned int DisplacedProblem::solverSysNum ( const SolverSystemName &  solver_sys_name) const
overridevirtual
Returns
the solver system number corresponding to the provided solver_sys_name

Implements SubProblem.

Definition at line 1398 of file DisplacedProblem.C.

1399{
1400 return _mproblem.solverSysNum(sys_name);
1401}
unsigned int solverSysNum(const SolverSystemName &solver_sys_name) const override

◆ solverSystemConverged()

bool DisplacedProblem::solverSystemConverged ( const unsigned int  sys_num)
overridevirtual
Returns
whether the given solver system sys_num is converged

Reimplemented from SubProblem.

Definition at line 1174 of file DisplacedProblem.C.

1175{
1176 return _mproblem.converged(sys_num);
1177}
virtual bool converged(const unsigned int sys_num)
Eventually we want to convert this virtual over to taking a solver system number argument.
Definition SubProblem.h:113

◆ storeBoundaryDelayedCheckMatProp()

void SubProblem::storeBoundaryDelayedCheckMatProp ( const std::string &  requestor,
BoundaryID  boundary_id,
const std::string &  name 
)
virtualinherited

Adds to a map based on boundary ids of material properties to validate.

Parameters
requestorThe MOOSE object name requesting the material property
boundary_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 614 of file SubProblem.C.

617{
618 _map_boundary_material_props_check[boundary_id].insert(std::make_pair(requestor, name));
619}

Referenced by MaterialPropertyInterface::checkMaterialProperty().

◆ storeBoundaryMatPropName()

void SubProblem::storeBoundaryMatPropName ( BoundaryID  boundary_id,
const std::string &  name 
)
virtualinherited

Adds the given material property to a storage map based on boundary ids.

This is method is called from within the Material class when the property is first registered.

Parameters
boundary_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 588 of file SubProblem.C.

589{
590 _map_boundary_material_props[boundary_id].insert(name);
591}

Referenced by MaterialBase::registerPropName().

◆ storeBoundaryZeroMatProp()

void SubProblem::storeBoundaryZeroMatProp ( BoundaryID  boundary_id,
const MaterialPropertyName &  name 
)
virtualinherited

Adds to a map based on boundary ids of material properties for which a zero value can be returned.

Thes properties are optional and will not trigger a missing material property error.

Parameters
boundary_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 600 of file SubProblem.C.

601{
602 _zero_boundary_material_props[boundary_id].insert(name);
603}

Referenced by MaterialBase::storeBoundaryZeroMatProp().

◆ storeSubdomainDelayedCheckMatProp()

void SubProblem::storeSubdomainDelayedCheckMatProp ( const std::string &  requestor,
SubdomainID  block_id,
const std::string &  name 
)
virtualinherited

Adds to a map based on block ids of material properties to validate.

Parameters
block_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 606 of file SubProblem.C.

609{
610 _map_block_material_props_check[block_id].insert(std::make_pair(requestor, name));
611}

Referenced by MaterialPropertyInterface::checkMaterialProperty().

◆ storeSubdomainMatPropName()

void SubProblem::storeSubdomainMatPropName ( SubdomainID  block_id,
const std::string &  name 
)
virtualinherited

Adds the given material property to a storage map based on block ids.

This is method is called from within the Material class when the property is first registered.

Parameters
block_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 582 of file SubProblem.C.

583{
584 _map_block_material_props[block_id].insert(name);
585}

Referenced by MaterialBase::registerPropName().

◆ storeSubdomainZeroMatProp()

void SubProblem::storeSubdomainZeroMatProp ( SubdomainID  block_id,
const MaterialPropertyName &  name 
)
virtualinherited

Adds to a map based on block ids of material properties for which a zero value can be returned.

Thes properties are optional and will not trigger a missing material property error.

Parameters
block_idThe block id for the MaterialProperty
nameThe name of the property

Definition at line 594 of file SubProblem.C.

595{
596 _zero_block_material_props[block_id].insert(name);
597}

Referenced by MaterialBase::storeSubdomainZeroMatProp().

◆ syncAuxSolution()

void DisplacedProblem::syncAuxSolution ( const NumericVector< Number > &  aux_soln)

Copy the provided solution into the displaced auxiliary system.

Definition at line 224 of file DisplacedProblem.C.

225{
226 (*_displaced_aux->sys().solution) = aux_soln;
227 _displaced_aux->update();
228}

Referenced by syncSolutions(), and syncSolutions().

◆ syncSolutions() [1/2]

void DisplacedProblem::syncSolutions ( )

Copy the solutions on the undisplaced systems to the displaced systems.

Definition at line 231 of file DisplacedProblem.C.

232{
233 TIME_SECTION("syncSolutions", 5, "Syncing Displaced Solutions");
234
235 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
236 {
237 auto & displaced_nl = _displaced_solver_systems[nl_sys_num];
238 mooseAssert(nl_sys_num == displaced_nl->number(),
239 "We should have designed things such that the nl system numbers make their system "
240 "numbering in the EquationSystems object");
241 (*displaced_nl->sys().solution) =
242 *_mproblem.getNonlinearSystemBase(displaced_nl->number()).currentSolution();
243 displaced_nl->update();
244 }
246}
const NumericVector< Number > *const & currentSolution() const override
The solution vector that is currently being operated on.
void syncAuxSolution(const NumericVector< Number > &aux_soln)
Copy the provided solution into the displaced auxiliary system.
void update()
Update the system (doing libMesh magic)

Referenced by updateMesh(), and updateMesh().

◆ syncSolutions() [2/2]

void DisplacedProblem::syncSolutions ( const std::map< unsigned int, const NumericVector< Number > * > &  nl_solns,
const NumericVector< Number > &  aux_soln 
)

Synchronize the solutions on the displaced systems to the given solutions.

The nonlinear solutions argument is a map from the nonlinear system number to the solution that we want to set that nonlinear system's solution to

Definition at line 249 of file DisplacedProblem.C.

252{
253 TIME_SECTION("syncSolutions", 5, "Syncing Displaced Solutions");
254
255 for (const auto [nl_sys_num, nl_soln] : nl_solns)
256 {
257 (*_displaced_solver_systems[nl_sys_num]->sys().solution) = *nl_soln;
258 _displaced_solver_systems[nl_sys_num]->update();
259 }
260 syncAuxSolution(aux_soln);
261}

◆ systemBaseAuxiliary() [1/2]

virtual const SystemBase & DisplacedProblem::systemBaseAuxiliary ( ) const
inlineoverridevirtual

Return the auxiliary system object as a base class reference.

Implements SubProblem.

Definition at line 70 of file DisplacedProblem.h.

70{ return *_displaced_aux; }

◆ systemBaseAuxiliary() [2/2]

virtual SystemBase & DisplacedProblem::systemBaseAuxiliary ( )
inlineoverridevirtual

Implements SubProblem.

Definition at line 71 of file DisplacedProblem.h.

71{ return *_displaced_aux; }

◆ systemBaseLinear() [1/2]

const SystemBase & DisplacedProblem::systemBaseLinear ( const unsigned int  sys_num) const
inlineoverridevirtual

Return the linear system object as a base class reference given the system number.

Implements SubProblem.

Definition at line 501 of file DisplacedProblem.h.

502{
503 mooseError("Linear systems are not supported for displaced problems yet.");
504}

◆ systemBaseLinear() [2/2]

SystemBase & DisplacedProblem::systemBaseLinear ( const unsigned int  sys_num)
inlineoverridevirtual

Implements SubProblem.

Definition at line 507 of file DisplacedProblem.h.

508{
509 mooseError("Linear systems are not supported for displaced problems yet.");
510}

◆ systemBaseNonlinear() [1/2]

const SystemBase & DisplacedProblem::systemBaseNonlinear ( const unsigned int  sys_num) const
inlineoverridevirtual

Return the nonlinear system object as a base class reference given the system number.

Implements SubProblem.

Definition at line 485 of file DisplacedProblem.h.

486{
487 mooseAssert(sys_num < _displaced_solver_systems.size(),
488 "System number greater than the number of nonlinear systems");
489 return *_displaced_solver_systems[sys_num];
490}

◆ systemBaseNonlinear() [2/2]

SystemBase & DisplacedProblem::systemBaseNonlinear ( const unsigned int  sys_num)
inlineoverridevirtual

Implements SubProblem.

Definition at line 493 of file DisplacedProblem.h.

494{
495 mooseAssert(sys_num < _displaced_solver_systems.size(),
496 "System number greater than the number of nonlinear systems");
497 return *_displaced_solver_systems[sys_num];
498}

◆ systemBaseSolver() [1/2]

const SystemBase & DisplacedProblem::systemBaseSolver ( const unsigned int  sys_num) const
inlineoverridevirtual

Return the solver system object as a base class reference given the system number.

Implements SubProblem.

Definition at line 513 of file DisplacedProblem.h.

514{
515 mooseAssert(sys_num < _displaced_solver_systems.size(),
516 "System number greater than the number of solver systems");
517 return *_displaced_solver_systems[sys_num];
518}

◆ systemBaseSolver() [2/2]

SystemBase & DisplacedProblem::systemBaseSolver ( const unsigned int  sys_num)
inlineoverridevirtual

Implements SubProblem.

Definition at line 521 of file DisplacedProblem.h.

522{
523 mooseAssert(sys_num < _displaced_solver_systems.size(),
524 "System number greater than the number of solver systems");
525 return *_displaced_solver_systems[sys_num];
526}

◆ terminateSolve()

virtual void Problem::terminateSolve ( )
inlinevirtualinherited

Allow objects to request clean termination of the solve.

Definition at line 37 of file Problem.h.

37{ _termination_requested = true; };

Referenced by Terminator::execute(), WebServerControl::execute(), and TerminateChainControl::terminate().

◆ timedSectionName()

std::string PerfGraphInterface::timedSectionName ( const std::string &  section_name) const
protectedinherited
Returns
The name of the timed section with the name section_name.

Optionally adds a prefix if one is defined.

Definition at line 55 of file PerfGraphInterface.C.

56{
57 return _prefix.empty() ? "" : (_prefix + "::") + section_name;
58}
const std::string _prefix
A prefix to use for all sections.

Referenced by PerfGraphInterface::registerTimedSection(), and PerfGraphInterface::registerTimedSection().

◆ timestepSetup()

void DisplacedProblem::timestepSetup ( )
overridevirtual

Reimplemented from SubProblem.

Definition at line 1260 of file DisplacedProblem.C.

1261{
1263
1264 for (auto & nl : _displaced_solver_systems)
1265 nl->timestepSetup();
1266 _displaced_aux->timestepSetup();
1267}
virtual void timestepSetup() override
virtual void timestepSetup()

◆ type()

const std::string & MooseBase::type ( ) const
inlineinherited

Get the type of this class.

Returns
the name of the type of this class

Definition at line 93 of file MooseBase.h.

94 {
95 mooseAssert(_type.size(), "Empty type");
96 return _type;
97 }
const std::string & _type
The type of this class.
Definition MooseBase.h:378

Referenced by CreateProblemDefaultAction::act(), MaterialDerivativeTestAction::act(), MaterialOutputAction::act(), SetupDebugAction::act(), FEProblemBase::addAuxArrayVariable(), FEProblemBase::addAuxScalarVariable(), FEProblemBase::addConvergence(), FEProblemBase::addDistribution(), DistributedRectilinearMeshGenerator::addElement(), DistributedRectilinearMeshGenerator::addElement(), MooseApp::addExecutor(), MooseApp::addExecutorParams(), MFEMProblem::addFESpace(), MFEMProblem::addFESpaceHierarchy(), FEProblemBase::addFunction(), MFEMProblem::addFunction(), FEProblemBase::addMeshDivision(), MooseApp::addMeshGenerator(), MeshGenerator::addMeshSubgenerator(), MeshGenerator::addMeshSubgenerator(), MFEMProblem::addMFEMProblemComposer(), FEProblemBase::addObject(), DistributedRectilinearMeshGenerator::addPoint(), MFEMProblem::addPostprocessor(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyRelationshipManagers(), MFEMProblem::addQuadratureFunction(), FEProblemBase::addReporter(), FEProblemBase::addSampler(), WebServerControl::addServerActionsInternal(), FEProblemBase::addTimeIntegrator(), MFEMProblem::addVectorPostprocessor(), SubProblem::addVectorTag(), addVectorTag(), FEProblemBase::advanceMultiApps(), MooseApp::appendMeshGenerator(), AuxKernelBase::AuxKernelBase(), FEProblemBase::backupMultiApps(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), BoundaryPreservedMarker::BoundaryPreservedMarker(), DistributedRectilinearMeshGenerator::buildCube(), MooseMesh::buildHRefinementAndCoarseningMaps(), MooseMesh::buildLowerDMesh(), MooseMesh::buildPRefinementAndCoarseningMaps(), PhysicsBase::checkComponentType(), MeshGenerator::checkGetMesh(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), ActionComponent::checkRequiredTasks(), PhysicsBase::checkRequiredTasks(), FEProblemBase::checkUserObjectNameCollision(), MFEMMultiAppTransfer::checkValidTransferProblemTypes(), MeshInfo::CombinedInfos< ElemInfoMap, ElemInfoItems >::CombinedInfos(), ElemElemConstraint::computeElemNeighJacobian(), ArrayDGKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighJacobian(), ADDGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighResidual(), ArrayDGKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), ADDGKernel::computeElemNeighResidual(), ArrayDGLowerDKernel::computeLowerDJacobian(), DGLowerDKernel::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDJacobian(), LowerDIntegratedBC::computeLowerDJacobian(), ArrayLowerDIntegratedBC::computeLowerDOffDiagJacobian(), LowerDIntegratedBC::computeLowerDOffDiagJacobian(), ArrayHFEMDirichletBC::computeLowerDQpJacobian(), HFEMDirichletBC::computeLowerDQpJacobian(), ArrayHFEMDiffusion::computeLowerDQpJacobian(), HFEMDiffusion::computeLowerDQpJacobian(), ArrayLowerDIntegratedBC::computeLowerDQpOffDiagJacobian(), ArrayDGLowerDKernel::computeLowerDQpOffDiagJacobian(), ArrayHFEMDirichletBC::computeLowerDQpOffDiagJacobian(), HFEMDirichletBC::computeLowerDQpOffDiagJacobian(), FEProblemBase::computeMultiAppsDT(), ArrayDGKernel::computeOffDiagElemNeighJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), ADDGKernel::computeOffDiagElemNeighJacobian(), ArrayDGLowerDKernel::computeOffDiagLowerDJacobian(), DGLowerDKernel::computeOffDiagLowerDJacobian(), ScalarKernel::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), DGConvection::computeQpJacobian(), ArrayDGDiffusion::computeQpJacobian(), DGDiffusion::computeQpJacobian(), InterfaceDiffusion::computeQpJacobian(), InterfaceReaction::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), ArrayDGKernel::computeQpOffDiagJacobian(), HFEMTestJump::computeQpOffDiagJacobian(), HFEMTrialJump::computeQpOffDiagJacobian(), ScalarKernel::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), EqualValueBoundaryConstraint::computeQpResidual(), LinearNodalConstraint::computeQpResidual(), TiedValueConstraint::computeQpResidual(), DGConvection::computeQpResidual(), ADDGAdvection::computeQpResidual(), ADDGDiffusion::computeQpResidual(), DGDiffusion::computeQpResidual(), HFEMDiffusion::computeQpResidual(), HFEMTestJump::computeQpResidual(), HFEMTrialJump::computeQpResidual(), ADMatInterfaceReaction::computeQpResidual(), InterfaceDiffusion::computeQpResidual(), InterfaceReaction::computeQpResidual(), ArrayDGDiffusion::computeQpResidual(), ArrayHFEMDiffusion::computeQpResidual(), FEProblemBase::computeSystems(), FEProblemBase::computeUserObjectByName(), FEProblemBase::computeUserObjects(), FEProblemBase::computeUserObjectsInternal(), FEProblemBase::createQRules(), createQRules(), MooseApp::createRecoverablePerfGraph(), MeshGenerator::declareMeshProperty(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), FEProblemBase::duplicateVariableCheck(), FEProblemBase::execMultiAppTransfers(), SteadyBase::execute(), WebServerControl::execute(), ActionWarehouse::executeActionsWithAction(), FEProblemBase::finishMultiAppStep(), FVScalarLagrangeMultiplierInterface::FVScalarLagrangeMultiplierInterface(), Boundary2DDelaunayGenerator::General2DDelaunay(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), Boundary2DDelaunayGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), SubdomainPerElementGenerator::generate(), PatternedMeshGenerator::generate(), MeshGenerator::generateInternal(), MeshGenerator::generateInternalCSG(), MultiAppTransfer::getAppInfo(), TransfiniteMeshGenerator::getEdge(), ElementGenerator::getElemType(), FEProblemBase::getMaterial(), FEProblemBase::getMaterialData(), FEProblemBase::getMaterialPropertyStorageConsumers(), MaterialOutputAction::getParams(), ReporterData::getReporterInfo(), MooseServer::getSyntaxMetadata(), FEProblemBase::getTransfers(), FEProblemBase::getUOQuery(), SubProblem::getVectorTags(), getVectorTags(), EqualValueBoundaryConstraint::ghostPrimary(), CommonOutputAction::hasConsole(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), NEML2Action::inferMOOSEIOType(), AdvancedOutput::initAvailableLists(), FunctorPositions::initialize(), FunctorTimes::initialize(), LinearFVAdvection::initialSetup(), LinearFVAnisotropicDiffusion::initialSetup(), LinearFVDiffusion::initialSetup(), MultiAppConservativeTransfer::initialSetup(), ArrayDGDiffusion::initQpResidual(), AdvancedOutput::initShowHideLists(), RelationshipManager::isType(), FEProblemBase::logAdd(), MaterialFunctorConverterTempl< T >::MaterialFunctorConverterTempl(), MooseObject::MooseObject(), SubProblem::numVectorTags(), numVectorTags(), AdvancedOutput::output(), Console::output(), ConsoleUtils::outputExecutionInformation(), Output::outputStep(), SampledOutput::outputStep(), FEProblemBase::outputStep(), MooseServer::parseDocumentForDiagnostics(), PointInUnionCheckUO::PointInUnionCheckUO(), MooseMesh::prepare(), ProjectedStatefulMaterialStorageAction::processProperty(), MooseApp::recursivelyCreateExecutors(), SolutionInvalidInterface::registerInvalidSolutionInternal(), FEProblemBase::restoreMultiApps(), MeshRepairGenerator::separateSubdomainsByElementType(), FEProblemBase::setCoupling(), MooseApp::setupOptions(), ExplicitRK2::solve(), ExplicitTVDRK2::solve(), Reporter::store(), MooseBase::typeAndName(), AuxScalarKernel::uOld(), ScalarKernelBase::uOld(), updateGeomSearch(), FEProblemBase::updateGeomSearch(), UserObjectInterface::userObjectType(), and AdvancedOutput::wantOutput().

◆ typeAndName()

std::string MooseBase::typeAndName ( ) const
inherited

Get the class's combined type and name; useful in error handling.

Returns
The type and name of this class in the form '<type()> "<name()>"'.

Definition at line 57 of file MooseBase.C.

58{
59 return type() + std::string(" \"") + name() + std::string("\"");
60}

Referenced by MaterialPropertyStorage::addProperty(), FEProblemBase::checkUserObjectNameCollision(), MeshGeneratorSystem::dataDrivenError(), ReporterContext< T >::finalize(), ReporterData::getReporterInfo(), MFEMSamplerBase::initialSetup(), MFEMVariableSamplerBase::initialSetup(), WebServerControl::outputMessage(), and Action::timedAct().

◆ undisplaceMesh()

void DisplacedProblem::undisplaceMesh ( )

Resets the displaced mesh to the reference mesh.

Required when refining the DisplacedMesh.

Definition at line 1196 of file DisplacedProblem.C.

1197{
1198 // If undisplaceMesh() is called during initial adaptivity, it is
1199 // not valid to call _mesh.getActiveSemiLocalNodeRange() since it is
1200 // not set up yet. So we are creating the Range by hand.
1201 //
1202 // We must undisplace *all* our nodes to the _ref_mesh
1203 // configuration, not just the local ones, since the partitioners
1204 // require this. We are using the GRAIN_SIZE=1 from MooseMesh.C,
1205 // not sure how this value was decided upon.
1206 //
1207 // (DRG: The grainsize parameter is ultimately passed to TBB to help
1208 // it choose how to split up the range. A grainsize of 1 says "split
1209 // it as much as you want". Years ago I experimentally found that it
1210 // didn't matter much and that using 1 was fine.)
1211 //
1212 // Note: we don't have to invalidate/update as much stuff as
1213 // DisplacedProblem::updateMesh() does, since this will be handled
1214 // by a later call to updateMesh().
1215 NodeRange node_range(_mesh.getMesh().nodes_begin(),
1216 _mesh.getMesh().nodes_end(),
1217 /*grainsize=*/1);
1218
1220
1221 // Undisplace the mesh using threads.
1222 Threads::parallel_reduce(node_range, rdmt);
1223}
void parallel_reduce(const Range &range, Body &body, unsigned int n_threads=libMesh::n_threads())
StoredRange< MeshBase::node_iterator, Node * > NodeRange

◆ uniqueName()

MooseObjectName MooseBase::uniqueName ( ) const
inherited
Returns
The unique name for accessing input parameters of this object in the InputParameterWarehouse

Definition at line 69 of file MooseBase.C.

70{
71 if (!_pars.have_parameter<std::string>(unique_name_param))
72 mooseError("uniqueName(): Object does not have a unique name");
73 return MooseObjectName(_pars.get<std::string>(unique_name_param));
74}
static const std::string unique_name_param
The name of the parameter that contains the unique object name.
Definition MooseBase.h:57
A class for storing the names of MooseObject by tag and object name.

Referenced by MooseBase::connectControllableParams(), and Action::uniqueActionName().

◆ uniqueParameterName()

MooseObjectParameterName MooseBase::uniqueParameterName ( const std::string &  parameter_name) const
inherited
Returns
The unique parameter name of a valid parameter of this object for accessing parameter controls

Definition at line 63 of file MooseBase.C.

64{
65 return MooseObjectParameterName(getBase(), name(), parameter_name);
66}
const std::string & getBase() const
Definition MooseBase.h:147

◆ updateGeomSearch()

void DisplacedProblem::updateGeomSearch ( GeometricSearchData::GeometricSearchType  type = GeometricSearchData::ALL)
overridevirtual

update geometric search data

Implements SubProblem.

Definition at line 1105 of file DisplacedProblem.C.

1106{
1107 TIME_SECTION("updateGeometricSearch", 3, "Updating Displaced GeometricSearch");
1108
1110}
void update(GeometricSearchType type=ALL)
Update all of the search objects.

◆ updateMesh() [1/2]

void DisplacedProblem::updateMesh ( bool  mesh_changing = false)
virtual

Copy the solutions on the undisplaced systems to the displaced systems and reinitialize the geometry search data and Dirac kernel information due to mesh displacement.

The parameter mesh_changing indicates whether this method is getting called because of mesh changes, e.g. due to mesh adaptivity. If mesh_changing we need to renitialize the GeometricSearchData instead of simply update. Reinitialization operations are a super-set of update operations. Reinitialization for example re-generates neighbor nodes in NearestNodeLocators, while update does not. Additionally we do not want to use the undisplaced mesh solution because it may be out-of-sync, whereas our displaced mesh solution should be in the correct state after getting restricted/prolonged in EquationSystems::reinit

Definition at line 264 of file DisplacedProblem.C.

265{
266 TIME_SECTION("updateMesh", 3, "Updating Displaced Mesh");
267
268 // If the mesh is changing, we are probably performing adaptivity. In that case, we do *not* want
269 // to use the undisplaced mesh solution because it may be out-of-sync, whereas our displaced mesh
270 // solution should be in the correct state after getting restricted/prolonged in
271 // EquationSystems::reinit (must have been called before this method)
272 if (!mesh_changing)
274
275 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
276 _nl_solution[nl_sys_num] = _displaced_solver_systems[nl_sys_num]->sys().solution.get();
277 _aux_solution = _displaced_aux->sys().solution.get();
278
279 // If the displaced mesh has been serialized to one processor (as
280 // may have occurred if it was used for Exodus output), then we need
281 // the reference mesh to be also. For that matter, did anyone
282 // somehow serialize the whole mesh? Hopefully not but let's avoid
283 // causing errors if so.
284 if (_mesh.getMesh().is_serial() && !this->refMesh().getMesh().is_serial())
285 this->refMesh().getMesh().allgather();
286
287 if (_mesh.getMesh().is_serial_on_zero() && !this->refMesh().getMesh().is_serial_on_zero())
288 this->refMesh().getMesh().gather_to_zero();
289
291
292 // We displace all nodes, not just semilocal nodes, because
293 // parallel-inconsistent mesh geometry makes libMesh cry.
294 NodeRange node_range(_mesh.getMesh().nodes_begin(),
295 _mesh.getMesh().nodes_end(),
296 /*grainsize=*/1);
297
298 Threads::parallel_reduce(node_range, udmt);
299 // Displacement of the mesh has invalidated the point locator data (e.g. bounding boxes)
300 _mesh.getMesh().clear_point_locator();
301
302 // The mesh has changed. Face information normals, areas, etc. must be re-calculated
303 if (haveFV())
305
306 // Update the geometric searches that depend on the displaced mesh. This call can end up running
307 // NearestNodeThread::operator() which has a throw inside of it. We need to catch it and make sure
308 // it's propagated to all processes before updating the point locator because the latter requires
309 // communication
310 try
311 {
312 // We may need to re-run geometric operations like SecondaryNeighborhoodTread if, for instance,
313 // we have performed mesh adaptivity
314 if (mesh_changing)
316 else
318 }
319 catch (MooseException & e)
320 {
322 }
323
324 if (udmt.hasDisplacement())
326
327 // The below call will throw an exception on all processes if any of our processes had an
328 // exception above. This exception will be caught higher up the call stack and the error message
329 // will be printed there
330 _mproblem.checkExceptionAndStopSolve(/*print_message=*/false);
331
332 // Since the Mesh changed, update the PointLocator object used by DiracKernels.
334}
void updatePointLocator(const MooseMesh &mesh)
Called during FEProblemBase::meshChanged() to update the PointLocator object used by the DiracKernels...
MooseMesh & refMesh()
const NumericVector< Number > * _aux_solution
The auxiliary system solution.
friend class UpdateDisplacedMeshThread
void syncSolutions()
Copy the solutions on the undisplaced systems to the displaced systems.
virtual void setException(const std::string &message)
Set an exception, which is stored at this point by toggling a member variable in this class,...
virtual void checkExceptionAndStopSolve(bool print_message=true)
Check to see if an exception has occurred on any processor and, if possible, force the solve to fail,...
virtual void meshDisplaced()
Update data after a mesh displaced.
Provides a way for users to bail out of the current solve.
virtual const char * what() const
Get out the error message.
virtual void get(const std::vector< numeric_index_type > &index, T *values) const

Referenced by meshChanged().

◆ updateMesh() [2/2]

void DisplacedProblem::updateMesh ( const std::map< unsigned int, const NumericVector< Number > * > &  nl_soln,
const NumericVector< Number > &  aux_soln 
)
virtual

Synchronize the solutions on the displaced systems to the given solutions and reinitialize the geometry search data and Dirac kernel information due to mesh displacement.

Definition at line 337 of file DisplacedProblem.C.

339{
340 TIME_SECTION("updateMesh", 3, "Updating Displaced Mesh");
341
342 syncSolutions(nl_solns, aux_soln);
343
344 for (const auto nl_sys_num : index_range(_displaced_solver_systems))
345 _nl_solution[nl_sys_num] = _displaced_solver_systems[nl_sys_num]->sys().solution.get();
346 _aux_solution = _displaced_aux->sys().solution.get();
347
349
350 // We displace all nodes, not just semilocal nodes, because
351 // parallel-inconsistent mesh geometry makes libMesh cry.
352 NodeRange node_range(_mesh.getMesh().nodes_begin(),
353 _mesh.getMesh().nodes_end(),
354 /*grainsize=*/1);
355
356 Threads::parallel_reduce(node_range, udmt);
357
358 // Update the geometric searches that depend on the displaced mesh. This call can end up running
359 // NearestNodeThread::operator() which has a throw inside of it. We need to catch it and make sure
360 // it's propagated to all processes before updating the point locator because the latter requires
361 // communication
362 try
363 {
365 }
366 catch (MooseException & e)
367 {
369 }
370
371 if (udmt.hasDisplacement())
373
374 // The below call will throw an exception on all processes if any of our processes had an
375 // exception above. This exception will be caught higher up the call stack and the error message
376 // will be printed there
377 _mproblem.checkExceptionAndStopSolve(/*print_message=*/false);
378
379 // Since the Mesh changed, update the PointLocator object used by DiracKernels.
381}

◆ validParams()

InputParameters DisplacedProblem::validParams ( )
static

Definition at line 32 of file DisplacedProblem.C.

33{
36 "A Problem object for providing access to the displaced finite element "
37 "mesh and associated variables.");
38 params.addPrivateParam<MooseMesh *>("mesh");
39 params.addPrivateParam<std::vector<std::string>>("displacements", {});
40 return params;
41}
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
void addPrivateParam(const std::string &name, const T &value)
These method add a parameter to the InputParameters object which can be retrieved like any other para...
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.
static InputParameters validParams()
Definition SubProblem.C:34

◆ vectorTagExists() [1/2]

bool DisplacedProblem::vectorTagExists ( const TagID  tag_id) const
overridevirtual

Check to see if a particular Tag exists.

Reimplemented from SubProblem.

Definition at line 409 of file DisplacedProblem.C.

410{
411 return _mproblem.vectorTagExists(tag_id);
412}
virtual bool vectorTagExists(const TagID tag_id) const
Check to see if a particular Tag exists.
Definition SubProblem.h:201

◆ vectorTagExists() [2/2]

bool DisplacedProblem::vectorTagExists ( const TagName &  tag_name) const
overridevirtual

Check to see if a particular Tag exists by using Tag name.

Reimplemented from SubProblem.

Definition at line 415 of file DisplacedProblem.C.

416{
417 return _mproblem.vectorTagExists(tag_name);
418}

◆ vectorTagName()

TagName DisplacedProblem::vectorTagName ( const TagID  tag) const
overridevirtual

Retrieve the name associated with a TagID.

Reimplemented from SubProblem.

Definition at line 403 of file DisplacedProblem.C.

404{
405 return _mproblem.vectorTagName(tag_id);
406}
virtual TagName vectorTagName(const TagID tag) const
Retrieve the name associated with a TagID.
Definition SubProblem.C:220

◆ vectorTagNotZeroed()

bool SubProblem::vectorTagNotZeroed ( const TagID  tag) const
inherited

Checks if a vector tag is in the list of vectors that will not be zeroed when other tagged vectors are.

Parameters
tagthe TagID of the vector that is currently being checked
Returns
false if the tag is not within the set of vectors that are intended to not be zero or if the set is empty. returns true otherwise

Definition at line 154 of file SubProblem.C.

155{
156 return _not_zeroed_tagged_vectors.count(tag);
157}

Referenced by SystemBase::zeroTaggedVector().

◆ vectorTagType()

Moose::VectorTagType DisplacedProblem::vectorTagType ( const TagID  tag_id) const
overridevirtual

Reimplemented from SubProblem.

Definition at line 433 of file DisplacedProblem.C.

434{
435 return _mproblem.vectorTagType(tag_id);
436}
virtual Moose::VectorTagType vectorTagType(const TagID tag_id) const
Definition SubProblem.C:230

◆ verifyVectorTags()

bool SubProblem::verifyVectorTags ( ) const
protectedinherited

Verify the integrity of _vector_tags and _typed_vector_tags.

Definition at line 240 of file SubProblem.C.

241{
242 for (TagID tag_id = 0; tag_id < _vector_tags.size(); ++tag_id)
243 {
244 const auto & vector_tag = _vector_tags[tag_id];
245
246 if (vector_tag._id != tag_id)
247 mooseError("Vector tag ", vector_tag._id, " id mismatch in _vector_tags");
248 if (vector_tag._type == Moose::VECTOR_TAG_ANY)
249 mooseError("Vector tag '", vector_tag._name, "' has type VECTOR_TAG_ANY");
250
251 const auto search = _vector_tags_name_map.find(vector_tag._name);
252 if (search == _vector_tags_name_map.end())
253 mooseError("Vector tag ", vector_tag._id, " is not in _vector_tags_name_map");
254 else if (search->second != tag_id)
255 mooseError("Vector tag ", vector_tag._id, " has incorrect id in _vector_tags_name_map");
256
257 unsigned int found_in_type = 0;
258 for (TagTypeID tag_type_id = 0; tag_type_id < _typed_vector_tags[vector_tag._type].size();
259 ++tag_type_id)
260 {
261 const auto & vector_tag_type = _typed_vector_tags[vector_tag._type][tag_type_id];
262 if (vector_tag_type == vector_tag)
263 {
264 ++found_in_type;
265 if (vector_tag_type._type_id != tag_type_id)
266 mooseError("Type ID for Vector tag ", tag_id, " is incorrect");
267 }
268 }
269
270 if (found_in_type == 0)
271 mooseError("Vector tag ", tag_id, " not found in _typed_vector_tags");
272 if (found_in_type > 1)
273 mooseError("Vector tag ", tag_id, " found multiple times in _typed_vector_tags");
274 }
275
276 unsigned int num_typed_vector_tags = 0;
277 for (const auto & typed_vector_tags : _typed_vector_tags)
278 num_typed_vector_tags += typed_vector_tags.size();
279 if (num_typed_vector_tags != _vector_tags.size())
280 mooseError("Size mismatch between _vector_tags and _typed_vector_tags");
281 if (_vector_tags_name_map.size() != _vector_tags.size())
282 mooseError("Size mismatch between _vector_tags and _vector_tags_name_map");
283
284 return true;
285}
unsigned int TagID
Definition MooseTypes.h:238
unsigned int TagTypeID
Definition MooseTypes.h:239
std::vector< VectorTag > _vector_tags
The declared vector tags.
std::vector< std::vector< VectorTag > > _typed_vector_tags
The vector tags associated with each VectorTagType This is kept separate from _vector_tags for quick ...
std::map< TagName, TagID > _vector_tags_name_map
Map of vector tag TagName to TagID.
@ VECTOR_TAG_ANY

Referenced by SubProblem::addVectorTag(), SubProblem::getVectorTag(), SubProblem::getVectorTagID(), SubProblem::getVectorTags(), SubProblem::getVectorTags(), SubProblem::numVectorTags(), SubProblem::vectorTagExists(), SubProblem::vectorTagName(), and SubProblem::vectorTagType().

Friends And Related Symbol Documentation

◆ Restartable

friend class Restartable
friend

Definition at line 473 of file DisplacedProblem.h.

◆ UpdateDisplacedMeshThread

friend class UpdateDisplacedMeshThread
friend

Definition at line 472 of file DisplacedProblem.h.

Member Data Documentation

◆ _action_factory

ActionFactory& ParallelParamObject::_action_factory
protectedinherited

◆ _active_elemental_moose_variables

std::vector<std::set<MooseVariableFieldBase *> > SubProblem::_active_elemental_moose_variables
protectedinherited

This is the set of MooseVariableFieldBase that will actually get reinited by a call to reinit(elem)

Definition at line 1090 of file SubProblem.h.

Referenced by SubProblem::clearActiveElementalMooseVariables(), SubProblem::getActiveElementalMooseVariables(), SubProblem::setActiveElementalMooseVariables(), and SubProblem::SubProblem().

◆ _active_fe_var_coupleable_matrix_tags

std::vector<std::set<TagID> > SubProblem::_active_fe_var_coupleable_matrix_tags
protectedinherited

◆ _active_fe_var_coupleable_vector_tags

std::vector<std::set<TagID> > SubProblem::_active_fe_var_coupleable_vector_tags
protectedinherited

◆ _active_sc_var_coupleable_matrix_tags

std::vector<std::set<TagID> > SubProblem::_active_sc_var_coupleable_matrix_tags
protectedinherited

◆ _active_sc_var_coupleable_vector_tags

std::vector<std::set<TagID> > SubProblem::_active_sc_var_coupleable_vector_tags
protectedinherited

◆ _app

MooseApp& MooseBase::_app
protectedinherited

The MOOSE application this is associated with.

Definition at line 375 of file MooseBase.h.

Referenced by AB2PredictorCorrector::AB2PredictorCorrector(), FEProblemBase::acceptInvalidSolution(), FEProblemBase::addAnyRedistributers(), MeshGenerator::addChildMeshGenerator(), FEProblemBase::addMaterialHelper(), MeshGenerator::addMeshSubgenerator(), MeshGenerator::addMeshSubgenerator(), FEProblemBase::addOutput(), MeshGenerator::addParentMeshGenerator(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), FileMesh::buildMesh(), MooseMesh::buildTypedMesh(), MooseMesh::cacheFaceInfoVariableOwnership(), MooseMesh::cacheFVElementalDoFs(), DefaultNonlinearConvergence::checkConvergence(), MeshGenerator::checkGetMesh(), FEProblemBase::checkICRestartError(), FEProblemBase::checkProblemIntegrity(), LibmeshPartitioner::clone(), BlockWeightedPartitioner::clone(), CopyMeshPartitioner::clone(), GridPartitioner::clone(), HierarchicalGridPartitioner::clone(), PetscExternalPartitioner::clone(), RandomPartitioner::clone(), SingleRankPartitioner::clone(), ElementPointNeighborLayers::clone(), ElementSideNeighborLayers::clone(), GhostAllPointNeighbors::clone(), GhostBoundary::clone(), GhostEverything::clone(), GhostHigherDLowerDPointNeighbors::clone(), GhostLowerDElems::clone(), GhostPrimaryFace::clone(), ProxyRelationshipManager::clone(), RedistributeProperties::clone(), SampledOutput::cloneMesh(), FEProblemBase::computeJacobianSys(), FEProblemBase::computeJacobianTags(), FEProblemBase::computeLinearSystemTags(), FEProblemBase::computeResidualAndJacobian(), FEProblemBase::computeResidualSys(), FEProblemBase::computeResidualTags(), Console::Console(), TimeStepper::constrainStep(), Control::Control(), CopyMeshPartitioner::CopyMeshPartitioner(), MultiApp::createApp(), MultiApp::createApps(), FEProblemBase::customSetup(), MeshGenerator::declareMeshProperty(), MeshGenerator::declareNullMeshName(), MooseMesh::determineUseDistributedMesh(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::DumpObjectsProblem(), DumpObjectsProblem::dumpVariableHelper(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), PIDTransientControl::execute(), Eigenvalue::execute(), InversePowerMethod::execute(), NonlinearEigen::execute(), SteadyBase::execute(), TransientBase::execute(), MFEMSteady::execute(), PseudoTimestep::execute(), IterationInfo::execute(), EigenProblem::execute(), Executioner::Executioner(), Executioner::Executioner(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), FEProblemBase::FEProblemBase(), FileOutput::FileOutput(), NEML2Assembly::finalize(), ChangeOverFixedPointPostprocessor::finalize(), RadialAverage::finalize(), FixedPointSolve::FixedPointSolve(), FEProblemBase::forceOutput(), FullSolveMultiApp::FullSolveMultiApp(), FunctorSmootherTempl< T >::FunctorSmootherTempl(), FVAdvection::FVAdvection(), FileMeshGenerator::generate(), MeshGenerator::generateInternal(), MeshGenerator::generateInternalCSG(), MeshGenerator::getCSGBaseByName(), FEProblemBase::getExecutor(), MeshGenerator::getMeshByName(), NumFixedPointIterations::getValue(), NumRelationshipManagers::getValue(), GhostingUserObject::GhostingUserObject(), MooseMesh::init(), Eigenvalue::init(), InversePowerMethod::init(), NonlinearEigen::init(), TransientBase::init(), MFEMMesh::init(), FEProblemBase::init(), CompositionDT::init(), SubProblem::initialSetup(), PIDTransientControl::initialSetup(), RealFunctionControl::initialSetup(), TimePeriod::initialSetup(), EigenProblemSolve::initialSetup(), FEProblemSolve::initialSetup(), Console::initialSetup(), FEProblemBase::initialSetup(), BoundaryMeshBuilder::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPetscOutputAndSomeSolverSettings(), EigenProblem::initPetscOutputAndSomeSolverSettings(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), FEProblemBase::meshChanged(), MeshGenerator::MeshGenerator(), MFEMProblemSolve::MFEMProblemSolve(), MooseMesh::MooseMesh(), MooseMesh::MooseMesh(), MooseObject::MooseObject(), MultiAppGeneralFieldTransfer::MultiAppGeneralFieldTransfer(), EigenExecutionerBase::normalizeSolution(), NumFailedTimeSteps::NumFailedTimeSteps(), Checkpoint::output(), Exodus::output(), Nemesis::output(), PerfGraphOutput::output(), Tecplot::output(), MortarNodalGeometryOutput::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::outputNodalVariables(), JSONOutput::outputReporters(), Output::outputStep(), SampledOutput::outputStep(), FEProblemBase::outputStep(), Console::outputSystemInformation(), JSONOutput::outputSystemInformation(), OverlayMeshGenerator::OverlayMeshGenerator(), MultiApp::parentOutputPositionChanged(), TransientBase::preExecute(), FEProblemBase::projectSolution(), AnnularMesh::safeClone(), ConcentricCircleMesh::safeClone(), FileMesh::safeClone(), GeneratedMesh::safeClone(), ImageMesh::safeClone(), MeshGeneratorMesh::safeClone(), PatternedMesh::safeClone(), RinglebMesh::safeClone(), SpiralAnnularMesh::safeClone(), StitchedMesh::safeClone(), TiledMesh::safeClone(), MFEMFileMesh::safeClone(), MFEMMeshGeneratorMesh::safeClone(), MultiApp::setAppOutputFileBase(), FileOutput::setFileBaseInternal(), MeshGenerator::setMeshProperty(), MeshGenerator::setMeshPropertyHelper(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), TransientBase::setupTimeIntegrator(), Output::setWallTimeIntervalFromCommandLineParam(), SideSetExtruderGenerator::SideSetExtruderGenerator(), SolutionInvalidityReporter::SolutionInvalidityReporter(), FixedPointSolve::solve(), FEProblemBase::solve(), EigenProblem::solve(), FEProblemBase::solveLinearSystem(), PetscOutput::solveSetup(), FixedPointSolve::solveStep(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), FEProblemBase::theWarehouse(), TimeExtremeValue::TimeExtremeValue(), TimeIntegratedPostprocessor::TimeIntegratedPostprocessor(), TimeIntervalTimes::TimeIntervalTimes(), TimePeriod::TimePeriod(), SubProblem::timestepSetup(), PIDTransientControl::timestepSetup(), FEProblemBase::timestepSetup(), TransientBase::TransientBase(), MooseMesh::update(), NEML2FEInterpolation::updateDofMap(), NEML2FEInterpolation::updateGradPhi(), NEML2FEInterpolation::updateInterpolations(), FEProblemBase::updateMortarMesh(), NEML2FEInterpolation::updatePhi(), Console::write(), and FEProblemBase::~FEProblemBase().

◆ _assembly

std::vector<std::vector<std::unique_ptr<Assembly> > > DisplacedProblem::_assembly
protected

◆ _aux_solution

const NumericVector<Number>* DisplacedProblem::_aux_solution
protected

The auxiliary system solution.

Definition at line 405 of file DisplacedProblem.h.

Referenced by updateMesh(), and updateMesh().

◆ _cli_option_found

bool Problem::_cli_option_found
protectedinherited

True if the CLI option is found.

Definition at line 52 of file Problem.h.

Referenced by Problem::_setCLIOption().

◆ _color_output

bool Problem::_color_output
protectedinherited

True if we're going to attempt to write color output.

Definition at line 55 of file Problem.h.

◆ _computing_nonlinear_residual

bool SubProblem::_computing_nonlinear_residual
protectedinherited

Whether the non-linear residual is being evaluated.

Definition at line 1117 of file SubProblem.h.

Referenced by SubProblem::computingNonlinearResid(), FEProblemBase::computingNonlinearResid(), and SubProblem::computingNonlinearResid().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

An instance of helper class to write streams to the Console objects.

Definition at line 31 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), MaterialOutputAction::act(), MeshOnlyAction::act(), SetupDebugAction::act(), FEProblemBase::adaptMesh(), Adaptivity::adaptMesh(), PerfGraph::addToExecutionList(), SimplePredictor::apply(), SystemBase::applyScalingFactors(), MultiApp::backup(), FEProblemBase::backupMultiApps(), CoarsenedPiecewiseLinear::buildCoarsenedGrid(), DefaultSteadyStateConvergence::checkConvergence(), MeshDiagnosticsGenerator::checkElementOverlap(), MeshDiagnosticsGenerator::checkElementTypes(), MeshDiagnosticsGenerator::checkElementVolumes(), FEProblemBase::checkExceptionAndStopSolve(), SolverSystem::checkInvalidSolution(), MeshDiagnosticsGenerator::checkLocalJacobians(), MeshDiagnosticsGenerator::checkNonConformalMesh(), MeshDiagnosticsGenerator::checkNonConformalMeshFromAdaptivity(), MeshDiagnosticsGenerator::checkNonConformingFaces(), MeshDiagnosticsGenerator::checkNonMatchingEdges(), MeshDiagnosticsGenerator::checkNonPlanarSides(), MeshDiagnosticsGenerator::checkPolygons(), FEProblemBase::checkProblemIntegrity(), ReferenceResidualConvergence::checkResidualConvergence(), MeshDiagnosticsGenerator::checkSidesetsOrientation(), MeshDiagnosticsGenerator::checkWatertightNodesets(), MeshDiagnosticsGenerator::checkWatertightSidesets(), CoarsenSurfaceMeshAlongSidesetGenerator::coarsenAlongSidesets(), IterationAdaptiveDT::computeAdaptiveDT(), TransientBase::computeConstrainedDT(), DefaultMultiAppFixedPointConvergence::computeCustomConvergencePostprocessor(), NonlinearSystemBase::computeDamping(), FixedPointIterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInitialDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeLinearSystemTags(), LinearSystem::computeLinearSystemTags(), NonlinearSystemBase::computeScaling(), Problem::console(), TimeStepper::constrainStep(), IterationAdaptiveDT::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), Eigenvalue::execute(), SteadyBase::execute(), MFEMSteady::execute(), MessageFromInput::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), MeshGeneratorSystem::executeMeshGenerators(), SidesetAroundSubdomainUpdater::finalize(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), MeshRepairGenerator::fixOverlappingNodes(), SurfaceSubdomainsDelaunayRemesher::General2DDelaunay(), CoarsenBlockGenerator::generate(), CoarsenSurfaceMeshAlongSidesetGenerator::generate(), OrientSurfaceMeshGenerator::generate(), PolyLineMeshFollowingNodeSetGenerator::generate(), MeshGenerator::generateInternal(), VariableCondensationPreconditioner::getDofToCondense(), InversePowerMethod::init(), NonlinearEigen::init(), FEProblemBase::initialAdaptMesh(), DefaultMultiAppFixedPointConvergence::initialize(), SubProblem::initialSetup(), EigenExecutionerBase::inversePowerIteration(), FEProblemBase::joinAndFinalize(), TransientBase::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), FEProblemBase::logAdd(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), SurfaceDelaunayGeneratorBase::meshNormalDeviation2D(), MooseBase::mooseDeprecated(), MooseBase::mooseDeprecatedNoTrace(), MooseBase::mooseInfo(), MooseBase::mooseWarning(), MooseBase::mooseWarningNonPrefixed(), ReferenceResidualConvergence::nonlinearConvergenceSetup(), Console::output(), DOFMapOutput::output(), MaterialPropertyDebugOutput::output(), PerfGraphOutput::output(), ReporterDebugOutput::output(), SolutionInvalidityOutput::output(), VariableResidualNormsDebugOutput::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), WebServerControl::outputMessage(), Console::outputPostprocessors(), PseudoTimestep::outputPseudoTimestep(), Console::outputReporters(), DefaultMultiAppFixedPointConvergence::outputResidualNorm(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), BlockRestrictionDebugOutput::printBlockRestrictionGroups(), BlockRestrictionDebugOutput::printBlockRestrictionMap(), BlockRestrictionDebugOutput::printBoundaryRestrictionGroups(), SolutionInvalidity::printDebug(), EigenExecutionerBase::printEigenvalue(), PicardSolve::printFixedPointConvergenceHistory(), SecantSolve::printFixedPointConvergenceHistory(), SteffensenSolve::printFixedPointConvergenceHistory(), FixedPointSolve::printFixedPointConvergenceReason(), PerfGraphLivePrint::printLiveMessage(), MaterialPropertyDebugOutput::printMaterialMap(), PerfGraphLivePrint::printStats(), NEML2Action::printSummary(), AutomaticMortarGeneration::projectPrimaryNodesSinglePair(), AutomaticMortarGeneration::projectSecondaryNodesSinglePair(), CoarsenBlockGenerator::recursiveCoarsen(), SolutionTimeAdaptiveDT::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), FEProblemBase::restoreSolutions(), NonlinearSystemBase::setInitialSolution(), MooseApp::setupOptions(), Checkpoint::shouldOutput(), SubProblem::showFunctorRequestors(), SubProblem::showFunctors(), FullSolveMultiApp::showStatusMessage(), FEProblemSolve::solve(), FixedPointSolve::solve(), LinearSystem::solve(), NonlinearSystem::solve(), AStableDirk4::solve(), ExplicitRK2::solve(), ExplicitTVDRK2::solve(), ImplicitMidpoint::solve(), LStableDirk2::solve(), LStableDirk3::solve(), LStableDirk4::solve(), EigenProblem::solve(), FixedPointSolve::solveStep(), TransientMultiApp::solveStep(), MeshRepairGenerator::splitNonConvexPolygons(), PerfGraphLivePrint::start(), WebServerControl::startServer(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), TransientBase::takeStep(), MFEMTransient::takeStep(), TerminateChainControl::terminate(), SubProblem::timestepSetup(), FEProblemBase::updateMeshXFEM(), Convergence::verboseOutput(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _consumed_material_properties

std::map<MooseObjectName, std::set<std::string> > SubProblem::_consumed_material_properties
privateinherited

◆ _currently_computing_jacobian

bool SubProblem::_currently_computing_jacobian
protectedinherited

◆ _currently_computing_residual

bool SubProblem::_currently_computing_residual
protectedinherited

◆ _currently_computing_residual_and_jacobian

bool SubProblem::_currently_computing_residual_and_jacobian
protectedinherited

Flag to determine whether the problem is currently computing the residual and Jacobian.

Definition at line 1114 of file SubProblem.h.

Referenced by SubProblem::currentlyComputingResidualAndJacobian(), and SubProblem::setCurrentlyComputingResidualAndJacobian().

◆ _default_families_without_p_refinement

const std::unordered_set< FEFamily > SubProblem::_default_families_without_p_refinement
staticprivateinherited
Initial value:

The set of variable families by default disable p-refinement.

Definition at line 48 of file SubProblem.h.

54{
55class FunctorEnvelopeBase;

Referenced by SubProblem::markFamilyPRefinement().

◆ _default_ghosting

bool SubProblem::_default_ghosting
protectedinherited

Whether or not to use default libMesh coupling.

Definition at line 1105 of file SubProblem.h.

Referenced by SubProblem::defaultGhosting().

◆ _dirac_kernel_info

DiracKernelInfo SubProblem::_dirac_kernel_info
protectedinherited

◆ _displaced_aux

std::unique_ptr<DisplacedSystem> DisplacedProblem::_displaced_aux
protected

◆ _displaced_solver_systems

std::vector<std::unique_ptr<DisplacedSystem> > DisplacedProblem::_displaced_solver_systems
protected

◆ _displacements

std::vector<std::string> DisplacedProblem::_displacements
protected

Definition at line 396 of file DisplacedProblem.h.

Referenced by getDisplacementVarNames(), and init().

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

Reference to the "enable" InputParameters, used by Controls for toggling on/off MooseObjects.

Definition at line 71 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _eq

EquationSystems DisplacedProblem::_eq
protected

Definition at line 393 of file DisplacedProblem.h.

Referenced by DisplacedProblem(), es(), getSystem(), init(), and meshChanged().

◆ _factory

Factory& SubProblem::_factory
protectedinherited

◆ _family_for_p_refinement

std::unordered_map<FEFamily, bool> SubProblem::_family_for_p_refinement
privateinherited

Indicate whether a family is disabled for p-refinement.

Definition at line 1223 of file SubProblem.h.

Referenced by SubProblem::markFamilyPRefinement(), and SubProblem::preparePRefinement().

◆ _functor_to_request_info

std::vector<std::multimap<std::string, std::pair<bool, bool> > > SubProblem::_functor_to_request_info
privateinherited

A multimap (for each thread) from unfilled functor requests to whether the requests were for AD functors and whether the requestor was an AD object.

Definition at line 1176 of file SubProblem.h.

Referenced by SubProblem::addFunctor(), SubProblem::getFunctor(), and SubProblem::SubProblem().

◆ _functor_to_requestors

std::map<std::string, std::set<std::string> > SubProblem::_functor_to_requestors
privateinherited

The requestors of functors where the key is the prop name and the value is a set of names of requestors.

Definition at line 1172 of file SubProblem.h.

Referenced by SubProblem::getFunctor(), SubProblem::initialSetup(), and SubProblem::showFunctorRequestors().

◆ _functors

std::vector<std::multimap<std::string, std::tuple<TrueFunctorIs, std::unique_ptr<Moose::FunctorEnvelopeBase>, std::unique_ptr<Moose::FunctorEnvelopeBase> > > > SubProblem::_functors
privateinherited

A container holding pointers to all the functors in our problem.

We hold a tuple where the zeroth item in the tuple is an enumerator that describes what type of functor the "true" functor is (either NONAD or AD), the first item in the tuple is the non-AD version of the functor, and the second item in the tuple is the AD version of the functor

Definition at line 1159 of file SubProblem.h.

Referenced by SubProblem::addFunctor(), SubProblem::getFunctor(), SubProblem::hasFunctor(), SubProblem::hasFunctorWithType(), SubProblem::initialSetup(), SubProblem::showFunctors(), and SubProblem::SubProblem().

◆ _geometric_search_data

GeometricSearchData DisplacedProblem::_geometric_search_data
protected

Definition at line 409 of file DisplacedProblem.h.

Referenced by geomSearchData(), updateGeomSearch(), updateMesh(), and updateMesh().

◆ _ghosted_elems

std::set<dof_id_type> SubProblem::_ghosted_elems
protectedinherited

◆ _has_active_elemental_moose_variables

std::vector<unsigned int> SubProblem::_has_active_elemental_moose_variables
protectedinherited

Whether or not there is currently a list of active elemental moose variables.

Definition at line 1094 of file SubProblem.h.

Referenced by SubProblem::clearActiveElementalMooseVariables(), SubProblem::hasActiveElementalMooseVariables(), SubProblem::setActiveElementalMooseVariables(), and SubProblem::SubProblem().

◆ _have_ad_objects

bool SubProblem::_have_ad_objects
protectedinherited

AD flag indicating whether any AD objects have been added.

Definition at line 1129 of file SubProblem.h.

Referenced by SubProblem::haveADObjects(), SubProblem::haveADObjects(), haveADObjects(), and FEProblemBase::haveADObjects().

◆ _have_p_refinement

bool SubProblem::_have_p_refinement
privateinherited

Whether p-refinement has been requested at any point during the simulation.

Definition at line 1220 of file SubProblem.h.

Referenced by SubProblem::havePRefinement(), and SubProblem::preparePRefinement().

◆ _map_block_material_props

std::map<SubdomainID, std::set<std::string> > SubProblem::_map_block_material_props
protectedinherited

Map of material properties (block_id -> list of properties)

Definition at line 1067 of file SubProblem.h.

Referenced by SubProblem::checkBlockMatProps(), SubProblem::getMaterialPropertyBlocks(), SubProblem::hasBlockMaterialProperty(), and SubProblem::storeSubdomainMatPropName().

◆ _map_block_material_props_check

std::map<SubdomainID, std::multimap<std::string, std::string> > SubProblem::_map_block_material_props_check
protectedinherited

Data structures of the requested material properties.

We store them in a map from boundary/block id to multimap. Each of the multimaps is a list of requestor object names to material property names.

Definition at line 1085 of file SubProblem.h.

Referenced by SubProblem::checkBlockMatProps(), and SubProblem::storeSubdomainDelayedCheckMatProp().

◆ _map_boundary_material_props

std::map<BoundaryID, std::set<std::string> > SubProblem::_map_boundary_material_props
protectedinherited

Map for boundary material properties (boundary_id -> list of properties)

Definition at line 1070 of file SubProblem.h.

Referenced by SubProblem::checkBoundaryMatProps(), SubProblem::getMaterialPropertyBoundaryIDs(), SubProblem::hasBoundaryMaterialProperty(), and SubProblem::storeBoundaryMatPropName().

◆ _map_boundary_material_props_check

std::map<BoundaryID, std::multimap<std::string, std::string> > SubProblem::_map_boundary_material_props_check
protectedinherited

◆ _material_property_requested

std::set<std::string> SubProblem::_material_property_requested
protectedinherited

set containing all material property names that have been requested by getMaterialProperty*

Definition at line 1077 of file SubProblem.h.

Referenced by SubProblem::isMatPropRequested(), and SubProblem::markMatPropRequested().

◆ _matrix_tag_id_to_tag_name

std::map<TagID, TagName> SubProblem::_matrix_tag_id_to_tag_name
protectedinherited

Reverse map.

Definition at line 1059 of file SubProblem.h.

Referenced by SubProblem::addMatrixTag(), SubProblem::matrixTagExists(), and SubProblem::matrixTagName().

◆ _matrix_tag_name_to_tag_id

std::map<TagName, TagID> SubProblem::_matrix_tag_name_to_tag_id
protectedinherited

◆ _mesh

MooseMesh& DisplacedProblem::_mesh
protected

◆ _mproblem

FEProblemBase& DisplacedProblem::_mproblem
protected

◆ _name

const std::string& MooseBase::_name
protectedinherited

The name of this class.

Definition at line 381 of file MooseBase.h.

Referenced by AddFieldSplitAction::act(), AddBCAction::act(), AddConstraintAction::act(), AddControlAction::act(), AddConvergenceAction::act(), AddCorrectorAction::act(), AddDamperAction::act(), AddDGKernelAction::act(), AddDiracKernelAction::act(), AddDistributionAction::act(), AddFunctionAction::act(), AddFunctorMaterialAction::act(), AddFVBCAction::act(), AddFVGradientMethodAction::act(), AddFVInitialConditionAction::act(), AddFVInterfaceKernelAction::act(), AddFVInterpolationMethodAction::act(), AddFVKernelAction::act(), AddHDGKernelAction::act(), AddIndicatorAction::act(), AddInitialConditionAction::act(), AddInterfaceKernelAction::act(), AddKernelAction::act(), AddLinearFVBCAction::act(), AddLinearFVKernelAction::act(), AddMarkerAction::act(), AddMaterialAction::act(), AddMeshDivisionAction::act(), AddMeshGeneratorAction::act(), AddMeshModifiersAction::act(), AddMultiAppAction::act(), AddNodalKernelAction::act(), AddOutputAction::act(), AddPositionsAction::act(), AddPostprocessorAction::act(), AddReporterAction::act(), AddSamplerAction::act(), AddScalarKernelAction::act(), AddTimesAction::act(), AddTimeStepperAction::act(), AddTransferAction::act(), AddUserObjectAction::act(), AddVectorPostprocessorAction::act(), PartitionerAction::act(), ReadExecutorParamsAction::act(), SetupPreconditionerAction::act(), SetupTimeIntegratorAction::act(), AddMFEMComplexBCComponentAction::act(), AddMFEMComplexKernelComponentAction::act(), AddMFEMFESpaceAction::act(), AddMFEMFESpaceHierarchyAction::act(), AddMFEMProblemComposerAction::act(), AddMFEMQuadratureFunctionAction::act(), AddMFEMSolverAction::act(), AddMFEMSubMeshAction::act(), ADPiecewiseLinearInterpolationMaterial::ADPiecewiseLinearInterpolationMaterial(), BatchMeshGeneratorAction::BatchMeshGeneratorAction(), PiecewiseLinearBase::buildInterpolation(), CombinerGenerator::CombinerGenerator(), Executor::Executor(), ExtraIDIntegralReporter::ExtraIDIntegralReporter(), MultiApp::fillPositions(), CentroidMultiApp::fillPositions(), QuadraturePointMultiApp::fillPositions(), FunctionDT::FunctionDT(), FillBetweenCurvesGenerator::generate(), FillBetweenPointVectorsGenerator::generate(), FillBetweenSidesetsGenerator::generate(), MooseBase::MooseBase(), MooseBase::name(), ReferenceResidualConvergence::nonlinearConvergenceSetup(), ParsedFunctorMaterialTempl< is_ad >::ParsedFunctorMaterialTempl(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseBase::setData(), and AddVariableAction::varName().

◆ _nl_solution

std::vector<const NumericVector<Number> *> DisplacedProblem::_nl_solution
protected

The nonlinear system solutions.

Definition at line 402 of file DisplacedProblem.h.

Referenced by DisplacedProblem(), updateMesh(), and updateMesh().

◆ _not_zeroed_tagged_vectors

std::unordered_set<TagID> SubProblem::_not_zeroed_tagged_vectors
protectedinherited

the list of vector tags that will not be zeroed when all other tags are

Definition at line 1132 of file SubProblem.h.

Referenced by SubProblem::addNotZeroedVectorTag(), FEProblemBase::restoreSolutions(), and SubProblem::vectorTagNotZeroed().

◆ _parent

const ParallelParamObject& DataFileInterface::_parent
privateinherited

◆ _pars

const InputParameters& MooseBase::_pars
protectedinherited

The object's parameters.

Definition at line 384 of file MooseBase.h.

Referenced by AddAuxKernelAction::act(), AddFVICAction::act(), AddICAction::act(), CommonOutputAction::act(), ComposeTimeStepperAction::act(), CreateProblemAction::act(), CreateProblemDefaultAction::act(), SetupDebugAction::act(), SetupMeshAction::act(), AddMFEMComplexBCComponentAction::act(), AddMFEMComplexKernelComponentAction::act(), FunctorMaterial::addFunctorPropertyByBlocks(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), PNGOutput::calculateRescalingValues(), MooseBase::callMooseError(), MooseBase::connectControllableParams(), Console::Console(), MooseApp::copyInputs(), MaterialBase::declareADProperty(), Moose::Kokkos::MaterialBase::declareKokkosOnDemandProperty(), Moose::Kokkos::MaterialBase::declareKokkosProperty(), MaterialBase::declareProperty(), FEProblemSolve::FEProblemSolve(), FileMeshGenerator::generate(), MooseBase::getBase(), MooseBase::getCheckedPointerParam(), MaterialBase::getGenericZeroMaterialProperty(), MooseBase::getHitNode(), MeshGenerator::getMeshGeneratorNameFromParam(), MeshGenerator::getMeshGeneratorNamesFromParam(), MooseBase::getParam(), MooseBase::getParam(), MooseBase::hasBase(), MeshGenerator::hasGenerateCSG(), MeshGenerator::hasGenerateData(), AddVariableAction::init(), AdvancedOutput::initExecutionTypes(), EigenProblemSolve::initialSetup(), Console::initialSetup(), MooseBase::isParamSetByUser(), MooseBase::isParamValid(), MultiApp::keepSolutionDuringRestore(), MooseBase::messagePrefix(), MooseBase::MooseBase(), MultiSystemSolveObject::MultiSystemSolveObject(), MooseApp::outputMachineReadableData(), MooseBase::paramError(), MooseBase::parameters(), MooseBase::paramInfo(), MooseBase::paramWarning(), MooseMesh::prepare(), MooseBase::queryParam(), MooseMesh::setCoordSystem(), MooseMesh::setPartitionerHelper(), SetupMeshAction::setupMesh(), TransientBase::setupTimeIntegrator(), MooseApp::showInputs(), and MooseBase::uniqueName().

◆ _pbblf_functors

std::vector<std::map<std::string, std::unique_ptr<Moose::FunctorAbstract> > > SubProblem::_pbblf_functors
privateinherited

◆ _pg_moose_app

MooseApp& PerfGraphInterface::_pg_moose_app
protectedinherited

The MooseApp that owns the PerfGraph.

Definition at line 135 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::perfGraph().

◆ _prefix

const std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 138 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::timedSectionName().

◆ _ref_mesh

MooseMesh& DisplacedProblem::_ref_mesh
protected

◆ _root_alg_gf_to_sys_clones

std::unordered_map<libMesh::GhostingFunctor *, std::vector<std::shared_ptr<libMesh::GhostingFunctor> > > SubProblem::_root_alg_gf_to_sys_clones
privateinherited

A map from a root algebraic ghosting functor, e.g.

the ghosting functor passed into removeAlgebraicGhostingFunctor, to its clones in other systems, e.g. systems other than system 0

Definition at line 1210 of file SubProblem.h.

Referenced by SubProblem::cloneAlgebraicGhostingFunctor(), and SubProblem::removeAlgebraicGhostingFunctor().

◆ _root_coupling_gf_to_sys_clones

std::unordered_map<libMesh::GhostingFunctor *, std::vector<std::shared_ptr<libMesh::GhostingFunctor> > > SubProblem::_root_coupling_gf_to_sys_clones
privateinherited

A map from a root coupling ghosting functor, e.g.

the ghosting functor passed into removeCouplingGhostingFunctor, to its clones in other systems, e.g. systems other than system 0

Definition at line 1217 of file SubProblem.h.

Referenced by SubProblem::cloneCouplingGhostingFunctor(), and SubProblem::removeCouplingGhostingFunctor().

◆ _safe_access_tagged_matrices

bool SubProblem::_safe_access_tagged_matrices
protectedinherited

◆ _safe_access_tagged_vectors

bool SubProblem::_safe_access_tagged_vectors
protectedinherited

◆ _show_chain_control_data

bool SubProblem::_show_chain_control_data
privateinherited

Whether to output a list of all the chain control data.

Definition at line 1182 of file SubProblem.h.

Referenced by SubProblem::initialSetup(), SubProblem::setChainControlDataOutput(), and SubProblem::timestepSetup().

◆ _show_functors

bool SubProblem::_show_functors
privateinherited

Whether to output a list of the functors used and requested (currently only at initialSetup)

Definition at line 1179 of file SubProblem.h.

Referenced by SubProblem::initialSetup(), and SubProblem::setFunctorOutput().

◆ _si_moose_base

const MooseBase& SolutionInvalidInterface::_si_moose_base
privateinherited

◆ _si_problem

const FEProblemBase* SolutionInvalidInterface::_si_problem
privateinherited

A pointer to FEProblem base.

Definition at line 114 of file SolutionInvalidInterface.h.

Referenced by SolutionInvalidInterface::flagInvalidSolutionInternal().

◆ _termination_requested

bool Problem::_termination_requested
protectedinherited

True if termination of the solve has been requested.

Definition at line 58 of file Problem.h.

Referenced by Problem::isSolveTerminationRequested(), and Problem::terminateSolve().

◆ _type

const std::string& MooseBase::_type
protectedinherited

◆ _typed_vector_tags

std::vector<std::vector<VectorTag> > SubProblem::_typed_vector_tags
privateinherited

The vector tags associated with each VectorTagType This is kept separate from _vector_tags for quick access into typed vector tags in places where we don't want to build a new vector every call (like in residual evaluation)

Definition at line 1192 of file SubProblem.h.

Referenced by SubProblem::addVectorTag(), SubProblem::getVectorTags(), and SubProblem::verifyVectorTags().

◆ _var_dof_map

std::map<std::string, std::vector<dof_id_type> > SubProblem::_var_dof_map
inherited

◆ _vector_tags

std::vector<VectorTag> SubProblem::_vector_tags
privateinherited

◆ _vector_tags_name_map

std::map<TagName, TagID> SubProblem::_vector_tags_name_map
privateinherited

Map of vector tag TagName to TagID.

Definition at line 1195 of file SubProblem.h.

Referenced by SubProblem::addVectorTag(), SubProblem::getVectorTagID(), and SubProblem::verifyVectorTags().

◆ _zero_block_material_props

std::map<SubdomainID, std::set<MaterialPropertyName> > SubProblem::_zero_block_material_props
protectedinherited

Set of properties returned as zero properties.

Definition at line 1073 of file SubProblem.h.

Referenced by SubProblem::checkBlockMatProps(), FEProblemBase::checkDependMaterialsHelper(), and SubProblem::storeSubdomainZeroMatProp().

◆ _zero_boundary_material_props

std::map<BoundaryID, std::set<MaterialPropertyName> > SubProblem::_zero_boundary_material_props
protectedinherited

◆ app_param

const std::string MooseBase::app_param = "_moose_app"
staticinherited

◆ kokkos_object_param

const std::string MooseBase::kokkos_object_param = "_kokkos_object"
staticinherited

The name of the parameter that indicates an object is a Kokkos functor.

Definition at line 64 of file MooseBase.h.

Referenced by InputParameters::isKokkosObject().

◆ moose_base_param

const std::string MooseBase::moose_base_param = "_moose_base"
staticinherited

The name of the parameter that contains the moose system base.

Definition at line 61 of file MooseBase.h.

Referenced by InputParameters::getBase(), InputParameters::hasBase(), and InputParameters::registerBase().

◆ name_param

const std::string MooseBase::name_param = "_object_name"
staticinherited

◆ type_param

const std::string MooseBase::type_param = "_type"
staticinherited

◆ unique_name_param

const std::string MooseBase::unique_name_param = "_unique_name"
staticinherited

The name of the parameter that contains the unique object name.

Definition at line 57 of file MooseBase.h.

Referenced by InputParameterWarehouse::addInputParameters(), AppFactory::create(), InputParameterWarehouse::removeInputParameters(), MooseBase::uniqueName(), and MooseBase::validParams().

◆ usingCombinedWarningSolutionWarnings

MooseObject::usingCombinedWarningSolutionWarnings
inherited

Definition at line 67 of file MooseObject.h.


The documentation for this class was generated from the following files: