37 #ifndef NEKTAR_LIBS_MULTIREGIONS_DISCONTFIELD1D_H
38 #define NEKTAR_LIBS_MULTIREGIONS_DISCONTFIELD1D_H
50 namespace MultiRegions
66 const std::string &variable,
67 const bool SetUpJustDG =
true,
78 const std::string &variable,
79 bool SetToOneSpaceDimensions =
false,
161 const std::string variable);
166 const std::string variable);
198 const std::string variable,
208 const std::string variable,
217 const std::string variable);
236 return m_bndCondExpansions[i];
248 boost::shared_ptr<ExpList> &result,
249 const bool DeclareCoeffPhysArrays);
255 const std::string varName =
"",
267 const bool PhysSpaceForcing);
270 void SetUpDG(
const std::string &variable);
278 const std::string &variable);
285 #endif // MULTIERGIONS_DISCONTFIELD1D_H
virtual const Array< OneD, const MultiRegions::ExpListSharedPtr > & v_GetBndCondExpansions()
virtual void v_GetBndElmtExpansion(int i, boost::shared_ptr< ExpList > &result, const bool DeclareCoeffPhysArrays)
boost::shared_ptr< AssemblyMapDG > AssemblyMapDGSharedPtr
int m_numDirBndCondExpansions
The number of boundary segments on which Dirichlet boundary conditions are imposed.
virtual Array< OneD, SpatialDomains::BoundaryConditionShPtr > & v_UpdateBndConditions()
std::vector< bool > m_negatedFluxNormal
virtual void v_EvaluateBoundaryConditions(const NekDouble time=0.0, const std::string varName="", const NekDouble x2_in=NekConstants::kNekUnsetDouble, const NekDouble x3_in=NekConstants::kNekUnsetDouble)
Evaluate all boundary conditions at a given time..
virtual void v_AddTraceIntegral(const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray)
Array< OneD, SpatialDomains::BoundaryConditionShPtr > m_bndConditions
An array which contains the information about the boundary condition on the different boundary region...
virtual std::map< int, RobinBCInfoSharedPtr > v_GetRobinBCInfo()
void FindPeriodicVertices(const SpatialDomains::BoundaryConditions &bcs, const std::string variable)
Generate a associative map of periodic vertices in a mesh.
#define MULTI_REGIONS_EXPORT
SpatialDomains::BoundaryConditionsSharedPtr GetDomainBCs(const SpatialDomains::CompositeMap &domain, const SpatialDomains::BoundaryConditions &Allbcs, const std::string &variable)
std::map< ConstFactorType, NekDouble > ConstFactorMap
void SetUpDG(const std::string &variable)
void GenerateFieldBnd1D(SpatialDomains::BoundaryConditions &bcs, const std::string variable)
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
virtual void v_GetFwdBwdTracePhys(Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd)
virtual AssemblyMapDGSharedPtr & v_GetTraceMap(void)
virtual MultiRegions::ExpListSharedPtr & v_UpdateBndCondExpansion(int i)
GlobalLinSysSharedPtr GetGlobalBndLinSys(const GlobalLinSysKey &mkey)
For a given key, returns the associated global linear system.
std::vector< bool > m_leftAdjacentVerts
void SetBoundaryConditionExpansion(const SpatialDomains::MeshGraphSharedPtr &graph1D, const SpatialDomains::BoundaryConditions &bcs, const std::string variable, Array< OneD, MultiRegions::ExpListSharedPtr > &bndCondExpansions, Array< OneD, SpatialDomains::BoundaryConditionShPtr > &bndConditions)
Populates the list of boundary condition expansions.
virtual void v_ExtractTracePhys(Array< OneD, NekDouble > &outarray)
virtual const Array< OneD, const SpatialDomains::BoundaryConditionShPtr > & v_GetBndConditions()
DisContField1D()
Default constructor.
std::map< StdRegions::VarCoeffType, Array< OneD, NekDouble > > VarCoeffMap
virtual ~DisContField1D()
Destructor.
boost::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object.
boost::shared_ptr< GlobalLinSysMap > GlobalLinSysMapShPtr
Pointer to a GlobalLinSys/key map.
This class is the abstraction of a global discontinuous two- dimensional spectral/hp element expansio...
void GenerateBoundaryConditionExpansion(const SpatialDomains::MeshGraphSharedPtr &graph1D, const SpatialDomains::BoundaryConditions &bcs, const std::string variable)
Discretises the boundary conditions.
AssemblyMapDGSharedPtr m_traceMap
Local to global DG mapping for trace space.
boost::shared_ptr< DisContField1D > DisContField1DSharedPtr
std::map< int, std::vector< PeriodicEntity > > PeriodicMap
static const NekDouble kNekUnsetDouble
virtual void v_HelmSolve(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const FlagList &flags, const StdRegions::ConstFactorMap &factors, const StdRegions::VarCoeffMap &varcoeff, const Array< OneD, const NekDouble > &dirForcing, const bool PhysSpaceForcing)
Solve the Helmholtz equation.
Describe a linear system.
std::map< int, Composite > CompositeMap
virtual ExpListSharedPtr & v_GetTrace()
std::vector< int > m_periodicBwdCopy
bool IsLeftAdjacentVertex(const int n, const int e)
GlobalLinSysMapShPtr m_globalBndMat
Global boundary matrix.
std::vector< bool > & GetNegatedFluxNormal(void)
Array< OneD, MultiRegions::ExpListSharedPtr > m_bndCondExpansions
Discretised boundary conditions.
virtual void v_Reset()
Reset this field, so that geometry information can be updated.
std::set< int > m_boundaryVerts
A set storing the global IDs of any boundary edges.
boost::shared_ptr< BoundaryConditions > BoundaryConditionsSharedPtr
This class is the abstraction of a one-dimensional multi-elemental expansions which is merely a colle...
ExpListSharedPtr m_trace
Trace space storage for points between elements.
std::vector< int > m_periodicFwdCopy
A vector indicating degress of freedom which need to be copied from forwards to backwards space in ca...
boost::shared_ptr< GlobalLinSys > GlobalLinSysSharedPtr
Pointer to a GlobalLinSys object.
boost::shared_ptr< BoundaryConditionBase > BoundaryConditionShPtr
PeriodicMap m_periodicVerts
A map which identifies groups of periodic vertices.
boost::shared_ptr< MeshGraph > MeshGraphSharedPtr
void SetMultiDomainBoundaryConditionExpansion(const SpatialDomains::MeshGraphSharedPtr &graph1D, const SpatialDomains::BoundaryConditions &bcs, const std::string variable, Array< OneD, MultiRegions::ExpListSharedPtr > &bndCondExpansions, Array< OneD, SpatialDomains::BoundaryConditionShPtr > &bndConditions, int subdomain)
Populates the list of boundary condition expansions in multidomain case.
virtual void v_GetBoundaryToElmtMap(Array< OneD, int > &ElmtID, Array< OneD, int > &VertID)