https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
InitialConditionWarehouse Class Reference

Warehouse for storing initial conditions. More...

#include <InitialConditionWarehouse.h>

Inheritance diagram for InitialConditionWarehouse:
[legend]

Public Member Functions

 InitialConditionWarehouse ()
 
void initialSetup (THREAD_ID tid)
 Initial setup.
 
void addObject (std::shared_ptr< InitialConditionBase > object, THREAD_ID tid, bool recurse=true)
 Add object to the warehouse.
 
std::set< std::string > getDependObjects () const
 Get a list of dependent UserObjects for this exec type.
 
virtual void addObject (std::shared_ptr< InitialConditionBase > object, THREAD_ID tid=0, bool recurse=true)
 Adds an object to the storage structure.
 
unsigned int size (THREAD_ID tid=0) const
 Return how many kernels we store in the current warehouse.
 
bool hasObjectsForVariableAndBlocks (const VariableName &var_name, const std::set< SubdomainID > &blocks, std::set< SubdomainID > &blocks_covered, THREAD_ID tid) const
 Whether there are objects for this variable and the set of blocks passed.
 
std::set< SubdomainIDgetActiveBlocks (THREAD_ID tid=0) const
 Return a set of active SubdomainsIDs.
 
const std::vector< std::shared_ptr< InitialConditionBase > > & getObjectsForVariable (const VariableName &var_name, THREAD_ID tid) const
 Getter for objects that have the 'variable' set to a particular variable Note that users should check whether there are objects using 'hasObjectsForVariable' before calling this routine, because it will throw if there are no objects for this variable.
 
virtual void updateActive (THREAD_ID tid=0)
 Updates the active objects storage.
 
void sort (THREAD_ID tid=0)
 Sort the objects using the DependencyResolver.
 
void subdomainsCovered (std::set< SubdomainID > &subdomains_covered, std::set< std::string > &unique_variables, THREAD_ID tid=0) const
 Populates a set of covered subdomains and the associated variable names.
 
THREAD_ID numThreads () const
 Return the number of threads.
 
std::string activeObjectsToFormattedString (THREAD_ID tid=0, const std::string &prefix="[DBG]") const
 Output the active content of the warehouse to a string, meant to be output to the console.
 
const std::vector< std::shared_ptr< InitialConditionBase > > & getObjects (THREAD_ID tid=0) const
 Retrieve complete vector to the all/block/boundary restricted objects for a given thread.
 
const std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > & getBlockObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< InitialConditionBase > > & getBlockObjects (SubdomainID id, THREAD_ID tid=0) const
 
const std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > & getBoundaryObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< InitialConditionBase > > & getBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< InitialConditionBase > > & getActiveObjects (THREAD_ID tid=0) const
 Retrieve complete vector to the active all/block/boundary restricted objects for a given thread.
 
const std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > & getActiveBlockObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< InitialConditionBase > > & getActiveBlockObjects (SubdomainID id, THREAD_ID tid=0) const
 
const std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > & getActiveBoundaryObjects (THREAD_ID tid=0) const
 
const std::vector< std::shared_ptr< InitialConditionBase > > & getActiveBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
bool hasObjects (THREAD_ID tid=0) const
 Convenience functions for determining if objects exist.
 
bool hasActiveObjects (THREAD_ID tid=0) const
 
bool hasObjectsForVariable (const VariableName &var_name, THREAD_ID tid) const
 
bool hasActiveBlockObjects (THREAD_ID tid=0) const
 
bool hasActiveBlockObjects (SubdomainID id, THREAD_ID tid=0) const
 
bool hasActiveBoundaryObjects (THREAD_ID tid=0) const
 
bool hasActiveBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
bool hasBoundaryObjects (THREAD_ID tid=0) const
 
bool hasBoundaryObjects (BoundaryID id, THREAD_ID tid=0) const
 
bool hasActiveObject (const std::string &name, THREAD_ID tid=0) const
 Convenience functions for checking/getting specific objects.
 
std::shared_ptr< InitialConditionBasegetObject (const std::string &name, THREAD_ID tid=0) const
 
std::shared_ptr< InitialConditionBasegetActiveObject (const std::string &name, THREAD_ID tid=0) const
 
void updateVariableDependency (std::set< MooseVariableFieldBase * > &needed_moose_vars, THREAD_ID tid=0) const
 Update variable dependency vector.
 
void updateBlockVariableDependency (SubdomainID id, std::set< MooseVariableFieldBase * > &needed_moose_vars, THREAD_ID tid=0) const
 
void updateBoundaryVariableDependency (std::set< MooseVariableFieldBase * > &needed_moose_vars, THREAD_ID tid=0) const
 
void updateBoundaryVariableDependency (BoundaryID id, std::set< MooseVariableFieldBase * > &needed_moose_vars, THREAD_ID tid=0) const
 
void updateFEVariableCoupledVectorTagDependency (std::set< TagID > &needed_fe_var_vector_tags, THREAD_ID tid=0) const
 Update FE variable coupleable vector tag vector for all objects, block-restricted objects, and boundary-restricted objects.
 
void updateBlockFEVariableCoupledVectorTagDependency (SubdomainID id, std::set< TagID > &needed_fe_var_vector_tags, THREAD_ID tid=0) const
 
void updateBoundaryFEVariableCoupledVectorTagDependency (BoundaryID id, std::set< TagID > &needed_fe_var_vector_tags, THREAD_ID tid=0) const
 
void updateMatPropDependency (std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0, const bool producer_only=false) const
 Update material property dependency vector.
 
void updateBlockMatPropDependency (SubdomainID id, std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0, const bool producer_only=false) const
 
void updateBoundaryMatPropDependency (std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0, const bool producer_only=false) const
 
void updateBoundaryMatPropDependency (BoundaryID id, std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0, const bool producer_only=false) const
 

Protected Member Functions

virtual void updateMatPropDependencyHelper (std::unordered_set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< InitialConditionBase > > &objects, const bool producer_only) const
 Helper method for updating material property dependency vector.
 
void checkThreadID (THREAD_ID tid) const
 Calls assert on thread id.
 
bool hasBoundaryObjectsHelper (const std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > &boundary_objects, const THREAD_ID tid=0) const
 Helper for determining whether we have boundary objects.
 

Static Protected Member Functions

static void updateActiveHelper (std::vector< std::shared_ptr< InitialConditionBase > > &active, const std::vector< std::shared_ptr< InitialConditionBase > > &all)
 Helper method for updating active vectors.
 
static void sortHelper (std::vector< std::shared_ptr< InitialConditionBase > > &objects)
 Helper method for sorting vectors of objects.
 
static void updateVariableDependencyHelper (std::set< MooseVariableFieldBase * > &needed_moose_vars, const std::vector< std::shared_ptr< InitialConditionBase > > &objects)
 Helper method for updating variable dependency vector.
 
static void updateFEVariableCoupledVectorTagDependencyHelper (std::set< TagID > &needed_fe_var_vector_tags, const std::vector< std::shared_ptr< InitialConditionBase > > &objects)
 Helper method for updating FE variable coupleable vector tag vector.
 

Protected Attributes

const THREAD_ID _num_threads
 Convenience member storing the number of threads used for storage (1 or libMesh::n_threads)
 
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
 Storage container for the ALL pointers (THREAD_ID on outer vector)
 
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
 All active objects (THREAD_ID on outer vector)
 
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_block_objects
 
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_block_objects
 Active block restricted objects (THREAD_ID on outer vector)
 
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_boundary_objects
 
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_boundary_objects
 Active boundary restricted objects (THREAD_ID on outer vector)
 
std::vector< std::map< VariableName, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_variable_objects
 All objects with a certain variable selected, as the 'variable' parameter.
 
using ic_key_type = std::tuple< VariableName, unsigned short >
 
std::vector< std::map< ic_key_type, std::set< BoundaryID > > > _boundary_ics
 
std::vector< std::map< ic_key_type, std::set< SubdomainID > > > _block_ics
 

Detailed Description

Warehouse for storing initial conditions.

Definition at line 20 of file InitialConditionWarehouse.h.

Member Typedef Documentation

◆ ic_key_type

using InitialConditionWarehouse::ic_key_type = std::tuple<VariableName, unsigned short>
protected

Maps used to check if multiple ICs define the same variable on the same block/boundary for the same state (e.g CURRENT, OLD, OLDER). They are vectors of maps because each map is repeated for each thread. Each map relates string-int tuples to a set of block/boundary IDs. The string-int tuple is a unique identifier for a specific variable and state. The string-int tuple is renamed to ic_key_type for clarity. The algorithm then makes sure that a new IC object does not overlap with a previous IC object (i.e. same block/boundary).

Definition at line 48 of file InitialConditionWarehouse.h.

Constructor & Destructor Documentation

◆ InitialConditionWarehouse()

InitialConditionWarehouse::InitialConditionWarehouse ( )

Definition at line 16 of file InitialConditionWarehouse.C.

20{
21}
std::vector< std::map< ic_key_type, std::set< SubdomainID > > > _block_ics
std::vector< std::map< ic_key_type, std::set< BoundaryID > > > _boundary_ics
A base storage container for MooseObjects.
unsigned int n_threads()

Member Function Documentation

◆ activeObjectsToFormattedString()

std::string MooseObjectWarehouseBase< InitialConditionBase >::activeObjectsToFormattedString ( THREAD_ID  tid = 0,
const std::string &  prefix = "[DBG]" 
) const
inherited

Output the active content of the warehouse to a string, meant to be output to the console.

Parameters
tidthe thread id
prefixa string to prepend to the string

Definition at line 212 of file MooseObjectWarehouseBase.h.

900{
901 std::vector<std::string> output;
902 for (const auto & object : _active_objects[tid])
903 output.push_back(object->name());
904 return ConsoleUtils::formatString(MooseUtils::join(output, " "), prefix);
905}
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
All active objects (THREAD_ID on outer vector)
std::string formatString(std::string message, const std::string &prefix)
Add new lines and prefixes to a string for pretty display in output NOTE: This makes a copy of the st...
std::string name(const ElemQuality q)

◆ addObject() [1/2]

void InitialConditionWarehouse::addObject ( std::shared_ptr< InitialConditionBase object,
THREAD_ID  tid,
bool  recurse = true 
)

Add object to the warehouse.

Definition at line 32 of file InitialConditionWarehouse.C.

35{
36 // Check that when object is boundary restricted that the variable is nodal
37 const MooseVariableFEBase & var = object->variable();
38 const auto ic_key = std::tuple(var.name(), object->getState());
39
40 // Boundary Restricted
41 if (object->boundaryRestricted())
42 {
43 if (!var.isNodal())
44 mooseError("You are trying to set a boundary restricted variable on non-nodal variable. That "
45 "is not allowed.");
46
47 const auto iter = _boundary_ics[tid].find(ic_key);
48 if (iter != _boundary_ics[tid].end() && object->hasBoundary(iter->second))
49 mooseError("The initial condition '",
50 object->name(),
51 "' is being defined on a boundary that already has an initial condition defined "
52 "with the same variable and state.");
53 else
54 _boundary_ics[tid][ic_key].insert(object->boundaryIDs().begin(), object->boundaryIDs().end());
55 }
56
57 // Block Restricted
58 else if (object->blockRestricted())
59 {
60 auto iter = _block_ics[tid].find(ic_key);
61 if (iter != _block_ics[tid].end() &&
62 (object->hasBlocks(iter->second) ||
63 (iter->second.find(Moose::ANY_BLOCK_ID) != iter->second.end())))
64 mooseError("The initial condition '",
65 object->name(),
66 "' is being defined on a block that already has an initial condition defined "
67 "with the same variable and state.");
68 else
69 _block_ics[tid][ic_key].insert(object->blockIDs().begin(), object->blockIDs().end());
70 }
71
72 // Non-restricted
73 else
74 {
75 auto iter = _block_ics[tid].find(ic_key);
76 if (iter != _block_ics[tid].end())
77 mooseError("The initial condition '",
78 object->name(),
79 "' is being defined on a block that already has an initial condition defined "
80 "with the same variable and state.");
81 else
82 _block_ics[tid][ic_key].insert(Moose::ANY_BLOCK_ID);
83 }
84
85 // Add the IC to the storage
87}
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Definition MooseError.h:311
const std::string & name() const
Get the name of the class.
Definition MooseBase.h:103
virtual void addObject(std::shared_ptr< T > object, THREAD_ID tid=0, bool recurse=true)
Adds an object to the storage structure.
virtual bool isNodal() const
Is this variable nodal.
This class provides an interface for common operations on field variables of both FE and FV types wit...
const SubdomainID ANY_BLOCK_ID
Definition MooseTypes.C:19

Referenced by FEProblemBase::addInitialCondition().

◆ addObject() [2/2]

void MooseObjectWarehouseBase< InitialConditionBase >::addObject ( std::shared_ptr< InitialConditionBase object,
THREAD_ID  tid = 0,
bool  recurse = true 
)
virtualinherited

Adds an object to the storage structure.

Parameters
tidThe thread ID (default is 0)
recurseWhether or not to build recusive warehouses (typically for Kernels)

Definition at line 49 of file MooseObjectWarehouseBase.h.

317{
318 checkThreadID(tid);
319
320 // Stores object in list of all objects
321 _all_objects[tid].push_back(object);
322
323 // If enabled, store object in a list of all active
324 bool enabled = object->enabled();
325 if (enabled)
326 _active_objects[tid].push_back(object);
327
328 // Perform casts to the Block/BoundaryRestrictable
329 std::shared_ptr<BoundaryRestrictable> bnd =
330 std::dynamic_pointer_cast<BoundaryRestrictable>(object);
331 std::shared_ptr<BlockRestrictable> blk = std::dynamic_pointer_cast<BlockRestrictable>(object);
332
333 // Boundary Restricted
334 if (bnd && bnd->boundaryRestricted())
335 {
336 const std::set<BoundaryID> & ids = bnd->boundaryIDs();
337 for (std::set<BoundaryID>::const_iterator it = ids.begin(); it != ids.end(); ++it)
338 {
339 _all_boundary_objects[tid][*it].push_back(object);
340 if (enabled)
341 _active_boundary_objects[tid][*it].push_back(object);
342 }
343 }
344
345 // Block Restricted
346 else if (blk)
347 {
348 const std::set<SubdomainID> & ids =
349 blk->blockRestricted() ? blk->blockIDs() : blk->meshBlockIDs();
350 for (std::set<SubdomainID>::const_iterator it = ids.begin(); it != ids.end(); ++it)
351 {
352 _all_block_objects[tid][*it].push_back(object);
353 if (enabled)
354 _active_block_objects[tid][*it].push_back(object);
355 }
356
357 // Check variables
358 std::shared_ptr<Coupleable> c_ptr = std::dynamic_pointer_cast<Coupleable>(object);
359 if (c_ptr)
360 for (MooseVariableFieldBase * var : c_ptr->getCoupledMooseVars())
361 blk->checkVariable(*var);
362
363 const InputParameters & parameters = object->parameters();
364
365 SubProblem & problem = *parameters.get<SubProblem *>("_subproblem");
366
367 THREAD_ID tid = parameters.get<THREAD_ID>("_tid");
368
369 if (parameters.isParamValid("variable"))
370 {
371 // Try the scalar version first
372 std::string variable_name = parameters.getMooseType("variable");
373 if (variable_name == "")
374 // When using vector variables, we are only going to use the first one in the list at the
375 // interface level...
376 variable_name = parameters.getVecMooseType("variable")[0];
377
378 blk->checkVariable(problem.getVariable(
380
381 _all_variable_objects[tid][variable_name].push_back(object);
382 }
383 }
384}
unsigned int THREAD_ID
Definition MooseTypes.h:237
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
std::string getMooseType(const std::string &name) const
Utility functions for retrieving one of the MooseTypes variables into the common "string" base class.
std::vector< std::string > getVecMooseType(const std::string &name) const
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another,...
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
Storage container for the ALL pointers (THREAD_ID on outer vector)
std::vector< std::map< VariableName, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_variable_objects
All objects with a certain variable selected, as the 'variable' parameter.
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_boundary_objects
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_block_objects
Active block restricted objects (THREAD_ID on outer vector)
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_boundary_objects
Active boundary restricted objects (THREAD_ID on outer vector)
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_block_objects
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
Generic class for solving transient nonlinear problems.
Definition SubProblem.h:79
virtual const MooseVariableFieldBase & getVariable(const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const =0
Returns the variable reference for requested variable which must be of the expected_var_type (Nonline...
void checkVariable(const Variable &var, bool expect_vector, const std::string &wrapper_name)
@ VAR_FIELD_ANY
Definition MooseTypes.h:781
@ VAR_ANY
Definition MooseTypes.h:772

◆ checkThreadID()

void MooseObjectWarehouseBase< InitialConditionBase >::checkThreadID ( THREAD_ID  tid) const
inlineprotectedinherited

Calls assert on thread id.

Definition at line 274 of file MooseObjectWarehouseBase.h.

930{
931 mooseAssert(tid < _num_threads,
932 "Attempting to access a thread id ("
933 << tid << ") greater than the number allowed by the storage item ("
934 << _num_threads << ")");
935}
const THREAD_ID _num_threads
Convenience member storing the number of threads used for storage (1 or libMesh::n_threads)

◆ getActiveBlockObjects() [1/2]

const std::vector< std::shared_ptr< InitialConditionBase > > & MooseObjectWarehouseBase< InitialConditionBase >::getActiveBlockObjects ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 80 of file MooseObjectWarehouseBase.h.

478{
479 checkThreadID(tid);
480 const auto iter = _active_block_objects[tid].find(id);
481 mooseAssert(iter != _active_block_objects[tid].end(),
482 "Unable to located active block objects for the given id: " << id << ".");
483 return iter->second;
484}

◆ getActiveBlockObjects() [2/2]

const std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > & MooseObjectWarehouseBase< InitialConditionBase >::getActiveBlockObjects ( THREAD_ID  tid = 0) const
inlineinherited

Definition at line 79 of file MooseObjectWarehouseBase.h.

470{
471 checkThreadID(tid);
472 return _active_block_objects[tid];
473}

◆ getActiveBlocks()

std::set< SubdomainID > MooseObjectWarehouseBase< InitialConditionBase >::getActiveBlocks ( THREAD_ID  tid = 0) const
inherited

Return a set of active SubdomainsIDs.

Definition at line 117 of file MooseObjectWarehouseBase.h.

650{
651 checkThreadID(tid);
652 std::set<SubdomainID> ids;
653 for (const auto & object_pair : _active_block_objects[tid])
654 ids.insert(object_pair.first);
655 return ids;
656}

◆ getActiveBoundaryObjects() [1/2]

const std::vector< std::shared_ptr< InitialConditionBase > > & MooseObjectWarehouseBase< InitialConditionBase >::getActiveBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 84 of file MooseObjectWarehouseBase.h.

459{
460 checkThreadID(tid);
461 const auto iter = _active_boundary_objects[tid].find(id);
462 mooseAssert(iter != _active_boundary_objects[tid].end(),
463 "Unable to located active boundary objects for the given id: " << id << ".");
464 return iter->second;
465}

◆ getActiveBoundaryObjects() [2/2]

const std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > & MooseObjectWarehouseBase< InitialConditionBase >::getActiveBoundaryObjects ( THREAD_ID  tid = 0) const
inlineinherited

Definition at line 83 of file MooseObjectWarehouseBase.h.

451{
452 checkThreadID(tid);
453 return _active_boundary_objects[tid];
454}

◆ getActiveObject()

std::shared_ptr< InitialConditionBase > MooseObjectWarehouseBase< InitialConditionBase >::getActiveObject ( const std::string &  name,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 125 of file MooseObjectWarehouseBase.h.

631{
632 checkThreadID(tid);
633 for (const auto & object : _active_objects[tid])
634 if (object->name() == name)
635 return object;
636 mooseError("Unable to locate active object: ", name, ".");
637}
if(!dmm->_nl) SETERRQ(PETSC_COMM_WORLD

◆ getActiveObjects()

const std::vector< std::shared_ptr< InitialConditionBase > > & MooseObjectWarehouseBase< InitialConditionBase >::getActiveObjects ( THREAD_ID  tid = 0) const
inlineinherited

Retrieve complete vector to the active all/block/boundary restricted objects for a given thread.

Parameters
tidThe thread id to retrieve objects from

Definition at line 77 of file MooseObjectWarehouseBase.h.

443{
444 checkThreadID(tid);
445 return _active_objects[tid];
446}

◆ getBlockObjects() [1/2]

const std::vector< std::shared_ptr< InitialConditionBase > > & MooseObjectWarehouseBase< InitialConditionBase >::getBlockObjects ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 64 of file MooseObjectWarehouseBase.h.

432{
433 checkThreadID(tid);
434 const auto iter = _all_block_objects[tid].find(id);
435 mooseAssert(iter != _all_block_objects[tid].end(),
436 "Unable to located active block objects for the given id: " << id << ".");
437 return iter->second;
438}

◆ getBlockObjects() [2/2]

const std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > & MooseObjectWarehouseBase< InitialConditionBase >::getBlockObjects ( THREAD_ID  tid = 0) const
inlineinherited

Definition at line 63 of file MooseObjectWarehouseBase.h.

424{
425 checkThreadID(tid);
426 return _all_block_objects[tid];
427}

◆ getBoundaryObjects() [1/2]

const std::vector< std::shared_ptr< InitialConditionBase > > & MooseObjectWarehouseBase< InitialConditionBase >::getBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 67 of file MooseObjectWarehouseBase.h.

413{
414 checkThreadID(tid);
415 const auto iter = _all_boundary_objects[tid].find(id);
416 mooseAssert(iter != _all_boundary_objects[tid].end(),
417 "Unable to located active boundary objects for the given id: " << id << ".");
418 return iter->second;
419}

◆ getBoundaryObjects() [2/2]

const std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > & MooseObjectWarehouseBase< InitialConditionBase >::getBoundaryObjects ( THREAD_ID  tid = 0) const
inlineinherited

Definition at line 66 of file MooseObjectWarehouseBase.h.

397{
398 checkThreadID(tid);
399 return _all_boundary_objects[tid];
400}

◆ getDependObjects()

std::set< std::string > InitialConditionWarehouse::getDependObjects ( ) const

Get a list of dependent UserObjects for this exec type.

Returns
a set of dependent user objects

Definition at line 90 of file InitialConditionWarehouse.C.

91{
92 std::set<std::string> depend_objects;
93
94 const auto & ics = getActiveObjects();
95 for (const auto & ic : ics)
96 {
97 const auto & uo = ic->getDependObjects();
98 depend_objects.insert(uo.begin(), uo.end());
99 }
100
101 return depend_objects;
102}
const std::vector< std::shared_ptr< InitialConditionBase > > & getActiveObjects(THREAD_ID tid=0) const
Retrieve complete vector to the active all/block/boundary restricted objects for a given thread.

◆ getObject()

std::shared_ptr< InitialConditionBase > MooseObjectWarehouseBase< InitialConditionBase >::getObject ( const std::string &  name,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 124 of file MooseObjectWarehouseBase.h.

620{
621 checkThreadID(tid);
622 for (const auto & object : _all_objects[tid])
623 if (object->name() == name)
624 return object;
625 mooseError("Unable to locate object: ", name, ".");
626}

◆ getObjects()

const std::vector< std::shared_ptr< InitialConditionBase > > & MooseObjectWarehouseBase< InitialConditionBase >::getObjects ( THREAD_ID  tid = 0) const
inlineinherited

Retrieve complete vector to the all/block/boundary restricted objects for a given thread.

Parameters
tidThe thread id to retrieve objects from

Definition at line 61 of file MooseObjectWarehouseBase.h.

389{
390 checkThreadID(tid);
391 return _all_objects[tid];
392}

◆ getObjectsForVariable()

const std::vector< std::shared_ptr< InitialConditionBase > > & MooseObjectWarehouseBase< InitialConditionBase >::getObjectsForVariable ( const VariableName &  var_name,
THREAD_ID  tid 
) const
inherited

Getter for objects that have the 'variable' set to a particular variable Note that users should check whether there are objects using 'hasObjectsForVariable' before calling this routine, because it will throw if there are no objects for this variable.

Definition at line 131 of file MooseObjectWarehouseBase.h.

643{
644 return libmesh_map_find(_all_variable_objects[tid], var_name);
645}

◆ hasActiveBlockObjects() [1/2]

bool MooseObjectWarehouseBase< InitialConditionBase >::hasActiveBlockObjects ( SubdomainID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 96 of file MooseObjectWarehouseBase.h.

564{
565 checkThreadID(tid);
566 const auto iter = _active_block_objects[tid].find(id);
567 return iter != _active_block_objects[tid].end();
568}

◆ hasActiveBlockObjects() [2/2]

bool MooseObjectWarehouseBase< InitialConditionBase >::hasActiveBlockObjects ( THREAD_ID  tid = 0) const
inherited

Definition at line 95 of file MooseObjectWarehouseBase.h.

553{
554 checkThreadID(tid);
555 bool has_active_block_objects = false;
556 for (const auto & object_pair : _active_block_objects[tid])
557 has_active_block_objects |= !(object_pair.second.empty());
558 return has_active_block_objects;
559}

◆ hasActiveBoundaryObjects() [1/2]

bool MooseObjectWarehouseBase< InitialConditionBase >::hasActiveBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 98 of file MooseObjectWarehouseBase.h.

600{
601 checkThreadID(tid);
602 const auto iter = _active_boundary_objects[tid].find(id);
603 return iter != _active_boundary_objects[tid].end();
604}

◆ hasActiveBoundaryObjects() [2/2]

bool MooseObjectWarehouseBase< InitialConditionBase >::hasActiveBoundaryObjects ( THREAD_ID  tid = 0) const
inherited

Definition at line 97 of file MooseObjectWarehouseBase.h.

593{
595}
bool hasBoundaryObjectsHelper(const std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > &boundary_objects, const THREAD_ID tid=0) const
Helper for determining whether we have boundary objects.

◆ hasActiveObject()

bool MooseObjectWarehouseBase< InitialConditionBase >::hasActiveObject ( const std::string &  name,
THREAD_ID  tid = 0 
) const
inherited

Convenience functions for checking/getting specific objects.

Definition at line 123 of file MooseObjectWarehouseBase.h.

609{
610 checkThreadID(tid);
611 for (const auto & object : _active_objects[tid])
612 if (object->name() == name)
613 return true;
614 return false;
615}

◆ hasActiveObjects()

bool MooseObjectWarehouseBase< InitialConditionBase >::hasActiveObjects ( THREAD_ID  tid = 0) const
inherited

Definition at line 93 of file MooseObjectWarehouseBase.h.

497{
498 checkThreadID(tid);
499 return !_active_objects[tid].empty();
500}

◆ hasBoundaryObjects() [1/2]

bool MooseObjectWarehouseBase< InitialConditionBase >::hasBoundaryObjects ( BoundaryID  id,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 100 of file MooseObjectWarehouseBase.h.

405{
406 checkThreadID(tid);
407 return _all_boundary_objects[tid].find(id) != _all_boundary_objects[tid].end();
408}

◆ hasBoundaryObjects() [2/2]

bool MooseObjectWarehouseBase< InitialConditionBase >::hasBoundaryObjects ( THREAD_ID  tid = 0) const
inherited

Definition at line 99 of file MooseObjectWarehouseBase.h.

586{
588}

◆ hasBoundaryObjectsHelper()

bool MooseObjectWarehouseBase< InitialConditionBase >::hasBoundaryObjectsHelper ( const std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > &  boundary_objects,
const THREAD_ID  tid = 0 
) const
protectedinherited

Helper for determining whether we have boundary objects.

Definition at line 279 of file MooseObjectWarehouseBase.h.

575{
576 checkThreadID(tid);
577 bool has_boundary_objects = false;
578 for (const auto & object_pair : boundary_objects[tid])
579 has_boundary_objects |= !(object_pair.second.empty());
580 return has_boundary_objects;
581}

◆ hasObjects()

bool MooseObjectWarehouseBase< InitialConditionBase >::hasObjects ( THREAD_ID  tid = 0) const
inherited

Convenience functions for determining if objects exist.

Definition at line 92 of file MooseObjectWarehouseBase.h.

489{
490 checkThreadID(tid);
491 return !_all_objects[tid].empty();
492}

◆ hasObjectsForVariable()

bool MooseObjectWarehouseBase< InitialConditionBase >::hasObjectsForVariable ( const VariableName &  var_name,
THREAD_ID  tid 
) const
inherited

Definition at line 94 of file MooseObjectWarehouseBase.h.

506{
507 checkThreadID(tid);
508 return _all_variable_objects[tid].count(var_name);
509}

◆ hasObjectsForVariableAndBlocks()

bool MooseObjectWarehouseBase< InitialConditionBase >::hasObjectsForVariableAndBlocks ( const VariableName &  var_name,
const std::set< SubdomainID > &  blocks,
std::set< SubdomainID > &  blocks_covered,
THREAD_ID  tid 
) const
inherited

Whether there are objects for this variable and the set of blocks passed.

Parameters
var_namename of the variable
blocksblocks to consider
blocks_coveredsubset of blocks for which there is an object

Definition at line 109 of file MooseObjectWarehouseBase.h.

517{
518 checkThreadID(tid);
519 blocks_covered.clear();
520 if (!hasObjectsForVariable(var_name, tid))
521 return false;
522
523 // Check block restriction as a whole
524 for (const auto & object : libmesh_map_find(_all_variable_objects[tid], var_name))
525 {
526 std::shared_ptr<BlockRestrictable> blk = std::dynamic_pointer_cast<BlockRestrictable>(object);
527 if (blk && blk->hasBlocks(blocks))
528 {
529 blocks_covered = blocks;
530 return true;
531 }
532 }
533 // No object has all the blocks, but one might overlap, which could be troublesome.
534 // We'll keep track of which blocks are covered in case several overlap
535 for (const auto & object : libmesh_map_find(_all_variable_objects[tid], var_name))
536 {
537 std::shared_ptr<BlockRestrictable> blk = std::dynamic_pointer_cast<BlockRestrictable>(object);
538 if (blk)
539 for (const auto & block : blocks)
540 if (blk->hasBlocks(block))
541 blocks_covered.insert(block);
542 }
543 // No overlap at all
544 if (blocks_covered.empty())
545 return false;
546
547 return (blocks == blocks_covered);
548}
char ** blocks
bool hasObjectsForVariable(const VariableName &var_name, THREAD_ID tid) const

◆ initialSetup()

void InitialConditionWarehouse::initialSetup ( THREAD_ID  tid)

Initial setup.

Definition at line 24 of file InitialConditionWarehouse.C.

25{
27 for (const auto & ic : _active_objects[tid])
28 ic->initialSetup();
29}
void initialSetup(THREAD_ID tid)
Initial setup.
void sort(THREAD_ID tid=0)
Sort the objects using the DependencyResolver.

◆ numThreads()

THREAD_ID MooseObjectWarehouseBase< InitialConditionBase >::numThreads ( ) const
inlineinherited

Return the number of threads.

Definition at line 205 of file MooseObjectWarehouseBase.h.

205{ return _num_threads; }

◆ size()

unsigned int MooseObjectWarehouseBase< InitialConditionBase >::size ( THREAD_ID  tid = 0) const
inherited

Return how many kernels we store in the current warehouse.

Definition at line 54 of file MooseObjectWarehouseBase.h.

307{
308 checkThreadID(tid);
309 return _all_objects[tid].size();
310}

◆ sort()

void MooseObjectWarehouseBase< InitialConditionBase >::sort ( THREAD_ID  tid = 0)
inherited

Sort the objects using the DependencyResolver.

Definition at line 142 of file MooseObjectWarehouseBase.h.

690{
691 checkThreadID(tid);
692
693 for (auto & object_pair : _all_block_objects[tid])
694 sortHelper(object_pair.second);
695
696 for (auto & object_pair : _all_boundary_objects[tid])
697 sortHelper(object_pair.second);
698
700
701 // The active lists now must be update to reflect the order changes
702 updateActive(tid);
703}
static void sortHelper(std::vector< std::shared_ptr< InitialConditionBase > > &objects)
Helper method for sorting vectors of objects.
virtual void updateActive(THREAD_ID tid=0)
Updates the active objects storage.

◆ sortHelper()

void MooseObjectWarehouseBase< InitialConditionBase >::sortHelper ( std::vector< std::shared_ptr< InitialConditionBase > > &  objects)
staticprotectedinherited

Helper method for sorting vectors of objects.

Definition at line 249 of file MooseObjectWarehouseBase.h.

910{
911 // Do nothing if the vector is empty
912 if (objects.empty())
913 return;
914
915 try
916 {
917 // Sort based on dependencies
918 DependencyResolverInterface::sort<std::shared_ptr<T>>(objects);
919 }
920 catch (CyclicDependencyException<std::shared_ptr<T>> & e)
921 {
922 DependencyResolverInterface::cyclicDependencyError<std::shared_ptr<T>>(
923 e, "Cyclic dependency detected in object ordering");
924 }
925}

◆ subdomainsCovered()

void MooseObjectWarehouseBase< InitialConditionBase >::subdomainsCovered ( std::set< SubdomainID > &  subdomains_covered,
std::set< std::string > &  unique_variables,
THREAD_ID  tid = 0 
) const
inherited

Populates a set of covered subdomains and the associated variable names.

Definition at line 198 of file MooseObjectWarehouseBase.h.

883{
884 for (const auto & object : _active_objects[tid])
885 {
886 unique_variables.insert(object->variable().name());
887 const auto additional_variables_covered = object->additionalROVariables();
888 unique_variables.insert(additional_variables_covered.begin(),
889 additional_variables_covered.end());
890 }
891
892 for (const auto & object_pair : _active_block_objects[tid])
893 subdomains_covered.insert(object_pair.first);
894}

◆ updateActive()

void MooseObjectWarehouseBase< InitialConditionBase >::updateActive ( THREAD_ID  tid = 0)
virtualinherited

Updates the active objects storage.

Definition at line 137 of file MooseObjectWarehouseBase.h.

661{
662 checkThreadID(tid);
663
665
666 for (const auto & object_pair : _all_block_objects[tid])
667 updateActiveHelper(_active_block_objects[tid][object_pair.first], object_pair.second);
668
669 for (const auto & object_pair : _all_boundary_objects[tid])
670 updateActiveHelper(_active_boundary_objects[tid][object_pair.first], object_pair.second);
671}
static void updateActiveHelper(std::vector< std::shared_ptr< InitialConditionBase > > &active, const std::vector< std::shared_ptr< InitialConditionBase > > &all)
Helper method for updating active vectors.

◆ updateActiveHelper()

void MooseObjectWarehouseBase< InitialConditionBase >::updateActiveHelper ( std::vector< std::shared_ptr< InitialConditionBase > > &  active,
const std::vector< std::shared_ptr< InitialConditionBase > > &  all 
)
staticprotectedinherited

Helper method for updating active vectors.

Definition at line 243 of file MooseObjectWarehouseBase.h.

677{
678 // Clear the active list
679 active.clear();
680
681 std::copy_if(all.begin(),
682 all.end(),
683 std::back_inserter(active),
684 [](const std::shared_ptr<T> & object) { return object->enabled(); });
685}

◆ updateBlockFEVariableCoupledVectorTagDependency()

void MooseObjectWarehouseBase< InitialConditionBase >::updateBlockFEVariableCoupledVectorTagDependency ( SubdomainID  id,
std::set< TagID > &  needed_fe_var_vector_tags,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 167 of file MooseObjectWarehouseBase.h.

780{
781 if (hasActiveBlockObjects(id, tid))
782 updateFEVariableCoupledVectorTagDependencyHelper(needed_fe_var_vector_tags,
783 getActiveBlockObjects(id, tid));
784}
const std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > & getActiveBlockObjects(THREAD_ID tid=0) const
static void updateFEVariableCoupledVectorTagDependencyHelper(std::set< TagID > &needed_fe_var_vector_tags, const std::vector< std::shared_ptr< InitialConditionBase > > &objects)
Helper method for updating FE variable coupleable vector tag vector.

◆ updateBlockMatPropDependency()

void MooseObjectWarehouseBase< InitialConditionBase >::updateBlockMatPropDependency ( SubdomainID  id,
std::unordered_set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0,
const bool  producer_only = false 
) const
inherited

Definition at line 182 of file MooseObjectWarehouseBase.h.

830{
831 if (hasActiveBlockObjects(id, tid))
832 updateMatPropDependencyHelper(needed_mat_props, getActiveBlockObjects(id, tid), producer_only);
833}
virtual void updateMatPropDependencyHelper(std::unordered_set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< InitialConditionBase > > &objects, const bool producer_only) const
Helper method for updating material property dependency vector.

◆ updateBlockVariableDependency()

void MooseObjectWarehouseBase< InitialConditionBase >::updateBlockVariableDependency ( SubdomainID  id,
std::set< MooseVariableFieldBase * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 150 of file MooseObjectWarehouseBase.h.

720{
721 if (hasActiveBlockObjects(id, tid))
722 updateVariableDependencyHelper(needed_moose_vars, getActiveBlockObjects(id, tid));
723}
static void updateVariableDependencyHelper(std::set< MooseVariableFieldBase * > &needed_moose_vars, const std::vector< std::shared_ptr< InitialConditionBase > > &objects)
Helper method for updating variable dependency vector.

◆ updateBoundaryFEVariableCoupledVectorTagDependency()

void MooseObjectWarehouseBase< InitialConditionBase >::updateBoundaryFEVariableCoupledVectorTagDependency ( BoundaryID  id,
std::set< TagID > &  needed_fe_var_vector_tags,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 170 of file MooseObjectWarehouseBase.h.

790{
791 if (hasActiveBoundaryObjects(id, tid))
792 updateFEVariableCoupledVectorTagDependencyHelper(needed_fe_var_vector_tags,
793 getActiveBoundaryObjects(id, tid));
794}
const std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > & getActiveBoundaryObjects(THREAD_ID tid=0) const

◆ updateBoundaryMatPropDependency() [1/2]

void MooseObjectWarehouseBase< InitialConditionBase >::updateBoundaryMatPropDependency ( BoundaryID  id,
std::unordered_set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0,
const bool  producer_only = false 
) const
inherited

Definition at line 189 of file MooseObjectWarehouseBase.h.

854{
855 if (hasActiveBoundaryObjects(id, tid))
857 needed_mat_props, getActiveBoundaryObjects(id, tid), producer_only);
858}

◆ updateBoundaryMatPropDependency() [2/2]

void MooseObjectWarehouseBase< InitialConditionBase >::updateBoundaryMatPropDependency ( std::unordered_set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0,
const bool  producer_only = false 
) const
inherited

Definition at line 186 of file MooseObjectWarehouseBase.h.

841{
843 for (auto & active_bnd_object : _active_boundary_objects[tid])
844 updateMatPropDependencyHelper(needed_mat_props, active_bnd_object.second, producer_only);
845}

◆ updateBoundaryVariableDependency() [1/2]

void MooseObjectWarehouseBase< InitialConditionBase >::updateBoundaryVariableDependency ( BoundaryID  id,
std::set< MooseVariableFieldBase * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 155 of file MooseObjectWarehouseBase.h.

744{
745 if (hasActiveBoundaryObjects(id, tid))
746 updateVariableDependencyHelper(needed_moose_vars, getActiveBoundaryObjects(id, tid));
747}

◆ updateBoundaryVariableDependency() [2/2]

void MooseObjectWarehouseBase< InitialConditionBase >::updateBoundaryVariableDependency ( std::set< MooseVariableFieldBase * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited

Definition at line 153 of file MooseObjectWarehouseBase.h.

729{
731 {
732 typename std::map<BoundaryID, std::vector<std::shared_ptr<T>>>::const_iterator it;
733 for (const auto & object_pair : _active_boundary_objects[tid])
734 updateVariableDependencyHelper(needed_moose_vars, object_pair.second);
735 }
736}

◆ updateFEVariableCoupledVectorTagDependency()

void MooseObjectWarehouseBase< InitialConditionBase >::updateFEVariableCoupledVectorTagDependency ( std::set< TagID > &  needed_fe_var_vector_tags,
THREAD_ID  tid = 0 
) const
inherited

Update FE variable coupleable vector tag vector for all objects, block-restricted objects, and boundary-restricted objects.

Definition at line 165 of file MooseObjectWarehouseBase.h.

770{
771 if (hasActiveObjects(tid))
772 updateFEVariableCoupledVectorTagDependencyHelper(needed_fe_var_vector_tags,
773 _active_objects[tid]);
774}

◆ updateFEVariableCoupledVectorTagDependencyHelper()

void MooseObjectWarehouseBase< InitialConditionBase >::updateFEVariableCoupledVectorTagDependencyHelper ( std::set< TagID > &  needed_fe_var_vector_tags,
const std::vector< std::shared_ptr< InitialConditionBase > > &  objects 
)
staticprotectedinherited

Helper method for updating FE variable coupleable vector tag vector.

Definition at line 261 of file MooseObjectWarehouseBase.h.

800{
801 for (const auto & object : objects)
802 {
803 auto c = dynamic_cast<const Coupleable *>(object.get());
804 if (c)
805 {
806 const auto & tag_deps = c->getFEVariableCoupleableVectorTags();
807 needed_fe_var_vector_tags.insert(tag_deps.begin(), tag_deps.end());
808 }
809 }
810}
Interface for objects that needs coupling capabilities.
Definition Coupleable.h:53
std::set< TagID > & getFEVariableCoupleableVectorTags()
Definition Coupleable.h:120

◆ updateMatPropDependency()

void MooseObjectWarehouseBase< InitialConditionBase >::updateMatPropDependency ( std::unordered_set< unsigned int > &  needed_mat_props,
THREAD_ID  tid = 0,
const bool  producer_only = false 
) const
inherited

Update material property dependency vector.

Parameters
producer_onlyOnly append dependencies of materials producing the needed_mat_props

Definition at line 179 of file MooseObjectWarehouseBase.h.

818{
819 if (hasActiveObjects(tid))
820 updateMatPropDependencyHelper(needed_mat_props, _active_objects[tid], producer_only);
821}

◆ updateMatPropDependencyHelper()

void MooseObjectWarehouseBase< InitialConditionBase >::updateMatPropDependencyHelper ( std::unordered_set< unsigned int > &  needed_mat_props,
const std::vector< std::shared_ptr< InitialConditionBase > > &  objects,
const bool  producer_only 
) const
protectedvirtualinherited

Helper method for updating material property dependency vector.

Definition at line 267 of file MooseObjectWarehouseBase.h.

866{
867 for (auto & object : objects)
868 {
869 auto c = dynamic_cast<const MaterialPropertyInterface *>(object.get());
870 if (c)
871 {
872 auto & mp_deps = c->getMatPropDependencies();
873 needed_mat_props.insert(mp_deps.begin(), mp_deps.end());
874 }
875 }
876}
An interface for accessing Materials.
virtual const std::unordered_set< unsigned int > & getMatPropDependencies() const
Retrieve the set of material properties that this object depends on.

◆ updateVariableDependency()

void MooseObjectWarehouseBase< InitialConditionBase >::updateVariableDependency ( std::set< MooseVariableFieldBase * > &  needed_moose_vars,
THREAD_ID  tid = 0 
) const
inherited

Update variable dependency vector.

Definition at line 148 of file MooseObjectWarehouseBase.h.

709{
710 if (hasActiveObjects(tid))
711 updateVariableDependencyHelper(needed_moose_vars, _active_objects[tid]);
712}

◆ updateVariableDependencyHelper()

void MooseObjectWarehouseBase< InitialConditionBase >::updateVariableDependencyHelper ( std::set< MooseVariableFieldBase * > &  needed_moose_vars,
const std::vector< std::shared_ptr< InitialConditionBase > > &  objects 
)
staticprotectedinherited

Helper method for updating variable dependency vector.

Definition at line 254 of file MooseObjectWarehouseBase.h.

754{
755 for (const auto & object : objects)
756 {
757 auto c = dynamic_cast<const MooseVariableDependencyInterface *>(object.get());
758 if (c)
759 {
760 const auto & mv_deps = c->getMooseVariableDependencies();
761 needed_moose_vars.insert(mv_deps.begin(), mv_deps.end());
762 }
763 }
764}
const std::set< MooseVariableFieldBase * > & getMooseVariableDependencies() const
Retrieve the set of MooseVariableFieldBase that this object depends on.

Member Data Documentation

◆ _active_block_objects

std::vector<std::map<SubdomainID, std::vector<std::shared_ptr<InitialConditionBase > > > > MooseObjectWarehouseBase< InitialConditionBase >::_active_block_objects
protectedinherited

Active block restricted objects (THREAD_ID on outer vector)

Definition at line 229 of file MooseObjectWarehouseBase.h.

◆ _active_boundary_objects

std::vector<std::map<BoundaryID, std::vector<std::shared_ptr<InitialConditionBase > > > > MooseObjectWarehouseBase< InitialConditionBase >::_active_boundary_objects
protectedinherited

Active boundary restricted objects (THREAD_ID on outer vector)

Definition at line 235 of file MooseObjectWarehouseBase.h.

◆ _active_objects

std::vector<std::vector<std::shared_ptr<InitialConditionBase > > > MooseObjectWarehouseBase< InitialConditionBase >::_active_objects
protectedinherited

All active objects (THREAD_ID on outer vector)

Definition at line 223 of file MooseObjectWarehouseBase.h.

◆ _all_block_objects

std::vector<std::map<SubdomainID, std::vector<std::shared_ptr<InitialConditionBase > > > > MooseObjectWarehouseBase< InitialConditionBase >::_all_block_objects
protectedinherited

Definition at line 226 of file MooseObjectWarehouseBase.h.

◆ _all_boundary_objects

std::vector<std::map<BoundaryID, std::vector<std::shared_ptr<InitialConditionBase > > > > MooseObjectWarehouseBase< InitialConditionBase >::_all_boundary_objects
protectedinherited

Definition at line 232 of file MooseObjectWarehouseBase.h.

◆ _all_objects

std::vector<std::vector<std::shared_ptr<InitialConditionBase > > > MooseObjectWarehouseBase< InitialConditionBase >::_all_objects
protectedinherited

Storage container for the ALL pointers (THREAD_ID on outer vector)

Definition at line 220 of file MooseObjectWarehouseBase.h.

◆ _all_variable_objects

std::vector<std::map<VariableName, std::vector<std::shared_ptr<InitialConditionBase > > > > MooseObjectWarehouseBase< InitialConditionBase >::_all_variable_objects
protectedinherited

All objects with a certain variable selected, as the 'variable' parameter.

Definition at line 238 of file MooseObjectWarehouseBase.h.

◆ _block_ics

std::vector<std::map<ic_key_type, std::set<SubdomainID> > > InitialConditionWarehouse::_block_ics
protected

Definition at line 50 of file InitialConditionWarehouse.h.

Referenced by addObject().

◆ _boundary_ics

std::vector<std::map<ic_key_type, std::set<BoundaryID> > > InitialConditionWarehouse::_boundary_ics
protected

Definition at line 49 of file InitialConditionWarehouse.h.

Referenced by addObject().

◆ _num_threads

const THREAD_ID MooseObjectWarehouseBase< InitialConditionBase >::_num_threads
protectedinherited

Convenience member storing the number of threads used for storage (1 or libMesh::n_threads)

Definition at line 217 of file MooseObjectWarehouseBase.h.


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