36#ifndef NEKTAR_SPATIALDOMAINS_BOUNDARYCONDITIONS_H
37#define NEKTAR_SPATIALDOMAINS_BOUNDARYCONDITIONS_H
50namespace SpatialDomains
65 const std::string &userDefined = std::string(
"NoUserDefined"),
121 const std::string &eqn,
122 const std::string &userDefined = std::string(
"NoUserDefined"),
123 const std::string &filename = std::string(
""),
140 const std::string &eqn,
141 const std::string &userDefined = std::string(
"NoUserDefined"),
142 const std::string &filename = std::string(
""),
158 const std::string &a,
const std::string &b,
159 const std::string &userDefined = std::string(
"NoUserDefined"),
160 const std::string &filename = std::string(
""),
178 const unsigned int n,
179 const std::string &userDefined = std::string(
"NoUserDefined"),
194 const std::string &eqn,
195 const std::string &userDefined = std::string(
"NoUserDefined"),
196 const std::string &filename = std::string(
""),
283 void Read(TiXmlElement *conditions);
#define SPATIAL_DOMAINS_EXPORT
const std::map< int, std::string > & GetBoundaryLabels(void) const
std::map< int, LibUtilities::CommSharedPtr > m_boundaryCommunicators
BoundaryRegionCollection m_boundaryRegions
std::map< int, LibUtilities::CommSharedPtr > GetBoundaryCommunicators() const
void ReadBoundaryConditions(TiXmlElement *conditions)
void CreateBoundaryComms()
void Read(TiXmlElement *conditions)
Read segments (and general MeshGraph) given TiXmlDocument.
void AddBoundaryRegions(const int regionID, BoundaryRegionShPtr &bRegion)
BoundaryConditions(void)=default
LibUtilities::SessionReaderSharedPtr m_session
const std::string GetVariable(unsigned int indx)
BoundaryConditionCollection m_boundaryConditions
~BoundaryConditions(void)=default
const BoundaryRegionCollection & GetBoundaryRegions(void) const
std::map< int, std::string > m_boundaryLabels
MeshGraphSharedPtr m_meshGraph
The mesh graph to use for referencing geometry info.
void ReadBoundaryRegions(TiXmlElement *regions)
const BoundaryConditionCollection & GetBoundaryConditions(void) const
void AddBoundaryConditions(const int regionID, BoundaryConditionMapShPtr &bCond)
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
std::map< int, CompositeSharedPtr > BoundaryRegion
std::map< int, BoundaryRegionShPtr > BoundaryRegionCollection
std::shared_ptr< BoundaryRegion > BoundaryRegionShPtr
std::shared_ptr< BoundaryConditions > BoundaryConditionsSharedPtr
std::shared_ptr< BoundaryConditionBase > BoundaryConditionShPtr
std::map< std::string, BoundaryConditionShPtr > BoundaryConditionMap
std::shared_ptr< DirichletBoundaryCondition > DirichletBCShPtr
std::map< int, BoundaryConditionMapShPtr > BoundaryConditionCollection
std::shared_ptr< const BoundaryRegion > ConstBoundaryRegionShPtr
static const Array< OneD, BoundaryConditionShPtr > NullBoundaryConditionShPtrArray
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
std::shared_ptr< NeumannBoundaryCondition > NeumannBCShPtr
std::shared_ptr< BoundaryConditionMap > BoundaryConditionMapShPtr
std::shared_ptr< RobinBoundaryCondition > RobinBCShPtr
void SetUserDefined(std::string &type)
void SetIsTimeDependent(bool value)
BoundaryConditionType GetBoundaryConditionType() const
void SetBoundaryConditionType(BoundaryConditionType boundaryType)
const std::string GetUserDefined() const
BoundaryConditionType m_boundaryConditionType
virtual ~BoundaryConditionBase()=default
std::string m_userDefined
bool IsTimeDependent(void)
LibUtilities::CommSharedPtr m_comm
BoundaryConditionBase(BoundaryConditionType type, const std::string &userDefined=std::string("NoUserDefined"), LibUtilities::CommSharedPtr comm=LibUtilities::CommSharedPtr())
LibUtilities::CommSharedPtr GetComm()
LibUtilities::Equation m_dirichletCondition
DirichletBoundaryCondition(const LibUtilities::SessionReaderSharedPtr &pSession, const std::string &eqn, const std::string &userDefined=std::string("NoUserDefined"), const std::string &filename=std::string(""), const LibUtilities::CommSharedPtr comm=LibUtilities::CommSharedPtr())
LibUtilities::Equation m_neumannCondition
NeumannBoundaryCondition(const LibUtilities::SessionReaderSharedPtr &pSession, const std::string &eqn, const std::string &userDefined=std::string("NoUserDefined"), const std::string &filename=std::string(""), const LibUtilities::CommSharedPtr comm=LibUtilities::CommSharedPtr())
NotDefinedBoundaryCondition(const LibUtilities::SessionReaderSharedPtr &pSession, const std::string &eqn, const std::string &userDefined=std::string("NoUserDefined"), const std::string &filename=std::string(""), const LibUtilities::CommSharedPtr comm=LibUtilities::CommSharedPtr())
LibUtilities::Equation m_notDefinedCondition
unsigned int m_connectedBoundaryRegion
PeriodicBoundaryCondition(const unsigned int n, const std::string &userDefined=std::string("NoUserDefined"), const LibUtilities::CommSharedPtr comm=LibUtilities::CommSharedPtr())
LibUtilities::Equation m_robinFunction
LibUtilities::Equation m_robinPrimitiveCoeff
RobinBoundaryCondition(const LibUtilities::SessionReaderSharedPtr &pSession, const std::string &a, const std::string &b, const std::string &userDefined=std::string("NoUserDefined"), const std::string &filename=std::string(""), const LibUtilities::CommSharedPtr comm=LibUtilities::CommSharedPtr())