|
| PeriodicEvent (const string &name, Group *const parent) |
| Constructor. More...
|
|
virtual | ~PeriodicEvent () override |
| Destructor.
|
|
virtual void | estimateEventTiming (real64 const time, real64 const dt, integer const cycle, DomainPartition &domain) override |
| Perform the calculations to estimate the timing of the event. More...
|
|
void | checkOptionalFunctionThreshold (real64 const time, real64 const dt, integer const cycle, DomainPartition &domain) |
| Determine if an optional function f should be called, and call it if so. More...
|
|
virtual real64 | getEventTypeDtRequest (real64 const time) override |
| Get event-specifit dt requests. More...
|
|
virtual void | cleanup (real64 const time_n, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override |
| Called as the code exits the main run loop. More...
|
|
virtual void | validate () const override |
| Helper function to validate the consistency of the event input. More...
|
|
| EventBase (string const &name, Group *const parent) |
| Main constructor. More...
|
|
virtual | ~EventBase () override |
| Destructor.
|
|
virtual void | signalToPrepareForExecution (real64 const time, real64 const dt, integer const cycle, DomainPartition &domain) override |
| If the event forecast is equal to 1, then signal the targets to prepare for execution during the next cycle. More...
|
|
virtual bool | execute (real64 const time_n, real64 const dt, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override |
| If the event forecast is equal to 0, then call the step function on its target and/or children. More...
|
|
void | step (real64 const time, real64 const dt, integer const cycle, dataRepository::Group *domain) |
| Call the execute method on the target and/or children if present. More...
|
|
virtual Group * | createChild (string const &childKey, string const &childName) override |
| Creates a new sub-Group using the ObjectCatalog functionality. More...
|
|
virtual void | expandObjectCatalogs () override |
| Expand any catalogs in the data structure.
|
|
void | getTargetReferences () |
| Process input data to retrieve targeted objects internally. The target object for an event may be specified via the keyword "target" in the input xml. This string is empty by default and uses getGroupByPath() method in Group, which returns a pointer to the target using a unix-style path as an input (both absolute and relative paths work). This involves a lot of string parsing, so we do it once during initialization.
|
|
virtual void | checkEvents (real64 const time, real64 const dt, integer const cycle, DomainPartition &domain) |
| Events are triggered based upon their forecast values, which are defined as the expected number of code cycles before they are executed. This method will call EstimateEventTiming (defined in each subclass) on this event and its children. More...
|
|
virtual real64 | getTimestepRequest (real64 const time) override |
| Collect time-step size requests from targets and/or children. More...
|
|
void | getExecutionOrder (array1d< integer > &eventCounters) |
| Count the number of events/sub-events. More...
|
|
void | setProgressIndicator (array1d< integer > &eventCounters) |
| Update the event progress for the event/sub-events. More...
|
|
integer | getExitFlag () |
| Get the sum of the exit flags for the event/sub-events from the last execution. More...
|
|
void | setExitFlag (integer flag) |
| Set this event objects exit flag. More...
|
|
real64 | getCurrentEventDtRequest () const |
| Get the current time increment request for this event. More...
|
|
integer | getForecast () const |
| Get the forecast of the current event. More...
|
|
bool | isReadyForExec () const |
| Check if the event is ready for execution. More...
|
|
bool | hasToPrepareForExec () const |
| Check if the event must be preparing for execution. More...
|
|
bool | isIdle () const |
| Check if the event is idle. More...
|
|
string | getEventName () const |
| Get the string name of the target. More...
|
|
void | setTimesteppingBehavior (TimesteppingBehavior const timesteppingBehavior) |
| Set the timestep behavior for a target. More...
|
|
TimesteppingBehavior | getTimesteppingBehavior () const |
| Get the target's time step behavior. More...
|
|
template<typename LOG_LEVEL_INFO > |
std::enable_if_t< geos::is_log_level_info< LOG_LEVEL_INFO >, void > | addLogLevel () |
| Append a levelCondition and a log description to the description of the wrapped object given a log info struct. Must be called in constructor. More...
|
|
virtual bool | registerCallback (void *func, const std::type_info &funcType) |
| Register a callback function on the group. More...
|
|
virtual void | reinit () |
| Performs re-initialization of certain variable depending on the solver being used.
|
|
| Group (string const &name, Group *const parent) |
| Constructor. More...
|
|
| Group (string const &name, conduit::Node &rootNode) |
| Constructor. More...
|
|
| Group (Group &&source)=default |
| Move constructor. More...
|
|
virtual | ~Group () |
| Destructor, deletes all Groups and Wrappers owned by this Group.
|
|
| Group ()=delete |
| Deleted default constructor.
|
|
| Group (Group const &)=delete |
| Deleted copy constructor.
|
|
Group & | operator= (Group const &)=delete |
| Deleted copy assignment operator. More...
|
|
Group & | operator= (Group &&)=delete |
| Deleted move assignment operator. More...
|
|
void | printDataHierarchy (integer indent=0) const |
| Prints the data hierarchy recursively. More...
|
|
string | dumpInputOptions () const |
|
string | dumpSubGroupsNames () const |
|
string | dumpWrappersNames () const |
|
template<typename T = Group> |
T & | registerGroup (string const &name, std::unique_ptr< T > newObject) |
| Register a new Group as a sub-group of current Group. More...
|
|
template<typename T = Group> |
T & | registerGroup (string const &name, T *newObject) |
| Register a new Group as a sub-group of current Group. More...
|
|
template<typename T = Group> |
T & | registerGroup (string const &name) |
| Register a new Group as a sub-group of current Group. More...
|
|
template<typename T = Group> |
T & | registerGroup (subGroupMap::KeyIndex const &keyIndex) |
| Register a new Group as a sub-group of current Group. More...
|
|
template<typename T = Group, typename TBASE = Group> |
T & | registerGroup (string const &name, string const &catalogName) |
| Register a new Group as a sub-group of current Group. More...
|
|
void | deregisterGroup (string const &name) |
| Removes a child group from this group. More...
|
|
template<typename T = Group, typename KEY = void> |
T * | getGroupPointer (KEY const &key) |
| Return a pointer to a sub-group of the current Group. More...
|
|
template<typename T = Group, typename KEY = void> |
T const * | getGroupPointer (KEY const &key) const |
| Return a pointer to a sub-group of the current Group. More...
|
|
template<typename T = Group, typename KEY = void> |
T & | getGroup (KEY const &key) |
| Return a reference to a sub-group of the current Group. More...
|
|
template<typename T = Group, typename KEY = void> |
T const & | getGroup (KEY const &key) const |
| Return a reference to a sub-group of the current Group. More...
|
|
template<typename T = Group> |
T & | getGroupByPath (string const &path) |
| Retrieve a group from the hierarchy using a path. More...
|
|
template<typename T = Group> |
T const & | getGroupByPath (string const &path) const |
| Retrieve a group from the hierarchy using a path. More...
|
|
subGroupMap & | getSubGroups () |
| Get the subgroups object. More...
|
|
subGroupMap const & | getSubGroups () const |
| Get the subgroups object. More...
|
|
localIndex | numSubGroups () const |
| return the number of sub groups in this Group More...
|
|
std::vector< string > | getSubGroupsNames () const |
|
template<typename T = Group> |
bool | hasGroup (string const &name) const |
| Check whether a sub-group exists. More...
|
|
template<typename T > |
bool | hasSubGroupOfType () const |
| Check whether a sub-group exists by type. More...
|
|
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LAMBDA > |
void | forSubGroups (LAMBDA &&lambda) |
| Apply the given functor to subgroups that can be casted to one of specified types. More...
|
|
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LAMBDA > |
void | forSubGroups (LAMBDA &&lambda) const |
| Apply the given functor to subgroups that can be casted to one of specified types. More...
|
|
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LAMBDA > |
void | forSubGroupsIndex (LAMBDA &&lambda) |
| Apply the given functor to subgroups that can be casted to one of specified types. More...
|
|
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LAMBDA > |
void | forSubGroupsIndex (LAMBDA &&lambda) const |
| Apply the given functor to subgroups that can be casted to one of specified types. More...
|
|
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LOOKUP_CONTAINER , typename LAMBDA > |
void | forSubGroups (LOOKUP_CONTAINER const &subGroupKeys, LAMBDA &&lambda) |
| Apply the given functor to subgroups that can be casted to one of specified types. More...
|
|
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LOOKUP_CONTAINER , typename LAMBDA > |
void | forSubGroups (LOOKUP_CONTAINER const &subGroupKeys, LAMBDA &&lambda) const |
| Apply the given functor to subgroups that can be casted to one of specified types. More...
|
|
template<typename LAMBDA > |
void | forWrappers (LAMBDA &&lambda) |
| Apply the given functor to wrappers. More...
|
|
template<typename LAMBDA > |
void | forWrappers (LAMBDA &&lambda) const |
| Apply the given functor to wrappers. More...
|
|
template<typename TYPE , typename ... TYPES, typename LAMBDA > |
void | forWrappers (LAMBDA &&lambda) |
| Apply the given functor to wrappers that can be cast to one of specified types. More...
|
|
template<typename TYPE , typename ... TYPES, typename LAMBDA > |
void | forWrappers (LAMBDA &&lambda) const |
| Apply the given functor to wrappers that can be cast to one of specified types. More...
|
|
virtual void | initialize_postMeshGeneration () |
| initialization post generation of the mesh.
|
|
void | initialize () |
| Run initialization functions on this and all subgroups. More...
|
|
virtual void | initializationOrder (string_array &order) |
| Sets the initialization order for sub-Groups. More...
|
|
void | initializePostInitialConditions () |
| Initialization routine to be called after calling ApplyInitialConditions(). More...
|
|
void | postRestartInitializationRecursive () |
| Initialization routine to be called after calling reading a restart file. More...
|
|
void | processInputFileRecursive (xmlWrapper::xmlDocument &xmlDocument, xmlWrapper::xmlNode &targetNode) |
| Recursively read values using ProcessInputFile() from the input file and put them into the wrapped values for this group. Also add the includes content to the xmlDocument when Include nodes are encountered. More...
|
|
void | processInputFileRecursive (xmlWrapper::xmlDocument &xmlDocument, xmlWrapper::xmlNode &targetNode, xmlWrapper::xmlNodePos const &nodePos) |
| Same as processInputFileRecursive(xmlWrapper::xmlDocument &, xmlWrapper::xmlNode &) but allow to reuse an existing xmlNodePos. More...
|
|
void | postInputInitializationRecursive () |
| Recursively call postInputInitialization() to apply post processing after reading input values.
|
|
template<typename T , typename TBASE = T> |
Wrapper< TBASE > & | registerWrapper (string const &name, wrapperMap::KeyIndex::index_type *const rkey=nullptr) |
| Create and register a Wrapper around a new object. More...
|
|
template<typename T , typename TBASE = T> |
Wrapper< TBASE > & | registerWrapper (Group::wrapperMap::KeyIndex const &viewKey) |
| Create and register a Wrapper around a new object. More...
|
|
template<typename T > |
Wrapper< T > & | registerWrapper (string const &name, std::unique_ptr< T > newObject) |
| Register a Wrapper around a given object and take ownership. More...
|
|
template<typename T > |
Wrapper< T > & | registerWrapper (string const &name, T *newObject) |
| Register a Wrapper around an existing object, does not take ownership of the object. More...
|
|
WrapperBase & | registerWrapper (std::unique_ptr< WrapperBase > wrapper) |
| Register and take ownership of an existing Wrapper. More...
|
|
void | deregisterWrapper (string const &name) |
| Removes a Wrapper from this group. More...
|
|
void | generateDataStructureSkeleton (integer const level) |
| Build a complete datastructure for schema generation. More...
|
|
virtual void | setSchemaDeviations (xmlWrapper::xmlNode schemaRoot, xmlWrapper::xmlNode schemaParent, integer documentationType) |
| Inform the schema generator of any deviations between the xml and GEOS data structures. More...
|
|
virtual void | registerDataOnMeshRecursive (Group &meshBodies) |
| Calls RegisterDataOnMesh() recursively. More...
|
|
virtual void | registerDataOnMesh (Group &meshBodies) |
| Register data on mesh entities. More...
|
|
virtual localIndex | packSize (string_array const &wrapperNames, integer const recursive, bool onDevice, parallelDeviceEvents &events) const |
| Get the size required to pack a list of wrappers. More...
|
|
virtual localIndex | packSize (string_array const &wrapperNames, arrayView1d< localIndex const > const &packList, integer const recursive, bool onDevice, parallelDeviceEvents &events) const |
| Get the size required to pack a list of indices within a list of wrappers. More...
|
|
localIndex | packSize (arrayView1d< localIndex const > const &packList, integer const recursive, bool onDevice, parallelDeviceEvents &events) const |
| Get the size required to pack a list of indices for all registered wrappers. More...
|
|
virtual localIndex | pack (buffer_unit_type *&buffer, string_array const &wrapperNames, integer const recursive, bool onDevice, parallelDeviceEvents &events) const |
| Pack a list of wrappers to a buffer. More...
|
|
virtual localIndex | pack (buffer_unit_type *&buffer, string_array const &wrapperNames, arrayView1d< localIndex const > const &packList, integer const recursive, bool onDevice, parallelDeviceEvents &events) const |
| Pack a list of indices within a list of wrappers. More...
|
|
localIndex | pack (buffer_unit_type *&buffer, arrayView1d< localIndex const > const &packList, integer const recursive, bool onDevice, parallelDeviceEvents &events) const |
| Pack a list of indices for all registered wrappers. More...
|
|
virtual localIndex | unpack (buffer_unit_type const *&buffer, arrayView1d< localIndex > &packList, integer const recursive, bool onDevice, parallelDeviceEvents &events, MPI_Op op=MPI_REPLACE) |
| Unpack a buffer. More...
|
|
template<typename KEY > |
WrapperBase const & | getWrapperBase (KEY const &key) const |
| Return a reference to a WrapperBase stored in this group. More...
|
|
template<typename KEY > |
WrapperBase & | getWrapperBase (KEY const &key) |
| Return a reference to a WrapperBase stored in this group. More...
|
|
indexType | getWrapperIndex (string const &name) const |
|
wrapperMap const & | wrappers () const |
| Get access to the internal wrapper storage. More...
|
|
wrapperMap & | wrappers () |
| Get access to the internal wrapper storage. More...
|
|
indexType | numWrappers () const |
| Return the number of wrappers. More...
|
|
std::vector< string > | getWrappersNames () const |
|
template<typename LOOKUP_TYPE > |
bool | hasWrapper (LOOKUP_TYPE const &lookup) const |
| Check if a wrapper exists. More...
|
|
template<typename T , typename LOOKUP_TYPE > |
Wrapper< T > const & | getWrapper (LOOKUP_TYPE const &index) const |
| Retrieve a Wrapper stored in this group. More...
|
|
template<typename T , typename LOOKUP_TYPE > |
Wrapper< T > & | getWrapper (LOOKUP_TYPE const &index) |
| Retrieve a Wrapper stored in this group. More...
|
|
template<typename T , typename LOOKUP_TYPE > |
Wrapper< T > const * | getWrapperPointer (LOOKUP_TYPE const &index) const |
| Retrieve a Wrapper stored in this group. More...
|
|
template<typename T , typename LOOKUP_TYPE > |
Wrapper< T > * | getWrapperPointer (LOOKUP_TYPE const &index) |
| Retrieve a Wrapper stored in this group. More...
|
|
template<typename T , typename LOOKUP_TYPE > |
GEOS_DECLTYPE_AUTO_RETURN | getReference (LOOKUP_TYPE const &lookup) const |
| Look up a wrapper and get reference to wrapped object. More...
|
|
template<typename T , typename LOOKUP_TYPE > |
T & | getReference (LOOKUP_TYPE const &lookup) |
| Look up a wrapper and get reference to wrapped object. More...
|
|
virtual void | resize (localIndex const newSize) |
| Resize the group and all contained wrappers that resize with parent. More...
|
|
virtual void | reserve (indexType const newsize) |
| Set the new capacity and reserve it in all wrappers that resize with parent. More...
|
|
localIndex | capacity () const |
| Get the "capacity" of the group, which determines the capacity of resizable wrappers. More...
|
|
localIndex | size () const |
| Get the "size" of the group, which determines the number of elements in resizable wrappers. More...
|
|
string const & | getName () const |
| Get group name. More...
|
|
string | getPath () const |
| Return the path of this Group in the data repository. Starts with '/' followed by the hierarchy of the children of the "Problem" in which the Group is. More...
|
|
DataContext const & | getDataContext () const |
|
template<typename KEY > |
DataContext const & | getWrapperDataContext (KEY key) const |
|
Group & | getParent () |
| Access the group's parent. More...
|
|
Group const & | getParent () const |
| Access the group's parent. More...
|
|
bool | hasParent () const |
|
localIndex | getIndexInParent () const |
| Get the group's index within its parent group. More...
|
|
localIndex | getSubGroupIndex (keyType const &key) const |
| Get the index of a sub-Group within this group. More...
|
|
int | sizedFromParent () const |
| Check whether this Group is resized when its parent is resized. More...
|
|
Group & | setSizedFromParent (int val) |
| Set whether this wrapper is resized when its parent is resized. More...
|
|
RestartFlags | getRestartFlags () const |
| Get flags that control restart output of this group. More...
|
|
void | setRestartFlags (RestartFlags flags) |
| Set flags that control restart output of this group. More...
|
|
InputFlags | getInputFlags () const |
| Get input flags for schema generation. More...
|
|
void | setInputFlags (InputFlags flags) |
| Set input flags for schema generation. More...
|
|
conduit::Node & | getConduitNode () |
| Return the Conduit node object associated with this group. More...
|
|
conduit::Node const & | getConduitNode () const |
| Return the Conduit node object associated with this group. More...
|
|
void | prepareToWrite () |
| Register the group and its wrappers with Conduit.
|
|
void | finishWriting () |
| Write the group and its wrappers into Conduit.
|
|
void | loadFromConduit () |
| Read the group and its wrappers from Conduit.
|
|
void | enableLogLevelInput () |
|
void | setLogLevel (integer const logLevel) |
| Set verbosity level. More...
|
|
integer | getLogLevel () const |
|