37 #ifndef NEKTAR_LIBS_MULTIREGIONS_DISCONTFIELD2D_H 
   38 #define NEKTAR_LIBS_MULTIREGIONS_DISCONTFIELD2D_H 
   50     namespace MultiRegions
 
   60                 const std::string                          &variable,
 
   61                 const bool SetUpJustDG            = 
true,
 
   62                 const bool DeclareCoeffPhysArrays = 
true);
 
   65                 const DisContField2D                     &In,
 
   67                 const std::string                        &variable,
 
   68                 const bool SetUpJustDG            = 
false,
 
   69                 const bool DeclareCoeffPhysArrays = 
true);
 
   72                 const DisContField2D &In,
 
   73                 const bool DeclareCoeffPhysArrays = 
true);
 
  123                 ASSERTL1(dir < m_base.num_elements(), 
"dir is larger than m_numbases");
 
  189             void SetUpDG(
const std::string  = 
"DefaultVar");
 
  194                 const std::string                        &variable,
 
  195                 const bool DeclareCoeffPhysArrays = 
true);
 
  198                 const std::string                        &variable);
 
  242                             boost::shared_ptr<ExpList> &result);
 
  280                 return m_bndCondExpansions[i];
 
  291                 const std::string varName = 
"",
 
  302 #endif // MULTIERGIONS_DISCONTFIELD2D_H 
boost::shared_ptr< AssemblyMapDG > AssemblyMapDGSharedPtr
 
virtual AssemblyMapDGSharedPtr & v_GetTraceMap()
 
virtual void v_FillBndCondFromField()
 
virtual void v_ExtractTracePhys(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
This method extracts the trace (edges in 2D) from the field inarray and puts the values in outarray...
 
void FindPeriodicEdges(const SpatialDomains::BoundaryConditions &bcs, const std::string &variable)
Determine the periodic edges and vertices for the given graph. 
 
virtual void v_AddTraceIntegral(const Array< OneD, const NekDouble > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray)
 
static ExpListSharedPtr NullExpListSharedPtr
 
virtual void v_GetPeriodicEntities(PeriodicMap &periodicVerts, PeriodicMap &periodicEdges, PeriodicMap &periodicFaces)
Obtain a copy of the periodic edges and vertices for this field. 
 
Array< OneD, Array< OneD, unsigned int > > m_mapEdgeToElmn
 
const Array< OneD, const LibUtilities::BasisSharedPtr > & GetBase() const 
This function gets the shared point to basis. 
 
LibUtilities::BasisType GetBasisType(const int dir) const 
This function returns the type of basis used in the dir direction. 
 
std::vector< int > m_periodicFwdCopy
A vector indicating degress of freedom which need to be copied from forwards to backwards space in ca...
 
Array< OneD, Array< OneD, unsigned int > > m_signEdgeToElmn
 
virtual const Array< OneD, const SpatialDomains::BoundaryConditionShPtr > & v_GetBndConditions()
 
#define MULTI_REGIONS_EXPORT
 
GlobalLinSysSharedPtr GetGlobalBndLinSys(const GlobalLinSysKey &mkey)
 
virtual void v_GetBndElmtExpansion(int i, boost::shared_ptr< ExpList > &result)
 
PeriodicMap m_periodicEdges
A map which identifies pairs of periodic edges. 
 
std::map< ConstFactorType, NekDouble > ConstFactorMap
 
PeriodicMap m_periodicVerts
A map which identifies groups of periodic vertices. 
 
virtual void v_AddFwdBwdTraceIntegral(const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &outarray)
Add trace contributions into elemental coefficient spaces. 
 
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
 
virtual std::map< int, RobinBCInfoSharedPtr > v_GetRobinBCInfo()
Search through the edge expansions and identify which ones have Robin/Mixed type boundary conditions...
 
boost::shared_ptr< LocTraceToTraceMap > LocTraceToTraceMapSharedPtr
 
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)
 
virtual Array< OneD, SpatialDomains::BoundaryConditionShPtr > & v_UpdateBndConditions()
 
Array< OneD, LibUtilities::BasisSharedPtr > m_base
 
bool SameTypeOfBoundaryConditions(const DisContField2D &In)
 
DisContField2D()
Default constructor. 
 
LocTraceToTraceMapSharedPtr m_locTraceToTraceMap
 
Array< OneD, MultiRegions::ExpListSharedPtr > m_bndCondExpansions
An object which contains the discretised boundary conditions. 
 
Array< OneD, StdRegions::Orientation > m_edgedir
 
std::vector< int > m_periodicBwdCopy
 
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)
 
virtual const Array< OneD, const MultiRegions::ExpListSharedPtr > & v_GetBndCondExpansions()
 
virtual ~DisContField2D()
Default destructor. 
 
std::vector< bool > m_leftAdjacentEdges
 
std::map< StdRegions::VarCoeffType, Array< OneD, NekDouble > > VarCoeffMap
 
virtual MultiRegions::ExpListSharedPtr & v_UpdateBndCondExpansion(int i)
 
std::set< int > m_boundaryEdges
A set storing the global IDs of any boundary edges. 
 
virtual ExpListSharedPtr & v_GetTrace()
 
boost::shared_ptr< ExpList > ExpListSharedPtr
Shared pointer to an ExpList object. 
 
boost::shared_ptr< DisContField2D > DisContField2DSharedPtr
 
boost::shared_ptr< GlobalLinSysMap > GlobalLinSysMapShPtr
Pointer to a GlobalLinSys/key map. 
 
Array< OneD, SpatialDomains::BoundaryConditionShPtr > m_bndConditions
An array which contains the information about the boundary condition on the different boundary region...
 
bool IsLeftAdjacentEdge(const int n, const int e)
 
std::map< int, std::vector< PeriodicEntity > > PeriodicMap
 
virtual void v_Reset()
Reset this field, so that geometry information can be updated. 
 
static const NekDouble kNekUnsetDouble
 
Describe a linear system. 
 
Describes a matrix with ordering defined by a local to global map. 
 
AssemblyMapDGSharedPtr m_traceMap
 
void SetUpDG(const std::string="DefaultVar")
Set up all DG member variables and maps. 
 
GlobalLinSysMapShPtr m_globalBndMat
 
Abstraction of a two-dimensional multi-elemental expansion which is merely a collection of local expa...
 
virtual void v_GetFwdBwdTracePhys(const Array< OneD, const NekDouble > &field, Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd)
This method extracts the "forward" and "backward" trace data from the array field and puts the data i...
 
void EvaluateHDGPostProcessing(Array< OneD, NekDouble > &outarray)
Evaluate HDG post-processing to increase polynomial order of solution. 
 
boost::shared_ptr< GlobalLinSys > GlobalLinSysSharedPtr
Pointer to a GlobalLinSys object. 
 
virtual void v_GeneralMatrixOp(const GlobalMatrixKey &gkey, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate=eLocal)
Calculates the result of the multiplication of a global matrix of type specified by mkey with a vecto...
 
void GenerateBoundaryConditionExpansion(const SpatialDomains::MeshGraphSharedPtr &graph2D, const SpatialDomains::BoundaryConditions &bcs, const std::string &variable, const bool DeclareCoeffPhysArrays=true)
This function discretises the boundary conditions by setting up a list of one-dimensional boundary ex...
 
virtual void v_GetBoundaryToElmtMap(Array< OneD, int > &ElmtID, Array< OneD, int > &EdgeID)
Set up a list of element IDs and edge IDs that link to the boundary conditions. 
 
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
 
boost::shared_ptr< MeshGraph > MeshGraphSharedPtr
 
NekDouble L2_DGDeriv(const int dir, const Array< OneD, const NekDouble > &soln)
Calculate the  error of the  derivative using the consistent DG evaluation of .