www.mooseframework.org
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
SubProblem Class Referenceabstract

Generic class for solving transient nonlinear problems. More...

#include <SubProblem.h>

Inheritance diagram for SubProblem:
[legend]

Public Member Functions

 SubProblem (const InputParameters &parameters)
 
virtual ~SubProblem ()
 
virtual EquationSystems & es ()=0
 
virtual MooseMeshmesh ()=0
 
virtual bool checkNonlocalCouplingRequirement ()
 
virtual void solve ()=0
 
virtual bool converged ()=0
 
virtual void onTimestepBegin ()=0
 
virtual void onTimestepEnd ()=0
 
virtual bool isTransient () const =0
 
bool defaultGhosting ()
 Whether or not the user has requested default ghosting ot be on. More...
 
virtual TagID addVectorTag (TagName tag_name)
 Create a Tag. More...
 
virtual TagID getVectorTagID (const TagName &tag_name)
 Get a TagID from a TagName. More...
 
virtual TagName vectorTagName (TagID tag)
 Retrieve the name associated with a TagID. More...
 
virtual std::map< TagName, TagID > & getVectorTags ()
 Return all vector tags, where a tag is represented by a map from name to ID. More...
 
virtual bool vectorTagExists (TagID tag)
 Check to see if a particular Tag exists. More...
 
bool vectorTagExists (const TagName &tag_name)
 Check to see if a particular Tag exists by using Tag name. More...
 
virtual unsigned int numVectorTags ()
 The total number of tags. More...
 
virtual TagID addMatrixTag (TagName tag_name)
 Create a Tag. More...
 
virtual TagID getMatrixTagID (const TagName &tag_name)
 Get a TagID from a TagName. More...
 
virtual TagName matrixTagName (TagID tag)
 Retrieve the name associated with a TagID. More...
 
virtual bool matrixTagExists (const TagName &tag_name)
 Check to see if a particular Tag exists. More...
 
virtual bool matrixTagExists (TagID tag_id)
 Check to see if a particular Tag exists. More...
 
virtual unsigned int numMatrixTags ()
 The total number of tags. More...
 
virtual std::map< TagName, TagID > & getMatrixTags ()
 Return all matrix tags in the sytem, where a tag is represented by a map from name to ID. More...
 
virtual bool hasVariable (const std::string &var_name) const =0
 
virtual MooseVariableFEBasegetVariable (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)=0
 Returns the variable reference for requested variable which must be of the expected_var_type (Nonlinear vs. More...
 
virtual MooseVariablegetStandardVariable (THREAD_ID tid, const std::string &var_name)=0
 Returns the variable reference for requested MooseVariable which may be in any system. More...
 
virtual VectorMooseVariablegetVectorVariable (THREAD_ID tid, const std::string &var_name)=0
 Returns the variable reference for requested VectorMooseVariable which may be in any system. More...
 
virtual bool hasScalarVariable (const std::string &var_name) const =0
 Returns a Boolean indicating whether any system contains a variable with the name provided. More...
 
virtual MooseVariableScalargetScalarVariable (THREAD_ID tid, const std::string &var_name)=0
 Returns the scalar variable reference from whichever system contains it. More...
 
virtual System & getSystem (const std::string &var_name)=0
 Returns the equation system containing the variable provided. More...
 
virtual void setActiveElementalMooseVariables (const std::set< MooseVariableFEBase *> &moose_vars, THREAD_ID tid)
 Set the MOOSE variables to be reinited on each element. More...
 
virtual const std::set< MooseVariableFEBase * > & getActiveElementalMooseVariables (THREAD_ID tid) const
 Get the MOOSE variables to be reinited on each element. More...
 
virtual bool hasActiveElementalMooseVariables (THREAD_ID tid) const
 Whether or not a list of active elemental moose variables has been set. More...
 
virtual void clearActiveElementalMooseVariables (THREAD_ID tid)
 Clear the active elemental MooseVariableFEBase. More...
 
virtual void setActiveMaterialProperties (const std::set< unsigned int > &mat_prop_ids, THREAD_ID tid)
 Record and set the material properties required by the current computing thread. More...
 
virtual const std::set< unsigned int > & getActiveMaterialProperties (THREAD_ID tid) const
 Get the material properties required by the current computing thread. More...
 
virtual bool hasActiveMaterialProperties (THREAD_ID tid) const
 Method to check whether or not a list of active material roperties has been set. More...
 
virtual void clearActiveMaterialProperties (THREAD_ID tid)
 Clear the active material properties. More...
 
virtual Assemblyassembly (THREAD_ID tid)=0
 
virtual void prepareShapes (unsigned int var, THREAD_ID tid)=0
 
virtual void prepareFaceShapes (unsigned int var, THREAD_ID tid)=0
 
virtual void prepareNeighborShapes (unsigned int var, THREAD_ID tid)=0
 
virtual Moose::CoordinateSystemType getCoordSystem (SubdomainID sid)=0
 
unsigned int getAxisymmetricRadialCoord () const
 Returns the desired radial direction for RZ coordinate transformation. More...
 
virtual DiracKernelInfodiracKernelInfo ()
 
virtual Real finalNonlinearResidual () const
 
virtual unsigned int nNonlinearIterations () const
 
virtual unsigned int nLinearIterations () const
 
virtual void addResidual (THREAD_ID tid)=0
 
virtual void addResidualNeighbor (THREAD_ID tid)=0
 
virtual void cacheResidual (THREAD_ID tid)=0
 
virtual void cacheResidualNeighbor (THREAD_ID tid)=0
 
virtual void addCachedResidual (THREAD_ID tid)=0
 
virtual void setResidual (NumericVector< Number > &residual, THREAD_ID tid)=0
 
virtual void setResidualNeighbor (NumericVector< Number > &residual, THREAD_ID tid)=0
 
virtual void addJacobian (THREAD_ID tid)=0
 
virtual void addJacobianNeighbor (THREAD_ID tid)=0
 
virtual void addJacobianBlock (SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const DofMap &dof_map, std::vector< dof_id_type > &dof_indices, THREAD_ID tid)=0
 
virtual void addJacobianNeighbor (SparseMatrix< Number > &jacobian, unsigned int ivar, unsigned int jvar, const DofMap &dof_map, std::vector< dof_id_type > &dof_indices, std::vector< dof_id_type > &neighbor_dof_indices, THREAD_ID tid)=0
 
virtual void cacheJacobian (THREAD_ID tid)=0
 
virtual void cacheJacobianNeighbor (THREAD_ID tid)=0
 
virtual void addCachedJacobian (THREAD_ID tid)=0
 
virtual void prepare (const Elem *elem, THREAD_ID tid)=0
 
virtual void prepareFace (const Elem *elem, THREAD_ID tid)=0
 
virtual void prepare (const Elem *elem, unsigned int ivar, unsigned int jvar, const std::vector< dof_id_type > &dof_indices, THREAD_ID tid)=0
 
virtual void setCurrentSubdomainID (const Elem *elem, THREAD_ID tid)=0
 
virtual void setNeighborSubdomainID (const Elem *elem, unsigned int side, THREAD_ID tid)=0
 
virtual void prepareAssembly (THREAD_ID tid)=0
 
virtual void reinitElem (const Elem *elem, THREAD_ID tid)=0
 
virtual void reinitElemPhys (const Elem *elem, const std::vector< Point > &phys_points_in_elem, THREAD_ID tid, bool suppress_displaced_init=false)=0
 
virtual void reinitElemFace (const Elem *elem, unsigned int side, BoundaryID bnd_id, THREAD_ID tid)=0
 
virtual void reinitNode (const Node *node, THREAD_ID tid)=0
 
virtual void reinitNodeFace (const Node *node, BoundaryID bnd_id, THREAD_ID tid)=0
 
virtual void reinitNodes (const std::vector< dof_id_type > &nodes, THREAD_ID tid)=0
 
virtual void reinitNodesNeighbor (const std::vector< dof_id_type > &nodes, THREAD_ID tid)=0
 
virtual void reinitNeighbor (const Elem *elem, unsigned int side, THREAD_ID tid)=0
 
virtual void reinitNeighborPhys (const Elem *neighbor, unsigned int neighbor_side, const std::vector< Point > &physical_points, THREAD_ID tid)=0
 
virtual void reinitNeighborPhys (const Elem *neighbor, const std::vector< Point > &physical_points, THREAD_ID tid)=0
 
virtual void reinitScalars (THREAD_ID tid)=0
 
virtual void reinitOffDiagScalars (THREAD_ID tid)=0
 
virtual bool reinitDirac (const Elem *elem, THREAD_ID tid)=0
 Returns true if the Problem has Dirac kernels it needs to compute on elem. More...
 
virtual void getDiracElements (std::set< const Elem *> &elems)=0
 Fills "elems" with the elements that should be looped over for Dirac Kernels. More...
 
virtual void clearDiracInfo ()=0
 Gets called before Dirac Kernels are asked to add the points they are supposed to be evaluated in. More...
 
virtual void updateGeomSearch (GeometricSearchData::GeometricSearchType type=GeometricSearchData::ALL)=0
 
virtual GeometricSearchDatageomSearchData ()=0
 
virtual void meshChanged ()
 
virtual void storeSubdomainMatPropName (SubdomainID block_id, const std::string &name)
 Adds the given material property to a storage map based on block ids. More...
 
virtual void storeBoundaryMatPropName (BoundaryID boundary_id, const std::string &name)
 Adds the given material property to a storage map based on boundary ids. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void checkBlockMatProps ()
 Checks block material properties integrity. More...
 
virtual void checkBoundaryMatProps ()
 Checks boundary material properties integrity. More...
 
virtual void markMatPropRequested (const std::string &)
 Helper method for adding a material property name to the _material_property_requested set. More...
 
virtual bool isMatPropRequested (const std::string &prop_name) const
 Find out if a material property has been requested by any object. More...
 
virtual void addGhostedElem (dof_id_type elem_id)=0
 Will make sure that all dofs connected to elem_id are ghosted to this processor. More...
 
virtual void addGhostedBoundary (BoundaryID boundary_id)=0
 Will make sure that all necessary elements from boundary_id are ghosted to this processor. More...
 
virtual void ghostGhostedBoundaries ()=0
 Causes the boundaries added using addGhostedBoundary to actually be ghosted. More...
 
virtual std::set< SubdomainIDgetMaterialPropertyBlocks (const std::string &prop_name)
 Get a vector containing the block ids the material property is defined on. More...
 
virtual std::vector< SubdomainName > getMaterialPropertyBlockNames (const std::string &prop_name)
 Get a vector of block id equivalences that the material property is defined on. More...
 
virtual bool hasBlockMaterialProperty (SubdomainID block_id, const std::string &prop_name)
 Check if a material property is defined on a block. More...
 
virtual std::set< BoundaryIDgetMaterialPropertyBoundaryIDs (const std::string &prop_name)
 Get a vector containing the block ids the material property is defined on. More...
 
virtual std::vector< BoundaryName > getMaterialPropertyBoundaryNames (const std::string &prop_name)
 Get a vector of block id equivalences that the material property is defined on. More...
 
virtual bool hasBoundaryMaterialProperty (BoundaryID boundary_id, const std::string &prop_name)
 Check if a material property is defined on a block. More...
 
virtual bool computingInitialResidual () const =0
 Returns true if the problem is in the process of computing it's initial residual. More...
 
virtual std::set< dof_id_type > & ghostedElems ()
 Return the list of elements that should have their DoFs ghosted to this processor. More...
 
const CouplingMatrix & nonlocalCouplingMatrix () const
 
virtual const bool & currentlyComputingJacobian () const
 Returns true if the problem is in the process of computing Jacobian. More...
 
virtual void setCurrentlyComputingJacobian (const bool &flag)
 
bool & computingNonlinearResid ()
 Check whether residual being evaulated is non-linear. More...
 
bool safeAccessTaggedMatrices ()
 Is it safe to access the tagged matrices. More...
 
bool safeAccessTaggedVectors ()
 Is it safe to access the tagged vectors. More...
 
virtual void clearActiveFEVariableCoupleableMatrixTags (THREAD_ID tid)
 
virtual void clearActiveFEVariableCoupleableVectorTags (THREAD_ID tid)
 
virtual void setActiveFEVariableCoupleableVectorTags (std::set< TagID > &vtags, THREAD_ID tid)
 
virtual void setActiveFEVariableCoupleableMatrixTags (std::set< TagID > &mtags, THREAD_ID tid)
 
virtual void clearActiveScalarVariableCoupleableMatrixTags (THREAD_ID tid)
 
virtual void clearActiveScalarVariableCoupleableVectorTags (THREAD_ID tid)
 
virtual void setActiveScalarVariableCoupleableVectorTags (std::set< TagID > &vtags, THREAD_ID tid)
 
virtual void setActiveScalarVariableCoupleableMatrixTags (std::set< TagID > &mtags, THREAD_ID tid)
 
std::set< TagID > & getActiveScalarVariableCoupleableVectorTags (THREAD_ID tid)
 
std::set< TagID > & getActiveScalarVariableCoupleableMatrixTags (THREAD_ID tid)
 
std::set< TagID > & getActiveFEVariableCoupleableVectorTags (THREAD_ID tid)
 
std::set< TagID > & getActiveFEVariableCoupleableMatrixTags (THREAD_ID tid)
 
virtual void haveADObjects (bool have_ad_objects)
 Method for setting whether we have any ad objects. More...
 
bool haveADObjects () const
 Method for reading wehther we have any ad objects. More...
 
virtual void init ()=0
 
void _setCLIOption ()
 For Internal Use. More...
 
virtual void terminateSolve ()
 Allow objects to request clean termination of the solve. More...
 
virtual bool isSolveTerminationRequested ()
 Check of termination has been requested. More...
 
const std::string & type () const
 Get the type of this object. More...
 
const std::string & name () const
 Get the name of the object. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
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. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
MooseAppgetMooseApp () const
 Get the MooseApp this object is associated with. More...
 
virtual bool enabled () const
 Return the enabled status of the object. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args)
 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. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args)
 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. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args)
 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. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 

Public Attributes

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

Protected Member Functions

MooseVariableFEBasegetVariableHelper (THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type, Moose::VarFieldType expected_var_field_type, SystemBase &nl, SystemBase &aux)
 Helper function called by getVariable that handles the logic for checking whether Variables of the requested type are available. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level)
 Call to register a named section for timing. More...
 

Protected Attributes

std::map< TagName, TagID_vector_tag_name_to_tag_id
 The currently declared tags. More...
 
std::map< TagID, TagName > _vector_tag_id_to_tag_name
 Reverse map. More...
 
std::map< TagName, TagID_matrix_tag_name_to_tag_id
 The currently declared tags. More...
 
std::map< TagID, TagName > _matrix_tag_id_to_tag_name
 Reverse map. More...
 
Factory_factory
 The Factory for building objects. More...
 
CouplingMatrix _nonlocal_cm
 
std::map< SubdomainID, Moose::CoordinateSystemType_coord_sys
 nonlocal coupling matrix; More...
 
DiracKernelInfo _dirac_kernel_info
 
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
 Map of material properties (block_id -> list of properties) More...
 
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
 Map for boundary material properties (boundary_id -> list of properties) More...
 
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
 Set of properties returned as zero properties. More...
 
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* More...
 
std::vector< std::set< MooseVariableFEBase * > > _active_elemental_moose_variables
 This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem) More...
 
std::vector< unsigned int > _has_active_elemental_moose_variables
 Whether or not there is currently a list of active elemental moose variables. More...
 
std::vector< std::set< unsigned int > > _active_material_property_ids
 Set of material property ids that determine whether materials get reinited. More...
 
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 _requires_nonlocal_coupling
 nonlocal coupling requirement flag More...
 
bool _default_ghosting
 Whether or not to use default libMesh coupling. More...
 
std::set< dof_id_type > _ghosted_elems
 Elements that should have Dofs ghosted to the local processor. More...
 
unsigned int _rz_coord_axis
 Storage for RZ axis selection. More...
 
bool _currently_computing_jacobian
 Flag to determine whether the problem is currently computing Jacobian. More...
 
bool _computing_nonlinear_residual
 Whether residual being evaulated is non-linear. More...
 
bool _safe_access_tagged_matrices
 Is it safe to retrieve data from tagged matrices. More...
 
bool _safe_access_tagged_vectors
 Is it safe to retrieve data from tagged vectors. More...
 
bool _have_ad_objects
 AD flag indicating whether any AD objects have been added. More...
 
bool _cli_option_found
 True if the CLI option is found. More...
 
bool _color_output
 True if we're going to attempt to write color output. More...
 
bool _termination_requested
 True if termination of the solve has been requested. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
MooseApp_app
 The MooseApp this object is associated with. More...
 
const std::string & _type
 The type of this object (the Class name) More...
 
const std::string & _name
 The name of this object, reference to value stored in InputParameters. More...
 
const bool & _enabled
 Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects. More...
 
const InputParameters_pg_params
 Params. More...
 
PerfGraph_perf_graph
 The performance graph to add to. More...
 
std::string _prefix
 A prefix to use for all sections. More...
 
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
 Data structures of the requested material properties. More...
 
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
 

Private Member Functions

std::string restrictionSubdomainCheckName (SubdomainID check_id)
 Helper functions for checking MaterialProperties. More...
 
std::string restrictionBoundaryCheckName (BoundaryID check_id)
 

Friends

class Restartable
 

Detailed Description

Generic class for solving transient nonlinear problems.

Definition at line 60 of file SubProblem.h.

Constructor & Destructor Documentation

◆ SubProblem()

SubProblem::SubProblem ( const InputParameters parameters)

Definition at line 38 of file SubProblem.C.

41  _nonlocal_cm(),
43  _default_ghosting(getParam<bool>("default_ghosting")),
44  _rz_coord_axis(1), // default to RZ rotation around y-axis
49  _have_ad_objects(false)
50 {
51  unsigned int n_threads = libMesh::n_threads();
52  _active_elemental_moose_variables.resize(n_threads);
53  _has_active_elemental_moose_variables.resize(n_threads);
54  _active_material_property_ids.resize(n_threads);
55 
56  _active_fe_var_coupleable_matrix_tags.resize(n_threads);
57  _active_fe_var_coupleable_vector_tags.resize(n_threads);
58  _active_sc_var_coupleable_matrix_tags.resize(n_threads);
59  _active_sc_var_coupleable_vector_tags.resize(n_threads);
60 }
bool _requires_nonlocal_coupling
nonlocal coupling requirement flag
Definition: SubProblem.h:638
bool _have_ad_objects
AD flag indicating whether any AD objects have been added.
Definition: SubProblem.h:662
Factory & _factory
The Factory for building objects.
Definition: SubProblem.h:587
unsigned int _rz_coord_axis
Storage for RZ axis selection.
Definition: SubProblem.h:647
Problem(const InputParameters &parameters)
Definition: Problem.C:25
bool _currently_computing_jacobian
Flag to determine whether the problem is currently computing Jacobian.
Definition: SubProblem.h:650
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:635
Factory & getFactory()
Retrieve the Factory associated with this App.
Definition: MooseApp.h:280
bool _computing_nonlinear_residual
Whether residual being evaulated is non-linear.
Definition: SubProblem.h:653
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:62
bool _safe_access_tagged_vectors
Is it safe to retrieve data from tagged vectors.
Definition: SubProblem.h:659
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:627
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:631
bool _default_ghosting
Whether or not to use default libMesh coupling.
Definition: SubProblem.h:641
std::vector< unsigned int > _has_active_elemental_moose_variables
Whether or not there is currently a list of active elemental moose variables.
Definition: SubProblem.h:624
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:174
std::vector< std::set< MooseVariableFEBase * > > _active_elemental_moose_variables
This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:620
bool _safe_access_tagged_matrices
Is it safe to retrieve data from tagged matrices.
Definition: SubProblem.h:656
CouplingMatrix _nonlocal_cm
Definition: SubProblem.h:589
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:629
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:633

◆ ~SubProblem()

SubProblem::~SubProblem ( )
virtual

Definition at line 62 of file SubProblem.C.

62 {}

Member Function Documentation

◆ _setCLIOption()

void Problem::_setCLIOption ( )
inlineinherited

For Internal Use.

Definition at line 36 of file Problem.h.

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

◆ addCachedJacobian()

virtual void SubProblem::addCachedJacobian ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ addCachedResidual()

virtual void SubProblem::addCachedResidual ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ addGhostedBoundary()

virtual void SubProblem::addGhostedBoundary ( BoundaryID  boundary_id)
pure virtual

◆ addGhostedElem()

virtual void SubProblem::addGhostedElem ( dof_id_type  elem_id)
pure virtual

◆ addJacobian()

virtual void SubProblem::addJacobian ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ addJacobianBlock()

virtual void SubProblem::addJacobianBlock ( SparseMatrix< Number > &  jacobian,
unsigned int  ivar,
unsigned int  jvar,
const DofMap &  dof_map,
std::vector< dof_id_type > &  dof_indices,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ addJacobianNeighbor() [1/2]

virtual void SubProblem::addJacobianNeighbor ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ addJacobianNeighbor() [2/2]

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ addMatrixTag()

TagID SubProblem::addMatrixTag ( TagName  tag_name)
virtual

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 in DisplacedProblem.

Definition at line 111 of file SubProblem.C.

Referenced by DisplacedProblem::addMatrixTag(), FEProblemBase::createTagVectors(), NonlinearEigenSystem::NonlinearEigenSystem(), and NonlinearSystemBase::NonlinearSystemBase().

112 {
113  auto tag_name_upper = MooseUtils::toUpper(tag_name);
114  auto existing_tag = _matrix_tag_name_to_tag_id.find(tag_name_upper);
115  if (existing_tag == _matrix_tag_name_to_tag_id.end())
116  {
117  auto tag_id = _matrix_tag_name_to_tag_id.size();
118 
119  _matrix_tag_name_to_tag_id[tag_name_upper] = tag_id;
120 
121  _matrix_tag_id_to_tag_name[tag_id] = tag_name_upper;
122  }
123 
124  return _matrix_tag_name_to_tag_id.at(tag_name_upper);
125 }
std::map< TagName, TagID > _matrix_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:581
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:699
std::map< TagID, TagName > _matrix_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:584

◆ addResidual()

virtual void SubProblem::addResidual ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ addResidualNeighbor()

virtual void SubProblem::addResidualNeighbor ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ addVectorTag()

TagID SubProblem::addVectorTag ( TagName  tag_name)
virtual

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 in DisplacedProblem.

Definition at line 65 of file SubProblem.C.

Referenced by DisplacedProblem::addVectorTag(), FEProblemBase::createTagVectors(), NonlinearSystemBase::getResidualNonTimeVector(), NonlinearSystemBase::getResidualTimeVector(), NonlinearEigenSystem::NonlinearEigenSystem(), and NonlinearSystemBase::NonlinearSystemBase().

66 {
67  auto tag_name_upper = MooseUtils::toUpper(tag_name);
68  auto existing_tag = _vector_tag_name_to_tag_id.find(tag_name_upper);
69  if (existing_tag == _vector_tag_name_to_tag_id.end())
70  {
71  auto tag_id = _vector_tag_name_to_tag_id.size();
72 
73  _vector_tag_name_to_tag_id[tag_name_upper] = tag_id;
74 
75  _vector_tag_id_to_tag_name[tag_id] = tag_name_upper;
76  }
77 
78  return _vector_tag_name_to_tag_id.at(tag_name_upper);
79 }
std::map< TagName, TagID > _vector_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:575
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:699
std::map< TagID, TagName > _vector_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:578

◆ assembly()

virtual Assembly& SubProblem::assembly ( THREAD_ID  tid)
pure virtual

◆ cacheJacobian()

virtual void SubProblem::cacheJacobian ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ cacheJacobianNeighbor()

virtual void SubProblem::cacheJacobianNeighbor ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ cacheResidual()

virtual void SubProblem::cacheResidual ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ cacheResidualNeighbor()

virtual void SubProblem::cacheResidualNeighbor ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ checkBlockMatProps()

void SubProblem::checkBlockMatProps ( )
virtual

Checks block material properties integrity.

See also
FEProblemBase::checkProblemIntegrity

Definition at line 445 of file SubProblem.C.

Referenced by FEProblemBase::checkProblemIntegrity().

446 {
447  // Variable for storing the value for ANY_BLOCK_ID/ANY_BOUNDARY_ID
449 
450  // Variable for storing all available blocks/boundaries from the mesh
451  std::set<SubdomainID> all_ids(mesh().meshSubdomains());
452 
453  // Loop through the properties to check
454  for (const auto & check_it : _map_block_material_props_check)
455  {
456  // The current id for the property being checked (BoundaryID || BlockID)
457  SubdomainID check_id = check_it.first;
458 
459  // In the case when the material being checked has an ID is set to ANY, then loop through all
460  // the possible ids and verify that the material property is defined.
461  std::set<SubdomainID> check_ids = {check_id};
462  if (check_id == any_id)
463  check_ids = all_ids;
464 
465  // Loop through all the block/boundary ids
466  for (const auto & id : check_ids)
467  {
468  // Loop through all the stored properties
469  for (const auto & prop_it : check_it.second)
470  {
471  // Produce an error if the material property is not defined on the current block/boundary
472  // and any block/boundary
473  // and not is not a zero material property.
474  if (_map_block_material_props[id].count(prop_it.second) == 0 &&
475  _map_block_material_props[any_id].count(prop_it.second) == 0 &&
476  _zero_block_material_props[id].count(prop_it.second) == 0 &&
477  _zero_block_material_props[any_id].count(prop_it.second) == 0)
478  {
479  std::string check_name = restrictionSubdomainCheckName(id);
480  if (check_name.empty())
481  check_name = std::to_string(id);
482  mooseError("Material property '",
483  prop_it.second,
484  "', requested by '",
485  prop_it.first,
486  "' is not defined on block ",
487  check_name);
488  }
489  }
490  }
491  }
492 }
virtual MooseMesh & mesh()=0
subdomain_id_type SubdomainID
Definition: MooseTypes.h:160
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
std::string restrictionSubdomainCheckName(SubdomainID check_id)
Helper functions for checking MaterialProperties.
Definition: SubProblem.C:587
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:15
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
Set of properties returned as zero properties.
Definition: SubProblem.h:603
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
Data structures of the requested material properties.
Definition: SubProblem.h:615
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:597

◆ checkBoundaryMatProps()

void SubProblem::checkBoundaryMatProps ( )
virtual

Checks boundary material properties integrity.

See also
FEProblemBase::checkProblemIntegrity

Definition at line 495 of file SubProblem.C.

Referenced by FEProblemBase::checkProblemIntegrity().

496 {
497  // Variable for storing the value for ANY_BLOCK_ID/ANY_BOUNDARY_ID
499 
500  // Variable for storing all available blocks/boundaries from the mesh
501  std::set<BoundaryID> all_ids(mesh().getBoundaryIDs());
502 
503  // Loop through the properties to check
504  for (const auto & check_it : _map_boundary_material_props_check)
505  {
506  // The current id for the property being checked (BoundaryID || BlockID)
507  BoundaryID check_id = check_it.first;
508 
509  // In the case when the material being checked has an ID is set to ANY, then loop through all
510  // the possible ids and verify that the material property is defined.
511  std::set<BoundaryID> check_ids{check_id};
512  if (check_id == any_id)
513  check_ids = all_ids;
514 
515  // Loop through all the block/boundary ids
516  for (const auto & id : check_ids)
517  {
518  // Loop through all the stored properties
519  for (const auto & prop_it : check_it.second)
520  {
521  // Produce an error if the material property is not defined on the current block/boundary
522  // and any block/boundary
523  // and not is not a zero material property.
524  if (_map_boundary_material_props[id].count(prop_it.second) == 0 &&
525  _map_boundary_material_props[any_id].count(prop_it.second) == 0 &&
526  _zero_boundary_material_props[id].count(prop_it.second) == 0 &&
527  _zero_boundary_material_props[any_id].count(prop_it.second) == 0)
528  {
529  std::string check_name = restrictionBoundaryCheckName(id);
530  if (check_name.empty())
531  check_name = std::to_string(id);
532  mooseError("Material property '",
533  prop_it.second,
534  "', requested by '",
535  prop_it.first,
536  "' is not defined on boundary ",
537  check_name);
538  }
539  }
540  }
541  }
542 }
virtual MooseMesh & mesh()=0
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
Definition: SubProblem.h:616
std::string restrictionBoundaryCheckName(BoundaryID check_id)
Definition: SubProblem.C:598
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
Definition: SubProblem.h:604
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:600
std::vector< libMesh::boundary_id_type > getBoundaryIDs(const libMesh::MeshBase &mesh, const std::vector< BoundaryName > &boundary_name, bool generate_unknown)
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:17
boundary_id_type BoundaryID
Definition: MooseTypes.h:158

◆ checkNonlocalCouplingRequirement()

virtual bool SubProblem::checkNonlocalCouplingRequirement ( )
inlinevirtual

◆ clearActiveElementalMooseVariables()

void SubProblem::clearActiveElementalMooseVariables ( THREAD_ID  tid)
virtual

Clear the active elemental MooseVariableFEBase.

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 MooseVariableFEBases

Parameters
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 258 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveElementalMooseVariables().

259 {
262 }
std::vector< unsigned int > _has_active_elemental_moose_variables
Whether or not there is currently a list of active elemental moose variables.
Definition: SubProblem.h:624
std::vector< std::set< MooseVariableFEBase * > > _active_elemental_moose_variables
This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:620

◆ clearActiveFEVariableCoupleableMatrixTags()

void SubProblem::clearActiveFEVariableCoupleableMatrixTags ( THREAD_ID  tid)
virtual

Reimplemented in FEProblemBase.

Definition at line 181 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveFEVariableCoupleableMatrixTags().

182 {
184 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:629

◆ clearActiveFEVariableCoupleableVectorTags()

void SubProblem::clearActiveFEVariableCoupleableVectorTags ( THREAD_ID  tid)
virtual

Reimplemented in FEProblemBase.

Definition at line 175 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveFEVariableCoupleableVectorTags().

176 {
178 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:631

◆ clearActiveMaterialProperties()

void SubProblem::clearActiveMaterialProperties ( THREAD_ID  tid)
virtual

Clear the active material properties.

Should be called at the end of every computing thread

Parameters
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 284 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveMaterialProperties().

285 {
286  _active_material_property_ids[tid].clear();
287 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:627

◆ clearActiveScalarVariableCoupleableMatrixTags()

void SubProblem::clearActiveScalarVariableCoupleableMatrixTags ( THREAD_ID  tid)
virtual

Reimplemented in FEProblemBase.

Definition at line 217 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveScalarVariableCoupleableMatrixTags().

218 {
220 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:633

◆ clearActiveScalarVariableCoupleableVectorTags()

void SubProblem::clearActiveScalarVariableCoupleableVectorTags ( THREAD_ID  tid)
virtual

Reimplemented in FEProblemBase.

Definition at line 211 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveScalarVariableCoupleableVectorTags().

212 {
214 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:635

◆ clearDiracInfo()

virtual void SubProblem::clearDiracInfo ( )
pure virtual

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ computingInitialResidual()

virtual bool SubProblem::computingInitialResidual ( ) const
pure virtual

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.

Implemented in FEProblemBase, and DisplacedProblem.

◆ computingNonlinearResid()

bool& SubProblem::computingNonlinearResid ( )
inline

Check whether residual being evaulated is non-linear.

Definition at line 521 of file SubProblem.h.

Referenced by NonlinearSystemBase::computeResidualInternal(), ComputeFDResidualFunctor::residual(), and ComputeResidualFunctor::residual().

bool _computing_nonlinear_residual
Whether residual being evaulated is non-linear.
Definition: SubProblem.h:653

◆ converged()

virtual bool SubProblem::converged ( )
pure virtual

◆ currentlyComputingJacobian()

virtual const bool& SubProblem::currentlyComputingJacobian ( ) const
inlinevirtual

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

Definition at line 513 of file SubProblem.h.

Referenced by Material::copyDualNumbersToValues(), PenetrationLocator::detectPenetration(), ComputeUserObjectsThread::onBoundary(), and ComputeUserObjectsThread::onElement().

bool _currently_computing_jacobian
Flag to determine whether the problem is currently computing Jacobian.
Definition: SubProblem.h:650

◆ defaultGhosting()

bool SubProblem::defaultGhosting ( )
inline

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

Definition at line 82 of file SubProblem.h.

82 { return _default_ghosting; }
bool _default_ghosting
Whether or not to use default libMesh coupling.
Definition: SubProblem.h:641

◆ diracKernelInfo()

DiracKernelInfo & SubProblem::diracKernelInfo ( )
virtual

Definition at line 557 of file SubProblem.C.

558 {
559  return _dirac_kernel_info;
560 }
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:594

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 96 of file MooseObject.h.

Referenced by EigenKernel::enabled().

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

◆ es()

virtual EquationSystems& SubProblem::es ( )
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

Referenced by NumDOFs::NumDOFs(), and NumVars::NumVars().

◆ finalNonlinearResidual()

Real SubProblem::finalNonlinearResidual ( ) const
virtual

Reimplemented in FEProblemBase.

Definition at line 563 of file SubProblem.C.

Referenced by Residual::getValue().

564 {
565  return 0;
566 }

◆ geomSearchData()

virtual GeometricSearchData& SubProblem::geomSearchData ( )
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ getActiveElementalMooseVariables()

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

Get the MOOSE variables to be reinited on each element.

Parameters
tidThe thread id

Definition at line 246 of file SubProblem.C.

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

247 {
249 }
std::vector< std::set< MooseVariableFEBase * > > _active_elemental_moose_variables
This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:620

◆ getActiveFEVariableCoupleableMatrixTags()

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

Definition at line 187 of file SubProblem.C.

188 {
190 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:629

◆ getActiveFEVariableCoupleableVectorTags()

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

Definition at line 193 of file SubProblem.C.

194 {
196 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:631

◆ getActiveMaterialProperties()

const std::set< unsigned int > & SubProblem::getActiveMaterialProperties ( THREAD_ID  tid) const
virtual

Get the material properties required by the current computing thread.

Parameters
tidThe thread id

Definition at line 272 of file SubProblem.C.

Referenced by FEProblemBase::prepareMaterials().

273 {
274  return _active_material_property_ids[tid];
275 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:627

◆ getActiveScalarVariableCoupleableMatrixTags()

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

Definition at line 223 of file SubProblem.C.

Referenced by MooseVariableScalar::reinit().

224 {
226 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:633

◆ getActiveScalarVariableCoupleableVectorTags()

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

Definition at line 229 of file SubProblem.C.

Referenced by MooseVariableScalar::reinit().

230 {
232 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:635

◆ getAxisymmetricRadialCoord()

unsigned int SubProblem::getAxisymmetricRadialCoord ( ) const

Returns the desired radial direction for RZ coordinate transformation.

Returns
The coordinate direction for the radial direction

Definition at line 604 of file SubProblem.C.

Referenced by Assembly::reinitNeighbor(), and Assembly::setCoordinateTransformation().

605 {
606  if (_rz_coord_axis == 0)
607  return 1; // if the rotation axis is x (0), then the radial direction is y (1)
608  else
609  return 0; // otherwise the radial direction is assumed to be x, i.e., the rotation axis is y
610 }
unsigned int _rz_coord_axis
Storage for RZ axis selection.
Definition: SubProblem.h:647

◆ getCheckedPointerParam()

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

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 77 of file MooseObject.h.

78  {
79  return parameters().getCheckedPointerParam<T>(name, error_string);
80  }
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...
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:62
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ getCoordSystem()

virtual Moose::CoordinateSystemType SubProblem::getCoordSystem ( SubdomainID  sid)
pure virtual

◆ getDiracElements()

virtual void SubProblem::getDiracElements ( std::set< const Elem *> &  elems)
pure virtual

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ getMaterialPropertyBlockNames()

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

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

Definition at line 306 of file SubProblem.C.

Referenced by MaterialPropertyInterface::getMaterialPropertyBlockNames().

307 {
308  std::set<SubdomainID> blocks = getMaterialPropertyBlocks(prop_name);
309  std::vector<SubdomainName> block_names;
310  block_names.reserve(blocks.size());
311  for (const auto & block_id : blocks)
312  {
313  SubdomainName name;
314  if (block_id == Moose::ANY_BLOCK_ID)
315  name = "ANY_BLOCK_ID";
316  else
317  {
318  name = mesh().getMesh().subdomain_name(block_id);
319  if (name.empty())
320  {
321  std::ostringstream oss;
322  oss << block_id;
323  name = oss.str();
324  }
325  }
326  block_names.push_back(name);
327  }
328 
329  return block_names;
330 }
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2569
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.C:15
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:290
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ getMaterialPropertyBlocks()

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

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

Definition at line 290 of file SubProblem.C.

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

291 {
292  std::set<SubdomainID> blocks;
293 
294  for (const auto & it : _map_block_material_props)
295  {
296  const std::set<std::string> & prop_names = it.second;
297  std::set<std::string>::iterator name_it = prop_names.find(prop_name);
298  if (name_it != prop_names.end())
299  blocks.insert(it.first);
300  }
301 
302  return blocks;
303 }
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:597

◆ getMaterialPropertyBoundaryIDs()

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

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

Definition at line 347 of file SubProblem.C.

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

348 {
349  std::set<BoundaryID> boundaries;
350 
351  for (const auto & it : _map_boundary_material_props)
352  {
353  const std::set<std::string> & prop_names = it.second;
354  std::set<std::string>::iterator name_it = prop_names.find(prop_name);
355  if (name_it != prop_names.end())
356  boundaries.insert(it.first);
357  }
358 
359  return boundaries;
360 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:600

◆ getMaterialPropertyBoundaryNames()

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

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

Definition at line 363 of file SubProblem.C.

Referenced by MaterialPropertyInterface::getMaterialPropertyBoundaryNames().

364 {
365  std::set<BoundaryID> boundaries = getMaterialPropertyBoundaryIDs(prop_name);
366  std::vector<BoundaryName> boundary_names;
367  boundary_names.reserve(boundaries.size());
368  const BoundaryInfo & boundary_info = mesh().getMesh().get_boundary_info();
369 
370  for (const auto & bnd_id : boundaries)
371  {
372  BoundaryName name;
373  if (bnd_id == Moose::ANY_BOUNDARY_ID)
374  name = "ANY_BOUNDARY_ID";
375  else
376  {
377  name = boundary_info.get_sideset_name(bnd_id);
378  if (name.empty())
379  {
380  std::ostringstream oss;
381  oss << bnd_id;
382  name = oss.str();
383  }
384  }
385  boundary_names.push_back(name);
386  }
387 
388  return boundary_names;
389 }
virtual MooseMesh & mesh()=0
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:347
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2569
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.C:17

◆ getMatrixTagID()

TagID SubProblem::getMatrixTagID ( const TagName &  tag_name)
virtual

Get a TagID from a TagName.

Reimplemented in DisplacedProblem.

Definition at line 142 of file SubProblem.C.

Referenced by ActuallyExplicitEuler::ActuallyExplicitEuler(), DisplacedProblem::getMatrixTagID(), TaggingInterface::TaggingInterface(), and TaggingInterface::useMatrixTag().

143 {
144  auto tag_name_upper = MooseUtils::toUpper(tag_name);
145 
146  if (!matrixTagExists(tag_name))
147  mooseError("Matrix tag: ",
148  tag_name,
149  " does not exist. ",
150  "If this is a TimeKernel then this may have happened because you didn't "
151  "specify a Transient Executioner.");
152 
153  return _matrix_tag_name_to_tag_id.at(tag_name_upper);
154 }
std::map< TagName, TagID > _matrix_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:581
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:699
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
virtual bool matrixTagExists(const TagName &tag_name)
Check to see if a particular Tag exists.
Definition: SubProblem.C:128

◆ getMatrixTags()

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

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

Definition at line 162 of file SubProblem.h.

Referenced by NonlinearSystemBase::computeJacobian(), FEProblemBase::computeJacobian(), and NonlinearSystemBase::computeJacobianBlocks().

162 { return _matrix_tag_name_to_tag_id; }
std::map< TagName, TagID > _matrix_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:581

◆ getMooseApp()

MooseApp& MooseObject::getMooseApp ( ) const
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 91 of file MooseObject.h.

Referenced by RestartableDataIO::createBackup(), RestartableDataIO::deserializeRestartableData(), ConsoleUtils::outputMeshInformation(), Resurrector::restartRestartableData(), and RestartableDataIO::restoreBackup().

91 { return _app; }
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:174

◆ getParam()

template<typename T >
const T & MooseObject::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 188 of file MooseObject.h.

Referenced by FEProblemBase::addMaterialHelper(), ConstraintWarehouse::addObject(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromXandY(), MultiApp::createApp(), DerivativeParsedMaterial::DerivativeParsedMaterial(), EigenKernel::EigenKernel(), FEProblemBase::FEProblemBase(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), SideSetsBetweenSubdomainsGenerator::generate(), ExtraNodesetGenerator::generate(), MeshExtruderGenerator::generate(), SideSetsAroundSubdomainGenerator::generate(), GenericConstantRankTwoTensor::GenericConstantRankTwoTensor(), GhostingUserObject::GhostingUserObject(), TimeSequenceStepper::init(), AttribThread::initFrom(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), AdvancedOutput::initialSetup(), SideSetsBetweenSubdomains::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), SideSetsAroundSubdomain::modify(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedMaterial::ParsedMaterial(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), and VectorOfPostprocessors::VectorOfPostprocessors().

189 {
190  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
191 }
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ getScalarVariable()

virtual MooseVariableScalar& SubProblem::getScalarVariable ( THREAD_ID  tid,
const std::string &  var_name 
)
pure virtual

Returns the scalar variable reference from whichever system contains it.

Implemented in FEProblemBase, and DisplacedProblem.

Referenced by Coupleable::Coupleable(), and ScalarCoupleable::ScalarCoupleable().

◆ getStandardVariable()

virtual MooseVariable& SubProblem::getStandardVariable ( THREAD_ID  tid,
const std::string &  var_name 
)
pure virtual

◆ getSystem()

virtual System& SubProblem::getSystem ( const std::string &  var_name)
pure virtual

Returns the equation system containing the variable provided.

Implemented in FEProblemBase, and DisplacedProblem.

◆ getVariable()

virtual MooseVariableFEBase& SubProblem::getVariable ( 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 
)
pure 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.

Implemented in FEProblemBase, and DisplacedProblem.

Referenced by MooseObjectWarehouseBase< Indicator >::addObject(), Coupleable::Coupleable(), DGKernelBase::DGKernelBase(), isValid(), MooseVariableInterface< Real >::MooseVariableInterface(), and ScalarCoupleable::ScalarCoupleable().

◆ getVariableHelper()

MooseVariableFEBase & SubProblem::getVariableHelper ( THREAD_ID  tid,
const std::string &  var_name,
Moose::VarKindType  expected_var_type,
Moose::VarFieldType  expected_var_field_type,
SystemBase nl,
SystemBase aux 
)
protected

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

Definition at line 613 of file SubProblem.C.

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

619 {
620  // Eventual return value
621  MooseVariableFEBase * var = nullptr;
622 
623  // First check that the variable is found on the expected system.
624  if (expected_var_type == Moose::VarKindType::VAR_ANY)
625  {
626  if (nl.hasVariable(var_name))
627  var = &(nl.getVariable(tid, var_name));
628  else if (aux.hasVariable(var_name))
629  var = &(aux.getVariable(tid, var_name));
630  else
631  mooseError("Unknown variable " + var_name);
632  }
633  else if (expected_var_type == Moose::VarKindType::VAR_NONLINEAR && nl.hasVariable(var_name))
634  var = &(nl.getVariable(tid, var_name));
635  else if (expected_var_type == Moose::VarKindType::VAR_AUXILIARY && aux.hasVariable(var_name))
636  var = &(aux.getVariable(tid, var_name));
637  else
638  {
639  std::string expected_var_type_string =
640  (expected_var_type == Moose::VarKindType::VAR_NONLINEAR ? "nonlinear" : "auxiliary");
641  mooseError("No ",
642  expected_var_type_string,
643  " variable named ",
644  var_name,
645  " found. "
646  "Did you specify an auxiliary variable when you meant to specify a nonlinear "
647  "variable (or vice-versa)?");
648  }
649 
650  // Now make sure the var found has the expected field type.
651  bool var_is_vector = var->isVector();
652  if ((expected_var_field_type == Moose::VarFieldType::VAR_FIELD_ANY) ||
653  (var_is_vector && expected_var_field_type == Moose::VarFieldType::VAR_FIELD_VECTOR) ||
654  (!var_is_vector && expected_var_field_type == Moose::VarFieldType::VAR_FIELD_STANDARD))
655  return *var;
656  else
657  {
658  std::string expected_var_field_type_string =
659  (expected_var_field_type == Moose::VarFieldType::VAR_FIELD_STANDARD ? "standard"
660  : "vector");
661 
662  mooseError("No ",
663  expected_var_field_type_string,
664  " variable named ",
665  var_name,
666  " found. "
667  "Did you specify a vector variable when you meant to specify a standard variable "
668  "(or vice-versa)?");
669  }
670 }
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
NonlinearSystemBase * nl
MooseVariableFEBase & getVariable(THREAD_ID tid, const std::string &var_name)
Gets a reference to a variable of with specified name.
Definition: SystemBase.C:105
virtual bool hasVariable(const std::string &var_name) const
Query a system for a variable.
Definition: SystemBase.C:652
virtual bool isVector() const =0

◆ getVectorTagID()

TagID SubProblem::getVectorTagID ( const TagName &  tag_name)
virtual

Get a TagID from a TagName.

Reimplemented in DisplacedProblem.

Definition at line 90 of file SubProblem.C.

Referenced by DisplacedProblem::getVectorTagID(), TaggingInterface::TaggingInterface(), and TaggingInterface::useVectorTag().

91 {
92  auto tag_name_upper = MooseUtils::toUpper(tag_name);
93 
94  if (!vectorTagExists(tag_name))
95  mooseError("Vector tag: ",
96  tag_name,
97  " does not exist. ",
98  "If this is a TimeKernel then this may have happened because you didn't "
99  "specify a Transient Executioner.");
100 
101  return _vector_tag_name_to_tag_id.at(tag_name_upper);
102 }
std::map< TagName, TagID > _vector_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:575
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:699
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
virtual bool vectorTagExists(TagID tag)
Check to see if a particular Tag exists.
Definition: SubProblem.h:112

◆ getVectorTags()

virtual std::map<TagName, TagID>& SubProblem::getVectorTags ( )
inlinevirtual

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

Reimplemented in DisplacedProblem.

Definition at line 107 of file SubProblem.h.

Referenced by FEProblemBase::addResidual(), FEProblemBase::addResidualNeighbor(), FEProblemBase::addResidualScalar(), NonlinearSystemBase::computeNodalBCs(), FEProblemBase::computeResidual(), and DisplacedProblem::getVectorTags().

107 { return _vector_tag_name_to_tag_id; }
std::map< TagName, TagID > _vector_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:575

◆ getVectorVariable()

virtual VectorMooseVariable& SubProblem::getVectorVariable ( THREAD_ID  tid,
const std::string &  var_name 
)
pure virtual

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ ghostedElems()

virtual std::set<dof_id_type>& SubProblem::ghostedElems ( )
inlinevirtual

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

Returns
The list

Reimplemented in DisplacedProblem.

Definition at line 505 of file SubProblem.h.

Referenced by SystemBase::augmentSendList(), NearestNodeLocator::findNodes(), DisplacedProblem::ghostedElems(), and NearestNodeLocator::updatePatch().

505 { return _ghosted_elems; }
std::set< dof_id_type > _ghosted_elems
Elements that should have Dofs ghosted to the local processor.
Definition: SubProblem.h:644

◆ ghostGhostedBoundaries()

virtual void SubProblem::ghostGhostedBoundaries ( )
pure virtual

Causes the boundaries added using addGhostedBoundary to actually be ghosted.

Implemented in FEProblemBase, and DisplacedProblem.

◆ hasActiveElementalMooseVariables()

bool SubProblem::hasActiveElementalMooseVariables ( THREAD_ID  tid) const
virtual

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 252 of file SubProblem.C.

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

253 {
255 }
std::vector< unsigned int > _has_active_elemental_moose_variables
Whether or not there is currently a list of active elemental moose variables.
Definition: SubProblem.h:624

◆ hasActiveMaterialProperties()

bool SubProblem::hasActiveMaterialProperties ( THREAD_ID  tid) const
virtual

Method to check whether or not a list of active material roperties has been set.

This method is called by reinitMaterials to determine whether Material computeProperties methods need to be called. If the return is False, this check prevents unnecessary material property computation

Parameters
tidThe thread id
Returns
True if there has been a list of active material properties set, False otherwise

Definition at line 278 of file SubProblem.C.

Referenced by FEProblemBase::reinitMaterials(), FEProblemBase::reinitMaterialsBoundary(), FEProblemBase::reinitMaterialsFace(), and FEProblemBase::reinitMaterialsNeighbor().

279 {
280  return !_active_material_property_ids[tid].empty();
281 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:627

◆ hasBlockMaterialProperty()

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

Check if a material property is defined on a block.

Definition at line 333 of file SubProblem.C.

334 {
335  auto it = _map_block_material_props.find(bid);
336  if (it == _map_block_material_props.end())
337  return false;
338 
339  if (it->second.count(prop_name) > 0)
340  return true;
341  else
342  return false;
343 }
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:597

◆ hasBoundaryMaterialProperty()

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

Check if a material property is defined on a block.

Definition at line 392 of file SubProblem.C.

393 {
394  auto it = _map_boundary_material_props.find(bid);
395  if (it == _map_boundary_material_props.end())
396  return false;
397 
398  if (it->second.count(prop_name) > 0)
399  return true;
400  else
401  return false;
402 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:600

◆ hasScalarVariable()

virtual bool SubProblem::hasScalarVariable ( const std::string &  var_name) const
pure virtual

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

Implemented in FEProblemBase, and DisplacedProblem.

Referenced by Coupleable::Coupleable(), and ScalarCoupleable::ScalarCoupleable().

◆ hasVariable()

virtual bool SubProblem::hasVariable ( const std::string &  var_name) const
pure virtual

◆ haveADObjects() [1/2]

virtual void SubProblem::haveADObjects ( bool  have_ad_objects)
inlinevirtual

Method for setting whether we have any ad objects.

Reimplemented in FEProblemBase.

Definition at line 556 of file SubProblem.h.

Referenced by Assembly::reinitFE(), and Assembly::reinitFEFace().

556 { _have_ad_objects = have_ad_objects; }
bool _have_ad_objects
AD flag indicating whether any AD objects have been added.
Definition: SubProblem.h:662

◆ haveADObjects() [2/2]

bool SubProblem::haveADObjects ( ) const
inline

Method for reading wehther we have any ad objects.

Definition at line 560 of file SubProblem.h.

560 { return _have_ad_objects; }
bool _have_ad_objects
AD flag indicating whether any AD objects have been added.
Definition: SubProblem.h:662

◆ init()

virtual void Problem::init ( )
pure virtualinherited

Implemented in FEProblemBase, and DisplacedProblem.

◆ isMatPropRequested()

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

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

Definition at line 551 of file SubProblem.C.

Referenced by DerivativeFunctionMaterialBase::initialSetup().

552 {
553  return _material_property_requested.find(prop_name) != _material_property_requested.end();
554 }
std::set< std::string > _material_property_requested
set containing all material property names that have been requested by getMaterialProperty* ...
Definition: SubProblem.h:607

◆ isParamValid()

bool MooseObject::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 86 of file MooseObject.h.

Referenced by AdvancedOutput::AdvancedOutput(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), DistributedGeneratedMesh::buildMesh(), GeneratedMesh::buildMesh(), CartesianMeshGenerator::CartesianMeshGenerator(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CSVReader::CSVReader(), MultiAppNearestNodeTransfer::execute(), Exodus::Exodus(), FEProblemBase::FEProblemBase(), FileOutput::FileOutput(), MultiApp::fillPositions(), FunctionDT::FunctionDT(), RenameBoundaryGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ElementSubdomainIDGenerator::generate(), ExtraNodesetGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MeshSideSetGenerator::generate(), RenameBlockGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), MeshExtruderGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), MultiAppNearestNodeTransfer::getLocalEntities(), MeshGenerator::getMesh(), MultiAppNearestNodeTransfer::getNearestNode(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), MooseMesh::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionAux::initialSetup(), MooseParsedVectorFunction::initialSetup(), Console::initialSetup(), Receiver::initialSetup(), SolutionFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), AdvancedOutput::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), BreakBoundaryOnSubdomain::modify(), MeshExtruder::modify(), MeshSideSet::modify(), LowerDBlockFromSideset::modify(), AssignElementSubdomainID::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), SubdomainBoundingBox::modify(), MooseMesh::MooseMesh(), EigenExecutionerBase::normalizeSolution(), Output::Output(), PetscOutput::PetscOutput(), Piecewise::Piecewise(), SolutionUserObject::readExodusII(), RenameBlock::RenameBlock(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), SolutionUserObject::SolutionUserObject(), and TimePeriod::TimePeriod().

86 { return _pars.isParamValid(name); }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ isSolveTerminationRequested()

virtual bool Problem::isSolveTerminationRequested ( )
inlinevirtualinherited

Check of termination has been requested.

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

Definition at line 47 of file Problem.h.

Referenced by Transient::keepGoing().

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

◆ isTransient()

virtual bool SubProblem::isTransient ( ) const
pure virtual

◆ markMatPropRequested()

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

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

Definition at line 545 of file SubProblem.C.

Referenced by Material::getZeroMaterialProperty(), and MaterialPropertyInterface::markMatPropRequested().

546 {
547  _material_property_requested.insert(prop_name);
548 }
std::set< std::string > _material_property_requested
set containing all material property names that have been requested by getMaterialProperty* ...
Definition: SubProblem.h:607

◆ matrixTagExists() [1/2]

bool SubProblem::matrixTagExists ( const TagName &  tag_name)
virtual

Check to see if a particular Tag exists.

Reimplemented in DisplacedProblem.

Definition at line 128 of file SubProblem.C.

Referenced by SystemBase::activeMatrixTag(), NonlinearSystem::addMatrix(), SystemBase::associateMatrixToTag(), SystemBase::deactiveMatrixTag(), SystemBase::disassociateMatrixFromTag(), getMatrixTagID(), SystemBase::matrixTagActive(), DisplacedProblem::matrixTagExists(), and TaggingInterface::useMatrixTag().

129 {
130  auto tag_name_upper = MooseUtils::toUpper(tag_name);
131 
132  return _matrix_tag_name_to_tag_id.find(tag_name_upper) != _matrix_tag_name_to_tag_id.end();
133 }
std::map< TagName, TagID > _matrix_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:581
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:699

◆ matrixTagExists() [2/2]

bool SubProblem::matrixTagExists ( TagID  tag_id)
virtual

Check to see if a particular Tag exists.

Reimplemented in DisplacedProblem.

Definition at line 136 of file SubProblem.C.

137 {
138  return _matrix_tag_id_to_tag_name.find(tag_id) != _matrix_tag_id_to_tag_name.end();
139 }
std::map< TagID, TagName > _matrix_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:584

◆ matrixTagName()

TagName SubProblem::matrixTagName ( TagID  tag)
virtual

Retrieve the name associated with a TagID.

Reimplemented in DisplacedProblem.

Definition at line 157 of file SubProblem.C.

Referenced by NonlinearSystem::addMatrix(), and DisplacedProblem::matrixTagName().

158 {
159  return _matrix_tag_id_to_tag_name[tag];
160 }
std::map< TagID, TagName > _matrix_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:584

◆ mesh()

virtual MooseMesh& SubProblem::mesh ( )
pure virtual

◆ meshChanged()

void SubProblem::meshChanged ( )
virtual

Reimplemented in FEProblemBase, and DisplacedProblem.

Definition at line 581 of file SubProblem.C.

582 {
583  mooseError("This system does not support changing the mesh");
584 }
void mooseError(Args &&... args) const
Definition: MooseObject.h:144

◆ mooseDeprecated()

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

◆ mooseError()

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

Definition at line 144 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), PetscExternalPartitioner::_do_partition(), FEProblemBase::addConstraint(), FEProblemBase::addInitialCondition(), FEProblem::addLineSearch(), FEProblemBase::addLineSearch(), FEProblemBase::addOutput(), DiracKernel::addPointWithValidId(), FEProblemBase::addPostprocessor(), MooseMesh::addQuadratureNode(), FEProblemBase::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial< compute_stage >::ADPiecewiseLinearInterpolationMaterial(), Output::advancedExecuteOn(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), DerivativeParsedMaterialHelper::assembleDerivatives(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BicubicSplineFunction::BicubicSplineFunction(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BoundsAux::BoundsAux(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), MooseMesh::buildCoarseningMap(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), Piecewise::buildFromXY(), TiledMesh::buildMesh(), FileMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), DistributedGeneratedMesh::buildMesh(), GeneratedMesh::buildMesh(), ImageMeshGenerator::buildMesh3D(), ImageMesh::buildMesh3D(), MooseMesh::buildMeshBaseObject(), MooseMesh::buildRefinementMap(), MooseMesh::buildSideList(), CartesianMeshGenerator::CartesianMeshGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), EigenExecutionerBase::chebyshev(), checkBlockMatProps(), checkBoundaryMatProps(), FEProblemBase::checkCoordinateSystems(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), Material::checkExecutionStage(), BreakMeshByBlockBase::checkInputParameter(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), ActuallyExplicitEuler::checkLinearConvergence(), FEProblemBase::checkProblemIntegrity(), Material::checkStatefulSanity(), FEProblemBase::checkUserObjects(), LibmeshPartitioner::clone(), MooseMesh::clone(), ComparisonPostprocessor::comparisonIsTrue(), CompositeFunction::CompositeFunction(), ElementLpNormAux::compute(), ElementH1ErrorFunctionAux::compute(), NodalPatchRecovery::compute(), KernelBase::computeADOffDiagJacobian(), InterfaceKernel::computeElemNeighJacobian(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), HistogramVectorPostprocessor::computeHistogram(), EqualValueEmbeddedConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), KernelValue::computeQpResidual(), FEProblemBase::computeResidualInternal(), FEProblemBase::computeResidualTag(), FEProblemBase::computeResidualType(), StatisticsVectorPostprocessor::computeStatValue(), Material::computeSubdomainProperties(), ExplicitEuler::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), ActuallyExplicitEuler::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), AStableDirk4::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), PenetrationAux::computeValue(), ConcentricCircleMesh::ConcentricCircleMesh(), TimeStepper::constrainStep(), CoupledForce::CoupledForce(), DebugResidualAux::DebugResidualAux(), FunctorRelationshipManager::delete_remote_elements(), BicubicSplineFunction::derivative(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernelBase::DGKernelBase(), FunctorRelationshipManager::dofmap_reinit(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), ElementQualityAux::ElementQualityAux(), MooseMesh::errorIfDistributedMesh(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), ElementQualityChecker::execute(), NodalValueSampler::execute(), InterfaceQpValueUserObject::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppInterpolationTransfer::execute(), FindValueOnLine::execute(), MultiAppNearestNodeTransfer::execute(), TimeExtremeValue::execute(), VectorPostprocessorComparison::execute(), LeastSquaresFit::execute(), LeastSquaresFitHistory::execute(), FEProblemBase::executeControls(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), Exodus::Exodus(), FileOutput::FileOutput(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::finalize(), DiscreteElementUserObject::finalize(), ElementQualityChecker::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), Transfer::find_sys(), BreakMeshByBlockBase::findFreeBoundaryId(), BreakMeshByBlockGeneratorBase::findFreeBoundaryId(), FunctionDT::FunctionDT(), FunctionMaterialBase::FunctionMaterialBase(), ParsedMaterialHelper::functionParse(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), GapValueAux::GapValueAux(), ElementSubdomainIDGenerator::generate(), ExtraNodesetGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), GeneratedMeshGenerator::generate(), MeshExtruderGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), StackGenerator::generate(), SpiralAnnularMeshGenerator::generate(), PatternedMeshGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), RandomICBase::generateRandom(), GenericConstantMaterial::GenericConstantMaterial(), GenericFunctionMaterial::GenericFunctionMaterial(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), MooseMesh::getCoarseningMap(), Control::getControllableParameterByName(), FEProblemBase::getCoordSystem(), PiecewiseConstant::getDirection(), FEProblemBase::getDistribution(), GhostingUserObject::getElementalValue(), ElementGenerator::getElemType(), MultiApp::getExecutioner(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), getMatrixTagID(), AnnularMesh::getMaxInDimension(), DistributedGeneratedMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMaxShapeFunctions(), AnnularMesh::getMinInDimension(), DistributedGeneratedMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MooseMesh::getMortarInterface(), MooseMesh::getMortarInterfaceByName(), MooseMesh::getNodeBlockIds(), MooseMesh::getNodeList(), FEProblemBase::getNonlinearSystem(), MooseMesh::getPairedBoundaryMapping(), ImageMeshGenerator::GetPixelInfo(), ImageMesh::GetPixelInfo(), InterfaceQpValueUserObject::getQpValue(), MaterialStdVectorAux::getRealValue(), MooseMesh::getRefinementMap(), FEProblemBase::getSampler(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), DisplacedProblem::getStandardVariable(), FEProblemBase::getStandardVariable(), MooseMesh::getSubdomainBoundaryIds(), MooseMesh::getSubdomainID(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), PerformanceData::getValue(), Residual::getValue(), PerfGraphData::getValue(), LineValueSampler::getValue(), FindValueOnLine::getValueAtPoint(), getVariableHelper(), getVectorTagID(), DisplacedProblem::getVectorVariable(), FEProblemBase::getVectorVariable(), GhostingAux::GhostingAux(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), AdvancedOutput::hasOutputHelper(), CrankNicolson::init(), CSVTimeSequenceStepper::init(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), Transient::init(), MooseMesh::init(), FEProblemBase::init(), NumPicardIterations::initialize(), FullSolveMultiApp::initialSetup(), PiecewiseBase::initialSetup(), SolutionAux::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), SolutionFunction::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Material::initStatefulProperties(), Function::integral(), InterfaceKernel::InterfaceKernel(), InterfaceTimeKernel::InterfaceTimeKernel(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), LayeredSideIntegral::LayeredSideIntegral(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LinearCombinationFunction::LinearCombinationFunction(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< Real >::LineMaterialSamplerBase(), LineSearch::lineSearch(), LineValueSampler::LineValueSampler(), MaterialRealTensorValueAux::MaterialRealTensorValueAux(), MaterialRealVectorValueAux::MaterialRealVectorValueAux(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), FunctorRelationshipManager::mesh_reinit(), meshChanged(), MeshExtruder::MeshExtruder(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshSideSetGenerator::MeshSideSetGenerator(), SideSetsFromPoints::modify(), SideSetsFromNormals::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), BreakMeshByBlockBase::modify(), AssignElementSubdomainID::modify(), SmoothMesh::modify(), ElementDeleterBase::modify(), AddAllSideSetsByNormals::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), ImageSubdomain::modify(), OrientedSubdomainBoundingBox::modify(), BoundingBoxNodeSet::modify(), SubdomainBoundingBox::modify(), AddSideSetsFromBoundingBox::modify(), MooseGhostPointNeighbors::MooseGhostPointNeighbors(), MooseMesh::MooseMesh(), MultiAppMeshFunctionTransfer::MultiAppMeshFunctionTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), RenameBlockGenerator::newBlockID(), RenameBlock::newBlockID(), RenameBlockGenerator::newBlockName(), RenameBlock::newBlockName(), NewmarkBeta::NewmarkBeta(), NodalConstraint::NodalConstraint(), NodalScalarKernel::NodalScalarKernel(), NodalVariableValue::NodalVariableValue(), NumDOFs::NumDOFs(), NumNonlinearIterations::NumNonlinearIterations(), NumVars::NumVars(), FunctorRelationshipManager::operator()(), RelationshipManager::operator==(), XDA::output(), SolutionHistory::output(), Exodus::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), MooseObject::paramError(), PiecewiseBilinear::parse(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PetscExternalPartitioner::PetscExternalPartitioner(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), Piecewise::Piecewise(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMulticonstant::PiecewiseMulticonstant(), PiecewiseMultiInterpolation::PiecewiseMultiInterpolation(), SolutionUserObject::pointValueGradientWrapper(), SolutionUserObject::pointValueWrapper(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), ImplicitMidpoint::postResidual(), ExplicitTVDRK2::postResidual(), AStableDirk4::postResidual(), LStableDirk4::postResidual(), ExplicitRK2::postResidual(), Predictor::Predictor(), Transient::preExecute(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), FunctorRelationshipManager::redistribute(), EqualValueEmbeddedConstraint::reinitConstraint(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RenameBlock::RenameBlock(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), ScalarComponentIC::ScalarComponentIC(), BicubicSplineFunction::secondDerivative(), FEProblemBase::setCoordSystem(), PiecewiseBase::setData(), EigenProblem::setEigenproblemType(), FEProblemSolve::setInnerSolve(), Sampler::setNumberOfRequiedRandomSeeds(), Exodus::setOutputDimensionInExodusWriter(), Split::setup(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideSetsFromNormals::SideSetsFromNormals(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPoints::SideSetsFromPoints(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), SolutionUserObject::SolutionUserObject(), PicardSolve::solve(), ActuallyExplicitEuler::solve(), FullSolveMultiApp::solveStep(), SpatialAverageBase::SpatialAverageBase(), UserObject::spatialValue(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), StitchedMesh::StitchedMesh(), NodalUserObject::subdomainSetup(), GeneralUserObject::subdomainSetup(), Constraint::subdomainSetup(), Console::systemInfoFlags(), Terminator::Terminator(), TestSetupPostprocessorDataActionFunction::TestSetupPostprocessorDataActionFunction(), ThreadedGeneralUserObject::ThreadedGeneralUserObject(), ThreadedGeneralUserObject::threadJoin(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), TiledMeshGenerator::TiledMeshGenerator(), Function::timeDerivative(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), VectorPostprocessorVisualizationAux::timestepSetup(), MultiAppCopyTransfer::transfer(), MultiAppMeshFunctionTransfer::transferVariable(), FEProblemBase::uDotDotOldRequested(), FEProblemBase::uDotOldRequested(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObject::updateExodusBracketingTimeIndices(), Axisymmetric2D3DSolutionFunction::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), MultiAppTransfer::variableIntegrityCheck(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), VectorNodalBC::VectorNodalBC(), VectorOfPostprocessors::VectorOfPostprocessors(), VectorPostprocessorFunction::VectorPostprocessorFunction(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), VectorVariableComponentAux::VectorVariableComponentAux(), VolumeHistogram::VolumeHistogram(), VTKOutput::VTKOutput(), DOFMapOutput::writeStreamToFile(), and Console::writeStreamToFile().

144  {
145  std::ostringstream oss;
146  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
147  std::string msg = oss.str();
148  callMooseErrorRaw(msg, &_app);
149  }
void mooseStreamAll(std::ostringstream &ss)
All of the following are not meant to be called directly - they are called by the normal macros (moos...
Definition: MooseError.C:87
void callMooseErrorRaw(std::string &msg, MooseApp *app)
Definition: MooseObject.C:57
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:174

◆ mooseInfo()

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

◆ mooseWarning()

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

◆ name()

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

Get the name of the object.

Returns
The name of the object

Definition at line 56 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADResidualMaterial(), Executioner::addAttributeReporter(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), MooseMesh::addMortarInterface(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), CreateDisplacedProblemAction::addProxyAlgebraicRelationshipManagers(), CreateDisplacedProblemAction::addProxyGeometricRelationshipManagers(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), FEProblemBase::addVectorPostprocessor(), Output::advancedExecuteOn(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), DerivativeParsedMaterialHelper::assembleDerivatives(), AStableDirk4::AStableDirk4(), Function::average(), MultiApp::backup(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), FEProblemBase::checkDependMaterialsHelper(), Damper::checkMinDamping(), Material::checkStatefulSanity(), CompositeFunction::CompositeFunction(), Material::computeSubdomainProperties(), VectorPostprocessorVisualizationAux::computeValue(), MultiApp::createApp(), FEProblemBase::declareVectorPostprocessorVector(), DOFMapOutput::demangle(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernelBase::DGKernelBase(), DumpObjectsProblem::dumpObjectHelper(), ElementValueSampler::ElementValueSampler(), MooseMesh::errorIfDistributedMesh(), AB2PredictorCorrector::estimateTimeError(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), StatisticsVectorPostprocessor::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), PointValue::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), HistogramVectorPostprocessor::execute(), MultiAppCopyTransfer::execute(), Exodus::Exodus(), FileOutput::FileOutput(), MultiApp::fillPositions(), PointSamplerBase::finalize(), DerivativeParsedMaterialHelper::findMatPropDerivative(), FunctionDT::FunctionDT(), GeneralUserObject::GeneralUserObject(), LowerDBlockFromSidesetGenerator::generate(), StitchedMeshGenerator::generate(), Material::getADMaterialProperty(), MultiApp::getBoundingBox(), MooseObject::getCheckedPointerParam(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), MultiApp::getExecutioner(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), Marker::getMarkerValue(), FEProblemBase::getMaterial(), NodalPatchRecovery::getMaterialProperty(), Material::getMaterialProperty(), AuxKernelTempl< ComputeValueType >::getMaterialProperty(), getMaterialPropertyBlockNames(), getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), AuxKernelTempl< ComputeValueType >::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), MeshGenerator::getMesh(), MooseMesh::getMortarInterfaceByName(), OutputWarehouse::getOutput(), MooseObject::getParam(), GeneralUserObject::getPostprocessorValue(), FEProblemBase::getPostprocessorValue(), GeneralUserObject::getPostprocessorValueByName(), FEProblemBase::getPostprocessorValueOld(), FEProblemBase::getPostprocessorValueOlder(), FEProblemBase::getSampler(), FEProblemBase::getScatterVectorPostprocessorValue(), FEProblemBase::getScatterVectorPostprocessorValueOld(), Transient::getTimeStepperName(), InitialConditionBase::getUserObject(), FEProblemBase::getUserObject(), InitialConditionBase::getUserObjectBase(), FEProblemBase::getUserObjectBase(), InitialConditionBase::getUserObjectByName(), GeneralUserObject::getVectorPostprocessorValue(), FEProblemBase::getVectorPostprocessorValue(), GeneralUserObject::getVectorPostprocessorValueByName(), FEProblemBase::getVectorPostprocessorValueOld(), FEProblemBase::hasFunction(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasUserObject(), FEProblemBase::hasVectorPostprocessor(), FEProblemBase::init(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), CSVReader::initialize(), StatisticsVectorPostprocessor::initialize(), HistogramVectorPostprocessor::initialize(), MultiAppProjectionTransfer::initialSetup(), DerivativeFunctionMaterialBase::initialSetup(), SolutionUserObject::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPostprocessorData(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), Material::initStatefulProperties(), FEProblemBase::initVectorPostprocessorData(), Function::integral(), InterfaceKernel::InterfaceKernel(), Registry::isADObj(), MooseObject::isParamValid(), Registry::isRegisteredObj(), LinearCombinationFunction::LinearCombinationFunction(), Marker::Marker(), MatDiffusionBase< Real >::MatDiffusionBase(), MaterialDerivativeTestKernelBase< Real >::MaterialDerivativeTestKernelBase(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), MeshSideSetGenerator::MeshSideSetGenerator(), ElementDeleterBase::modify(), MooseVariableInterface< Real >::MooseVariableInterface(), NearestPointBase< LayeredAverage >::NearestPointBase(), NodalValueSampler::NodalValueSampler(), NodalVariableValue::NodalVariableValue(), Registry::objData(), DOFMapOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), ConsoleUtils::outputOutputInformation(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PointSamplerBase::PointSamplerBase(), Registry::registerObjectsTo(), FEProblemBase::registerRandomInterface(), Material::resetQpProperties(), MultiApp::restore(), Sampler::Sampler(), ScalarComponentIC::ScalarComponentIC(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), OutputWarehouse::setFileNumbers(), MooseMesh::setSubdomainName(), Split::setup(), TransientMultiApp::setupApp(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), SpatialAverageBase::SpatialAverageBase(), UserObject::spatialValue(), StitchedMesh::StitchedMesh(), storeBoundaryDelayedCheckMatProp(), storeBoundaryMatPropName(), storeBoundaryZeroMatProp(), storeSubdomainDelayedCheckMatProp(), storeSubdomainMatPropName(), storeSubdomainZeroMatProp(), TaggingInterface::TaggingInterface(), ThreadedGeneralUserObject::ThreadedGeneralUserObject(), Function::timeDerivative(), VectorPostprocessorVisualizationAux::timestepSetup(), TransientMultiApp::TransientMultiApp(), MultiAppTransfer::variableIntegrityCheck(), and AdvancedOutput::wantOutput().

56 { return _name; }
const std::string & _name
The name of this object, reference to value stored in InputParameters.
Definition: MooseObject.h:180

◆ nLinearIterations()

unsigned int SubProblem::nLinearIterations ( ) const
virtual

Reimplemented in FEProblemBase.

Definition at line 575 of file SubProblem.C.

Referenced by NumLinearIterations::getValue().

576 {
577  return 0;
578 }

◆ nNonlinearIterations()

unsigned int SubProblem::nNonlinearIterations ( ) const
virtual

Reimplemented in FEProblemBase.

Definition at line 569 of file SubProblem.C.

Referenced by NumNonlinearIterations::getValue().

570 {
571  return 0;
572 }

◆ nonlocalCouplingMatrix()

const CouplingMatrix& SubProblem::nonlocalCouplingMatrix ( ) const
inline

Definition at line 508 of file SubProblem.h.

508 { return _nonlocal_cm; }
CouplingMatrix _nonlocal_cm
Definition: SubProblem.h:589

◆ numMatrixTags()

virtual unsigned int SubProblem::numMatrixTags ( )
inlinevirtual

◆ numVectorTags()

virtual unsigned int SubProblem::numVectorTags ( )
inlinevirtual

◆ onTimestepBegin()

virtual void SubProblem::onTimestepBegin ( )
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ onTimestepEnd()

virtual void SubProblem::onTimestepEnd ( )
pure virtual

◆ paramError()

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

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 105 of file MooseObject.h.

Referenced by ADIntegratedBCTempl< T, compute_stage >::ADIntegratedBCTempl(), ADKernelTempl< T, compute_stage >::ADKernelTempl(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), DGKernelBase::DGKernelBase(), ElementValueSampler::ElementValueSampler(), MeshCollectionGenerator::generate(), StackGenerator::generate(), StitchedMeshGenerator::generate(), MultiApp::init(), IntegratedBC::IntegratedBC(), Kernel::Kernel(), MeshCollectionGenerator::MeshCollectionGenerator(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalValueSampler::NodalValueSampler(), RandomIC::RandomIC(), MultiAppCopyTransfer::transfer(), and TransientMultiApp::TransientMultiApp().

105  {
106  auto prefix = param + ": ";
107  if (!_pars.inputLocation(param).empty())
108  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
109  mooseError(prefix, args...);
110  }
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.

◆ parameters()

const InputParameters& MooseObject::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 62 of file MooseObject.h.

Referenced by FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADResidualMaterial(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addOutput(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), FEProblemBase::addVectorPostprocessor(), ADPiecewiseLinearInterpolationMaterial< compute_stage >::ADPiecewiseLinearInterpolationMaterial(), AdvancedOutput::AdvancedOutput(), assemble_l2(), Moose::assemble_matrix(), AuxKernelTempl< ComputeValueType >::AuxKernelTempl(), AuxScalarKernel::AuxScalarKernel(), BoundsAux::BoundsAux(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), Moose::compute_bounds(), Moose::compute_jacobian(), Moose::compute_nearnullspace(), Moose::compute_nullspace(), Moose::compute_postcheck(), Moose::compute_transpose_nullspace(), Console::Console(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Exodus::Exodus(), FEProblem::FEProblem(), GapValueAux::GapValueAux(), MooseObject::getCheckedPointerParam(), GhostingUserObject::GhostingUserObject(), MooseMesh::init(), BlockRestrictable::initializeBlockRestrictable(), FEProblemBase::initNullSpaceVectors(), InterfaceKernel::InterfaceKernel(), isValid(), LayeredSideIntegral::LayeredSideIntegral(), MooseVariableInterface< Real >::MooseVariableInterface(), NearestPointBase< LayeredAverage >::NearestPointBase(), NodeFaceConstraint::NodeFaceConstraint(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), MultiAppProjectionTransfer::projectSolution(), RandomIC::RandomIC(), InputParameterWarehouse::removeInputParameters(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), DumpObjectsProblem::stringifyParameters(), and Transient::Transient().

62 { return _pars; }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171

◆ paramInfo()

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

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 135 of file MooseObject.h.

Referenced by TransientMultiApp::TransientMultiApp().

136  {
137  auto prefix = param + ": ";
138  if (!_pars.inputLocation(param).empty())
139  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
140  mooseInfo(prefix, args...);
141  }
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
void mooseInfo(Args &&... args) const
Definition: MooseObject.h:164
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.

◆ paramWarning()

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

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 119 of file MooseObject.h.

120  {
121  auto prefix = param + ": ";
122  if (!_pars.inputLocation(param).empty())
123  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
124  mooseWarning(prefix, args...);
125  }
void mooseWarning(Args &&... args) const
Definition: MooseObject.h:152
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.

◆ prepare() [1/2]

virtual void SubProblem::prepare ( const Elem *  elem,
THREAD_ID  tid 
)
pure virtual

◆ prepare() [2/2]

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ prepareAssembly()

virtual void SubProblem::prepareAssembly ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ prepareFace()

virtual void SubProblem::prepareFace ( const Elem *  elem,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ prepareFaceShapes()

virtual void SubProblem::prepareFaceShapes ( unsigned int  var,
THREAD_ID  tid 
)
pure virtual

◆ prepareNeighborShapes()

virtual void SubProblem::prepareNeighborShapes ( unsigned int  var,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ prepareShapes()

virtual void SubProblem::prepareShapes ( unsigned int  var,
THREAD_ID  tid 
)
pure virtual

◆ registerTimedSection()

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level 
)
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 50 of file PerfGraphInterface.C.

51 {
52  if (_prefix != "")
53  return _perf_graph.registerSection(_prefix + "::" + section_name, level);
54  else
55  return _perf_graph.registerSection(section_name, level);
56 }
PerfGraph & _perf_graph
The performance graph to add to.
std::string _prefix
A prefix to use for all sections.
PerfID registerSection(const std::string &section_name, unsigned int level)
Registers a named section of code.
Definition: PerfGraph.C:42

◆ reinitDirac()

virtual bool SubProblem::reinitDirac ( const Elem *  elem,
THREAD_ID  tid 
)
pure virtual

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ reinitElem()

virtual void SubProblem::reinitElem ( const Elem *  elem,
THREAD_ID  tid 
)
pure virtual

◆ reinitElemFace()

virtual void SubProblem::reinitElemFace ( const Elem *  elem,
unsigned int  side,
BoundaryID  bnd_id,
THREAD_ID  tid 
)
pure virtual

◆ reinitElemPhys()

virtual void SubProblem::reinitElemPhys ( const Elem *  elem,
const std::vector< Point > &  phys_points_in_elem,
THREAD_ID  tid,
bool  suppress_displaced_init = false 
)
pure virtual

◆ reinitNeighbor()

virtual void SubProblem::reinitNeighbor ( const Elem *  elem,
unsigned int  side,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ reinitNeighborPhys() [1/2]

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ reinitNeighborPhys() [2/2]

virtual void SubProblem::reinitNeighborPhys ( const Elem *  neighbor,
const std::vector< Point > &  physical_points,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ reinitNode()

virtual void SubProblem::reinitNode ( const Node *  node,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ reinitNodeFace()

virtual void SubProblem::reinitNodeFace ( const Node *  node,
BoundaryID  bnd_id,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ reinitNodes()

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

◆ reinitNodesNeighbor()

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ reinitOffDiagScalars()

virtual void SubProblem::reinitOffDiagScalars ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ reinitScalars()

virtual void SubProblem::reinitScalars ( THREAD_ID  tid)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ restrictionBoundaryCheckName()

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

Definition at line 598 of file SubProblem.C.

Referenced by checkBoundaryMatProps().

599 {
600  return mesh().getMesh().get_boundary_info().sideset_name(check_id);
601 }
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2569

◆ restrictionSubdomainCheckName()

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

Helper functions for checking MaterialProperties.

Definition at line 587 of file SubProblem.C.

Referenced by checkBlockMatProps().

588 {
589  // TODO: Put a better a interface in MOOSE
590  std::map<subdomain_id_type, std::string> & name_map = mesh().getMesh().set_subdomain_name_map();
591  std::map<subdomain_id_type, std::string>::const_iterator pos = name_map.find(check_id);
592  if (pos != name_map.end())
593  return pos->second;
594  return "";
595 }
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2569

◆ safeAccessTaggedMatrices()

bool SubProblem::safeAccessTaggedMatrices ( )
inline

Is it safe to access the tagged matrices.

Definition at line 524 of file SubProblem.h.

Referenced by MooseVariableScalar::reinit().

bool _safe_access_tagged_matrices
Is it safe to retrieve data from tagged matrices.
Definition: SubProblem.h:656

◆ safeAccessTaggedVectors()

bool SubProblem::safeAccessTaggedVectors ( )
inline

Is it safe to access the tagged vectors.

Definition at line 527 of file SubProblem.h.

Referenced by MooseVariableScalar::reinit().

527 { return _safe_access_tagged_vectors; }
bool _safe_access_tagged_vectors
Is it safe to retrieve data from tagged vectors.
Definition: SubProblem.h:659

◆ setActiveElementalMooseVariables()

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

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 235 of file SubProblem.C.

Referenced by FEProblemBase::setActiveElementalMooseVariables().

237 {
238  if (!moose_vars.empty())
239  {
241  _active_elemental_moose_variables[tid] = moose_vars;
242  }
243 }
std::vector< unsigned int > _has_active_elemental_moose_variables
Whether or not there is currently a list of active elemental moose variables.
Definition: SubProblem.h:624
std::vector< std::set< MooseVariableFEBase * > > _active_elemental_moose_variables
This is the set of MooseVariableFEBases that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:620

◆ setActiveFEVariableCoupleableMatrixTags()

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

Reimplemented in FEProblemBase.

Definition at line 163 of file SubProblem.C.

Referenced by FEProblemBase::setActiveFEVariableCoupleableMatrixTags().

164 {
166 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:629

◆ setActiveFEVariableCoupleableVectorTags()

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

Reimplemented in FEProblemBase.

Definition at line 169 of file SubProblem.C.

Referenced by FEProblemBase::setActiveFEVariableCoupleableVectorTags().

170 {
172 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:631

◆ setActiveMaterialProperties()

void SubProblem::setActiveMaterialProperties ( const std::set< unsigned int > &  mat_prop_ids,
THREAD_ID  tid 
)
virtual

Record and set the material properties required by the current computing thread.

Parameters
mat_prop_idsThe set of material properties required by the current computing thread.
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 265 of file SubProblem.C.

Referenced by FEProblemBase::setActiveMaterialProperties().

266 {
267  if (!mat_prop_ids.empty())
268  _active_material_property_ids[tid] = mat_prop_ids;
269 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:627

◆ setActiveScalarVariableCoupleableMatrixTags()

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

Reimplemented in FEProblemBase.

Definition at line 199 of file SubProblem.C.

Referenced by FEProblemBase::setActiveScalarVariableCoupleableMatrixTags().

200 {
202 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:633

◆ setActiveScalarVariableCoupleableVectorTags()

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

Reimplemented in FEProblemBase.

Definition at line 205 of file SubProblem.C.

Referenced by FEProblemBase::setActiveScalarVariableCoupleableVectorTags().

206 {
208 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:635

◆ setCurrentlyComputingJacobian()

virtual void SubProblem::setCurrentlyComputingJacobian ( const bool &  flag)
inlinevirtual

Definition at line 515 of file SubProblem.h.

516  {
518  }
bool _currently_computing_jacobian
Flag to determine whether the problem is currently computing Jacobian.
Definition: SubProblem.h:650

◆ setCurrentSubdomainID()

virtual void SubProblem::setCurrentSubdomainID ( const Elem *  elem,
THREAD_ID  tid 
)
pure virtual

◆ setNeighborSubdomainID()

virtual void SubProblem::setNeighborSubdomainID ( const Elem *  elem,
unsigned int  side,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ setResidual()

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ setResidualNeighbor()

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

Implemented in FEProblemBase, and DisplacedProblem.

◆ solve()

virtual void SubProblem::solve ( )
pure virtual

◆ storeBoundaryDelayedCheckMatProp()

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

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 437 of file SubProblem.C.

Referenced by MaterialPropertyInterface::checkMaterialProperty().

440 {
441  _map_boundary_material_props_check[boundary_id].insert(std::make_pair(requestor, name));
442 }
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
Definition: SubProblem.h:616
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ storeBoundaryMatPropName()

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

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 411 of file SubProblem.C.

Referenced by Material::registerPropName().

412 {
413  _map_boundary_material_props[boundary_id].insert(name);
414 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:600
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ storeBoundaryZeroMatProp()

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

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 423 of file SubProblem.C.

Referenced by Material::getZeroMaterialProperty().

424 {
425  _zero_boundary_material_props[boundary_id].insert(name);
426 }
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
Definition: SubProblem.h:604
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ storeSubdomainDelayedCheckMatProp()

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

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 429 of file SubProblem.C.

Referenced by MaterialPropertyInterface::checkMaterialProperty().

432 {
433  _map_block_material_props_check[block_id].insert(std::make_pair(requestor, name));
434 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
Data structures of the requested material properties.
Definition: SubProblem.h:615

◆ storeSubdomainMatPropName()

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

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 405 of file SubProblem.C.

Referenced by Material::registerPropName().

406 {
407  _map_block_material_props[block_id].insert(name);
408 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:597

◆ storeSubdomainZeroMatProp()

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

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 417 of file SubProblem.C.

Referenced by Material::getZeroMaterialProperty().

418 {
419  _zero_block_material_props[block_id].insert(name);
420 }
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
Set of properties returned as zero properties.
Definition: SubProblem.h:603
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ terminateSolve()

virtual void Problem::terminateSolve ( )
inlinevirtualinherited

Allow objects to request clean termination of the solve.

Definition at line 41 of file Problem.h.

Referenced by Terminator::execute().

41 { _termination_requested = true; };
bool _termination_requested
True if termination of the solve has been requested.
Definition: Problem.h:57

◆ type()

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

Get the type of this object.

Returns
the name of the type of this object

Definition at line 50 of file MooseObject.h.

Referenced by DumpObjectsProblem::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarVariable(), DumpObjectsProblem::addAuxVariable(), DisplacedProblem::addAuxVariable(), FEProblemBase::addAuxVariable(), DumpObjectsProblem::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), DumpObjectsProblem::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), DumpObjectsProblem::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), DumpObjectsProblem::addKernel(), DumpObjectsProblem::addMaterial(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarVariable(), PhysicsBasedPreconditioner::addSystem(), FEProblemBase::addTimeIntegrator(), DumpObjectsProblem::addVariable(), DisplacedProblem::addVariable(), FEProblemBase::addVariable(), FEProblemBase::advanceMultiApps(), FEProblemBase::backupMultiApps(), MooseMesh::buildRefinementAndCoarseningMaps(), FEProblemBase::computeAuxiliaryKernels(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighJacobian(), InterfaceKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighResidual(), ElemElemConstraint::computeElemNeighResidual(), InterfaceKernel::computeElemNeighResidual(), FEProblemBase::computeMultiAppsDT(), DGKernel::computeOffDiagElemNeighJacobian(), InterfaceKernel::computeOffDiagElemNeighJacobian(), DGConvection::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), DGDiffusion::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), DGConvection::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), TiedValueConstraint::computeQpResidual(), LinearNodalConstraint::computeQpResidual(), DGDiffusion::computeQpResidual(), EqualValueBoundaryConstraint::computeQpResidual(), EqualValueEmbeddedConstraint::computeQpResidual(), FEProblemBase::computeUserObjects(), DisplacedProblem::createQRules(), FEProblemBase::createQRules(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), FEProblemBase::duplicateVariableCheck(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), FEProblemBase::execTransfers(), FEProblemBase::finishMultiAppStep(), ElementSubdomainIDGenerator::generate(), ElementGenerator::getElemType(), FEProblemBase::getMaterial(), FEProblemBase::getMaterialData(), FEProblemBase::getTransfers(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), SolutionUserObject::initialSetup(), AdvancedOutput::initShowHideLists(), RelationshipManager::isType(), AssignElementSubdomainID::modify(), ControlOutput::output(), Gnuplot::output(), CSV::output(), Exodus::output(), Console::output(), Nemesis::output(), AdvancedOutput::output(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), FEProblemBase::restoreMultiApps(), FEProblemBase::setCoupling(), PerfGraphOutput::shouldOutput(), FileOutput::shouldOutput(), Output::shouldOutput(), AdvancedOutput::shouldOutput(), DisplacedProblem::updateGeomSearch(), FEProblemBase::updateGeomSearch(), and AdvancedOutput::wantOutput().

50 { return _type; }
const std::string & _type
The type of this object (the Class name)
Definition: MooseObject.h:177

◆ updateGeomSearch()

virtual void SubProblem::updateGeomSearch ( GeometricSearchData::GeometricSearchType  type = GeometricSearchData::ALL)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

◆ vectorTagExists() [1/2]

virtual bool SubProblem::vectorTagExists ( TagID  tag)
inlinevirtual

◆ vectorTagExists() [2/2]

bool SubProblem::vectorTagExists ( const TagName &  tag_name)

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

Definition at line 82 of file SubProblem.C.

83 {
84  auto tag_name_upper = MooseUtils::toUpper(tag_name);
85 
86  return _vector_tag_name_to_tag_id.find(tag_name_upper) != _vector_tag_name_to_tag_id.end();
87 }
std::map< TagName, TagID > _vector_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:575
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:699

◆ vectorTagName()

TagName SubProblem::vectorTagName ( TagID  tag)
virtual

Retrieve the name associated with a TagID.

Reimplemented in DisplacedProblem.

Definition at line 105 of file SubProblem.C.

Referenced by SystemBase::addVector(), SystemBase::removeVector(), and DisplacedProblem::vectorTagName().

106 {
107  return _vector_tag_id_to_tag_name[tag];
108 }
std::map< TagID, TagName > _vector_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:578

Friends And Related Function Documentation

◆ Restartable

friend class Restartable
friend

Definition at line 670 of file SubProblem.h.

Member Data Documentation

◆ _active_elemental_moose_variables

std::vector<std::set<MooseVariableFEBase *> > SubProblem::_active_elemental_moose_variables
protected

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

Definition at line 620 of file SubProblem.h.

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

◆ _active_fe_var_coupleable_matrix_tags

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

◆ _active_fe_var_coupleable_vector_tags

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

◆ _active_material_property_ids

std::vector<std::set<unsigned int> > SubProblem::_active_material_property_ids
protected

Set of material property ids that determine whether materials get reinited.

Definition at line 627 of file SubProblem.h.

Referenced by clearActiveMaterialProperties(), getActiveMaterialProperties(), hasActiveMaterialProperties(), setActiveMaterialProperties(), and SubProblem().

◆ _active_sc_var_coupleable_matrix_tags

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

◆ _active_sc_var_coupleable_vector_tags

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

◆ _app

MooseApp& MooseObject::_app
protectedinherited

The MooseApp this object is associated with.

Definition at line 174 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), AB2PredictorCorrector::AB2PredictorCorrector(), Executioner::addAttributeReporter(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), FEProblemBase::addOutput(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), FileMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), MooseMesh::buildMeshBaseObject(), FEProblemBase::checkNonlinearConvergence(), OversampleOutput::cloneMesh(), FEProblemBase::computeJacobianTags(), FEProblemBase::computeResidualTags(), Console::Console(), TimeStepper::constrainStep(), MultiApp::createApp(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::dumpVariableHelper(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), NonlinearEigen::execute(), InversePowerMethod::execute(), Transient::execute(), Steady::execute(), FileOutput::FileOutput(), FEProblemBase::forceOutput(), MeshGenerator::getMesh(), MeshGenerator::getMeshByName(), MooseObject::getMooseApp(), GhostingUserObject::GhostingUserObject(), InversePowerMethod::init(), NonlinearEigen::init(), Transient::init(), Steady::init(), MooseMesh::init(), NumPicardIterations::initialize(), TimePeriod::initialSetup(), Console::initialSetup(), MultiApp::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPetscOutput(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), ElementSideNeighborLayers::internalInit(), InversePowerMethod::InversePowerMethod(), MooseObject::mooseError(), NonlinearEigen::NonlinearEigen(), EigenExecutionerBase::normalizeSolution(), PerfGraphOutput::output(), Tecplot::output(), Exodus::output(), Nemesis::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::outputNodalVariables(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), Console::outputSystemInformation(), MultiApp::parentOutputPositionChanged(), PerformanceData::PerformanceData(), PetscOutput::petscLinearOutput(), PetscOutput::petscNonlinearOutput(), Transient::preExecute(), FEProblemBase::projectSolution(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), FEProblemBase::theWarehouse(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), FEProblemBase::timestepSetup(), Transient::Transient(), and Console::write().

◆ _cli_option_found

bool Problem::_cli_option_found
protectedinherited

True if the CLI option is found.

Definition at line 47 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 54 of file Problem.h.

◆ _computing_nonlinear_residual

bool SubProblem::_computing_nonlinear_residual
protected

Whether residual being evaulated is non-linear.

Definition at line 653 of file SubProblem.h.

Referenced by computingNonlinearResid().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

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

Definition at line 32 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), SetupRecoverFileBaseAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), SimplePredictor::apply(), MultiApp::backup(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualTags(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppCopyTransfer::execute(), Steady::execute(), MultiAppDTKUserObjectTransfer::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), FEProblemBase::FEProblemBase(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), MultiApp::globalAppToLocal(), InversePowerMethod::init(), NonlinearEigen::init(), Steady::init(), FEProblemBase::initialAdaptMesh(), FEProblemBase::initialSetup(), EigenExecutionerBase::inversePowerIteration(), Transient::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseObject::mooseDeprecated(), MooseObject::mooseInfo(), MooseObject::mooseWarning(), PerfGraphOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), NonlinearSystem::solve(), PicardSolve::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), AStableDirk4::solve(), LStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), PicardSolve::solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _coord_sys

std::map<SubdomainID, Moose::CoordinateSystemType> SubProblem::_coord_sys
protected

nonlocal coupling matrix;

Type of coordinate system per subdomain

Definition at line 592 of file SubProblem.h.

Referenced by FEProblemBase::checkCoordinateSystems(), FEProblemBase::getCoordSystem(), and FEProblemBase::setCoordSystem().

◆ _currently_computing_jacobian

bool SubProblem::_currently_computing_jacobian
protected

◆ _default_ghosting

bool SubProblem::_default_ghosting
protected

Whether or not to use default libMesh coupling.

Definition at line 641 of file SubProblem.h.

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

◆ _dirac_kernel_info

DiracKernelInfo SubProblem::_dirac_kernel_info
protected

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

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

Definition at line 183 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _factory

Factory& SubProblem::_factory
protected

◆ _ghosted_elems

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

◆ _has_active_elemental_moose_variables

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

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

Definition at line 624 of file SubProblem.h.

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

◆ _have_ad_objects

bool SubProblem::_have_ad_objects
protected

AD flag indicating whether any AD objects have been added.

Definition at line 662 of file SubProblem.h.

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

◆ _map_block_material_props

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

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

Definition at line 597 of file SubProblem.h.

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

◆ _map_block_material_props_check

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

Data structures of the requested material properties.

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

Definition at line 615 of file SubProblem.h.

Referenced by checkBlockMatProps(), and storeSubdomainDelayedCheckMatProp().

◆ _map_boundary_material_props

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

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

Definition at line 600 of file SubProblem.h.

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

◆ _map_boundary_material_props_check

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

Definition at line 616 of file SubProblem.h.

Referenced by checkBoundaryMatProps(), and storeBoundaryDelayedCheckMatProp().

◆ _material_property_requested

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

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

Definition at line 607 of file SubProblem.h.

Referenced by isMatPropRequested(), and markMatPropRequested().

◆ _matrix_tag_id_to_tag_name

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

Reverse map.

Definition at line 584 of file SubProblem.h.

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

◆ _matrix_tag_name_to_tag_id

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

The currently declared tags.

Definition at line 581 of file SubProblem.h.

Referenced by addMatrixTag(), getMatrixTagID(), getMatrixTags(), matrixTagExists(), and numMatrixTags().

◆ _name

const std::string& MooseObject::_name
protectedinherited

◆ _nonlocal_cm

CouplingMatrix SubProblem::_nonlocal_cm
protected

◆ _pars

const InputParameters& MooseObject::_pars
protectedinherited

◆ _perf_graph

PerfGraph& PerfGraphInterface::_perf_graph
protectedinherited

The performance graph to add to.

Definition at line 66 of file PerfGraphInterface.h.

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

◆ _pg_params

const InputParameters* PerfGraphInterface::_pg_params
protectedinherited

Params.

Definition at line 63 of file PerfGraphInterface.h.

◆ _prefix

std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 69 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::registerTimedSection().

◆ _requires_nonlocal_coupling

bool SubProblem::_requires_nonlocal_coupling
protected

◆ _rz_coord_axis

unsigned int SubProblem::_rz_coord_axis
protected

Storage for RZ axis selection.

Definition at line 647 of file SubProblem.h.

Referenced by getAxisymmetricRadialCoord(), and FEProblemBase::setAxisymmetricCoordAxis().

◆ _safe_access_tagged_matrices

bool SubProblem::_safe_access_tagged_matrices
protected

Is it safe to retrieve data from tagged matrices.

Definition at line 656 of file SubProblem.h.

Referenced by FEProblemBase::computeJacobianTags(), and safeAccessTaggedMatrices().

◆ _safe_access_tagged_vectors

bool SubProblem::_safe_access_tagged_vectors
protected

Is it safe to retrieve data from tagged vectors.

Definition at line 659 of file SubProblem.h.

Referenced by FEProblemBase::computeResidualTags(), and safeAccessTaggedVectors().

◆ _termination_requested

bool Problem::_termination_requested
protectedinherited

True if termination of the solve has been requested.

Definition at line 57 of file Problem.h.

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

◆ _type

const std::string& MooseObject::_type
protectedinherited

The type of this object (the Class name)

Definition at line 177 of file MooseObject.h.

Referenced by FEProblemBase::init(), and MooseObject::type().

◆ _var_dof_map

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

◆ _vector_tag_id_to_tag_name

std::map<TagID, TagName> SubProblem::_vector_tag_id_to_tag_name
protected

Reverse map.

Definition at line 578 of file SubProblem.h.

Referenced by addVectorTag(), and vectorTagName().

◆ _vector_tag_name_to_tag_id

std::map<TagName, TagID> SubProblem::_vector_tag_name_to_tag_id
protected

The currently declared tags.

Definition at line 575 of file SubProblem.h.

Referenced by addVectorTag(), getVectorTagID(), getVectorTags(), numVectorTags(), and vectorTagExists().

◆ _zero_block_material_props

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

Set of properties returned as zero properties.

Definition at line 603 of file SubProblem.h.

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

◆ _zero_boundary_material_props

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

Definition at line 604 of file SubProblem.h.

Referenced by checkBoundaryMatProps(), and storeBoundaryZeroMatProp().


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