42 namespace MultiRegions
59 for(
int n = 0; n <
m_planes.num_elements(); ++n)
71 const std::string &variable):
82 for(
int n = 0; n <
m_planes.num_elements(); ++n)
91 if(variable.compare(
"DefaultVar") != 0)
108 const bool dealiasing,
110 const std::string &variable,
111 const bool CheckIfSingularSystem):
124 pSession, graph2D, variable,
false,
125 CheckIfSingularSystem);
128 pSession, graph2D, variable,
false,
134 for(n = 0; n <
m_planes.num_elements(); ++n)
142 false, CheckIfSingularSystem);
157 for(i = 0; i < nel; ++i)
171 if(variable.compare(
"DefaultVar") != 0)
182 int ncoeffs =
m_planes[0]->GetNcoeffs();
184 for(
int n = 0; n <
m_planes.num_elements(); ++n)
186 m_planes[n]->ImposeDirichletConditions(tmp = outarray +
193 for(
int n = 0; n <
m_planes.num_elements(); ++n)
195 m_planes[n]->FillBndCondFromField();
204 for(
int n = 0; n <
m_planes.num_elements(); ++n)
216 for(
int n = 0; n <
m_planes.num_elements(); ++n)
232 for(
int n = 0; n <
m_planes.num_elements(); ++n)
234 m_planes[n]->SmoothField(tmp = field + cnt);
280 for(n = 0; n <
m_planes.num_elements(); ++n)
285 new_factors = factors;
291 e_out = outarray + cnt1,
292 flags, new_factors, varcoeff,
306 for(
int n = 0; n <
m_planes.num_elements(); ++n)
308 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.