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();
201 for(
int n = 0; n <
m_planes.num_elements(); ++n)
203 m_planes[n]->FillBndCondFromField(nreg);
212 for(
int n = 0; n <
m_planes.num_elements(); ++n)
214 m_planes[n]->LocalToGlobal(useComm);
224 for(
int n = 0; n <
m_planes.num_elements(); ++n)
240 for(
int n = 0; n <
m_planes.num_elements(); ++n)
242 m_planes[n]->SmoothField(tmp = field + cnt);
256 const bool PhysSpaceForcing)
290 for(n = 0; n <
m_planes.num_elements(); ++n)
296 new_factors = factors;
301 wfce = (PhysSpaceForcing)? fce+cnt:fce+cnt1;
303 e_out = outarray + cnt1,
304 flags, new_factors, varcoeff,
319 for(
int n = 0; n <
m_planes.num_elements(); ++n)
321 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()
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)
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()
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)
Solves the three-dimensional Helmholtz equation, subject to the boundary conditions specified...
boost::shared_ptr< MeshGraph > MeshGraphSharedPtr
Describes the specification for a Basis.
virtual void v_LocalToGlobal(bool useComm)
Template method virtual forwarded for LocalToGlobal()