www.mooseframework.org
Public Member Functions | Public Attributes | Protected Attributes | Private Member Functions | 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 useFECache (bool fe_cache)=0
 Whether or not this problem should utilize FE shape function caching. More...
 
virtual void solve ()=0
 
virtual bool converged ()=0
 
virtual void onTimestepBegin ()=0
 
virtual void onTimestepEnd ()=0
 
virtual bool isTransient () const =0
 
virtual bool hasVariable (const std::string &var_name)=0
 
virtual MooseVariablegetVariable (THREAD_ID tid, const std::string &var_name)=0
 Returns the variable reference for requested variable which may be in any system. More...
 
virtual bool hasScalarVariable (const std::string &var_name)=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< MooseVariable * > &moose_vars, THREAD_ID tid)
 Set the MOOSE variables to be reinited on each element. More...
 
virtual const std::set< MooseVariable * > & getActiveElementalMooseVariables (THREAD_ID tid)
 Get the MOOSE variables to be reinited on each element. More...
 
virtual bool hasActiveElementalMooseVariables (THREAD_ID tid)
 Whether or not a list of active elemental moose variables has been set. More...
 
virtual void clearActiveElementalMooseVariables (THREAD_ID tid)
 Clear the active elemental MooseVariable. 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)
 Get the material properties required by the current computing thread. More...
 
virtual bool hasActiveMaterialProperties (THREAD_ID tid)
 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 ()
 Returns the desired radial direction for RZ coordinate transformation. More...
 
virtual DiracKernelInfodiracKernelInfo ()
 
virtual Real finalNonlinearResidual ()
 
virtual unsigned int nNonlinearIterations ()
 
virtual unsigned int nLinearIterations ()
 
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 (SparseMatrix< Number > &jacobian, THREAD_ID tid)=0
 
virtual void addJacobianNeighbor (SparseMatrix< Number > &jacobian, 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 (SparseMatrix< Number > &jacobian, 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, std::vector< Point > phys_points_in_elem, THREAD_ID tid)=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 reinitNodeNeighbor (const Node *node, 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 storeMatPropName (SubdomainID block_id, const std::string &name)
 Adds the given material property to a storage map based on block ids. More...
 
virtual void storeMatPropName (BoundaryID boundary_id, const std::string &name)
 Adds the given material property to a storage map based on boundary ids. More...
 
virtual void storeZeroMatProp (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 storeZeroMatProp (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 storeDelayedCheckMatProp (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 storeDelayedCheckMatProp (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 ()=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...
 
virtual void registerRestartableData (std::string name, RestartableDataValue *data, THREAD_ID tid)
 Register a piece of restartable data. More...
 
const CouplingMatrix & nonlocalCouplingMatrix () const
 
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 & 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...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
MooseAppgetMooseApp ()
 Get the MooseApp this object is associated with. More...
 
virtual bool enabled ()
 Return the enabled status of the object. 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 Attributes

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< MooseVariable * > > _active_elemental_moose_variables
 This is the set of MooseVariables 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...
 
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 _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...
 
MooseApp_app
 The MooseApp this object is associated with. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. 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...
 
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

template<typename T >
void checkMatProps (std::map< T, std::set< std::string >> &props, std::map< T, std::multimap< std::string, std::string >> &check_props, std::map< T, std::set< MaterialPropertyName >> &zero_props)
 Helper method for performing material property checks. More...
 
virtual void registerRecoverableData (std::string name)
 NOTE: This is an internal function meant for MOOSE use only! More...
 
template<>
std::string restrictionTypeName ()
 
template<>
std::string restrictionTypeName ()
 
template<typename T >
std::string restrictionTypeName ()
 Helper functions for checkMatProps. More...
 
std::string restrictionCheckName (SubdomainID check_id)
 
std::string restrictionCheckName (BoundaryID check_id)
 

Friends

class Restartable
 

Detailed Description

Generic class for solving transient nonlinear problems.

Definition at line 53 of file SubProblem.h.

Constructor & Destructor Documentation

SubProblem::SubProblem ( const InputParameters parameters)

Definition at line 43 of file SubProblem.C.

44  : Problem(parameters),
46  _nonlocal_cm(),
48  _rz_coord_axis(1) // default to RZ rotation around y-axis
49 {
50  unsigned int n_threads = libMesh::n_threads();
51  _active_elemental_moose_variables.resize(n_threads);
52  _has_active_elemental_moose_variables.resize(n_threads);
53  _active_material_property_ids.resize(n_threads);
54 }
bool _requires_nonlocal_coupling
nonlocal coupling requirement flag
Definition: SubProblem.h:461
Factory & _factory
The Factory for building objects.
Definition: SubProblem.h:418
unsigned int _rz_coord_axis
Storage for RZ axis selection.
Definition: SubProblem.h:467
Problem(const InputParameters &parameters)
Definition: Problem.C:29
Factory & getFactory()
Retrieve the Factory associated with this App.
Definition: MooseApp.h:253
std::vector< std::set< MooseVariable * > > _active_elemental_moose_variables
This is the set of MooseVariables that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:451
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:458
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:455
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
CouplingMatrix _nonlocal_cm
Definition: SubProblem.h:420
SubProblem::~SubProblem ( )
virtual

Definition at line 56 of file SubProblem.C.

56 {}

Member Function Documentation

void Problem::_setCLIOption ( )
inlineinherited

For Internal Use.

Definition at line 40 of file Problem.h.

40 { _cli_option_found = true; }
bool _cli_option_found
True if the CLI option is found.
Definition: Problem.h:51
virtual void SubProblem::addCachedJacobian ( SparseMatrix< Number > &  jacobian,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

virtual void SubProblem::addGhostedBoundary ( BoundaryID  boundary_id)
pure virtual
virtual void SubProblem::addGhostedElem ( dof_id_type  elem_id)
pure virtual

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

Implemented in FEProblemBase, and DisplacedProblem.

Referenced by NearestNodeLocator::findNodes(), LinearNodalConstraint::LinearNodalConstraint(), and EqualValueBoundaryConstraint::updateConstrainedNodes().

virtual void SubProblem::addJacobian ( SparseMatrix< Number > &  jacobian,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

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.

virtual void SubProblem::addJacobianNeighbor ( SparseMatrix< Number > &  jacobian,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

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.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

void SubProblem::checkBlockMatProps ( )
virtual

Checks block material properties integrity.

See also
FEProblemBase::checkProblemIntegrity

Definition at line 269 of file SubProblem.C.

Referenced by FEProblemBase::checkProblemIntegrity().

270 {
273 }
void checkMatProps(std::map< T, std::set< std::string >> &props, std::map< T, std::multimap< std::string, std::string >> &check_props, std::map< T, std::set< MaterialPropertyName >> &zero_props)
Helper method for performing material property checks.
Definition: SubProblem.C:358
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
Set of properties returned as zero properties.
Definition: SubProblem.h:434
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
Data structures of the requested material properties.
Definition: SubProblem.h:446
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:428
void SubProblem::checkBoundaryMatProps ( )
virtual

Checks boundary material properties integrity.

See also
FEProblemBase::checkProblemIntegrity

Definition at line 276 of file SubProblem.C.

Referenced by FEProblemBase::checkProblemIntegrity().

277 {
281 }
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
Definition: SubProblem.h:447
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
Definition: SubProblem.h:435
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:431
void checkMatProps(std::map< T, std::set< std::string >> &props, std::map< T, std::multimap< std::string, std::string >> &check_props, std::map< T, std::set< MaterialPropertyName >> &zero_props)
Helper method for performing material property checks.
Definition: SubProblem.C:358
template<typename T >
void SubProblem::checkMatProps ( std::map< T, std::set< std::string >> &  props,
std::map< T, std::multimap< std::string, std::string >> &  check_props,
std::map< T, std::set< MaterialPropertyName >> &  zero_props 
)
private

Helper method for performing material property checks.

Parameters
propsReference to the map of properties known
check_propsReference to the map of properties to check
type- string describing the type of the material property being checked
See also
checkBlockMatProps
checkBoundaryMatProps

Definition at line 358 of file SubProblem.C.

Referenced by checkBlockMatProps(), and checkBoundaryMatProps().

361 {
362  // Variable for storing the value for ANY_BLOCK_ID/ANY_BOUNDARY_ID
363  T any_id = getAnyID<T>();
364 
365  // Variable for storing all available blocks/boundaries from the mesh
366  std::set<T> all_ids(mesh().getBlockOrBoundaryIDs<T>());
367 
368  // Loop through the properties to check
369  for (const auto & check_it : check_props)
370  {
371  // The current id for the property being checked (BoundaryID || BlockID)
372  T check_id = check_it.first;
373 
374  // In the case when the material being checked has an ID is set to ANY, then loop through all
375  // the possible ids and verify that the material property is defined.
376  std::set<T> check_ids = {check_id};
377  if (check_id == any_id)
378  check_ids = all_ids;
379 
380  // Loop through all the block/boundary ids
381  for (const auto & id : check_ids)
382  {
383  // Loop through all the stored properties
384  for (const auto & prop_it : check_it.second)
385  {
386  // Produce an error if the material property is not defined on the current block/boundary
387  // and any block/boundary
388  // and not is not a zero material property.
389  if (props[id].count(prop_it.second) == 0 && props[any_id].count(prop_it.second) == 0 &&
390  zero_props[id].count(prop_it.second) == 0 &&
391  zero_props[any_id].count(prop_it.second) == 0)
392  {
393  std::string check_name = restrictionCheckName(id);
394  if (check_name.empty())
395  check_name = std::to_string(id);
396  mooseError("Material property '",
397  prop_it.second,
398  "', requested by '",
399  prop_it.first,
400  "' is not defined on ",
401  restrictionTypeName<T>(),
402  " ",
403  check_name);
404  }
405  }
406  }
407  }
408 }
virtual MooseMesh & mesh()=0
std::string restrictionCheckName(SubdomainID check_id)
Definition: SubProblem.C:340
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
virtual bool SubProblem::checkNonlocalCouplingRequirement ( )
inlinevirtual
void SubProblem::clearActiveElementalMooseVariables ( THREAD_ID  tid)
virtual

Clear the active elemental MooseVariable.

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 MooseVariables

Parameters
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 82 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveElementalMooseVariables().

83 {
86 }
std::vector< std::set< MooseVariable * > > _active_elemental_moose_variables
This is the set of MooseVariables that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:451
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:455
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 108 of file SubProblem.C.

Referenced by FEProblemBase::clearActiveMaterialProperties().

109 {
110  _active_material_property_ids[tid].clear();
111 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:458
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.

virtual bool SubProblem::computingInitialResidual ( )
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.

virtual bool SubProblem::converged ( )
pure virtual
DiracKernelInfo & SubProblem::diracKernelInfo ( )
virtual

Definition at line 296 of file SubProblem.C.

297 {
298  return _dirac_kernel_info;
299 }
DiracKernelInfo _dirac_kernel_info
Definition: SubProblem.h:425
virtual bool MooseObject::enabled ( )
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 77 of file MooseObject.h.

Referenced by EigenKernel::enabled().

77 { return _enabled; }
const bool & _enabled
Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.
Definition: MooseObject.h:117
virtual EquationSystems& SubProblem::es ( )
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

Referenced by NumDOFs::NumDOFs().

Real SubProblem::finalNonlinearResidual ( )
virtual

Reimplemented in FEProblemBase.

Definition at line 302 of file SubProblem.C.

Referenced by Residual::getValue().

303 {
304  return 0;
305 }
virtual GeometricSearchData& SubProblem::geomSearchData ( )
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

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

Get the MOOSE variables to be reinited on each element.

Parameters
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 70 of file SubProblem.C.

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

71 {
73 }
std::vector< std::set< MooseVariable * > > _active_elemental_moose_variables
This is the set of MooseVariables that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:451
const std::set< unsigned int > & SubProblem::getActiveMaterialProperties ( THREAD_ID  tid)
virtual

Get the material properties required by the current computing thread.

Parameters
tidThe thread id

Reimplemented in FEProblemBase.

Definition at line 96 of file SubProblem.C.

Referenced by FEProblemBase::getActiveMaterialProperties().

97 {
99 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:458
unsigned int SubProblem::getAxisymmetricRadialCoord ( )

Returns the desired radial direction for RZ coordinate transformation.

Returns
The coordinate direction for the radial direction

Definition at line 411 of file SubProblem.C.

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

412 {
413  if (_rz_coord_axis == 0)
414  return 1; // if the rotation axis is x (0), then the radial direction is y (1)
415  else
416  return 0; // otherwise the radial direction is assumed to be x, i.e., the rotation axis is y
417 }
unsigned int _rz_coord_axis
Storage for RZ axis selection.
Definition: SubProblem.h:467
virtual Moose::CoordinateSystemType SubProblem::getCoordSystem ( SubdomainID  sid)
pure virtual
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.

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

Referenced by MaterialPropertyInterface::getMaterialPropertyBlockNames().

131 {
132  std::set<SubdomainID> blocks = getMaterialPropertyBlocks(prop_name);
133  std::vector<SubdomainName> block_names;
134  block_names.reserve(blocks.size());
135  for (const auto & block_id : blocks)
136  {
137  SubdomainName name;
138  if (block_id == Moose::ANY_BLOCK_ID)
139  name = "ANY_BLOCK_ID";
140  else
141  {
142  name = mesh().getMesh().subdomain_name(block_id);
143  if (name.empty())
144  {
145  std::ostringstream oss;
146  oss << block_id;
147  name = oss.str();
148  }
149  }
150  block_names.push_back(name);
151  }
152 
153  return block_names;
154 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2355
const SubdomainID ANY_BLOCK_ID
Definition: MooseTypes.h:117
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:114
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 114 of file SubProblem.C.

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

115 {
116  std::set<SubdomainID> blocks;
117 
118  for (const auto & it : _map_block_material_props)
119  {
120  const std::set<std::string> & prop_names = it.second;
121  std::set<std::string>::iterator name_it = prop_names.find(prop_name);
122  if (name_it != prop_names.end())
123  blocks.insert(it.first);
124  }
125 
126  return blocks;
127 }
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:428
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 171 of file SubProblem.C.

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

172 {
173  std::set<BoundaryID> boundaries;
174 
175  for (const auto & it : _map_boundary_material_props)
176  {
177  const std::set<std::string> & prop_names = it.second;
178  std::set<std::string>::iterator name_it = prop_names.find(prop_name);
179  if (name_it != prop_names.end())
180  boundaries.insert(it.first);
181  }
182 
183  return boundaries;
184 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:431
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 187 of file SubProblem.C.

Referenced by MaterialPropertyInterface::getMaterialPropertyBoundaryNames().

188 {
189  std::set<BoundaryID> boundaries = getMaterialPropertyBoundaryIDs(prop_name);
190  std::vector<BoundaryName> boundary_names;
191  boundary_names.reserve(boundaries.size());
192  const BoundaryInfo & boundary_info = mesh().getMesh().get_boundary_info();
193 
194  for (const auto & bnd_id : boundaries)
195  {
196  BoundaryName name;
197  if (bnd_id == Moose::ANY_BOUNDARY_ID)
198  name = "ANY_BOUNDARY_ID";
199  else
200  {
201  name = boundary_info.get_sideset_name(bnd_id);
202  if (name.empty())
203  {
204  std::ostringstream oss;
205  oss << bnd_id;
206  name = oss.str();
207  }
208  }
209  boundary_names.push_back(name);
210  }
211 
212  return boundary_names;
213 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
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:171
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2355
const BoundaryID ANY_BOUNDARY_ID
Definition: MooseTypes.h:119
MooseApp& MooseObject::getMooseApp ( )
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 72 of file MooseObject.h.

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

72 { return _app; }
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
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 122 of file MooseObject.h.

Referenced by FEProblemBase::addMaterial(), ConstraintWarehouse::addObject(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromXandY(), EigenKernel::EigenKernel(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), GenericConstantRankTwoTensor::GenericConstantRankTwoTensor(), TimeSequenceStepper::init(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), AdvancedOutput::initialSetup(), SideSetsBetweenSubdomains::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), SideSetsAroundSubdomain::modify(), RenameBlock::modify(), MooseObject::parameters(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), and VectorOfPostprocessors::VectorOfPostprocessors().

123 {
124  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
125 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
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:111
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 ScalarCoupleable::ScalarCoupleable().

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

Returns the equation system containing the variable provided.

Implemented in FEProblemBase, and DisplacedProblem.

virtual MooseVariable& SubProblem::getVariable ( THREAD_ID  tid,
const std::string &  var_name 
)
pure virtual
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 400 of file SubProblem.h.

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

400 { return _ghosted_elems; }
std::set< dof_id_type > _ghosted_elems
Elements that should have Dofs ghosted to the local processor.
Definition: SubProblem.h:464
virtual void SubProblem::ghostGhostedBoundaries ( )
pure virtual

Causes the boundaries added using addGhostedBoundary to actually be ghosted.

Implemented in FEProblemBase, and DisplacedProblem.

bool SubProblem::hasActiveElementalMooseVariables ( THREAD_ID  tid)
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

Reimplemented in FEProblemBase.

Definition at line 76 of file SubProblem.C.

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

77 {
79 }
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:455
bool SubProblem::hasActiveMaterialProperties ( THREAD_ID  tid)
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

Reimplemented in FEProblemBase.

Definition at line 102 of file SubProblem.C.

Referenced by FEProblemBase::hasActiveMaterialProperties().

103 {
104  return !_active_material_property_ids[tid].empty();
105 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:458
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 157 of file SubProblem.C.

158 {
159  auto it = _map_block_material_props.find(bid);
160  if (it == _map_block_material_props.end())
161  return false;
162 
163  if (it->second.count(prop_name) > 0)
164  return true;
165  else
166  return false;
167 }
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:428
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 216 of file SubProblem.C.

217 {
218  auto it = _map_boundary_material_props.find(bid);
219  if (it == _map_boundary_material_props.end())
220  return false;
221 
222  if (it->second.count(prop_name) > 0)
223  return true;
224  else
225  return false;
226 }
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:431
virtual bool SubProblem::hasScalarVariable ( const std::string &  var_name)
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().

virtual bool SubProblem::hasVariable ( const std::string &  var_name)
pure virtual
virtual void Problem::init ( )
pure virtualinherited

Implemented in FEProblemBase, and DisplacedProblem.

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

291 {
292  return _material_property_requested.find(prop_name) != _material_property_requested.end();
293 }
std::set< std::string > _material_property_requested
set containing all material property names that have been requested by getMaterialProperty* ...
Definition: SubProblem.h:438
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 67 of file MooseObject.h.

Referenced by BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), GeneratedMesh::buildMesh(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CSVReader::CSVReader(), MultiAppNearestNodeTransfer::execute(), FileOutput::FileOutput(), MultiApp::fillPositions(), MultiAppNearestNodeTransfer::getLocalNodes(), 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(), AssignElementSubdomainID::modify(), RenameBlock::modify(), ParsedSubdomainMeshModifier::modify(), SubdomainBoundingBox::modify(), EigenExecutionerBase::normalizeSolution(), Output::Output(), Exodus::outputSetup(), PetscOutput::PetscOutput(), Piecewise::Piecewise(), SolutionUserObject::readExodusII(), RenameBlock::RenameBlock(), Piecewise::setData(), SolutionUserObject::SolutionUserObject(), and TimePeriod::TimePeriod().

67 { return _pars.isParamValid(name); }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:111
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 51 of file Problem.h.

Referenced by Transient::keepGoing().

51 { return _termination_requested; };
bool _termination_requested
True if termination of the solve has been requested.
Definition: Problem.h:61
virtual bool SubProblem::isTransient ( ) const
pure virtual
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 284 of file SubProblem.C.

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

285 {
286  _material_property_requested.insert(prop_name);
287 }
std::set< std::string > _material_property_requested
set containing all material property names that have been requested by getMaterialProperty* ...
Definition: SubProblem.h:438
virtual MooseMesh& SubProblem::mesh ( )
pure virtual
void SubProblem::meshChanged ( )
virtual

Reimplemented in FEProblemBase, and DisplacedProblem.

Definition at line 320 of file SubProblem.C.

321 {
322  mooseError("This system does not support changing the mesh");
323 }
void mooseError(Args &&...args) const
Definition: MooseObject.h:80
template<typename... Args>
void MooseObject::mooseDeprecated ( Args &&...  args) const
inlineinherited
template<typename... Args>
void MooseObject::mooseError ( Args &&...  args) const
inlineinherited

Definition at line 80 of file MooseObject.h.

Referenced by FEProblemBase::addInitialCondition(), DiracKernel::addPointWithValidId(), FEProblemBase::addPostprocessor(), MooseMesh::addQuadratureNode(), FEProblemBase::addVectorPostprocessor(), Output::advancedExecuteOn(), AnnularMesh::AnnularMesh(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BicubicSplineFunction::BicubicSplineFunction(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BoundsAux::BoundsAux(), MooseMesh::buildCoarseningMap(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), Piecewise::buildFromXY(), TiledMesh::buildMesh(), GeneratedMesh::buildMesh(), ImageMesh::buildMesh3D(), MooseMesh::buildRefinementMap(), EigenExecutionerBase::chebyshev(), FEProblemBase::checkCoordinateSystems(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), Material::checkExecutionStage(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), checkMatProps(), FEProblemBase::checkProblemIntegrity(), Material::checkStatefulSanity(), FEProblemBase::checkUserObjects(), LibmeshPartitioner::clone(), CompositeFunction::CompositeFunction(), ElementLpNormAux::compute(), ElementH1ErrorFunctionAux::compute(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), FEProblemBase::computeResidual(), Material::computeSubdomainProperties(), PenetrationAux::computeValue(), TimeStepper::constrainStep(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), DebugResidualAux::DebugResidualAux(), BicubicSplineFunction::derivative(), DGKernel::DGKernel(), SolutionUserObject::discontinuousPointValue(), SolutionUserObject::discontinuousPointValueGradient(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), MooseMesh::errorIfDistributedMesh(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), PerflogDumper::execute(), NodalValueSampler::execute(), MultiAppPostprocessorTransfer::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), FindValueOnLine::execute(), MultiAppInterpolationTransfer::execute(), TimeExtremeValue::execute(), LeastSquaresFit::execute(), FEProblemBase::executeControls(), FileOutput::FileOutput(), MultiApp::fillPositions(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::finalize(), DiscreteElementUserObject::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), Transfer::find_sys(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), FunctionDT::FunctionDT(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), GapValueAux::GapValueAux(), GeneratedMesh::GeneratedMesh(), GenericConstantMaterial::GenericConstantMaterial(), GenericFunctionMaterial::GenericFunctionMaterial(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), MooseMesh::getCoarseningMap(), FEProblemBase::getCoordSystem(), PiecewiseConstant::getDirection(), FEProblemBase::getDistribution(), MultiApp::getExecutioner(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), AuxKernel::getMaterialProperty(), AuxKernel::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOlder(), GeneratedMesh::getMaxInDimension(), AnnularMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMaxShapeFunctions(), GeneratedMesh::getMinInDimension(), AnnularMesh::getMinInDimension(), MooseMesh::getMortarInterface(), MooseMesh::getMortarInterfaceByName(), MooseMesh::getNodeBlockIds(), MooseMesh::getNodeList(), FEProblemBase::getNonlinearSystem(), MooseMesh::getPairedBoundaryMapping(), ImageMesh::GetPixelInfo(), MaterialStdVectorAux::getRealValue(), MooseMesh::getRefinementMap(), FEProblemBase::getSampler(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), MooseMesh::getSubdomainBoundaryIds(), MooseMesh::getSubdomainID(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), FEProblemBase::getUserObjectBase(), NumVars::getValue(), PerformanceData::getValue(), Residual::getValue(), FindValueOnLine::getValueAtPoint(), DisplacedProblem::getVariable(), FEProblemBase::getVariable(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), AdvancedOutput::hasOutputHelper(), CSVTimeSequenceStepper::init(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), MooseMesh::init(), FEProblemBase::init(), NumPicardIterations::initialize(), FullSolveMultiApp::initialSetup(), SolutionAux::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), SolutionFunction::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Material::initStatefulProperties(), Function::integral(), IntegratedBC::IntegratedBC(), InterfaceKernel::InterfaceKernel(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), KernelBase::KernelBase(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LinearCombinationFunction::LinearCombinationFunction(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< T >::LineMaterialSamplerBase(), MaterialRealTensorValueAux::MaterialRealTensorValueAux(), MaterialRealVectorValueAux::MaterialRealVectorValueAux(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), meshChanged(), MeshExtruder::MeshExtruder(), SideSetsFromNormals::modify(), SideSetsFromPoints::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), AssignElementSubdomainID::modify(), AddAllSideSetsByNormals::modify(), ElementDeleterBase::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), ImageSubdomain::modify(), BoundingBoxNodeSet::modify(), OrientedSubdomainBoundingBox::modify(), AddSideSetsFromBoundingBox::modify(), SubdomainBoundingBox::modify(), MultiAppMeshFunctionTransfer::MultiAppMeshFunctionTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), NodalBC::NodalBC(), NodalConstraint::NodalConstraint(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalVariableValue::NodalVariableValue(), NumDOFs::NumDOFs(), NumNonlinearIterations::NumNonlinearIterations(), VTKOutput::output(), XDA::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), PiecewiseBilinear::parse(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PatternedMesh::PatternedMesh(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), Piecewise::Piecewise(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMultilinear::PiecewiseMultilinear(), SolutionUserObject::pointValueGradientWrapper(), SolutionUserObject::pointValueWrapper(), LStableDirk2::postStep(), LStableDirk3::postStep(), ImplicitMidpoint::postStep(), ExplicitTVDRK2::postStep(), AStableDirk4::postStep(), LStableDirk4::postStep(), ExplicitRK2::postStep(), Predictor::Predictor(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RenameBlock::RenameBlock(), ScalarComponentIC::ScalarComponentIC(), BicubicSplineFunction::secondDerivative(), FEProblemBase::setCoordSystem(), Piecewise::setData(), EigenProblem::setEigenproblemType(), Sampler::setNumberOfRequiedRandomSeeds(), Split::setup(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), SideSetsFromNormals::SideSetsFromNormals(), SideSetsFromPoints::SideSetsFromPoints(), SolutionUserObject::SolutionUserObject(), FullSolveMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), StitchedMesh::StitchedMesh(), NodalUserObject::subdomainSetup(), GeneralUserObject::subdomainSetup(), Constraint::subdomainSetup(), Console::systemInfoFlags(), Terminator::Terminator(), TestSetupPostprocessorDataActionFunction::TestSetupPostprocessorDataActionFunction(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), Function::timeDerivative(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), MultiAppCopyTransfer::transfer(), MultiAppMeshFunctionTransfer::transferVariable(), Transient::Transient(), TransientMultiApp::TransientMultiApp(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObject::updateExodusBracketingTimeIndices(), Axisymmetric2D3DSolutionFunction::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), MultiAppTransfer::variableIntegrityCheck(), VariableResidual::VariableResidual(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), VectorOfPostprocessors::VectorOfPostprocessors(), VectorPostprocessorFunction::VectorPostprocessorFunction(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), and VolumeHistogram::VolumeHistogram().

81  {
82  std::ostringstream oss;
83  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
84  std::string msg = oss.str();
85  callMooseErrorRaw(msg, &_app);
86  }
void mooseStreamAll(std::ostringstream &ss)
Definition: MooseError.C:78
void callMooseErrorRaw(std::string &msg, MooseApp *app)
Definition: MooseObject.C:45
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
template<typename... Args>
void MooseObject::mooseInfo ( Args &&...  args) const
inlineinherited

Definition at line 101 of file MooseObject.h.

102  {
103  moose::internal::mooseInfoStream(_console, std::forward<Args>(args)...);
104  }
void mooseInfoStream(S &oss, Args &&...args)
Definition: MooseError.h:145
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
template<typename... Args>
void MooseObject::mooseWarning ( Args &&...  args) const
inlineinherited
const std::string& MooseObject::name ( ) const
inlineinherited

Get the name of the object.

Returns
The name of the object

Definition at line 47 of file MooseObject.h.

Referenced by FEProblemBase::addDistribution(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), FEProblemBase::addInitialCondition(), FEProblemBase::addMarker(), FEProblemBase::addMaterial(), MooseMesh::addMortarInterface(), FEProblemBase::addMultiApp(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), Output::advancedExecuteOn(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), AStableDirk4::AStableDirk4(), Function::average(), FEProblemBase::checkDependMaterialsHelper(), Damper::checkMinDamping(), Material::checkStatefulSanity(), CompositeFunction::CompositeFunction(), Material::computeSubdomainProperties(), AuxKernel::coupledCallback(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), MultiApp::createApp(), DGKernel::DGKernel(), AB2PredictorCorrector::estimateTimeError(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppCopyTransfer::execute(), FileOutput::FileOutput(), MultiApp::fillPositions(), PointSamplerBase::finalize(), GeneralUserObject::GeneralUserObject(), MultiApp::getBoundingBox(), Control::getControllableParameterHelper(), Control::getControllableValue(), AuxKernel::getDependObjects(), MultiApp::getExecutioner(), OutputWarehouse::getFileNumbers(), SolutionUserObject::getLocalVarIndex(), AuxKernel::getMaterialProperty(), getMaterialPropertyBlockNames(), getMaterialPropertyBoundaryNames(), AuxKernel::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOlder(), OutputWarehouse::getOutput(), Transient::getTimeStepperName(), InitialCondition::getUserObject(), AuxKernel::getUserObject(), InitialCondition::getUserObjectByName(), AuxKernel::getUserObjectByName(), AdvancedOutput::hasOutputHelper(), FEProblemBase::init(), CSVReader::initialize(), MultiAppProjectionTransfer::initialSetup(), InitialCondition::initialSetup(), SolutionUserObject::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), Material::initStatefulProperties(), Function::integral(), IntegratedBC::IntegratedBC(), InterfaceKernel::InterfaceKernel(), KernelBase::KernelBase(), LinearCombinationFunction::LinearCombinationFunction(), Marker::Marker(), MaterialDerivativeTestKernelBase< T >::MaterialDerivativeTestKernelBase(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), ElementDeleterBase::modify(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalValueSampler::NodalValueSampler(), NodalVariableValue::NodalVariableValue(), DOFMapOutput::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), ConsoleUtils::outputOutputInformation(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), MooseObject::parameters(), Executioner::parentOutputPositionChanged(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PointSamplerBase::PointSamplerBase(), registerRecoverableData(), registerRestartableData(), Material::resetQpProperties(), Sampler::Sampler(), ScalarComponentIC::ScalarComponentIC(), MooseMesh::setBoundaryName(), Control::setControllableValue(), OutputWarehouse::setFileNumbers(), MooseMesh::setSubdomainName(), Split::setup(), TransientMultiApp::setupApp(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), StitchedMesh::StitchedMesh(), Function::timeDerivative(), TransientMultiApp::TransientMultiApp(), MultiAppTransfer::variableIntegrityCheck(), VariableResidual::VariableResidual(), and AdvancedOutput::wantOutput().

47 { return _name; }
const std::string & _name
The name of this object, reference to value stored in InputParameters.
Definition: MooseObject.h:114
unsigned int SubProblem::nLinearIterations ( )
virtual

Reimplemented in FEProblemBase.

Definition at line 314 of file SubProblem.C.

Referenced by NumLinearIterations::getValue().

315 {
316  return 0;
317 }
unsigned int SubProblem::nNonlinearIterations ( )
virtual

Reimplemented in FEProblemBase.

Definition at line 308 of file SubProblem.C.

Referenced by NumNonlinearIterations::getValue().

309 {
310  return 0;
311 }
const CouplingMatrix& SubProblem::nonlocalCouplingMatrix ( ) const
inline

Definition at line 414 of file SubProblem.h.

414 { return _nonlocal_cm; }
CouplingMatrix _nonlocal_cm
Definition: SubProblem.h:420
virtual void SubProblem::onTimestepBegin ( )
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

virtual void SubProblem::onTimestepEnd ( )
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

const InputParameters& MooseObject::parameters ( ) const
inlineinherited
virtual void SubProblem::prepare ( const Elem *  elem,
THREAD_ID  tid 
)
pure virtual
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.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

virtual void SubProblem::prepareShapes ( unsigned int  var,
THREAD_ID  tid 
)
pure virtual
void SubProblem::registerRecoverableData ( std::string  name)
privatevirtual

NOTE: This is an internal function meant for MOOSE use only!

Register a piece of recoverable data. This is data that will get written / read to / from a restart file.

However, this data will ONLY get read from the restart file during a RECOVERY operation!

Parameters
nameThe full (unique) name.

Definition at line 426 of file SubProblem.C.

Referenced by Restartable::registerRecoverableDataOnSubProblem().

427 {
428  _app.registerRecoverableData(this->name() + "/" + name);
429 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
virtual void registerRecoverableData(std::string name)
NOTE: This is an internal function meant for MOOSE use only!
Definition: MooseApp.C:679
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
void SubProblem::registerRestartableData ( std::string  name,
RestartableDataValue data,
THREAD_ID  tid 
)
virtual

Register a piece of restartable data.

This is data that will get written / read to / from a restart file.

Parameters
nameThe full (unique) name.
dataThe actual data object.
tidThe thread id of the object. Use 0 if the object is not threaded.

Definition at line 420 of file SubProblem.C.

Referenced by Restartable::registerRestartableDataOnSubProblem().

421 {
422  _app.registerRestartableData(this->name() + "/" + name, data, tid);
423 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
virtual void registerRestartableData(std::string name, RestartableDataValue *data, THREAD_ID tid)
Definition: MooseApp.C:875
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:108
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.

virtual void SubProblem::reinitElem ( const Elem *  elem,
THREAD_ID  tid 
)
pure virtual
virtual void SubProblem::reinitElemFace ( const Elem *  elem,
unsigned int  side,
BoundaryID  bnd_id,
THREAD_ID  tid 
)
pure virtual
virtual void SubProblem::reinitElemPhys ( const Elem *  elem,
std::vector< Point >  phys_points_in_elem,
THREAD_ID  tid 
)
pure virtual
virtual void SubProblem::reinitNeighbor ( const Elem *  elem,
unsigned int  side,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

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.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Definition at line 340 of file SubProblem.C.

Referenced by checkMatProps().

341 {
342  // TODO: Put a better a interface in MOOSE
343  std::map<subdomain_id_type, std::string> & name_map = mesh().getMesh().set_subdomain_name_map();
344  std::map<subdomain_id_type, std::string>::const_iterator pos = name_map.find(check_id);
345  if (pos != name_map.end())
346  return pos->second;
347  return "";
348 }
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2355
std::string SubProblem::restrictionCheckName ( BoundaryID  check_id)
private

Definition at line 351 of file SubProblem.C.

352 {
353  return mesh().getMesh().get_boundary_info().sideset_name(check_id);
354 }
virtual MooseMesh & mesh()=0
MeshBase & getMesh()
Accessor for the underlying libMesh Mesh object.
Definition: MooseMesh.C:2355
template<>
std::string SubProblem::restrictionTypeName ( )
private

Definition at line 327 of file SubProblem.C.

328 {
329  return "block";
330 }
template<>
std::string SubProblem::restrictionTypeName ( )
private

Definition at line 334 of file SubProblem.C.

335 {
336  return "boundary";
337 }
template<typename T >
std::string SubProblem::restrictionTypeName ( )
private

Helper functions for checkMatProps.

void SubProblem::setActiveElementalMooseVariables ( const std::set< MooseVariable * > &  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 59 of file SubProblem.C.

Referenced by FEProblemBase::setActiveElementalMooseVariables().

61 {
62  if (!moose_vars.empty())
63  {
65  _active_elemental_moose_variables[tid] = moose_vars;
66  }
67 }
std::vector< std::set< MooseVariable * > > _active_elemental_moose_variables
This is the set of MooseVariables that will actually get reinited by a call to reinit(elem) ...
Definition: SubProblem.h:451
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:455
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 89 of file SubProblem.C.

Referenced by FEProblemBase::setActiveMaterialProperties().

90 {
91  if (!mat_prop_ids.empty())
92  _active_material_property_ids[tid] = mat_prop_ids;
93 }
std::vector< std::set< unsigned int > > _active_material_property_ids
Set of material property ids that determine whether materials get reinited.
Definition: SubProblem.h:458
virtual void SubProblem::setCurrentSubdomainID ( const Elem *  elem,
THREAD_ID  tid 
)
pure virtual
virtual void SubProblem::setNeighborSubdomainID ( const Elem *  elem,
unsigned int  side,
THREAD_ID  tid 
)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

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

Implemented in FEProblemBase, and DisplacedProblem.

virtual void SubProblem::solve ( )
pure virtual
void SubProblem::storeDelayedCheckMatProp ( 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 253 of file SubProblem.C.

Referenced by MaterialPropertyInterface::checkMaterialProperty().

256 {
257  _map_block_material_props_check[block_id].insert(std::make_pair(requestor, name));
258 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::map< SubdomainID, std::multimap< std::string, std::string > > _map_block_material_props_check
Data structures of the requested material properties.
Definition: SubProblem.h:446
void SubProblem::storeDelayedCheckMatProp ( 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 261 of file SubProblem.C.

264 {
265  _map_boundary_material_props_check[boundary_id].insert(std::make_pair(requestor, name));
266 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::map< BoundaryID, std::multimap< std::string, std::string > > _map_boundary_material_props_check
Definition: SubProblem.h:447
void SubProblem::storeMatPropName ( 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 229 of file SubProblem.C.

Referenced by Material::registerPropName().

230 {
231  _map_block_material_props[block_id].insert(name);
232 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::map< SubdomainID, std::set< std::string > > _map_block_material_props
Map of material properties (block_id -> list of properties)
Definition: SubProblem.h:428
void SubProblem::storeMatPropName ( 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 235 of file SubProblem.C.

236 {
237  _map_boundary_material_props[boundary_id].insert(name);
238 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::map< BoundaryID, std::set< std::string > > _map_boundary_material_props
Map for boundary material properties (boundary_id -> list of properties)
Definition: SubProblem.h:431
void SubProblem::storeZeroMatProp ( 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 241 of file SubProblem.C.

Referenced by Material::getZeroMaterialProperty().

242 {
243  _zero_block_material_props[block_id].insert(name);
244 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::map< SubdomainID, std::set< MaterialPropertyName > > _zero_block_material_props
Set of properties returned as zero properties.
Definition: SubProblem.h:434
void SubProblem::storeZeroMatProp ( 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 247 of file SubProblem.C.

248 {
249  _zero_boundary_material_props[boundary_id].insert(name);
250 }
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:47
std::map< BoundaryID, std::set< MaterialPropertyName > > _zero_boundary_material_props
Definition: SubProblem.h:435
virtual void Problem::terminateSolve ( )
inlinevirtualinherited

Allow objects to request clean termination of the solve.

Definition at line 45 of file Problem.h.

Referenced by Terminator::execute().

45 { _termination_requested = true; };
bool _termination_requested
True if termination of the solve has been requested.
Definition: Problem.h:61
virtual void SubProblem::updateGeomSearch ( GeometricSearchData::GeometricSearchType  type = GeometricSearchData::ALL)
pure virtual

Implemented in FEProblemBase, and DisplacedProblem.

virtual void SubProblem::useFECache ( bool  fe_cache)
pure virtual

Whether or not this problem should utilize FE shape function caching.

Parameters
fe_cacheTrue for using the cache false for not.

Implemented in FEProblemBase, and DisplacedProblem.

Friends And Related Function Documentation

friend class Restartable
friend

Definition at line 502 of file SubProblem.h.

Member Data Documentation

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

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

Definition at line 451 of file SubProblem.h.

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

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

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

MooseApp& MooseObject::_app
protectedinherited

The MooseApp this object is associated with.

Definition at line 108 of file MooseObject.h.

Referenced by AB2PredictorCorrector::AB2PredictorCorrector(), Executioner::addAttributeReporter(), FEProblemBase::addMaterial(), FEProblemBase::addMultiApp(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), FileMesh::buildMesh(), FEProblemBase::checkNonlinearConvergence(), OversampleOutput::cloneMesh(), FEProblemBase::computeJacobian(), FEProblemBase::computeResidualType(), Console::Console(), TimeStepper::constrainStep(), MultiApp::createApp(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), InversePowerMethod::execute(), NonlinearEigen::execute(), Transient::execute(), Steady::execute(), FileOutput::FileOutput(), FEProblemBase::forceOutput(), 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(), MooseMesh::MooseMesh(), NonlinearEigen::NonlinearEigen(), 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(), registerRecoverableData(), registerRestartableData(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), FEProblemBase::timestepSetup(), Transient::Transient(), and Console::write().

bool Problem::_cli_option_found
protectedinherited

True if the CLI option is found.

Definition at line 51 of file Problem.h.

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

bool Problem::_color_output
protectedinherited

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

Definition at line 58 of file Problem.h.

const ConsoleStream ConsoleStreamInterface::_console
inherited

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

Definition at line 37 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), CreateProblemAction::act(), SetupRecoverFileBaseAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), FEProblemBase::advanceMultiApps(), SimplePredictor::apply(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualType(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), AB2PredictorCorrector::converged(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppCopyTransfer::execute(), Steady::execute(), MultiAppDTKUserObjectTransfer::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), 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(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), NonlinearSystem::solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), AStableDirk4::solve(), LStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), Transient::solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), FEProblemBase::useFECache(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

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

nonlocal coupling matrix;

Type of coordinate system per subdomain

Definition at line 423 of file SubProblem.h.

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

DiracKernelInfo SubProblem::_dirac_kernel_info
protected
const bool& MooseObject::_enabled
protectedinherited

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

Definition at line 117 of file MooseObject.h.

Referenced by MooseObject::enabled().

Factory& SubProblem::_factory
protected
std::set<dof_id_type> SubProblem::_ghosted_elems
protected
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 455 of file SubProblem.h.

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

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

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

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

Referenced by checkBlockMatProps(), and storeDelayedCheckMatProp().

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

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

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

Definition at line 447 of file SubProblem.h.

Referenced by checkBoundaryMatProps(), and storeDelayedCheckMatProp().

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

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

Definition at line 438 of file SubProblem.h.

Referenced by isMatPropRequested(), and markMatPropRequested().

const std::string& MooseObject::_name
protectedinherited
CouplingMatrix SubProblem::_nonlocal_cm
protected
const InputParameters& MooseObject::_pars
protectedinherited
bool SubProblem::_requires_nonlocal_coupling
protected

nonlocal coupling requirement flag

Definition at line 461 of file SubProblem.h.

Referenced by FEProblemBase::checkNonlocalCoupling(), FEProblemBase::initialSetup(), and FEProblemBase::timestepSetup().

unsigned int SubProblem::_rz_coord_axis
protected

Storage for RZ axis selection.

Definition at line 467 of file SubProblem.h.

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

bool Problem::_termination_requested
protectedinherited

True if termination of the solve has been requested.

Definition at line 61 of file Problem.h.

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

std::map<std::string, std::vector<dof_id_type> > SubProblem::_var_dof_map
std::map<SubdomainID, std::set<MaterialPropertyName> > SubProblem::_zero_block_material_props
protected

Set of properties returned as zero properties.

Definition at line 434 of file SubProblem.h.

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

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

Definition at line 435 of file SubProblem.h.

Referenced by checkBoundaryMatProps(), and storeZeroMatProp().


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