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,
126 pSession, graph2D, variable,
false,
127 CheckIfSingularSystem, ImpType);
130 pSession, graph2D, variable,
false,
136 for(n = 0; n <
m_planes.num_elements(); ++n)
144 false, CheckIfSingularSystem);
159 for(i = 0; i < nel; ++i)
173 if(variable.compare(
"DefaultVar") != 0)
184 int ncoeffs =
m_planes[0]->GetNcoeffs();
186 for(
int n = 0; n <
m_planes.num_elements(); ++n)
188 m_planes[n]->ImposeDirichletConditions(tmp = outarray +
195 for(
int n = 0; n <
m_planes.num_elements(); ++n)
197 m_planes[n]->FillBndCondFromField();
203 for(
int n = 0; n <
m_planes.num_elements(); ++n)
205 m_planes[n]->FillBndCondFromField(nreg);
214 for(
int n = 0; n <
m_planes.num_elements(); ++n)
216 m_planes[n]->LocalToGlobal(useComm);
226 for(
int n = 0; n <
m_planes.num_elements(); ++n)
242 for(
int n = 0; n <
m_planes.num_elements(); ++n)
244 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,
321 for(
int n = 0; n <
m_planes.num_elements(); ++n)
323 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()