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

33  _nonlocal_cm(),
35  _rz_coord_axis(1), // default to RZ rotation around y-axis
40  _have_ad_objects(false)
41 {
42  unsigned int n_threads = libMesh::n_threads();
43  _active_elemental_moose_variables.resize(n_threads);
44  _has_active_elemental_moose_variables.resize(n_threads);
45  _active_material_property_ids.resize(n_threads);
46 
47  _active_fe_var_coupleable_matrix_tags.resize(n_threads);
48  _active_fe_var_coupleable_vector_tags.resize(n_threads);
49  _active_sc_var_coupleable_matrix_tags.resize(n_threads);
50  _active_sc_var_coupleable_vector_tags.resize(n_threads);
51 }
bool _requires_nonlocal_coupling
nonlocal coupling requirement flag
Definition: SubProblem.h:633
bool _have_ad_objects
AD flag indicating whether any AD objects have been added.
Definition: SubProblem.h:654
Factory & _factory
The Factory for building objects.
Definition: SubProblem.h:582
unsigned int _rz_coord_axis
Storage for RZ axis selection.
Definition: SubProblem.h:639
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:642
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:630
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:645
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:651
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:622
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:626
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:619
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:615
bool _safe_access_tagged_matrices
Is it safe to retrieve data from tagged matrices.
Definition: SubProblem.h:648
CouplingMatrix _nonlocal_cm
Definition: SubProblem.h:584
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:624
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:628

◆ ~SubProblem()

SubProblem::~SubProblem ( )
virtual

Definition at line 53 of file SubProblem.C.

53 {}

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

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

103 {
104  auto tag_name_upper = MooseUtils::toUpper(tag_name);
105  auto existing_tag = _matrix_tag_name_to_tag_id.find(tag_name_upper);
106  if (existing_tag == _matrix_tag_name_to_tag_id.end())
107  {
108  auto tag_id = _matrix_tag_name_to_tag_id.size();
109 
110  _matrix_tag_name_to_tag_id[tag_name_upper] = tag_id;
111 
112  _matrix_tag_id_to_tag_name[tag_id] = tag_name_upper;
113  }
114 
115  return _matrix_tag_name_to_tag_id.at(tag_name_upper);
116 }
std::map< TagName, TagID > _matrix_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:576
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:697
std::map< TagID, TagName > _matrix_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:579

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

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

57 {
58  auto tag_name_upper = MooseUtils::toUpper(tag_name);
59  auto existing_tag = _vector_tag_name_to_tag_id.find(tag_name_upper);
60  if (existing_tag == _vector_tag_name_to_tag_id.end())
61  {
62  auto tag_id = _vector_tag_name_to_tag_id.size();
63 
64  _vector_tag_name_to_tag_id[tag_name_upper] = tag_id;
65 
66  _vector_tag_id_to_tag_name[tag_id] = tag_name_upper;
67  }
68 
69  return _vector_tag_name_to_tag_id.at(tag_name_upper);
70 }
std::map< TagName, TagID > _vector_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:570
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:697
std::map< TagID, TagName > _vector_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:573

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

Referenced by FEProblemBase::checkProblemIntegrity().

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

◆ checkBoundaryMatProps()

void SubProblem::checkBoundaryMatProps ( )
virtual

Checks boundary material properties integrity.

See also
FEProblemBase::checkProblemIntegrity

Definition at line 486 of file SubProblem.C.

Referenced by FEProblemBase::checkProblemIntegrity().

487 {
488  // Variable for storing the value for ANY_BLOCK_ID/ANY_BOUNDARY_ID
490 
491  // Variable for storing all available blocks/boundaries from the mesh
492  std::set<BoundaryID> all_ids(mesh().getBoundaryIDs());
493 
494  // Loop through the properties to check
495  for (const auto & check_it : _map_boundary_material_props_check)
496  {
497  // The current id for the property being checked (BoundaryID || BlockID)
498  BoundaryID check_id = check_it.first;
499 
500  // In the case when the material being checked has an ID is set to ANY, then loop through all
501  // the possible ids and verify that the material property is defined.
502  std::set<BoundaryID> check_ids{check_id};
503  if (check_id == any_id)
504  check_ids = all_ids;
505 
506  // Loop through all the block/boundary ids
507  for (const auto & id : check_ids)
508  {
509  // Loop through all the stored properties
510  for (const auto & prop_it : check_it.second)
511  {
512  // Produce an error if the material property is not defined on the current block/boundary
513  // and any block/boundary
514  // and not is not a zero material property.
515  if (_map_boundary_material_props[id].count(prop_it.second) == 0 &&
516  _map_boundary_material_props[any_id].count(prop_it.second) == 0 &&
517  _zero_boundary_material_props[id].count(prop_it.second) == 0 &&
518  _zero_boundary_material_props[any_id].count(prop_it.second) == 0)
519  {
520  std::string check_name = restrictionBoundaryCheckName(id);
521  if (check_name.empty())
522  check_name = std::to_string(id);
523  mooseError("Material property '",
524  prop_it.second,
525  "', requested by '",
526  prop_it.first,
527  "' is not defined on boundary ",
528  check_name);
529  }
530  }
531  }
532  }
533 }
virtual MooseMesh & mesh()=0
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
Definition: SubProblem.h:611
std::string restrictionBoundaryCheckName(BoundaryID check_id)
Definition: SubProblem.C:589
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
Definition: SubProblem.h:599
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:595
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:122

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

Referenced by FEProblemBase::clearActiveElementalMooseVariables().

250 {
253 }
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:619
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:615

◆ clearActiveFEVariableCoupleableMatrixTags()

void SubProblem::clearActiveFEVariableCoupleableMatrixTags ( THREAD_ID  tid)
virtual

Reimplemented in FEProblemBase.

Definition at line 172 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveFEVariableCoupleableMatrixTags().

173 {
175 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:624

◆ clearActiveFEVariableCoupleableVectorTags()

void SubProblem::clearActiveFEVariableCoupleableVectorTags ( THREAD_ID  tid)
virtual

Reimplemented in FEProblemBase.

Definition at line 166 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveFEVariableCoupleableVectorTags().

167 {
169 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:626

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

Referenced by FEProblemBase::clearActiveMaterialProperties().

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

◆ clearActiveScalarVariableCoupleableMatrixTags()

void SubProblem::clearActiveScalarVariableCoupleableMatrixTags ( THREAD_ID  tid)
virtual

Reimplemented in FEProblemBase.

Definition at line 208 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveScalarVariableCoupleableMatrixTags().

209 {
211 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:628

◆ clearActiveScalarVariableCoupleableVectorTags()

void SubProblem::clearActiveScalarVariableCoupleableVectorTags ( THREAD_ID  tid)
virtual

Reimplemented in FEProblemBase.

Definition at line 202 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveScalarVariableCoupleableVectorTags().

203 {
205 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:630

◆ 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 516 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:645

◆ 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 508 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:642

◆ diracKernelInfo()

DiracKernelInfo & SubProblem::diracKernelInfo ( )
virtual

Definition at line 548 of file SubProblem.C.

549 {
550  return _dirac_kernel_info;
551 }
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:589

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

Referenced by Residual::getValue().

555 {
556  return 0;
557 }

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

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

238 {
240 }
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:615

◆ getActiveFEVariableCoupleableMatrixTags()

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

Definition at line 178 of file SubProblem.C.

179 {
181 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:624

◆ getActiveFEVariableCoupleableVectorTags()

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

Definition at line 184 of file SubProblem.C.

185 {
187 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:626

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

Referenced by FEProblemBase::prepareMaterials().

264 {
265  return _active_material_property_ids[tid];
266 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:622

◆ getActiveScalarVariableCoupleableMatrixTags()

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

Definition at line 214 of file SubProblem.C.

Referenced by MooseVariableScalar::reinit().

215 {
217 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:628

◆ getActiveScalarVariableCoupleableVectorTags()

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

Definition at line 220 of file SubProblem.C.

Referenced by MooseVariableScalar::reinit().

221 {
223 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:630

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

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

596 {
597  if (_rz_coord_axis == 0)
598  return 1; // if the rotation axis is x (0), then the radial direction is y (1)
599  else
600  return 0; // otherwise the radial direction is assumed to be x, i.e., the rotation axis is y
601 }
unsigned int _rz_coord_axis
Storage for RZ axis selection.
Definition: SubProblem.h:639

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

Referenced by MaterialPropertyInterface::getMaterialPropertyBlockNames().

298 {
299  std::set<SubdomainID> blocks = getMaterialPropertyBlocks(prop_name);
300  std::vector<SubdomainName> block_names;
301  block_names.reserve(blocks.size());
302  for (const auto & block_id : blocks)
303  {
304  SubdomainName name;
305  if (block_id == Moose::ANY_BLOCK_ID)
306  name = "ANY_BLOCK_ID";
307  else
308  {
309  name = mesh().getMesh().subdomain_name(block_id);
310  if (name.empty())
311  {
312  std::ostringstream oss;
313  oss << block_id;
314  name = oss.str();
315  }
316  }
317  block_names.push_back(name);
318  }
319 
320  return block_names;
321 }
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2562
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:281
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 281 of file SubProblem.C.

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

282 {
283  std::set<SubdomainID> blocks;
284 
285  for (const auto & it : _map_block_material_props)
286  {
287  const std::set<std::string> & prop_names = it.second;
288  std::set<std::string>::iterator name_it = prop_names.find(prop_name);
289  if (name_it != prop_names.end())
290  blocks.insert(it.first);
291  }
292 
293  return blocks;
294 }
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:592

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

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

339 {
340  std::set<BoundaryID> boundaries;
341 
342  for (const auto & it : _map_boundary_material_props)
343  {
344  const std::set<std::string> & prop_names = it.second;
345  std::set<std::string>::iterator name_it = prop_names.find(prop_name);
346  if (name_it != prop_names.end())
347  boundaries.insert(it.first);
348  }
349 
350  return boundaries;
351 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:595

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

Referenced by MaterialPropertyInterface::getMaterialPropertyBoundaryNames().

355 {
356  std::set<BoundaryID> boundaries = getMaterialPropertyBoundaryIDs(prop_name);
357  std::vector<BoundaryName> boundary_names;
358  boundary_names.reserve(boundaries.size());
359  const BoundaryInfo & boundary_info = mesh().getMesh().get_boundary_info();
360 
361  for (const auto & bnd_id : boundaries)
362  {
363  BoundaryName name;
364  if (bnd_id == Moose::ANY_BOUNDARY_ID)
365  name = "ANY_BOUNDARY_ID";
366  else
367  {
368  name = boundary_info.get_sideset_name(bnd_id);
369  if (name.empty())
370  {
371  std::ostringstream oss;
372  oss << bnd_id;
373  name = oss.str();
374  }
375  }
376  boundary_names.push_back(name);
377  }
378 
379  return boundary_names;
380 }
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:338
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2562
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 133 of file SubProblem.C.

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

134 {
135  auto tag_name_upper = MooseUtils::toUpper(tag_name);
136 
137  if (!matrixTagExists(tag_name))
138  mooseError("Matrix tag: ",
139  tag_name,
140  " does not exist. ",
141  "If this is a TimeKernel then this may have happened because you didn't "
142  "specify a Transient Executioner.");
143 
144  return _matrix_tag_name_to_tag_id.at(tag_name_upper);
145 }
std::map< TagName, TagID > _matrix_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:576
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:697
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:119

◆ 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 157 of file SubProblem.h.

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

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

◆ 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(), 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(), DGKernel::DGKernel(), 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 604 of file SubProblem.C.

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

610 {
611  // Eventual return value
612  MooseVariableFEBase * var = nullptr;
613 
614  // First check that the variable is found on the expected system.
615  if (expected_var_type == Moose::VarKindType::VAR_ANY)
616  {
617  if (nl.hasVariable(var_name))
618  var = &(nl.getVariable(tid, var_name));
619  else if (aux.hasVariable(var_name))
620  var = &(aux.getVariable(tid, var_name));
621  else
622  mooseError("Unknown variable " + var_name);
623  }
624  else if (expected_var_type == Moose::VarKindType::VAR_NONLINEAR && nl.hasVariable(var_name))
625  var = &(nl.getVariable(tid, var_name));
626  else if (expected_var_type == Moose::VarKindType::VAR_AUXILIARY && aux.hasVariable(var_name))
627  var = &(aux.getVariable(tid, var_name));
628  else
629  {
630  std::string expected_var_type_string =
631  (expected_var_type == Moose::VarKindType::VAR_NONLINEAR ? "nonlinear" : "auxiliary");
632  mooseError("No ",
633  expected_var_type_string,
634  " variable named ",
635  var_name,
636  " found. "
637  "Did you specify an auxiliary variable when you meant to specify a nonlinear "
638  "variable (or vice-versa)?");
639  }
640 
641  // Now make sure the var found has the expected field type.
642  bool var_is_vector = var->isVector();
643  if ((expected_var_field_type == Moose::VarFieldType::VAR_FIELD_ANY) ||
644  (var_is_vector && expected_var_field_type == Moose::VarFieldType::VAR_FIELD_VECTOR) ||
645  (!var_is_vector && expected_var_field_type == Moose::VarFieldType::VAR_FIELD_STANDARD))
646  return *var;
647  else
648  {
649  std::string expected_var_field_type_string =
650  (expected_var_field_type == Moose::VarFieldType::VAR_FIELD_STANDARD ? "standard"
651  : "vector");
652 
653  mooseError("No ",
654  expected_var_field_type_string,
655  " variable named ",
656  var_name,
657  " found. "
658  "Did you specify a vector variable when you meant to specify a standard variable "
659  "(or vice-versa)?");
660  }
661 }
virtual bool isVector() const =0
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

◆ getVectorTagID()

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

Get a TagID from a TagName.

Reimplemented in DisplacedProblem.

Definition at line 81 of file SubProblem.C.

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

82 {
83  auto tag_name_upper = MooseUtils::toUpper(tag_name);
84 
85  if (!vectorTagExists(tag_name))
86  mooseError("Vector tag: ",
87  tag_name,
88  " does not exist. ",
89  "If this is a TimeKernel then this may have happened because you didn't "
90  "specify a Transient Executioner.");
91 
92  return _vector_tag_name_to_tag_id.at(tag_name_upper);
93 }
std::map< TagName, TagID > _vector_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:570
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:697
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:107

◆ 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 102 of file SubProblem.h.

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

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

◆ 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 500 of file SubProblem.h.

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

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

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

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

244 {
246 }
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:619

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

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

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

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

325 {
326  auto it = _map_block_material_props.find(bid);
327  if (it == _map_block_material_props.end())
328  return false;
329 
330  if (it->second.count(prop_name) > 0)
331  return true;
332  else
333  return false;
334 }
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:592

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

384 {
385  auto it = _map_boundary_material_props.find(bid);
386  if (it == _map_boundary_material_props.end())
387  return false;
388 
389  if (it->second.count(prop_name) > 0)
390  return true;
391  else
392  return false;
393 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:595

◆ 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 551 of file SubProblem.h.

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

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

◆ haveADObjects() [2/2]

bool SubProblem::haveADObjects ( ) const
inline

Method for reading wehther we have any ad objects.

Definition at line 555 of file SubProblem.h.

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

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

Referenced by DerivativeFunctionMaterialBase::initialSetup().

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

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

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

537 {
538  _material_property_requested.insert(prop_name);
539 }
std::set< std::string > _material_property_requested
set containing all material property names that have been requested by getMaterialProperty* ...
Definition: SubProblem.h:602

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

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

120 {
121  auto tag_name_upper = MooseUtils::toUpper(tag_name);
122 
123  return _matrix_tag_name_to_tag_id.find(tag_name_upper) != _matrix_tag_name_to_tag_id.end();
124 }
std::map< TagName, TagID > _matrix_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:576
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:697

◆ matrixTagExists() [2/2]

bool SubProblem::matrixTagExists ( TagID  tag_id)
virtual

Check to see if a particular Tag exists.

Reimplemented in DisplacedProblem.

Definition at line 127 of file SubProblem.C.

128 {
129  return _matrix_tag_id_to_tag_name.find(tag_id) != _matrix_tag_id_to_tag_name.end();
130 }
std::map< TagID, TagName > _matrix_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:579

◆ matrixTagName()

TagName SubProblem::matrixTagName ( TagID  tag)
virtual

Retrieve the name associated with a TagID.

Reimplemented in DisplacedProblem.

Definition at line 148 of file SubProblem.C.

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

149 {
150  return _matrix_tag_id_to_tag_name[tag];
151 }
std::map< TagID, TagName > _matrix_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:579

◆ mesh()

virtual MooseMesh& SubProblem::mesh ( )
pure virtual

◆ meshChanged()

void SubProblem::meshChanged ( )
virtual

Reimplemented in FEProblemBase, and DisplacedProblem.

Definition at line 572 of file SubProblem.C.

573 {
574  mooseError("This system does not support changing the mesh");
575 }
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 PetscExternalPartitioner::_do_partition(), GridPartitioner::_do_partition(), FEProblemBase::addConstraint(), FEProblemBase::addInitialCondition(), FEProblem::addLineSearch(), FEProblemBase::addLineSearch(), FEProblemBase::addOutput(), DiracKernel::addPointWithValidId(), FEProblemBase::addPostprocessor(), MooseMesh::addQuadratureNode(), FEProblemBase::addVectorPostprocessor(), 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(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), TimeStepper::constrainStep(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), CoupledForce::CoupledForce(), DebugResidualAux::DebugResidualAux(), BicubicSplineFunction::derivative(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernel::DGKernel(), 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(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::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(), ElementGenerator::getElemType(), MultiApp::getExecutioner(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), AuxKernel::getMaterialProperty(), AuxKernel::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOlder(), 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(), 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(), Residual::getValue(), PerformanceData::getValue(), PerfGraphData::getValue(), LineValueSampler::getValue(), FindValueOnLine::getValueAtPoint(), getVariableHelper(), getVectorTagID(), DisplacedProblem::getVectorVariable(), FEProblemBase::getVectorVariable(), 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(), SolutionFunction::initialSetup(), Exodus::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(), meshChanged(), MeshExtruder::MeshExtruder(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshSideSetGenerator::MeshSideSetGenerator(), SideSetsFromNormals::modify(), SideSetsFromPoints::modify(), BreakMeshByBlockBase::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), SmoothMesh::modify(), AssignElementSubdomainID::modify(), AddAllSideSetsByNormals::modify(), ElementDeleterBase::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), ImageSubdomain::modify(), OrientedSubdomainBoundingBox::modify(), BoundingBoxNodeSet::modify(), AddSideSetsFromBoundingBox::modify(), SubdomainBoundingBox::modify(), 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(), ElementSideNeighborLayers::operator()(), ElementPointNeighbors::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(), LStableDirk4::postResidual(), AStableDirk4::postResidual(), ExplicitRK2::postResidual(), Predictor::Predictor(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), EqualValueEmbeddedConstraint::reinitConstraint(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RenameBlock::RenameBlock(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), ScalarComponentIC::ScalarComponentIC(), BicubicSplineFunction::secondDerivative(), FEProblemBase::setCoordSystem(), PiecewiseBase::setData(), EigenProblem::setEigenproblemType(), 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(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), 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(), 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(), 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(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), FEProblemBase::checkDependMaterialsHelper(), Damper::checkMinDamping(), Material::checkStatefulSanity(), CompositeFunction::CompositeFunction(), Material::computeSubdomainProperties(), VectorPostprocessorVisualizationAux::computeValue(), AuxKernel::coupledCallback(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), MultiApp::createApp(), FEProblemBase::declareVectorPostprocessorVector(), DOFMapOutput::demangle(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernel::DGKernel(), 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(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::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(), AuxKernel::getMaterialProperty(), Material::getMaterialProperty(), getMaterialPropertyBlockNames(), getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), AuxKernel::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), MeshGenerator::getMesh(), MooseMesh::getMortarInterfaceByName(), OutputWarehouse::getOutput(), MooseObject::getParam(), GeneralUserObject::getPostprocessorValue(), AuxKernel::getPostprocessorValue(), FEProblemBase::getPostprocessorValue(), GeneralUserObject::getPostprocessorValueByName(), AuxKernel::getPostprocessorValueByName(), FEProblemBase::getPostprocessorValueOld(), FEProblemBase::getPostprocessorValueOlder(), FEProblemBase::getSampler(), AuxKernel::getScatterVectorPostprocessorValue(), FEProblemBase::getScatterVectorPostprocessorValue(), AuxKernel::getScatterVectorPostprocessorValueByName(), FEProblemBase::getScatterVectorPostprocessorValueOld(), Transient::getTimeStepperName(), AuxKernel::getUserObject(), InitialConditionBase::getUserObject(), FEProblemBase::getUserObject(), InitialConditionBase::getUserObjectBase(), AuxKernel::getUserObjectBase(), FEProblemBase::getUserObjectBase(), AuxKernel::getUserObjectByName(), InitialConditionBase::getUserObjectByName(), GeneralUserObject::getVectorPostprocessorValue(), AuxKernel::getVectorPostprocessorValue(), FEProblemBase::getVectorPostprocessorValue(), GeneralUserObject::getVectorPostprocessorValueByName(), AuxKernel::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(), MooseObject::isParamValid(), 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(), 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(), 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(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), 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 566 of file SubProblem.C.

Referenced by NumLinearIterations::getValue().

567 {
568  return 0;
569 }

◆ nNonlinearIterations()

unsigned int SubProblem::nNonlinearIterations ( ) const
virtual

Reimplemented in FEProblemBase.

Definition at line 560 of file SubProblem.C.

Referenced by NumNonlinearIterations::getValue().

561 {
562  return 0;
563 }

◆ nonlocalCouplingMatrix()

const CouplingMatrix& SubProblem::nonlocalCouplingMatrix ( ) const
inline

Definition at line 503 of file SubProblem.h.

503 { return _nonlocal_cm; }
CouplingMatrix _nonlocal_cm
Definition: SubProblem.h:584

◆ 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(), DGKernel::DGKernel(), ElementValueSampler::ElementValueSampler(), StackGenerator::generate(), StitchedMeshGenerator::generate(), MultiApp::init(), IntegratedBC::IntegratedBC(), Kernel::Kernel(), 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(), AdvancedOutput::AdvancedOutput(), assemble_l2(), Moose::assemble_matrix(), AuxKernel::AuxKernel(), 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(), Executioner::Executioner(), Exodus::Exodus(), FEProblem::FEProblem(), GapValueAux::GapValueAux(), MooseObject::getCheckedPointerParam(), 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 589 of file SubProblem.C.

Referenced by checkBoundaryMatProps().

590 {
591  return mesh().getMesh().get_boundary_info().sideset_name(check_id);
592 }
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2562

◆ restrictionSubdomainCheckName()

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

Helper functions for checking MaterialProperties.

Definition at line 578 of file SubProblem.C.

Referenced by checkBlockMatProps().

579 {
580  // TODO: Put a better a interface in MOOSE
581  std::map<subdomain_id_type, std::string> & name_map = mesh().getMesh().set_subdomain_name_map();
582  std::map<subdomain_id_type, std::string>::const_iterator pos = name_map.find(check_id);
583  if (pos != name_map.end())
584  return pos->second;
585  return "";
586 }
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2562

◆ safeAccessTaggedMatrices()

bool SubProblem::safeAccessTaggedMatrices ( )
inline

Is it safe to access the tagged matrices.

Definition at line 519 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:648

◆ safeAccessTaggedVectors()

bool SubProblem::safeAccessTaggedVectors ( )
inline

Is it safe to access the tagged vectors.

Definition at line 522 of file SubProblem.h.

Referenced by MooseVariableScalar::reinit().

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

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

Referenced by FEProblemBase::setActiveElementalMooseVariables().

228 {
229  if (!moose_vars.empty())
230  {
232  _active_elemental_moose_variables[tid] = moose_vars;
233  }
234 }
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:619
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:615

◆ setActiveFEVariableCoupleableMatrixTags()

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

Reimplemented in FEProblemBase.

Definition at line 154 of file SubProblem.C.

Referenced by FEProblemBase::setActiveFEVariableCoupleableMatrixTags().

155 {
157 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_matrix_tags
Definition: SubProblem.h:624

◆ setActiveFEVariableCoupleableVectorTags()

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

Reimplemented in FEProblemBase.

Definition at line 160 of file SubProblem.C.

Referenced by FEProblemBase::setActiveFEVariableCoupleableVectorTags().

161 {
163 }
std::vector< std::set< TagID > > _active_fe_var_coupleable_vector_tags
Definition: SubProblem.h:626

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

Referenced by FEProblemBase::setActiveMaterialProperties().

257 {
258  if (!mat_prop_ids.empty())
259  _active_material_property_ids[tid] = mat_prop_ids;
260 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:622

◆ setActiveScalarVariableCoupleableMatrixTags()

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

Reimplemented in FEProblemBase.

Definition at line 190 of file SubProblem.C.

Referenced by FEProblemBase::setActiveScalarVariableCoupleableMatrixTags().

191 {
193 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_matrix_tags
Definition: SubProblem.h:628

◆ setActiveScalarVariableCoupleableVectorTags()

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

Reimplemented in FEProblemBase.

Definition at line 196 of file SubProblem.C.

Referenced by FEProblemBase::setActiveScalarVariableCoupleableVectorTags().

197 {
199 }
std::vector< std::set< TagID > > _active_sc_var_coupleable_vector_tags
Definition: SubProblem.h:630

◆ setCurrentlyComputingJacobian()

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

Definition at line 510 of file SubProblem.h.

511  {
513  }
bool _currently_computing_jacobian
Flag to determine whether the problem is currently computing Jacobian.
Definition: SubProblem.h:642

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

Referenced by MaterialPropertyInterface::checkMaterialProperty().

431 {
432  _map_boundary_material_props_check[boundary_id].insert(std::make_pair(requestor, name));
433 }
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
Definition: SubProblem.h:611
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 402 of file SubProblem.C.

Referenced by Material::registerPropName().

403 {
404  _map_boundary_material_props[boundary_id].insert(name);
405 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:595
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 414 of file SubProblem.C.

Referenced by Material::getZeroMaterialProperty().

415 {
416  _zero_boundary_material_props[boundary_id].insert(name);
417 }
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
Definition: SubProblem.h:599
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 420 of file SubProblem.C.

Referenced by MaterialPropertyInterface::checkMaterialProperty().

423 {
424  _map_block_material_props_check[block_id].insert(std::make_pair(requestor, name));
425 }
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:610

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

Referenced by Material::registerPropName().

397 {
398  _map_block_material_props[block_id].insert(name);
399 }
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:592

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

Referenced by Material::getZeroMaterialProperty().

409 {
410  _zero_block_material_props[block_id].insert(name);
411 }
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
Set of properties returned as zero properties.
Definition: SubProblem.h:598
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(), ElemElemConstraint::computeElemNeighJacobian(), InterfaceKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighResidual(), InterfaceKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), FEProblemBase::computeMultiAppsDT(), InterfaceKernel::computeOffDiagElemNeighJacobian(), DGKernel::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(), 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 73 of file SubProblem.C.

74 {
75  auto tag_name_upper = MooseUtils::toUpper(tag_name);
76 
77  return _vector_tag_name_to_tag_id.find(tag_name_upper) != _vector_tag_name_to_tag_id.end();
78 }
std::map< TagName, TagID > _vector_tag_name_to_tag_id
The currently declared tags.
Definition: SubProblem.h:570
std::string toUpper(const std::string &name)
Convert supplied string to upper case.
Definition: MooseUtils.C:697

◆ vectorTagName()

TagName SubProblem::vectorTagName ( TagID  tag)
virtual

Retrieve the name associated with a TagID.

Reimplemented in DisplacedProblem.

Definition at line 96 of file SubProblem.C.

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

97 {
98  return _vector_tag_id_to_tag_name[tag];
99 }
std::map< TagID, TagName > _vector_tag_id_to_tag_name
Reverse map.
Definition: SubProblem.h:573

Friends And Related Function Documentation

◆ Restartable

friend class Restartable
friend

Definition at line 662 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 615 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 622 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(), AlgebraicRelationshipManager::attachAlgebraicFunctorHelper(), RelationshipManager::attachRelationshipManagers(), ElementSideNeighborLayers::attachRelationshipManagersInternal(), ElementPointNeighbors::attachRelationshipManagersInternal(), 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(), 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(), 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(), 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 645 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(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualTags(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppVectorPostprocessorTransfer::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(), 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 587 of file SubProblem.h.

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

◆ _currently_computing_jacobian

bool SubProblem::_currently_computing_jacobian
protected

◆ _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 619 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 654 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 592 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 610 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 595 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 611 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 602 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 579 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 576 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 639 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 648 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 651 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 573 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 570 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 598 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 599 of file SubProblem.h.

Referenced by checkBoundaryMatProps(), and storeBoundaryZeroMatProp().


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