36 #ifndef NEKTAR_LIBS_MULTIREGIONS_CONTFIELD2D_H 
   37 #define NEKTAR_LIBS_MULTIREGIONS_CONTFIELD2D_H 
   51     namespace MultiRegions
 
   67                         const std::string &variable  = 
"DefaultVar",
 
   68                         const bool DeclareCoeffPhysArrays = 
true,
 
   69                         const bool CheckIfSingularSystem = 
false);
 
   76                         const std::string &variable,
 
   77                         const bool DeclareCoeffPhysArrays = 
true,
 
   78                         const bool CheckIfSingularSystem = 
false);
 
  470                     mat->Multiply(inarray,outarray);
 
  514                     mat->Multiply(inarray,outarray);
 
  544                      "To use method must have a AssemblyMap " 
  555                 return matrixIter->second->GetNumNonZeroEntries();
 
  564 #endif // MULTIERGIONS_CONTFIELD2D_H 
virtual void v_FwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate)
Template method virtual forwarder for FwdTrans(). 
 
void LaplaceSolve(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray, const Array< OneD, Array< OneD, NekDouble > > &variablecoeffs=NullNekDoubleArrayofArray, NekDouble time=0.0, CoeffState coeffstate=eLocal)
Solves the two-dimensional Laplace equation, subject to the boundary conditions specified. 
 
virtual void v_FillBndCondFromField()
 
AssemblyMapCGSharedPtr m_locToGloMap
(A shared pointer to) the object which contains all the required information for the transformation f...
 
static Array< OneD, NekDouble > NullNekDouble1DArray
 
void FwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate=eLocal)
Performs the global forward transformation of a function , subject to the boundary conditions specifi...
 
NekOptimize::GlobalOptParamSharedPtr m_globalOptParam
 
void v_LinearAdvectionReactionSolve(const Array< OneD, Array< OneD, NekDouble > > &velocity, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const NekDouble lambda, CoeffState coeffstate=eLocal, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray)
 
const Array< OneD, const SpatialDomains::BoundaryConditionShPtr > & GetBndConditions()
Returns the boundary conditions. 
 
virtual void v_LocalToGlobal(void)
Gathers the global coefficients  from the local coefficients . 
 
virtual void v_ImposeDirichletConditions(Array< OneD, NekDouble > &outarray)
Impose the Dirichlet Boundary Conditions on outarray. 
 
GlobalLinSysSharedPtr GenGlobalLinSys(const GlobalLinSysKey &mkey)
 
void BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate=eLocal)
Performs the backward transformation of the spectral/hp element expansion. 
 
#define MULTI_REGIONS_EXPORT
 
boost::shared_ptr< ContField2D > ContField2DSharedPtr
 
std::map< ConstFactorType, NekDouble > ConstFactorMap
 
Array< OneD, NekDouble > m_coeffs
Concatenation of all local expansion coefficients. 
 
boost::shared_ptr< GlobalMatrix > GlobalMatrixSharedPtr
Shared pointer to a GlobalMatrix object. 
 
LibUtilities::NekManager< GlobalLinSysKey, GlobalLinSys > m_globalLinSysManager
A manager which collects all the global linear systems being assembled, such that they should be cons...
 
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
 
Array< OneD, MultiRegions::ExpListSharedPtr > m_bndCondExpansions
An object which contains the discretised boundary conditions. 
 
This class is the abstraction of a global continuous two- dimensional spectral/hp element expansion w...
 
void BwdTrans_IterPerExp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
This function elementally evaluates the backward transformation of the global spectral/hp element exp...
 
boost::shared_ptr< GlobalMatrixMap > GlobalMatrixMapShPtr
Shared pointer to a global matrix map. 
 
std::map< StdRegions::VarCoeffType, Array< OneD, NekDouble > > VarCoeffMap
 
void IProductWRTBase_IterPerExp(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray)
This function calculates the inner product of a function  with respect to all {local} expansion modes...
 
virtual void v_BwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate)
Template method virtual forwarder for FwdTrans(). 
 
virtual void v_SmoothField(Array< OneD, NekDouble > &field)
Template method virtual forwarded for SmoothField(). 
 
int m_ncoeffs
The total number of local degrees of freedom. m_ncoeffs . 
 
GlobalMatrixMapShPtr m_globalMat
(A shared pointer to) a list which collects all the global matrices being assembled, such that they should be constructed only once. 
 
void GlobalSolve(const GlobalLinSysKey &key, const Array< OneD, const NekDouble > &rhs, Array< OneD, NekDouble > &inout, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray)
Solves the linear system specified by the key key. 
 
GlobalMatrixSharedPtr GetGlobalMatrix(const GlobalMatrixKey &mkey)
Returns the global matrix specified by mkey. 
 
virtual ~ContField2D()
The default destructor. 
 
virtual void v_GeneralMatrixOp(const GlobalMatrixKey &gkey, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate)
Calculates the result of the multiplication of a global matrix of type specified by mkey with a vecto...
 
ContField2D()
The default constructor. 
 
virtual void v_GlobalToLocal(void)
Scatters from the global coefficients  to the local coefficients . 
 
void Assemble()
Assembles the global coefficients  from the local coefficients . 
 
Array< OneD, SpatialDomains::BoundaryConditionShPtr > m_bndConditions
An array which contains the information about the boundary condition on the different boundary region...
 
virtual const Array< OneD, const SpatialDomains::BoundaryConditionShPtr > & v_GetBndConditions()
Template method virtual forwarder for GetBndConditions(). 
 
Describe a linear system. 
 
void IProductWRTBase(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate=eLocal)
Calculates the inner product of a function  with respect to all global expansion modes ...
 
Describes a matrix with ordering defined by a local to global map. 
 
void LocalToGlobal(void)
Put the coefficients into global ordering using m_coeffs. 
 
const AssemblyMapCGSharedPtr & GetLocalToGlobalMap() const 
Returns the map from local to global level. 
 
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs typedef NekMatrix< LhsDataType, StandardMatrixTag >::iterator iterator
 
bool LocToGloMapIsDefined() const 
Returns true if a local to global map is defined. 
 
virtual void v_MultiplyByInvMassMatrix(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate)
Template method virtual forwarder for MultiplyByInvMassMatrix(). 
 
void MultiplyByInvMassMatrix(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate=eLocal)
Multiply a solution by the inverse mass matrix. 
 
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)
Solves the two-dimensional Helmholtz equation, subject to the boundary conditions specified...
 
boost::shared_ptr< GlobalLinSys > GlobalLinSysSharedPtr
Pointer to a GlobalLinSys object. 
 
GlobalLinSysSharedPtr GetGlobalLinSys(const GlobalLinSysKey &mkey)
Returns the linear system specified by the key mkey. 
 
void LinearAdvectionEigs(const NekDouble ax, const NekDouble ay, Array< OneD, NekDouble > &Real, Array< OneD, NekDouble > &Imag, Array< OneD, NekDouble > &Evecs=NullNekDouble1DArray)
Compute the eigenvalues of the linear advection operator. 
 
virtual void v_ClearGlobalLinSysManager(void)
 
static Array< OneD, Array< OneD, NekDouble > > NullNekDoubleArrayofArray
 
boost::shared_ptr< BoundaryConditionBase > BoundaryConditionShPtr
 
int GetGlobalMatrixNnz(const GlobalMatrixKey &gkey)
 
boost::shared_ptr< AssemblyMapCG > AssemblyMapCGSharedPtr
 
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
 
boost::shared_ptr< MeshGraph > MeshGraphSharedPtr
 
void GlobalToLocal(void)
Put the coefficients into local ordering and place in m_coeffs. 
 
const Array< OneD, const MultiRegions::ExpListSharedPtr > & GetBndCondExpansions()
Returns the boundary conditions expansion. 
 
virtual void v_LinearAdvectionDiffusionReactionSolve(const Array< OneD, Array< OneD, NekDouble > > &velocity, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const NekDouble lambda, CoeffState coeffstate=eLocal, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray)