GEOSX
|
#include <DirichletBoundaryCondition.hpp>
Public Member Functions | |
DirichletBoundaryCondition (string const &name, dataRepository::Group *const parent) | |
Constructor. More... | |
DirichletBoundaryCondition ()=delete | |
destructor | |
virtual | ~DirichletBoundaryCondition () |
destructor | |
virtual const string | getCatalogName () const |
return the catalog name More... | |
Public Member Functions inherited from geosx::FieldSpecificationBase | |
FieldSpecificationBase (string const &name, dataRepository::Group *parent) | |
constructor More... | |
virtual | ~FieldSpecificationBase () override |
template<typename FIELD_OP , typename POLICY , typename T , int N, int USD> | |
void | ApplyFieldValueKernel (ArrayView< T, N, USD > const &field, SortedArrayView< localIndex const > const &targetSet, real64 const time, Group *dataGroup) const |
template<typename FIELD_OP , typename POLICY = parallelHostPolicy> | |
void | ApplyFieldValue (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group *dataGroup, string const &fieldname) const |
template<typename FIELD_OP , typename LAI > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, string const &fieldName, string const &dofMapName, integer const &dofDim, typename LAI::ParallelMatrix &matrix, typename LAI::ParallelVector &rhs) const |
Function to apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename LAI , typename LAMBDA > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, integer const &dofDim, typename LAI::ParallelMatrix &matrix, typename LAI::ParallelVector &rhs, LAMBDA &&lambda) const |
Function to apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename LAI , typename LAMBDA > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, real64 const dt, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, integer const &dofDim, typename LAI::ParallelMatrix &matrix, typename LAI::ParallelVector &rhs, LAMBDA &&lambda) const |
Function to apply a boundary condition to a system of equations. More... | |
template<typename LAI > | |
void | ZeroSystemRowsForBoundaryCondition (SortedArrayView< localIndex const > const &targetSet, arrayView1d< globalIndex const > const &dofMap, typename LAI::ParallelMatrix &matrix) const |
Zero matrix rows to apply boundary conditions. More... | |
template<typename FIELD_OP , typename POLICY , typename T , int NDIM, int USD> | |
void | ApplyBoundaryConditionToSystemKernel (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, globalIndex const dofRankOffset, CRSMatrixView< real64, globalIndex const > const &matrix, arrayView1d< real64 > const &rhs, ArrayView< T const, NDIM, USD > const &fieldView) const |
Apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename POLICY > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, string const &fieldName, string const &dofMapName, globalIndex const dofRankOffset, CRSMatrixView< real64, globalIndex const > const &matrix, arrayView1d< real64 > const &rhs) const |
Apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename POLICY , typename LAMBDA > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, globalIndex const dofRankOffset, CRSMatrixView< real64, globalIndex const > const &matrix, arrayView1d< real64 > const &rhs, LAMBDA &&lambda) const |
Apply a boundary condition to a system of equations. More... | |
template<typename FIELD_OP , typename POLICY , typename LAMBDA > | |
void | ApplyBoundaryConditionToSystem (SortedArrayView< localIndex const > const &targetSet, real64 const time, real64 const dt, dataRepository::Group const *const dataGroup, arrayView1d< globalIndex const > const &dofMap, globalIndex const dofRankOffset, CRSMatrixView< real64, globalIndex const > const &matrix, arrayView1d< real64 > const &rhs, LAMBDA &&lambda) const |
Apply a boundary condition to a system of equations. More... | |
template<typename POLICY > | |
void | ZeroSystemRowsForBoundaryCondition (SortedArrayView< localIndex const > const &targetSet, arrayView1d< globalIndex const > const &dofMap, CRSMatrixView< real64, globalIndex const > const &matrix) const |
Function to zero matrix rows to apply boundary conditions. More... | |
string const & | GetFunctionName () const |
virtual const string & | GetObjectPath () const |
virtual const string & | GetFieldName () const |
virtual int | GetComponent () const |
virtual const R1Tensor & | GetDirection (real64 time) |
real64 | GetStartTime () const |
real64 | GetEndTime () const |
string_array const & | GetSetNames () const |
int | initialCondition () const |
real64 | GetScale () const |
void | SetFieldName (string const &fieldName) |
void | SetObjectPath (string const &objectPath) |
void | SetScale (real64 const &scale) |
void | InitialCondition (bool isInitialCondition) |
void | AddSetName (string const &setName) |
Public Member Functions inherited from geosx::dataRepository::Group | |
Group (std::string const &name, Group *const parent) | |
Constructor. More... | |
Group (Group &&source) | |
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 (Group const &&)=delete | |
Deleted move constructor. | |
Group & | operator= (Group const &)=delete |
Deleted copy assignment operator. More... | |
Group & | operator= (Group &&)=delete |
Deleted move assignment operator. More... | |
virtual const std::type_info & | get_typeid () const |
Get typeid for current group. More... | |
bool | CheckTypeID (std::type_info const &typeToCheck) const |
Check a type_info against the type_info of this Group. More... | |
void | PrintDataHierarchy (integer indent=0) |
Prints the data hierarchy recursively. More... | |
string | dumpInputOptions () const |
template<typename T = Group> | |
T * | RegisterGroup (std::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 (std::string const &name, T *newObject) |
Register a new Group as a sub-group of current Group. More... | |
template<typename T = Group> | |
T * | RegisterGroup (std::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 (std::string const &name, std::string const &catalogName) |
Register a new Group as a sub-group of current Group. More... | |
void | deregisterGroup (std::string const &name) |
Removes a child group from this group. More... | |
virtual Group * | CreateChild (string const &childKey, string const &childName) |
Creates a new sub-Group using the ObjectCatalog functionality. More... | |
template<typename T = Group> | |
T * | GetGroup (localIndex index) |
Retrieve a sub-group from the current Group using an index. More... | |
template<typename T = Group> | |
T const * | GetGroup (localIndex index) const |
Retrieve a sub-group from the current Group using an index. More... | |
template<typename T = Group> | |
T * | GetGroup (string const &name) |
Retrieve a sub-group from the current Group using a string. More... | |
template<typename T = Group> | |
T const * | GetGroup (string const &name) const |
Retrieve a sub-group from the current Group using a string. More... | |
template<typename T = Group> | |
T & | getGroupReference (string const &key) |
template<typename T = Group> | |
T const & | getGroupReference (string const &key) const |
template<typename T = Group> | |
T & | GetGroupReference (subGroupMap::KeyIndex const &key) |
template<typename T = Group> | |
T const & | GetGroupReference (subGroupMap::KeyIndex const &key) const |
template<typename T = Group> | |
T * | GetGroup (subGroupMap::KeyIndex const &key) |
Retrieve a sub-group from the current Group using a KeyIndexT. More... | |
template<typename T = Group> | |
T const * | GetGroup (subGroupMap::KeyIndex const &key) const |
Retrieve a sub-group from the current Group using a KeyIndexT. 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... | |
bool | hasGroup (std::string const &name) const |
Check whether a sub-group exists. 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 LOOKUP_CONTAINER , typename LAMBDA > | |
void | forSubGroups (LOOKUP_CONTAINER const &subGroupKeys, LAMBDA lambda) |
template<typename GROUPTYPE = Group, typename ... GROUPTYPES, typename LOOKUP_CONTAINER , typename LAMBDA > | |
void | forSubGroups (LOOKUP_CONTAINER const &subGroupKeys, LAMBDA lambda) const |
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... | |
void | Initialize (Group *const group) |
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 (Group *const group) |
Initialization routine to be called after calling ApplyInitialConditions(). More... | |
void | postRestartInitializationRecursive (Group *const domain) |
Initialization routine to be called after calling reading a restart file. More... | |
void | ProcessInputFileRecursive (xmlWrapper::xmlNode &targetNode) |
Recursively read values using ProcessInputFile() from the input file and put them into the wrapped values for this group. More... | |
void | PostProcessInputRecursive () |
Recursively call PostProcessInput() to apply post processing after reading input values. | |
template<typename T , typename TBASE = T> | |
Wrapper< TBASE > * | registerWrapper (std::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) |
template<typename T > | |
Wrapper< T > * | registerWrapper (std::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 (std::string const &name, T *newObject) |
Register a Wrapper around an existing object, does not take ownership of the object. More... | |
WrapperBase * | registerWrapper (string const &name, 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 | ExpandObjectCatalogs () |
Expand any catalogs in the data structure. | |
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 *const meshBodies) |
Calls RegisterDataOnMesh() recursively. More... | |
virtual void | RegisterDataOnMesh (Group *const meshBodies) |
Register data on mesh entities. More... | |
virtual localIndex | PackSize (string_array const &wrapperNames, integer const recursive, bool on_device=false) 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 on_device=false) const |
Get the size required to pack a list of indices within a list of wrappers. More... | |
virtual localIndex | Pack (buffer_unit_type *&buffer, string_array const &wrapperNames, integer const recursive, bool on_device=false) 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 on_device=false) const |
Pack a list of indices within a list of wrappers. More... | |
virtual localIndex | Unpack (buffer_unit_type const *&buffer, arrayView1d< localIndex > &packList, integer const recursive, bool on_device=false) |
Unpack a buffer. More... | |
WrapperBase const * | getWrapperBase (indexType const index) const |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase * | getWrapperBase (indexType const index) |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase const * | getWrapperBase (std::string const &name) const |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase * | getWrapperBase (std::string const &name) |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase const * | getWrapperBase (wrapperMap::KeyIndex const &keyIndex) const |
Retrieve a WrapperBase stored in this group. More... | |
WrapperBase * | getWrapperBase (wrapperMap::KeyIndex const &keyIndex) |
Retrieve a WrapperBase stored in this group. More... | |
indexType | getWrapperIndex (std::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... | |
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 > | |
Wrapper< T > const * | getWrapper (char const *const key) const |
Retrieve a Wrapper stored in this group. More... | |
template<typename T > | |
Wrapper< T > * | getWrapper (char const *const key) |
Retrieve a Wrapper stored in this group. More... | |
template<typename T , typename LOOKUP_TYPE > | |
GEOSX_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... | |
template<typename T > | |
GEOSX_DECLTYPE_AUTO_RETURN | getReference (char const *const name) const |
template<typename T > | |
T & | getReference (char const *const name) |
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... | |
const string | getName () const |
Get group name. More... | |
Group * | getParent () |
Access the group's parent. More... | |
Group const * | getParent () const |
Access the group's parent. More... | |
localIndex | getIndexInParent () const |
Get the group's index withing its parent group. More... | |
integer | 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 () |
Get 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 () |
Enable verbosity input for object. | |
integer | getLogLevel () const |
template<typename T > | |
T | group_cast () |
Downcast this Group. More... | |
template<typename T > | |
T | group_cast () const |
Downcast this Group. More... | |
Static Public Member Functions | |
static string | CatalogName () |
Static Factory Catalog Functions. More... | |
Static Public Member Functions inherited from geosx::FieldSpecificationBase | |
static CatalogInterface::CatalogType & | GetCatalog () |
static function to return static catalog. More... | |
static string | CatalogName () |
Static Factory Catalog Functions. More... | |
Static Public Member Functions inherited from geosx::dataRepository::Group | |
template<typename T0 , typename T1 , typename ... CASTTYPES, typename CONTAINERTYPE , typename LAMBDA > | |
static bool | applyLambdaToContainer (CONTAINERTYPE &container, LAMBDA &&lambda) |
Apply a given functor to a container if the container can be cast to one of the specified types. More... | |
static CatalogInterface::CatalogType & | GetCatalog () |
Get the singleton catalog for this class. More... | |
template<typename T > | |
static T | group_cast (Group *group) |
Downcast a Group *. More... | |
template<typename T > | |
static T | group_cast (Group const *group) |
Downcast a Group const *. More... | |
Additional Inherited Members | |
Public Types inherited from geosx::FieldSpecificationBase | |
using | CatalogInterface = dataRepository::CatalogInterface< FieldSpecificationBase, string const &, dataRepository::Group *const > |
Public Types inherited from geosx::dataRepository::Group | |
using | subGroupMap = MappedVector< Group, Group *, keyType, indexType > |
The template specialization of MappedVector to use for the collection of sub-Group objects. | |
using | wrapperMap = MappedVector< WrapperBase, WrapperBase *, keyType, indexType > |
The template specialization of MappedVector to use for the collection wrappers objects. | |
using | CatalogInterface = dataRepository::CatalogInterface< Group, std::string const &, Group *const > |
Type alias for catalog interface used by this class. See CatalogInterface. | |
Public Attributes inherited from geosx::FieldSpecificationBase | |
struct geosx::FieldSpecificationBase::viewKeyStruct | viewKeys |
viewKeys | |
struct geosx::FieldSpecificationBase::groupKeyStruct | groupKeys |
groupKeys | |
Protected Member Functions inherited from geosx::FieldSpecificationBase | |
void | PostProcessInput () override final |
Protected Member Functions inherited from geosx::dataRepository::Group | |
virtual void | InitializePreSubGroups (Group *const group) |
Called by Initialize() prior to initializing sub-Groups. More... | |
virtual void | InitializePostSubGroups (Group *const group) |
Called by Initialize() after to initializing sub-Groups. More... | |
virtual void | InitializePostInitialConditions_PreSubGroups (Group *const group) |
Called by InitializePostInitialConditions() prior to initializing sub-Groups. More... | |
virtual void | InitializePostInitialConditions_PostSubGroups (Group *const group) |
Called by InitializePostInitialConditions() after to initializing sub-Groups. More... | |
virtual void | postRestartInitialization (Group *const domain) |
Performs initialization required after reading from a restart file. More... | |
Protected Attributes inherited from geosx::FieldSpecificationBase | |
bool | m_normalizeBySetSize |
The flag used to decide if the BC value is normalized by the size of the set on which it is applied. | |
A class to manage Dirichlet boundary conditions
Definition at line 31 of file DirichletBoundaryCondition.hpp.
geosx::DirichletBoundaryCondition::DirichletBoundaryCondition | ( | string const & | name, |
dataRepository::Group *const | parent | ||
) |
Constructor.
[in] | name | the name of this object manager |
[in] | parent | the parent Group |
|
inlinestatic |
Static Factory Catalog Functions.
Definition at line 51 of file DirichletBoundaryCondition.hpp.
|
inlinevirtual |
return the catalog name
Reimplemented from geosx::FieldSpecificationBase.
Definition at line 53 of file DirichletBoundaryCondition.hpp.