www.mooseframework.org
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. More...
 
void addObject (std::shared_ptr< InitialConditionBase > object, THREAD_ID tid, bool recurse=true)
 Add object to the warehouse. More...
 
std::set< std::string > getDependObjects () const
 Get a list of dependent UserObjects for this exec type. More...
 
unsigned int size (THREAD_ID tid=0) const
 Return how many kernels we store in the current warehouse. More...
 
std::set< SubdomainIDgetActiveBlocks (THREAD_ID tid=0) const
 Return a set of active SubdomainsIDs. More...
 
virtual void updateActive (THREAD_ID tid=0)
 Updates the active objects storage. More...
 
void sort (THREAD_ID tid=0)
 Sort the objects using the DependencyResolver. More...
 
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. More...
 
THREAD_ID numThreads () const
 Return the number of threads. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
bool hasActiveObjects (THREAD_ID tid=0) 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 (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. More...
 
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. More...
 
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 updateBlockFEVariableCoupledVectorTagDependency (SubdomainID id, std::set< TagID > &needed_fe_var_vector_tags, THREAD_ID tid=0) const
 Update FE variable coupleable vector tag vector. More...
 
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
 Update material property dependency vector. More...
 
void updateBlockMatPropDependency (SubdomainID id, std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0) const
 
void updateBoundaryMatPropDependency (std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0) const
 
void updateBoundaryMatPropDependency (BoundaryID id, std::unordered_set< unsigned int > &needed_mat_props, THREAD_ID tid=0) const
 

Protected Member Functions

void checkThreadID (THREAD_ID tid) const
 Calls assert on thread id. More...
 

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. More...
 
static void sortHelper (std::vector< std::shared_ptr< InitialConditionBase >> &objects)
 Helper method for sorting vectors of objects. More...
 
static void updateVariableDependencyHelper (std::set< MooseVariableFieldBase * > &needed_moose_vars, const std::vector< std::shared_ptr< InitialConditionBase >> &objects)
 Helper method for updating variable dependency vector. More...
 
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. More...
 
static void updateMatPropDependencyHelper (std::unordered_set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< InitialConditionBase >> &objects)
 Helper method for updating material property dependency vector. More...
 

Protected Attributes

const THREAD_ID _num_threads
 Convenience member storing the number of threads used for storage (1 or libMesh::n_threads) More...
 
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
 Storage container for the ALL pointers (THREAD_ID on outer vector) More...
 
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
 All active objects (THREAD_ID on outer vector) More...
 
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) More...
 
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) More...
 
std::vector< std::map< std::string, std::set< BoundaryID > > > _boundary_ics
 
std::vector< std::map< std::string, std::set< SubdomainID > > > _block_ics
 

Detailed Description

Warehouse for storing initial conditions.

Definition at line 20 of file InitialConditionWarehouse.h.

Constructor & Destructor Documentation

◆ InitialConditionWarehouse()

InitialConditionWarehouse::InitialConditionWarehouse ( )

Definition at line 16 of file InitialConditionWarehouse.C.

20 {
21 }
unsigned int n_threads()
std::vector< std::map< std::string, std::set< BoundaryID > > > _boundary_ics
std::vector< std::map< std::string, std::set< SubdomainID > > > _block_ics

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 761 of file MooseObjectWarehouseBase.h.

763 {
764  std::vector<std::string> output;
765  for (const auto & object : _active_objects[tid])
766  output.push_back(object->name());
767  return ConsoleUtils::formatString(MooseUtils::join(output, " "), prefix);
768 }
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...
Definition: ConsoleUtils.C:436
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
All active objects (THREAD_ID on outer vector)
std::string join(const T &strings, const std::string &delimiter)
Python like join function for strings.
Definition: MooseUtils.h:130

◆ addObject()

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

Add object to the warehouse.

Reimplemented from MooseObjectWarehouseBase< InitialConditionBase >.

Definition at line 32 of file InitialConditionWarehouse.C.

Referenced by FEProblemBase::addInitialCondition().

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

◆ checkThreadID()

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

Calls assert on thread id.

Definition at line 792 of file MooseObjectWarehouseBase.h.

793 {
794  mooseAssert(tid < _num_threads,
795  "Attempting to access a thread id ("
796  << tid << ") greater than the number allowed by the storage item ("
797  << _num_threads << ")");
798 }
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::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > & MooseObjectWarehouseBase< InitialConditionBase >::getActiveBlockObjects ( THREAD_ID  tid = 0) const
inlineinherited

Definition at line 427 of file MooseObjectWarehouseBase.h.

428 {
429  checkThreadID(tid);
430  return _active_block_objects[tid];
431 }
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_block_objects
Active block restricted objects (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.

◆ getActiveBlockObjects() [2/2]

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

Definition at line 435 of file MooseObjectWarehouseBase.h.

436 {
437  checkThreadID(tid);
438  const auto iter = _active_block_objects[tid].find(id);
439  mooseAssert(iter != _active_block_objects[tid].end(),
440  "Unable to located active block objects for the given id: " << id << ".");
441  return iter->second;
442 }
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_block_objects
Active block restricted objects (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.

◆ getActiveBlocks()

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

Return a set of active SubdomainsIDs.

Definition at line 535 of file MooseObjectWarehouseBase.h.

536 {
537  checkThreadID(tid);
538  std::set<SubdomainID> ids;
539  for (const auto & object_pair : _active_block_objects[tid])
540  ids.insert(object_pair.first);
541  return ids;
542 }
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_block_objects
Active block restricted objects (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.

◆ getActiveBoundaryObjects() [1/2]

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

Definition at line 408 of file MooseObjectWarehouseBase.h.

409 {
410  checkThreadID(tid);
411  return _active_boundary_objects[tid];
412 }
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_boundary_objects
Active boundary restricted objects (THREAD_ID on outer vector)

◆ getActiveBoundaryObjects() [2/2]

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

Definition at line 416 of file MooseObjectWarehouseBase.h.

417 {
418  checkThreadID(tid);
419  const auto iter = _active_boundary_objects[tid].find(id);
420  mooseAssert(iter != _active_boundary_objects[tid].end(),
421  "Unable to located active boundary objects for the given id: " << id << ".");
422  return iter->second;
423 }
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_boundary_objects
Active boundary restricted objects (THREAD_ID on outer vector)

◆ getActiveObject()

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

Definition at line 524 of file MooseObjectWarehouseBase.h.

525 {
526  checkThreadID(tid);
527  for (const auto & object : _active_objects[tid])
528  if (object->name() == name)
529  return object;
530  mooseError("Unable to locate active object: ", name, ".");
531 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:299
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
All active objects (THREAD_ID on outer vector)

◆ 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 400 of file MooseObjectWarehouseBase.h.

Referenced by getDependObjects().

401 {
402  checkThreadID(tid);
403  return _active_objects[tid];
404 }
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
All active objects (THREAD_ID on outer vector)

◆ getBlockObjects() [1/2]

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

Definition at line 381 of file MooseObjectWarehouseBase.h.

382 {
383  checkThreadID(tid);
384  return _all_block_objects[tid];
385 }
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.

◆ getBlockObjects() [2/2]

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

Definition at line 389 of file MooseObjectWarehouseBase.h.

390 {
391  checkThreadID(tid);
392  const auto iter = _all_block_objects[tid].find(id);
393  mooseAssert(iter != _all_block_objects[tid].end(),
394  "Unable to located active block objects for the given id: " << id << ".");
395  return iter->second;
396 }
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.

◆ getBoundaryObjects() [1/2]

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

Definition at line 354 of file MooseObjectWarehouseBase.h.

355 {
356  checkThreadID(tid);
357  return _all_boundary_objects[tid];
358 }
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_boundary_objects

◆ getBoundaryObjects() [2/2]

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

Definition at line 370 of file MooseObjectWarehouseBase.h.

371 {
372  checkThreadID(tid);
373  const auto iter = _all_boundary_objects[tid].find(id);
374  mooseAssert(iter != _all_boundary_objects[tid].end(),
375  "Unable to located active boundary objects for the given id: " << id << ".");
376  return iter->second;
377 }
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_boundary_objects

◆ 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.

Referenced by FEProblemBase::initialSetup().

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 513 of file MooseObjectWarehouseBase.h.

514 {
515  checkThreadID(tid);
516  for (const auto & object : _all_objects[tid])
517  if (object->name() == name)
518  return object;
519  mooseError("Unable to locate object: ", name, ".");
520 }
std::string name(const ElemQuality q)
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:299
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
Storage container for the ALL pointers (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.

◆ 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 346 of file MooseObjectWarehouseBase.h.

347 {
348  checkThreadID(tid);
349  return _all_objects[tid];
350 }
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
Storage container for the ALL pointers (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.

◆ hasActiveBlockObjects() [1/2]

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

Definition at line 462 of file MooseObjectWarehouseBase.h.

463 {
464  checkThreadID(tid);
465  bool has_active_block_objects = false;
466  for (const auto & object_pair : _active_block_objects[tid])
467  has_active_block_objects |= !(object_pair.second.empty());
468  return has_active_block_objects;
469 }
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_block_objects
Active block restricted objects (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.

◆ hasActiveBlockObjects() [2/2]

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

Definition at line 473 of file MooseObjectWarehouseBase.h.

474 {
475  checkThreadID(tid);
476  const auto iter = _active_block_objects[tid].find(id);
477  return iter != _active_block_objects[tid].end();
478 }
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_block_objects
Active block restricted objects (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.

◆ hasActiveBoundaryObjects() [1/2]

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

Definition at line 482 of file MooseObjectWarehouseBase.h.

483 {
484  checkThreadID(tid);
485  bool has_active_boundary_objects = false;
486  for (const auto & object_pair : _active_boundary_objects[tid])
487  has_active_boundary_objects |= !(object_pair.second.empty());
488  return has_active_boundary_objects;
489 }
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_boundary_objects
Active boundary restricted objects (THREAD_ID on outer vector)

◆ hasActiveBoundaryObjects() [2/2]

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

Definition at line 493 of file MooseObjectWarehouseBase.h.

494 {
495  checkThreadID(tid);
496  const auto iter = _active_boundary_objects[tid].find(id);
497  return iter != _active_boundary_objects[tid].end();
498 }
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_boundary_objects
Active boundary restricted objects (THREAD_ID on outer vector)

◆ 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 502 of file MooseObjectWarehouseBase.h.

503 {
504  checkThreadID(tid);
505  for (const auto & object : _active_objects[tid])
506  if (object->name() == name)
507  return true;
508  return false;
509 }
std::string name(const ElemQuality q)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
All active objects (THREAD_ID on outer vector)

◆ hasActiveObjects()

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

Definition at line 454 of file MooseObjectWarehouseBase.h.

455 {
456  checkThreadID(tid);
457  return !_active_objects[tid].empty();
458 }
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
All active objects (THREAD_ID on outer vector)

◆ hasBoundaryObjects()

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

Definition at line 362 of file MooseObjectWarehouseBase.h.

363 {
364  checkThreadID(tid);
365  return _all_boundary_objects[tid].find(id) != _all_boundary_objects[tid].end();
366 }
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_boundary_objects

◆ hasObjects()

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

Convenience functions for determining if objects exist.

Definition at line 446 of file MooseObjectWarehouseBase.h.

447 {
448  checkThreadID(tid);
449  return !_all_objects[tid].empty();
450 }
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
Storage container for the ALL pointers (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.

◆ initialSetup()

void InitialConditionWarehouse::initialSetup ( THREAD_ID  tid)

Initial setup.

Definition at line 24 of file InitialConditionWarehouse.C.

Referenced by FEProblemBase::initialSetup().

25 {
27  for (const auto & ic : _active_objects[tid])
28  ic->initialSetup();
29 }
void sort(THREAD_ID tid=0)
Sort the objects using the DependencyResolver.
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
All active objects (THREAD_ID on outer vector)

◆ numThreads()

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

Return the number of threads.

Definition at line 177 of file MooseObjectWarehouseBase.h.

177 { return _num_threads; }
const THREAD_ID _num_threads
Convenience member storing the number of threads used for storage (1 or libMesh::n_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 266 of file MooseObjectWarehouseBase.h.

267 {
268  checkThreadID(tid);
269  return _all_objects[tid].size();
270 }
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
Storage container for the ALL pointers (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.

◆ sort()

Sort the objects using the DependencyResolver.

Definition at line 575 of file MooseObjectWarehouseBase.h.

576 {
577  checkThreadID(tid);
578 
579  for (auto & object_pair : _all_block_objects[tid])
580  sortHelper(object_pair.second);
581 
582  for (auto & object_pair : _all_boundary_objects[tid])
583  sortHelper(object_pair.second);
584 
585  sortHelper(_all_objects[tid]);
586 
587  // The active lists now must be update to reflect the order changes
588  updateActive(tid);
589 }
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_block_objects
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
Storage container for the ALL pointers (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
static void sortHelper(std::vector< std::shared_ptr< InitialConditionBase >> &objects)
Helper method for sorting vectors of objects.
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_boundary_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 772 of file MooseObjectWarehouseBase.h.

773 {
774  // Do nothing if the vector is empty
775  if (objects.empty())
776  return;
777 
778  try
779  {
780  // Sort based on dependencies
781  DependencyResolverInterface::sort<std::shared_ptr<T>>(objects);
782  }
783  catch (CyclicDependencyException<std::shared_ptr<T>> & e)
784  {
785  DependencyResolverInterface::cyclicDependencyError<std::shared_ptr<T>>(
786  e, "Cyclic dependency detected in object ordering");
787  }
788 }

◆ 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 748 of file MooseObjectWarehouseBase.h.

751 {
752  for (const auto & object : _active_objects[tid])
753  unique_variables.insert(object->variable().name());
754 
755  for (const auto & object_pair : _active_block_objects[tid])
756  subdomains_covered.insert(object_pair.first);
757 }
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::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
All active objects (THREAD_ID on outer vector)

◆ updateActive()

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

Updates the active objects storage.

Definition at line 546 of file MooseObjectWarehouseBase.h.

547 {
548  checkThreadID(tid);
549 
551 
552  for (const auto & object_pair : _all_block_objects[tid])
553  updateActiveHelper(_active_block_objects[tid][object_pair.first], object_pair.second);
554 
555  for (const auto & object_pair : _all_boundary_objects[tid])
556  updateActiveHelper(_active_boundary_objects[tid][object_pair.first], object_pair.second);
557 }
std::vector< std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_block_objects
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< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_block_objects
Active block restricted objects (THREAD_ID on outer vector)
void checkThreadID(THREAD_ID tid) const
Calls assert on thread id.
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< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _all_boundary_objects
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _active_objects
All active objects (THREAD_ID on outer vector)
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 561 of file MooseObjectWarehouseBase.h.

563 {
564  // Clear the active list
565  active.clear();
566 
567  std::copy_if(all.begin(),
568  all.end(),
569  std::back_inserter(active),
570  [](const std::shared_ptr<T> & object) { return object->enabled(); });
571 }

◆ updateBlockFEVariableCoupledVectorTagDependency()

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

Update FE variable coupleable vector tag vector.

Definition at line 654 of file MooseObjectWarehouseBase.h.

656 {
657  if (hasActiveBlockObjects(id, tid))
658  updateFEVariableCoupledVectorTagDependencyHelper(needed_fe_var_vector_tags,
659  getActiveBlockObjects(id, tid));
660 }
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
inherited

Definition at line 699 of file MooseObjectWarehouseBase.h.

703 {
704  if (hasActiveBlockObjects(id, tid))
705  updateMatPropDependencyHelper(needed_mat_props, getActiveBlockObjects(id, tid));
706 }
const std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > & getActiveBlockObjects(THREAD_ID tid=0) const
static void updateMatPropDependencyHelper(std::unordered_set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< InitialConditionBase >> &objects)
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 602 of file MooseObjectWarehouseBase.h.

606 {
607  if (hasActiveBlockObjects(id, tid))
608  updateVariableDependencyHelper(needed_moose_vars, getActiveBlockObjects(id, tid));
609 }
const std::map< SubdomainID, std::vector< std::shared_ptr< InitialConditionBase > > > & getActiveBlockObjects(THREAD_ID tid=0) const
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 664 of file MooseObjectWarehouseBase.h.

666 {
667  if (hasActiveBoundaryObjects(id, tid))
668  updateFEVariableCoupledVectorTagDependencyHelper(needed_fe_var_vector_tags,
669  getActiveBoundaryObjects(id, tid));
670 }
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.
const std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > & getActiveBoundaryObjects(THREAD_ID tid=0) const

◆ updateBoundaryMatPropDependency() [1/2]

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

Definition at line 710 of file MooseObjectWarehouseBase.h.

712 {
713  if (hasActiveBoundaryObjects(tid))
714  for (auto & active_bnd_object : _active_boundary_objects[tid])
715  updateMatPropDependencyHelper(needed_mat_props, active_bnd_object.second);
716 }
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_boundary_objects
Active boundary restricted objects (THREAD_ID on outer vector)
static void updateMatPropDependencyHelper(std::unordered_set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< InitialConditionBase >> &objects)
Helper method for updating material property dependency vector.

◆ updateBoundaryMatPropDependency() [2/2]

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

Definition at line 720 of file MooseObjectWarehouseBase.h.

724 {
725  if (hasActiveBoundaryObjects(id, tid))
726  updateMatPropDependencyHelper(needed_mat_props, getActiveBoundaryObjects(id, tid));
727 }
static void updateMatPropDependencyHelper(std::unordered_set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< InitialConditionBase >> &objects)
Helper method for updating material property dependency vector.
const std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > & getActiveBoundaryObjects(THREAD_ID tid=0) const

◆ updateBoundaryVariableDependency() [1/2]

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

Definition at line 613 of file MooseObjectWarehouseBase.h.

615 {
616  if (hasActiveBoundaryObjects(tid))
617  {
618  typename std::map<BoundaryID, std::vector<std::shared_ptr<T>>>::const_iterator it;
619  for (const auto & object_pair : _active_boundary_objects[tid])
620  updateVariableDependencyHelper(needed_moose_vars, object_pair.second);
621  }
622 }
std::vector< std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > > _active_boundary_objects
Active boundary restricted objects (THREAD_ID on outer vector)
static void updateVariableDependencyHelper(std::set< MooseVariableFieldBase * > &needed_moose_vars, const std::vector< std::shared_ptr< InitialConditionBase >> &objects)
Helper method for updating variable dependency vector.

◆ updateBoundaryVariableDependency() [2/2]

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

Definition at line 626 of file MooseObjectWarehouseBase.h.

630 {
631  if (hasActiveBoundaryObjects(id, tid))
632  updateVariableDependencyHelper(needed_moose_vars, getActiveBoundaryObjects(id, tid));
633 }
static void updateVariableDependencyHelper(std::set< MooseVariableFieldBase * > &needed_moose_vars, const std::vector< std::shared_ptr< InitialConditionBase >> &objects)
Helper method for updating variable dependency vector.
const std::map< BoundaryID, std::vector< std::shared_ptr< InitialConditionBase > > > & getActiveBoundaryObjects(THREAD_ID tid=0) const

◆ 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 674 of file MooseObjectWarehouseBase.h.

676 {
677  for (const auto & object : objects)
678  {
679  auto c = dynamic_cast<const Coupleable *>(object.get());
680  if (c)
681  {
682  const auto & tag_deps = c->getFEVariableCoupleableVectorTags();
683  needed_fe_var_vector_tags.insert(tag_deps.begin(), tag_deps.end());
684  }
685  }
686 }
Interface for objects that needs coupling capabilities.
Definition: Coupleable.h:45
std::set< TagID > & getFEVariableCoupleableVectorTags()
Definition: Coupleable.h:106

◆ updateMatPropDependency()

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

Update material property dependency vector.

Definition at line 690 of file MooseObjectWarehouseBase.h.

692 {
693  if (hasActiveObjects(tid))
694  updateMatPropDependencyHelper(needed_mat_props, _all_objects[tid]);
695 }
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
Storage container for the ALL pointers (THREAD_ID on outer vector)
static void updateMatPropDependencyHelper(std::unordered_set< unsigned int > &needed_mat_props, const std::vector< std::shared_ptr< InitialConditionBase >> &objects)
Helper method for updating material property dependency vector.

◆ updateMatPropDependencyHelper()

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

Helper method for updating material property dependency vector.

Definition at line 731 of file MooseObjectWarehouseBase.h.

734 {
735  for (auto & object : objects)
736  {
737  auto c = dynamic_cast<const MaterialPropertyInterface *>(object.get());
738  if (c)
739  {
740  auto & mp_deps = c->getMatPropDependencies();
741  needed_mat_props.insert(mp_deps.begin(), mp_deps.end());
742  }
743  }
744 }
An interface for accessing Materials.
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 593 of file MooseObjectWarehouseBase.h.

595 {
596  if (hasActiveObjects(tid))
597  updateVariableDependencyHelper(needed_moose_vars, _all_objects[tid]);
598 }
std::vector< std::vector< std::shared_ptr< InitialConditionBase > > > _all_objects
Storage container for the ALL pointers (THREAD_ID on outer vector)
static void updateVariableDependencyHelper(std::set< MooseVariableFieldBase * > &needed_moose_vars, const std::vector< std::shared_ptr< InitialConditionBase >> &objects)
Helper method for updating variable dependency vector.

◆ 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 637 of file MooseObjectWarehouseBase.h.

640 {
641  for (const auto & object : objects)
642  {
643  auto c = dynamic_cast<const MooseVariableDependencyInterface *>(object.get());
644  if (c)
645  {
646  const auto & mv_deps = c->getMooseVariableDependencies();
647  needed_moose_vars.insert(mv_deps.begin(), mv_deps.end());
648  }
649  }
650 }
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 201 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 207 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 195 of file MooseObjectWarehouseBase.h.

Referenced by initialSetup().

◆ _all_block_objects

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

Definition at line 198 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 204 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 192 of file MooseObjectWarehouseBase.h.

◆ _block_ics

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

Definition at line 45 of file InitialConditionWarehouse.h.

Referenced by addObject().

◆ _boundary_ics

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

Variable name to block/boundary IDs for error checking

Definition at line 44 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 189 of file MooseObjectWarehouseBase.h.


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