42 namespace MultiRegions
59 for(
int n = 0; n <
m_planes.num_elements(); ++n)
77 const bool dealiasing,
79 const std::string &variable,
80 const bool CheckIfSingularSystem):
93 pSession, graph2D, variable,
false,
94 CheckIfSingularSystem);
97 pSession, graph2D, variable,
false,
103 for(n = 0; n <
m_planes.num_elements(); ++n)
111 false, CheckIfSingularSystem);
126 for(i = 0; i < nel; ++i)
140 if(variable.compare(
"DefaultVar") != 0)
151 int ncoeffs =
m_planes[0]->GetNcoeffs();
153 for(
int n = 0; n <
m_planes.num_elements(); ++n)
155 m_planes[n]->ImposeDirichletConditions(tmp = outarray +
162 for(
int n = 0; n <
m_planes.num_elements(); ++n)
164 m_planes[n]->FillBndCondFromField();
173 for(
int n = 0; n <
m_planes.num_elements(); ++n)
185 for(
int n = 0; n <
m_planes.num_elements(); ++n)
201 for(
int n = 0; n <
m_planes.num_elements(); ++n)
203 m_planes[n]->SmoothField(tmp = field + cnt);
249 for(n = 0; n <
m_planes.num_elements(); ++n)
254 new_factors = factors;
260 e_out = outarray + cnt1,
261 flags, new_factors, varcoeff,
275 for(
int n = 0; n <
m_planes.num_elements(); ++n)
277 m_planes[n]->ClearGlobalLinSysManager();
virtual void v_SmoothField(Array< OneD, NekDouble > &field)
virtual void v_ImposeDirichletConditions(Array< OneD, NekDouble > &outarray)
static boost::shared_ptr< DataType > AllocateSharedPtr()
Allocate a shared pointer from the memory pool.
NekOptimize::GlobalOptParamSharedPtr m_globalOptParam
LibUtilities::TranspositionSharedPtr m_transposition
ContField3DHomogeneous1D()
const boost::shared_ptr< LocalRegions::ExpansionVector > GetExp() const
This function returns the vector of elements in the expansion.
boost::shared_ptr< ContField2D > ContField2DSharedPtr
std::map< ConstFactorType, NekDouble > ConstFactorMap
NekDouble m_lhom
Width of homogeneous direction.
NekDouble GetSpecVanVisc(const int k)
virtual void v_FillBndCondFromField()
virtual void v_LocalToGlobal(void)
Template method virtual forwarded for LocalToGlobal()
int GetExpSize(void)
This function returns the number of elements in the expansion.
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
virtual ~ContField3DHomogeneous1D()
Destructor.
void SetCoeffPhys(void)
Definition of the total number of degrees of freedom and quadrature points. Sets up the storage for m...
virtual void v_ClearGlobalLinSysManager(void)
bool isSet(const FlagType &key) const
LibUtilities::BasisSharedPtr m_homogeneousBasis
Definition of the total number of degrees of freedom and quadrature points. Sets up the storage for m...
Fourier Modified expansions with just the real part of the first mode .
boost::shared_ptr< LocalRegions::ExpansionVector > m_exp
The list of local expansions.
This class is the abstraction of a global continuous two- dimensional spectral/hp element expansion w...
std::map< StdRegions::VarCoeffType, Array< OneD, NekDouble > > VarCoeffMap
SpatialDomains::MeshGraphSharedPtr m_graph
Mesh associated with this expansion list.
LibUtilities::SessionReaderSharedPtr m_session
Session.
Array< OneD, ExpListSharedPtr > m_planes
void HomogeneousFwdTrans(const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, CoeffState coeffstate=eLocal, bool Shuff=true, bool UnShuff=true)
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 three-dimensional Helmholtz equation, subject to the boundary conditions specified...
Fourier Modified expansions with just the imaginary part of the first mode .
void SetupBoundaryConditions(const LibUtilities::BasisKey &HomoBasis, const NekDouble lhom, SpatialDomains::BoundaryConditions &bcs, const std::string variable)
virtual void v_GlobalToLocal(void)
Template method virtual forwarded for GlobalToLocal()
boost::shared_ptr< MeshGraph > MeshGraphSharedPtr
Describes the specification for a Basis.