41 namespace MultiRegions
58 for(
int n = 0; n <
m_planes.num_elements(); ++n)
70 const std::string &variable):
81 for(
int n = 0; n <
m_planes.num_elements(); ++n)
90 if(variable.compare(
"DefaultVar") != 0)
107 const bool dealiasing,
109 const std::string &variable,
110 const bool CheckIfSingularSystem,
125 pSession, graph2D, variable,
false,
126 CheckIfSingularSystem, ImpType);
129 pSession, graph2D, variable,
false,
135 for(n = 0; n <
m_planes.num_elements(); ++n)
143 false, CheckIfSingularSystem);
158 for(i = 0; i < nel; ++i)
172 if(variable.compare(
"DefaultVar") != 0)
183 int ncoeffs =
m_planes[0]->GetNcoeffs();
185 for(
int n = 0; n <
m_planes.num_elements(); ++n)
187 m_planes[n]->ImposeDirichletConditions(tmp = outarray +
194 for(
int n = 0; n <
m_planes.num_elements(); ++n)
196 m_planes[n]->FillBndCondFromField();
202 for(
int n = 0; n <
m_planes.num_elements(); ++n)
204 m_planes[n]->FillBndCondFromField(nreg);
213 for(
int n = 0; n <
m_planes.num_elements(); ++n)
215 m_planes[n]->LocalToGlobal(useComm);
225 for(
int n = 0; n <
m_planes.num_elements(); ++n)
241 for(
int n = 0; n <
m_planes.num_elements(); ++n)
243 m_planes[n]->SmoothField(tmp = field + cnt);
258 const bool PhysSpaceForcing)
292 for(n = 0; n <
m_planes.num_elements(); ++n)
298 new_factors = factors;
303 wfce = (PhysSpaceForcing)? fce+cnt:fce+cnt1;
305 e_out = outarray + cnt1,
306 flags, new_factors, varcoeff,
307 varfactors, dirForcing,
321 for(
int n = 0; n <
m_planes.num_elements(); ++n)
323 m_planes[n]->ClearGlobalLinSysManager();
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
virtual void v_SmoothField(Array< OneD, NekDouble > &field)
virtual void v_ImposeDirichletConditions(Array< OneD, NekDouble > &outarray)
std::shared_ptr< LocalRegions::ExpansionVector > m_exp
The list of local expansions.
NekOptimize::GlobalOptParamSharedPtr m_globalOptParam
LibUtilities::TranspositionSharedPtr m_transposition
std::shared_ptr< ContField2D > ContField2DSharedPtr
ContField3DHomogeneous1D()
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.
const std::shared_ptr< LocalRegions::ExpansionVector > GetExp() const
This function returns the vector of elements in the expansion.
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)
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 .
This class is the abstraction of a global continuous two- dimensional spectral/hp element expansion w...
std::map< StdRegions::VarCoeffType, Array< OneD, NekDouble > > VarCoeffMap
bool isSet(const FlagType &key) const
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
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 MultiRegions::VarFactorsMap &varfactors, const Array< OneD, const NekDouble > &dirForcing, const bool PhysSpaceForcing)
Solves the three-dimensional Helmholtz equation, subject to the boundary conditions specified...
Describes the specification for a Basis.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
virtual void v_LocalToGlobal(bool useComm)
Template method virtual forwarded for LocalToGlobal()
std::map< StdRegions::ConstFactorType, Array< OneD, NekDouble > > VarFactorsMap