Nektar++
|
Base class for all multi-elemental spectral/hp expansions. More...
#include <ExpList.h>
Public Member Functions | |
ExpList (const ExpansionType Type=eNoType) | |
The default constructor using a type. More... | |
ExpList (const ExpList &in, const bool DeclareCoeffPhysArrays=true) | |
The copy constructor. More... | |
ExpList (const ExpList &in, const std::vector< unsigned int > &eIDs, const bool DeclareCoeffPhysArrays=true, const Collections::ImplementationType ImpType=Collections::eNoImpType) | |
Constructor copying only elements defined in eIds. More... | |
ExpList (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &graph, const bool DeclareCoeffPhysArrays=true, const std::string &var="DefaultVar", const Collections::ImplementationType ImpType=Collections::eNoImpType) | |
Generate an ExpList from a meshgraph graph and session file. More... | |
ExpList (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::ExpansionInfoMap &expansions, const bool DeclareCoeffPhysArrays=true, const Collections::ImplementationType ImpType=Collections::eNoImpType) | |
Sets up a list of local expansions based on an expansion Map. More... | |
ExpList (const SpatialDomains::PointGeomSharedPtr &geom) | |
Specialised constructors for 0D Expansions Wrapper around LocalRegion::PointExp - used in PrePacing.cpp. More... | |
ExpList (const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, const ExpListSharedPtr > &bndConstraint, const Array< OneD, const SpatialDomains ::BoundaryConditionShPtr > &bndCond, const LocalRegions::ExpansionVector &locexp, const SpatialDomains::MeshGraphSharedPtr &graph, const LibUtilities::CommSharedPtr &comm, const bool DeclareCoeffPhysArrays=true, const std::string variable="DefaultVar", const Collections::ImplementationType ImpType=Collections::eNoImpType) | |
Generate expansions for the trace space expansions used in DisContField. More... | |
ExpList (const LibUtilities::SessionReaderSharedPtr &pSession, const LocalRegions::ExpansionVector &locexp, const SpatialDomains::MeshGraphSharedPtr &graph, const bool DeclareCoeffPhysArrays, const std::string variable, const Collections::ImplementationType ImpType=Collections::eNoImpType) | |
Generate an trace ExpList from a meshgraph graph and session file. More... | |
ExpList (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::CompositeMap &domain, const SpatialDomains::MeshGraphSharedPtr &graph, const bool DeclareCoeffPhysArrays=true, const std::string variable="DefaultVar", bool SetToOneSpaceDimension=false, const LibUtilities::CommSharedPtr comm=LibUtilities::CommSharedPtr(), const Collections::ImplementationType ImpType=Collections::eNoImpType) | |
Constructor based on domain information only for 1D & 2D boundary conditions. More... | |
virtual | ~ExpList () |
The default destructor. More... | |
int | GetNcoeffs (void) const |
Returns the total number of local degrees of freedom \(N_{\mathrm{eof}}=\sum_{e=1}^{{N_{\mathrm{el}}}}N^{e}_m\). More... | |
int | GetNcoeffs (const int eid) const |
Returns the total number of local degrees of freedom for element eid. More... | |
ExpansionType | GetExpType (void) |
Returns the type of the expansion. More... | |
void | SetExpType (ExpansionType Type) |
Returns the type of the expansion. More... | |
int | EvalBasisNumModesMax (void) const |
Evaulates the maximum number of modes in the elemental basis order over all elements. More... | |
const Array< OneD, int > | EvalBasisNumModesMaxPerExp (void) const |
Returns the vector of the number of modes in the elemental basis order over all elements. More... | |
int | GetTotPoints (void) const |
Returns the total number of quadrature points m_npoints \(=Q_{\mathrm{tot}}\). More... | |
int | GetTotPoints (const int eid) const |
Returns the total number of quadrature points for eid's element \(=Q_{\mathrm{tot}}\). More... | |
int | GetNpoints (void) const |
Returns the total number of quadrature points m_npoints \(=Q_{\mathrm{tot}}\). More... | |
int | Get1DScaledTotPoints (const NekDouble scale) const |
Returns the total number of qudature points scaled by the factor scale on each 1D direction. More... | |
void | SetWaveSpace (const bool wavespace) |
Sets the wave space to the one of the possible configuration true or false. More... | |
void | SetModifiedBasis (const bool modbasis) |
Set Modified Basis for the stability analysis. More... | |
bool | GetWaveSpace (void) const |
This function returns the third direction expansion condition, which can be in wave space (coefficient) or not It is stored in the variable m_WaveSpace. More... | |
void | SetPhys (int i, NekDouble val) |
Set the i th value of m_phys to value val. More... | |
void | SetPhys (const Array< OneD, const NekDouble > &inarray) |
Fills the array m_phys. More... | |
void | SetPhysArray (Array< OneD, NekDouble > &inarray) |
Sets the array m_phys. More... | |
void | SetPhysState (const bool physState) |
This function manually sets whether the array of physical values \(\boldsymbol{u}_l\) (implemented as m_phys) is filled or not. More... | |
bool | GetPhysState (void) const |
This function indicates whether the array of physical values \(\boldsymbol{u}_l\) (implemented as m_phys) is filled or not. More... | |
void | MultiplyByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
multiply the metric jacobi and quadrature weights More... | |
void | DivideByQuadratureMetric (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Divided by the metric jacobi and quadrature weights. More... | |
void | IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function calculates the inner product of a function \(f(\boldsymbol{x})\) with respect to all local expansion modes \(\phi_n^e(\boldsymbol{x})\). More... | |
void | IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function calculates the inner product of a function \(f(\boldsymbol{x})\) with respect to the derivative (in direction. More... | |
void | IProductWRTDirectionalDerivBase (const Array< OneD, const NekDouble > &direction, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
Directional derivative along a given direction. More... | |
void | IProductWRTDerivBase (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &outarray) |
This function calculates the inner product of a function \(f(\boldsymbol{x})\) with respect to the derivative of all local expansion modes \(\phi_n^e(\boldsymbol{x})\). More... | |
void | FwdTransLocalElmt (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function elementally evaluates the forward transformation of a function \(u(\boldsymbol{x})\) onto the global spectral/hp expansion. More... | |
void | FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | ExponentialFilter (Array< OneD, NekDouble > &array, const NekDouble alpha, const NekDouble exponent, const NekDouble cutoff) |
void | MultiplyByElmtInvMass (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function elementally mulplies the coefficient space of Sin my the elemental inverse of the mass matrix. More... | |
void | MultiplyByInvMassMatrix (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | MultiplyByMassMatrix (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | SmoothField (Array< OneD, NekDouble > &field) |
Smooth a field across elements. More... | |
GlobalLinSysKey | HelmSolve (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::ConstFactorMap &factors, const StdRegions::VarCoeffMap &varcoeff=StdRegions::NullVarCoeffMap, const MultiRegions::VarFactorsMap &varfactors=MultiRegions::NullVarFactorsMap, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray, const bool PhysSpaceForcing=true) |
Solve helmholtz problem. More... | |
GlobalLinSysKey | LinearAdvectionDiffusionReactionSolve (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::ConstFactorMap &factors, const StdRegions::VarCoeffMap &varcoeff=StdRegions::NullVarCoeffMap, const MultiRegions::VarFactorsMap &varfactors=MultiRegions::NullVarFactorsMap, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray, const bool PhysSpaceForcing=true) |
Solve Advection Diffusion Reaction. More... | |
void | LinearAdvectionReactionSolve (const Array< OneD, Array< OneD, NekDouble > > &velocity, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const NekDouble lambda, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray) |
Solve Advection Diffusion Reaction. More... | |
void | FwdTransBndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function elementally evaluates the backward transformation of the global spectral/hp element expansion. More... | |
void | GetCoords (Array< OneD, NekDouble > &coord_0, Array< OneD, NekDouble > &coord_1=NullNekDouble1DArray, Array< OneD, NekDouble > &coord_2=NullNekDouble1DArray) |
This function calculates the coordinates of all the elemental quadrature points \(\boldsymbol{x}_i\). More... | |
void | GetCoords (const int eid, Array< OneD, NekDouble > &coord_0, Array< OneD, NekDouble > &coord_1=NullNekDouble1DArray, Array< OneD, NekDouble > &coord_2=NullNekDouble1DArray) |
void | HomogeneousFwdTrans (const int npts, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool Shuff=true, bool UnShuff=true) |
void | HomogeneousBwdTrans (const int npts, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool Shuff=true, bool UnShuff=true) |
void | DealiasedProd (const int num_dofs, const Array< OneD, NekDouble > &inarray1, const Array< OneD, NekDouble > &inarray2, Array< OneD, NekDouble > &outarray) |
void | DealiasedDotProd (const int num_dofs, const Array< OneD, Array< OneD, NekDouble > > &inarray1, const Array< OneD, Array< OneD, NekDouble > > &inarray2, Array< OneD, Array< OneD, NekDouble > > &outarray) |
void | GetBCValues (Array< OneD, NekDouble > &BndVals, const Array< OneD, NekDouble > &TotField, int BndID) |
void | NormVectorIProductWRTBase (Array< OneD, const NekDouble > &V1, Array< OneD, const NekDouble > &V2, Array< OneD, NekDouble > &outarray, int BndID) |
void | NormVectorIProductWRTBase (Array< OneD, Array< OneD, NekDouble > > &V, Array< OneD, NekDouble > &outarray) |
void | ApplyGeomInfo () |
Apply geometry information to each expansion. More... | |
void | Reset () |
Reset geometry information and reset matrices. More... | |
void | ResetMatrices () |
Reset matrices. More... | |
void | WriteTecplotHeader (std::ostream &outfile, std::string var="") |
void | WriteTecplotZone (std::ostream &outfile, int expansion=-1) |
void | WriteTecplotField (std::ostream &outfile, int expansion=-1) |
void | WriteTecplotConnectivity (std::ostream &outfile, int expansion=-1) |
void | WriteVtkHeader (std::ostream &outfile) |
void | WriteVtkFooter (std::ostream &outfile) |
void | WriteVtkPieceHeader (std::ostream &outfile, int expansion, int istrip=0) |
void | WriteVtkPieceFooter (std::ostream &outfile, int expansion) |
void | WriteVtkPieceData (std::ostream &outfile, int expansion, std::string var="v") |
int | GetCoordim (int eid) |
This function returns the dimension of the coordinates of the element eid. More... | |
void | SetCoeff (int i, NekDouble val) |
Set the i th coefficiient in m_coeffs to value val. More... | |
void | SetCoeffs (int i, NekDouble val) |
Set the i th coefficiient in m_coeffs to value val. More... | |
void | SetCoeffsArray (Array< OneD, NekDouble > &inarray) |
Set the m_coeffs array to inarray. More... | |
int | GetShapeDimension () |
This function returns the dimension of the shape of the element eid. More... | |
const Array< OneD, const NekDouble > & | GetCoeffs () const |
This function returns (a reference to) the array \(\boldsymbol{\hat{u}}_l\) (implemented as m_coeffs) containing all local expansion coefficients. More... | |
void | ImposeDirichletConditions (Array< OneD, NekDouble > &outarray) |
Impose Dirichlet Boundary Conditions onto Array. More... | |
void | FillBndCondFromField (const Array< OneD, NekDouble > coeffs) |
Fill Bnd Condition expansion from the values stored in expansion. More... | |
void | FillBndCondFromField (const int nreg, const Array< OneD, NekDouble > coeffs) |
Fill Bnd Condition expansion in nreg from the values stored in expansion. More... | |
void | LocalToGlobal (bool useComm=true) |
Gathers the global coefficients \(\boldsymbol{\hat{u}}_g\) from the local coefficients \(\boldsymbol{\hat{u}}_l\). More... | |
void | LocalToGlobal (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool useComm=true) |
void | GlobalToLocal (void) |
Scatters from the global coefficients \(\boldsymbol{\hat{u}}_g\) to the local coefficients \(\boldsymbol{\hat{u}}_l\). More... | |
void | GlobalToLocal (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
NekDouble | GetCoeff (int i) |
Get the i th value (coefficient) of m_coeffs. More... | |
NekDouble | GetCoeffs (int i) |
Get the i th value (coefficient) of m_coeffs. More... | |
const Array< OneD, const NekDouble > & | GetPhys () const |
This function returns (a reference to) the array \(\boldsymbol{u}_l\) (implemented as m_phys) containing the function \(u^{\delta}(\boldsymbol{x})\) evaluated at the quadrature points. More... | |
NekDouble | Linf (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &soln=NullNekDouble1DArray) |
This function calculates the \(L_\infty\) error of the global spectral/hp element approximation. More... | |
NekDouble | L2 (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &soln=NullNekDouble1DArray) |
This function calculates the \(L_\infty\) error of the global This function calculates the \(L_2\) error with respect to soln of the global spectral/hp element approximation. More... | |
NekDouble | H1 (const Array< OneD, const NekDouble > &inarray, const Array< OneD, const NekDouble > &soln=NullNekDouble1DArray) |
Calculates the \(H^1\) error of the global spectral/hp element approximation. More... | |
NekDouble | Integral () |
Calculates the \(H^1\) error of the global spectral/hp element approximation. More... | |
NekDouble | Integral (const Array< OneD, const NekDouble > &inarray) |
NekDouble | VectorFlux (const Array< OneD, Array< OneD, NekDouble > > &inarray) |
Array< OneD, const NekDouble > | HomogeneousEnergy (void) |
This function calculates the energy associated with each one of the modesof a 3D homogeneous nD expansion. More... | |
void | SetHomo1DSpecVanVisc (Array< OneD, NekDouble > visc) |
This function sets the Spectral Vanishing Viscosity in homogeneous1D expansion. More... | |
Array< OneD, const unsigned int > | GetZIDs (void) |
This function returns a vector containing the wave numbers in z-direction associated with the 3D homogenous expansion. Required if a parellelisation is applied in the Fourier direction. More... | |
LibUtilities::TranspositionSharedPtr | GetTransposition (void) |
This function returns the transposition class associated with the homogeneous expansion. More... | |
NekDouble | GetHomoLen (void) |
This function returns the Width of homogeneous direction associated with the homogeneous expansion. More... | |
void | SetHomoLen (const NekDouble lhom) |
This function sets the Width of homogeneous direction associated with the homogeneous expansion. More... | |
Array< OneD, const unsigned int > | GetYIDs (void) |
This function returns a vector containing the wave numbers in y-direction associated with the 3D homogenous expansion. Required if a parellelisation is applied in the Fourier direction. More... | |
void | PhysInterp1DScaled (const NekDouble scale, const Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function interpolates the physical space points in inarray to outarray using the same points defined in the expansion but where the number of points are rescaled by 1DScale. More... | |
void | PhysGalerkinProjection1DScaled (const NekDouble scale, const Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function Galerkin projects the physical space points in inarray to outarray where inarray is assumed to be defined in the expansion but where the number of points are rescaled by 1DScale. More... | |
int | GetExpSize (void) |
This function returns the number of elements in the expansion. More... | |
size_t | GetNumElmts (void) |
This function returns the number of elements in the expansion which may be different for a homogeoenous extended expansionp. More... | |
const std::shared_ptr< LocalRegions::ExpansionVector > | GetExp () const |
This function returns the vector of elements in the expansion. More... | |
LocalRegions::ExpansionSharedPtr & | GetExp (int n) const |
This function returns (a shared pointer to) the local elemental expansion of the \(n^{\mathrm{th}}\) element. More... | |
LocalRegions::ExpansionSharedPtr & | GetExpFromGeomId (int n) |
This function returns (a shared pointer to) the local elemental expansion of the \(n^{\mathrm{th}}\) element given a global geometry ID. More... | |
LocalRegions::ExpansionSharedPtr & | GetExp (const Array< OneD, const NekDouble > &gloCoord) |
This function returns (a shared pointer to) the local elemental expansion containing the arbitrary point given by gloCoord. More... | |
int | GetExpIndex (const Array< OneD, const NekDouble > &gloCoord, NekDouble tol=0.0, bool returnNearestElmt=false, int cachedId=-1, NekDouble maxDistance=1e6) |
This function returns the index of the local elemental expansion containing the arbitrary point given by gloCoord, within a distance tolerance of tol. More... | |
int | GetExpIndex (const Array< OneD, const NekDouble > &gloCoords, Array< OneD, NekDouble > &locCoords, NekDouble tol=0.0, bool returnNearestElmt=false, int cachedId=-1, NekDouble maxDistance=1e6) |
NekDouble | PhysEvaluate (const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &phys) |
int | GetCoeff_Offset (int n) const |
Get the start offset position for a local contiguous list of coeffs correspoinding to element n. More... | |
int | GetPhys_Offset (int n) const |
Get the start offset position for a local contiguous list of quadrature points in a full array correspoinding to element n. More... | |
Array< OneD, NekDouble > & | UpdateCoeffs () |
This function returns (a reference to) the array \(\boldsymbol{\hat{u}}_l\) (implemented as m_coeffs) containing all local expansion coefficients. More... | |
Array< OneD, NekDouble > & | UpdatePhys () |
This function returns (a reference to) the array \(\boldsymbol{u}_l\) (implemented as m_phys) containing the function \(u^{\delta}(\boldsymbol{x})\) evaluated at the quadrature points. More... | |
void | PhysDeriv (Direction edir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d) |
void | PhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1=NullNekDouble1DArray, Array< OneD, NekDouble > &out_d2=NullNekDouble1DArray) |
This function discretely evaluates the derivative of a function \(f(\boldsymbol{x})\) on the domain consisting of all elements of the expansion. More... | |
void | PhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d) |
void | CurlCurl (Array< OneD, Array< OneD, NekDouble > > &Vel, Array< OneD, Array< OneD, NekDouble > > &Q) |
void | PhysDirectionalDeriv (const Array< OneD, const NekDouble > &direction, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | GetMovingFrames (const SpatialDomains::GeomMMF MMFdir, const Array< OneD, const NekDouble > &CircCentre, Array< OneD, Array< OneD, NekDouble > > &outarray) |
const Array< OneD, const std::shared_ptr< ExpList > > & | GetBndCondExpansions () |
const Array< OneD, const NekDouble > & | GetBndCondBwdWeight () |
Get the weight value for boundary conditions. More... | |
void | SetBndCondBwdWeight (const int index, const NekDouble value) |
Set the weight value for boundary conditions. More... | |
std::shared_ptr< ExpList > & | UpdateBndCondExpansion (int i) |
void | Upwind (const Array< OneD, const NekDouble > &Vn, const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &Upwind) |
void | Upwind (const Array< OneD, const Array< OneD, NekDouble > > &Vec, const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &Upwind) |
std::shared_ptr< ExpList > & | GetTrace () |
std::shared_ptr< AssemblyMapDG > & | GetTraceMap (void) |
std::shared_ptr< InterfaceMapDG > & | GetInterfaceMap (void) |
const Array< OneD, const int > & | GetTraceBndMap (void) |
void | GetNormals (Array< OneD, Array< OneD, NekDouble > > &normals) |
void | GetElmtNormalLength (Array< OneD, NekDouble > &lengthsFwd, Array< OneD, NekDouble > &lengthsBwd) |
Get the length of elements in boundary normal direction. More... | |
void | GetBwdWeight (Array< OneD, NekDouble > &weightAver, Array< OneD, NekDouble > &weightJump) |
Get the weight value for boundary conditions for boundary average and jump calculations. More... | |
void | AddTraceIntegral (const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
void | AddFwdBwdTraceIntegral (const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &outarray) |
void | GetFwdBwdTracePhys (Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd) |
void | GetFwdBwdTracePhys (const Array< OneD, const NekDouble > &field, Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd, bool FillBnd=true, bool PutFwdInBwdOnBCs=false, bool DoExchange=true) |
void | FillBwdWithBoundCond (const Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd, bool PutFwdInBwdOnBCs=false) |
void | AddTraceQuadPhysToField (const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &field) |
Add Fwd and Bwd value to field, a reverse procedure of GetFwdBwdTracePhys. More... | |
void | AddTraceQuadPhysToOffDiag (const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &field) |
void | GetLocTraceFromTracePts (const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &locTraceFwd, Array< OneD, NekDouble > &locTraceBwd) |
void | FillBwdWithBwdWeight (Array< OneD, NekDouble > &weightave, Array< OneD, NekDouble > &weightjmp) |
Fill Bwd with boundary conditions. More... | |
void | PeriodicBwdCopy (const Array< OneD, const NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd) |
Copy and fill the Periodic boundaries. More... | |
const std::vector< bool > & | GetLeftAdjacentFaces (void) const |
void | ExtractTracePhys (Array< OneD, NekDouble > &outarray) |
void | ExtractTracePhys (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
const Array< OneD, const SpatialDomains::BoundaryConditionShPtr > & | GetBndConditions () |
Array< OneD, SpatialDomains::BoundaryConditionShPtr > & | UpdateBndConditions () |
void | EvaluateBoundaryConditions (const NekDouble time=0.0, const std::string varName="", const NekDouble=NekConstants::kNekUnsetDouble, const NekDouble=NekConstants::kNekUnsetDouble) |
void | GeneralMatrixOp (const GlobalMatrixKey &gkey, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
This function calculates the result of the multiplication of a matrix of type specified by mkey with a vector given by inarray. More... | |
void | SetUpPhysNormals () |
void | GetBoundaryToElmtMap (Array< OneD, int > &ElmtID, Array< OneD, int > &EdgeID) |
virtual void | GetBndElmtExpansion (int i, std::shared_ptr< ExpList > &result, const bool DeclareCoeffPhysArrays=true) |
void | ExtractElmtToBndPhys (int i, const Array< OneD, NekDouble > &elmt, Array< OneD, NekDouble > &boundary) |
void | ExtractPhysToBndElmt (int i, const Array< OneD, const NekDouble > &phys, Array< OneD, NekDouble > &bndElmt) |
void | ExtractPhysToBnd (int i, const Array< OneD, const NekDouble > &phys, Array< OneD, NekDouble > &bnd) |
void | GetBoundaryNormals (int i, Array< OneD, Array< OneD, NekDouble > > &normals) |
void | GeneralGetFieldDefinitions (std::vector< LibUtilities::FieldDefinitionsSharedPtr > &fielddef, int NumHomoDir=0, Array< OneD, LibUtilities::BasisSharedPtr > &HomoBasis=LibUtilities::NullBasisSharedPtr1DArray, std::vector< NekDouble > &HomoLen=LibUtilities::NullNekDoubleVector, bool homoStrips=false, std::vector< unsigned int > &HomoSIDs=LibUtilities::NullUnsignedIntVector, std::vector< unsigned int > &HomoZIDs=LibUtilities::NullUnsignedIntVector, std::vector< unsigned int > &HomoYIDs=LibUtilities::NullUnsignedIntVector) |
std::map< int, RobinBCInfoSharedPtr > | GetRobinBCInfo () |
void | GetPeriodicEntities (PeriodicMap &periodicVerts, PeriodicMap &periodicEdges, PeriodicMap &periodicFaces=NullPeriodicMap) |
std::vector< LibUtilities::FieldDefinitionsSharedPtr > | GetFieldDefinitions () |
void | GetFieldDefinitions (std::vector< LibUtilities::FieldDefinitionsSharedPtr > &fielddef) |
void | AppendFieldData (LibUtilities::FieldDefinitionsSharedPtr &fielddef, std::vector< NekDouble > &fielddata) |
Append the element data listed in elements fielddef->m_ElementIDs onto fielddata. More... | |
void | AppendFieldData (LibUtilities::FieldDefinitionsSharedPtr &fielddef, std::vector< NekDouble > &fielddata, Array< OneD, NekDouble > &coeffs) |
Append the data in coeffs listed in elements fielddef->m_ElementIDs onto fielddata. More... | |
void | ExtractElmtDataToCoeffs (LibUtilities::FieldDefinitionsSharedPtr &fielddef, std::vector< NekDouble > &fielddata, std::string &field, Array< OneD, NekDouble > &coeffs) |
Extract the data in fielddata into the coeffs using the basic ExpList Elemental expansions rather than planes in homogeneous case. More... | |
void | ExtractCoeffsToCoeffs (const std::shared_ptr< ExpList > &fromExpList, const Array< OneD, const NekDouble > &fromCoeffs, Array< OneD, NekDouble > &toCoeffs) |
Extract the data from fromField using fromExpList the coeffs using the basic ExpList Elemental expansions rather than planes in homogeneous case. More... | |
void | ExtractDataToCoeffs (LibUtilities::FieldDefinitionsSharedPtr &fielddef, std::vector< NekDouble > &fielddata, std::string &field, Array< OneD, NekDouble > &coeffs, std::unordered_map< int, int > zIdToPlane=std::unordered_map< int, int >()) |
Extract the data in fielddata into the coeffs. More... | |
void | ExtractCoeffsFromFile (const std::string &fileName, LibUtilities::CommSharedPtr comm, const std::string &varName, Array< OneD, NekDouble > &coeffs) |
void | GenerateElementVector (const int ElementID, const NekDouble scalar1, const NekDouble scalar2, Array< OneD, NekDouble > &outarray) |
Generate vector v such that v[i] = scalar1 if i is in the element < ElementID. Otherwise, v[i] = scalar2. More... | |
std::shared_ptr< ExpList > | GetSharedThisPtr () |
Returns a shared pointer to the current object. More... | |
std::shared_ptr< LibUtilities::SessionReader > | GetSession () const |
Returns the session object. More... | |
std::shared_ptr< LibUtilities::Comm > | GetComm () const |
Returns the comm object. More... | |
SpatialDomains::MeshGraphSharedPtr | GetGraph () |
LibUtilities::BasisSharedPtr | GetHomogeneousBasis (void) |
std::shared_ptr< ExpList > & | GetPlane (int n) |
void | CreateCollections (Collections::ImplementationType ImpType=Collections::eNoImpType) |
Construct collections of elements containing a single element type and polynomial order from the list of expansions. More... | |
void | ClearGlobalLinSysManager (void) |
int | GetPoolCount (std::string) |
void | UnsetGlobalLinSys (GlobalLinSysKey, bool) |
LibUtilities::NekManager< GlobalLinSysKey, GlobalLinSys > & | GetGlobalLinSysManager (void) |
const Array< OneD, const std::pair< int, int > > & | GetCoeffsToElmt () const |
Get m_coeffs to elemental value map. More... | |
void | AddTraceJacToElmtJac (const Array< OneD, const DNekMatSharedPtr > &FwdMat, const Array< OneD, const DNekMatSharedPtr > &BwdMat, Array< OneD, DNekMatSharedPtr > &fieldMat) |
inverse process of v_GetFwdBwdTracePhys. Given Trace integration of Fwd and Bwd Jacobian, with dimension NtotalTrace*TraceCoef*TracePhys. return Elemental Jacobian matrix with dimension NtotalElement*ElementCoef*ElementPhys. More... | |
void | GetMatIpwrtDeriveBase (const Array< OneD, const Array< OneD, NekDouble > > &inarray, const int nDirctn, Array< OneD, DNekMatSharedPtr > &mtxPerVar) |
void | GetMatIpwrtDeriveBase (const TensorOfArray3D< NekDouble > &inarray, Array< OneD, DNekMatSharedPtr > &mtxPerVar) |
void | GetDiagMatIpwrtBase (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, DNekMatSharedPtr > &mtxPerVar) |
void | AddTraceIntegralToOffDiag (const Array< OneD, const NekDouble > &FwdFlux, const Array< OneD, const NekDouble > &BwdFlux, Array< OneD, NekDouble > &outarray) |
void | AddRightIPTPhysDerivBase (const int dir, const Array< OneD, const DNekMatSharedPtr > ElmtJacQuad, Array< OneD, DNekMatSharedPtr > ElmtJacCoef) |
void | AddRightIPTBaseMatrix (const Array< OneD, const DNekMatSharedPtr > ElmtJacQuad, Array< OneD, DNekMatSharedPtr > ElmtJacCoef) |
const LocTraceToTraceMapSharedPtr & | GetLocTraceToTraceMap () const |
std::vector< bool > & | GetLeftAdjacentTraces (void) |
const std::unordered_map< int, int > & | GetElmtToExpId (void) |
This function returns the map of index inside m_exp to geom id. More... | |
int | GetElmtToExpId (int elmtId) |
This function returns the index inside m_exp for a given geom id. More... | |
Protected Member Functions | |
std::shared_ptr< DNekMat > | GenGlobalMatrixFull (const GlobalLinSysKey &mkey, const std::shared_ptr< AssemblyMapCG > &locToGloMap) |
const DNekScalBlkMatSharedPtr | GenBlockMatrix (const GlobalMatrixKey &gkey) |
This function assembles the block diagonal matrix of local matrices of the type mtype. More... | |
const DNekScalBlkMatSharedPtr & | GetBlockMatrix (const GlobalMatrixKey &gkey) |
void | MultiplyByBlockMatrix (const GlobalMatrixKey &gkey, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
std::shared_ptr< GlobalMatrix > | GenGlobalMatrix (const GlobalMatrixKey &mkey, const std::shared_ptr< AssemblyMapCG > &locToGloMap) |
Generates a global matrix from the given key and map. More... | |
void | GlobalEigenSystem (const std::shared_ptr< DNekMat > &Gmat, Array< OneD, NekDouble > &EigValsReal, Array< OneD, NekDouble > &EigValsImag, Array< OneD, NekDouble > &EigVecs=NullNekDouble1DArray) |
std::shared_ptr< GlobalLinSys > | GenGlobalLinSys (const GlobalLinSysKey &mkey, const std::shared_ptr< AssemblyMapCG > &locToGloMap) |
This operation constructs the global linear system of type mkey. More... | |
std::shared_ptr< GlobalLinSys > | GenGlobalBndLinSys (const GlobalLinSysKey &mkey, const AssemblyMapSharedPtr &locToGloMap) |
Generate a GlobalLinSys from information provided by the key "mkey" and the mapping provided in LocToGloBaseMap. More... | |
virtual size_t | v_GetNumElmts (void) |
virtual const Array< OneD, const std::shared_ptr< ExpList > > & | v_GetBndCondExpansions (void) |
virtual const Array< OneD, const NekDouble > & | v_GetBndCondBwdWeight () |
virtual void | v_SetBndCondBwdWeight (const int index, const NekDouble value) |
virtual std::shared_ptr< ExpList > & | v_UpdateBndCondExpansion (int i) |
virtual void | v_Upwind (const Array< OneD, const Array< OneD, NekDouble > > &Vec, const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &Upwind) |
virtual void | v_Upwind (const Array< OneD, const NekDouble > &Vn, const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &Upwind) |
virtual std::shared_ptr< ExpList > & | v_GetTrace () |
virtual std::shared_ptr< AssemblyMapDG > & | v_GetTraceMap () |
virtual std::shared_ptr< InterfaceMapDG > & | v_GetInterfaceMap () |
virtual const Array< OneD, const int > & | v_GetTraceBndMap () |
virtual const std::shared_ptr< LocTraceToTraceMap > & | v_GetLocTraceToTraceMap (void) const |
virtual std::vector< bool > & | v_GetLeftAdjacentTraces (void) |
virtual void | v_GetNormals (Array< OneD, Array< OneD, NekDouble > > &normals) |
Populate normals with the normals of all expansions. More... | |
virtual void | v_AddTraceIntegral (const Array< OneD, const NekDouble > &Fn, Array< OneD, NekDouble > &outarray) |
virtual void | v_AddFwdBwdTraceIntegral (const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &outarray) |
virtual void | v_GetFwdBwdTracePhys (Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd) |
virtual void | v_GetFwdBwdTracePhys (const Array< OneD, const NekDouble > &field, Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd, bool FillBnd=true, bool PutFwdInBwdOnBCs=false, bool DoExchange=true) |
virtual void | v_FillBwdWithBoundCond (const Array< OneD, NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd, bool PutFwdInBwdOnBCs) |
virtual void | v_AddTraceQuadPhysToField (const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &field) |
virtual void | v_AddTraceQuadPhysToOffDiag (const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &field) |
virtual void | v_GetLocTraceFromTracePts (const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &locTraceFwd, Array< OneD, NekDouble > &locTraceBwd) |
virtual void | v_FillBwdWithBwdWeight (Array< OneD, NekDouble > &weightave, Array< OneD, NekDouble > &weightjmp) |
virtual void | v_PeriodicBwdCopy (const Array< OneD, const NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd) |
virtual const std::vector< bool > & | v_GetLeftAdjacentFaces (void) const |
virtual void | v_ExtractTracePhys (Array< OneD, NekDouble > &outarray) |
virtual void | v_ExtractTracePhys (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_MultiplyByInvMassMatrix (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual GlobalLinSysKey | v_HelmSolve (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::ConstFactorMap &factors, const StdRegions::VarCoeffMap &varcoeff, const MultiRegions::VarFactorsMap &varfactors, const Array< OneD, const NekDouble > &dirForcing, const bool PhysSpaceForcing) |
virtual GlobalLinSysKey | v_LinearAdvectionDiffusionReactionSolve (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const StdRegions::ConstFactorMap &factors, const StdRegions::VarCoeffMap &varcoeff, const MultiRegions::VarFactorsMap &varfactors, const Array< OneD, const NekDouble > &dirForcing, const bool PhysSpaceForcing) |
virtual void | v_LinearAdvectionReactionSolve (const Array< OneD, Array< OneD, NekDouble > > &velocity, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const NekDouble lambda, const Array< OneD, const NekDouble > &dirForcing=NullNekDouble1DArray) |
virtual void | v_ImposeDirichletConditions (Array< OneD, NekDouble > &outarray) |
virtual void | v_FillBndCondFromField (const Array< OneD, NekDouble > coeffs) |
virtual void | v_FillBndCondFromField (const int nreg, const Array< OneD, NekDouble > coeffs) |
virtual void | v_Reset () |
Reset geometry information, metrics, matrix managers and geometry information. More... | |
virtual void | v_LocalToGlobal (bool UseComm) |
virtual void | v_LocalToGlobal (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool UseComm) |
virtual void | v_GlobalToLocal (void) |
virtual void | v_GlobalToLocal (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_FwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_FwdTransLocalElmt (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_FwdTransBndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_SmoothField (Array< OneD, NekDouble > &field) |
virtual void | v_IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_IProductWRTDerivBase (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_IProductWRTDerivBase (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_GetCoords (Array< OneD, NekDouble > &coord_0, Array< OneD, NekDouble > &coord_1=NullNekDouble1DArray, Array< OneD, NekDouble > &coord_2=NullNekDouble1DArray) |
virtual void | v_GetCoords (const int eid, Array< OneD, NekDouble > &xc0, Array< OneD, NekDouble > &xc1, Array< OneD, NekDouble > &xc2) |
virtual void | v_PhysDeriv (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d0, Array< OneD, NekDouble > &out_d1, Array< OneD, NekDouble > &out_d2) |
virtual void | v_PhysDeriv (const int dir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d) |
virtual void | v_PhysDeriv (Direction edir, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out_d) |
virtual void | v_Curl (Array< OneD, Array< OneD, NekDouble > > &Vel, Array< OneD, Array< OneD, NekDouble > > &Q) |
virtual void | v_CurlCurl (Array< OneD, Array< OneD, NekDouble > > &Vel, Array< OneD, Array< OneD, NekDouble > > &Q) |
virtual void | v_PhysDirectionalDeriv (const Array< OneD, const NekDouble > &direction, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_GetMovingFrames (const SpatialDomains::GeomMMF MMFdir, const Array< OneD, const NekDouble > &CircCentre, Array< OneD, Array< OneD, NekDouble > > &outarray) |
virtual void | v_HomogeneousFwdTrans (const int npts, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool Shuff=true, bool UnShuff=true) |
virtual void | v_HomogeneousBwdTrans (const int npts, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool Shuff=true, bool UnShuff=true) |
virtual void | v_DealiasedProd (const int num_dofs, const Array< OneD, NekDouble > &inarray1, const Array< OneD, NekDouble > &inarray2, Array< OneD, NekDouble > &outarray) |
virtual void | v_DealiasedDotProd (const int num_dofs, const Array< OneD, Array< OneD, NekDouble > > &inarray1, const Array< OneD, Array< OneD, NekDouble > > &inarray2, Array< OneD, Array< OneD, NekDouble > > &outarray) |
virtual void | v_GetBCValues (Array< OneD, NekDouble > &BndVals, const Array< OneD, NekDouble > &TotField, int BndID) |
virtual void | v_NormVectorIProductWRTBase (Array< OneD, const NekDouble > &V1, Array< OneD, const NekDouble > &V2, Array< OneD, NekDouble > &outarray, int BndID) |
virtual void | v_NormVectorIProductWRTBase (Array< OneD, Array< OneD, NekDouble > > &V, Array< OneD, NekDouble > &outarray) |
virtual void | v_SetUpPhysNormals () |
: Set up a normal along the trace elements between two elements at elemental level More... | |
virtual void | v_GetBoundaryToElmtMap (Array< OneD, int > &ElmtID, Array< OneD, int > &EdgeID) |
virtual void | v_GetBndElmtExpansion (int i, std::shared_ptr< ExpList > &result, const bool DeclareCoeffPhysArrays) |
virtual void | v_ExtractElmtToBndPhys (const int i, const Array< OneD, NekDouble > &elmt, Array< OneD, NekDouble > &boundary) |
virtual void | v_ExtractPhysToBndElmt (const int i, const Array< OneD, const NekDouble > &phys, Array< OneD, NekDouble > &bndElmt) |
virtual void | v_ExtractPhysToBnd (const int i, const Array< OneD, const NekDouble > &phys, Array< OneD, NekDouble > &bnd) |
virtual void | v_GetBoundaryNormals (int i, Array< OneD, Array< OneD, NekDouble > > &normals) |
virtual std::vector< LibUtilities::FieldDefinitionsSharedPtr > | v_GetFieldDefinitions (void) |
virtual void | v_GetFieldDefinitions (std::vector< LibUtilities::FieldDefinitionsSharedPtr > &fielddef) |
virtual void | v_AppendFieldData (LibUtilities::FieldDefinitionsSharedPtr &fielddef, std::vector< NekDouble > &fielddata) |
virtual void | v_AppendFieldData (LibUtilities::FieldDefinitionsSharedPtr &fielddef, std::vector< NekDouble > &fielddata, Array< OneD, NekDouble > &coeffs) |
virtual void | v_ExtractDataToCoeffs (LibUtilities::FieldDefinitionsSharedPtr &fielddef, std::vector< NekDouble > &fielddata, std::string &field, Array< OneD, NekDouble > &coeffs, std::unordered_map< int, int > zIdToPlane) |
Extract data from raw field data into expansion list. More... | |
virtual void | v_ExtractCoeffsToCoeffs (const std::shared_ptr< ExpList > &fromExpList, const Array< OneD, const NekDouble > &fromCoeffs, Array< OneD, NekDouble > &toCoeffs) |
virtual void | v_WriteTecplotHeader (std::ostream &outfile, std::string var="") |
virtual void | v_WriteTecplotZone (std::ostream &outfile, int expansion) |
virtual void | v_WriteTecplotField (std::ostream &outfile, int expansion) |
virtual void | v_WriteTecplotConnectivity (std::ostream &outfile, int expansion) |
virtual void | v_WriteVtkPieceData (std::ostream &outfile, int expansion, std::string var) |
virtual void | v_WriteVtkPieceHeader (std::ostream &outfile, int expansion, int istrip) |
virtual NekDouble | v_L2 (const Array< OneD, const NekDouble > &phys, const Array< OneD, const NekDouble > &soln=NullNekDouble1DArray) |
virtual NekDouble | v_Integral (const Array< OneD, const NekDouble > &inarray) |
virtual NekDouble | v_VectorFlux (const Array< OneD, Array< OneD, NekDouble > > &inarray) |
virtual Array< OneD, const NekDouble > | v_HomogeneousEnergy (void) |
virtual LibUtilities::TranspositionSharedPtr | v_GetTransposition (void) |
virtual NekDouble | v_GetHomoLen (void) |
virtual void | v_SetHomoLen (const NekDouble lhom) |
virtual Array< OneD, const unsigned int > | v_GetZIDs (void) |
virtual Array< OneD, const unsigned int > | v_GetYIDs (void) |
virtual void | v_PhysInterp1DScaled (const NekDouble scale, const Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_PhysGalerkinProjection1DScaled (const NekDouble scale, const Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_ClearGlobalLinSysManager (void) |
virtual int | v_GetPoolCount (std::string) |
virtual void | v_UnsetGlobalLinSys (GlobalLinSysKey, bool) |
virtual LibUtilities::NekManager< GlobalLinSysKey, GlobalLinSys > & | v_GetGlobalLinSysManager (void) |
void | ExtractFileBCs (const std::string &fileName, LibUtilities::CommSharedPtr comm, const std::string &varName, const std::shared_ptr< ExpList > locExpList) |
virtual const Array< OneD, const SpatialDomains::BoundaryConditionShPtr > & | v_GetBndConditions () |
virtual Array< OneD, SpatialDomains::BoundaryConditionShPtr > & | v_UpdateBndConditions () |
virtual void | v_EvaluateBoundaryConditions (const NekDouble time=0.0, const std::string varName="", const NekDouble x2_in=NekConstants::kNekUnsetDouble, const NekDouble x3_in=NekConstants::kNekUnsetDouble) |
virtual std::map< int, RobinBCInfoSharedPtr > | v_GetRobinBCInfo (void) |
virtual void | v_GetPeriodicEntities (PeriodicMap &periodicVerts, PeriodicMap &periodicEdges, PeriodicMap &periodicFaces) |
virtual LibUtilities::BasisSharedPtr | v_GetHomogeneousBasis (void) |
virtual void | v_SetHomo1DSpecVanVisc (Array< OneD, NekDouble > visc) |
virtual std::shared_ptr< ExpList > & | v_GetPlane (int n) |
virtual void | v_AddTraceIntegralToOffDiag (const Array< OneD, const NekDouble > &FwdFlux, const Array< OneD, const NekDouble > &BwdFlux, Array< OneD, NekDouble > &outarray) |
Static Protected Member Functions | |
static SpatialDomains::BoundaryConditionShPtr | GetBoundaryCondition (const SpatialDomains::BoundaryConditionCollection &collection, unsigned int index, const std::string &variable) |
Protected Attributes | |
ExpansionType | m_expType |
Expansion type. More... | |
LibUtilities::CommSharedPtr | m_comm |
Communicator. More... | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session. More... | |
SpatialDomains::MeshGraphSharedPtr | m_graph |
Mesh associated with this expansion list. More... | |
int | m_ncoeffs |
The total number of local degrees of freedom. m_ncoeffs \(=N_{\mathrm{eof}}=\sum_{e=1}^{{N_{\mathrm{el}}}}N^{e}_l\). More... | |
int | m_npoints |
Array< OneD, NekDouble > | m_coeffs |
Concatenation of all local expansion coefficients. More... | |
Array< OneD, NekDouble > | m_phys |
The global expansion evaluated at the quadrature points. More... | |
bool | m_physState |
The state of the array m_phys. More... | |
std::shared_ptr< LocalRegions::ExpansionVector > | m_exp |
The list of local expansions. More... | |
Collections::CollectionVector | m_collections |
std::vector< bool > | m_collectionsDoInit |
Vector of bools to act as an initialise on first call flag. More... | |
Array< OneD, int > | m_coeff_offset |
Offset of elemental data into the array m_coeffs. More... | |
Array< OneD, int > | m_phys_offset |
Offset of elemental data into the array m_phys. More... | |
Array< OneD, std::pair< int, int > > | m_coeffsToElmt |
m_coeffs to elemental value map More... | |
BlockMatrixMapShPtr | m_blockMat |
bool | m_WaveSpace |
std::unordered_map< int, int > | m_elmtToExpId |
Mapping from geometry ID of element to index inside m_exp. More... | |
Private Member Functions | |
void | SetupCoeffPhys (bool DeclareCoeffPhysArrays=true, bool SetupOffsets=true) |
Definition of the total number of degrees of freedom and quadrature points and offsets to access data. More... | |
void | InitialiseExpVector (const SpatialDomains::ExpansionInfoMap &expmap) |
Define a list of elements using the geometry and basis key information in expmap;. More... | |
Base class for all multi-elemental spectral/hp expansions.
All multi-elemental expansions \(u^{\delta}(\boldsymbol{x})\) can be considered as the assembly of the various elemental contributions. On a discrete level, this yields,
\[u^{\delta}(\boldsymbol{x}_i)=\sum_{e=1}^{{N_{\mathrm{el}}}} \sum_{n=0}^{N^{e}_m-1}\hat{u}_n^e\phi_n^e(\boldsymbol{x}_i).\]
where \({N_{\mathrm{el}}}\) is the number of elements and \(N^{e}_m\) is the local elemental number of expansion modes. As it is the lowest level class, it contains the definition of the common data and common routines to all multi-elemental expansions.
The class stores a vector of expansions, m_exp, (each derived from StdRegions::StdExpansion) which define the constituent components of the domain.
Nektar::MultiRegions::ExpList::ExpList | ( | const ExpansionType | type = eNoType | ) |
The default constructor using a type.
Creates an empty expansion list.
Definition at line 91 of file ExpList.cpp.
Nektar::MultiRegions::ExpList::ExpList | ( | const ExpList & | in, |
const bool | DeclareCoeffPhysArrays = true |
||
) |
The copy constructor.
Copies an existing expansion list.
in | Source expansion list. |
Definition at line 107 of file ExpList.cpp.
References SetupCoeffPhys().
Nektar::MultiRegions::ExpList::ExpList | ( | const ExpList & | in, |
const std::vector< unsigned int > & | eIDs, | ||
const bool | DeclareCoeffPhysArrays = true , |
||
const Collections::ImplementationType | ImpType = Collections::eNoImpType |
||
) |
Constructor copying only elements defined in eIds.
Copies the eIds elements from an existing expansion list.
in | Source expansion list. |
in | elements that will be in the new exp list. |
Definition at line 128 of file ExpList.cpp.
References CreateCollections(), m_exp, and SetupCoeffPhys().
Nektar::MultiRegions::ExpList::ExpList | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const SpatialDomains::MeshGraphSharedPtr & | graph, | ||
const bool | DeclareCoeffPhysArrays = true , |
||
const std::string & | var = "DefaultVar" , |
||
const Collections::ImplementationType | ImpType = Collections::eNoImpType |
||
) |
Generate an ExpList from a meshgraph graph and session file.
Given a meshgraph graph, containing information about the domain and the spectral/hp element expansion, this constructor fills the list of local expansions \texttt{m_exp} with the proper expansions, calculates the total number of quadrature points \(x_i\) and local expansion coefficients \(\hat{u}^e_n\) and
pSession | A session within information about expansion |
graph | A meshgraph, containing information about the domain and the spectral/hp element expansion. |
DeclareCoeffPhysArrays | Declare the coefficient and phys space arrays |
ImpType | Detail about the implementation type to use in operators |
Definition at line 168 of file ExpList.cpp.
References CreateCollections(), InitialiseExpVector(), and SetupCoeffPhys().
Nektar::MultiRegions::ExpList::ExpList | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const SpatialDomains::ExpansionInfoMap & | expansions, | ||
const bool | DeclareCoeffPhysArrays = true , |
||
const Collections::ImplementationType | ImpType = Collections::eNoImpType |
||
) |
Sets up a list of local expansions based on an expansion Map.
Given an expansion vector expansions, containing information about the domain and the spectral/hp element expansion, this constructor fills the list of local expansions \texttt{m_exp} with the proper expansions, calculates the total number of quadrature points \(\boldsymbol{x}_i\) and local expansion coefficients \(\hat{u}^e_n\).
pSession | A session within information about expansion |
expansions | A vector containing information about the domain and the spectral/hp element expansion. |
DeclareCoeffPhysArrays | Declare the coefficient and phys space arrays |
ImpType | Detail about the implementation type to use in operators |
Definition at line 210 of file ExpList.cpp.
References CreateCollections(), InitialiseExpVector(), and SetupCoeffPhys().
Nektar::MultiRegions::ExpList::ExpList | ( | const SpatialDomains::PointGeomSharedPtr & | geom | ) |
Specialised constructors for 0D Expansions Wrapper around LocalRegion::PointExp - used in PrePacing.cpp.
Definition at line 232 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::LibUtilities::Point, and SetupCoeffPhys().
Nektar::MultiRegions::ExpList::ExpList | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const Array< OneD, const ExpListSharedPtr > & | bndConstraint, | ||
const Array< OneD, const SpatialDomains ::BoundaryConditionShPtr > & | bndCond, | ||
const LocalRegions::ExpansionVector & | locexp, | ||
const SpatialDomains::MeshGraphSharedPtr & | graph, | ||
const LibUtilities::CommSharedPtr & | comm, | ||
const bool | DeclareCoeffPhysArrays = true , |
||
const std::string | variable = "DefaultVar" , |
||
const Collections::ImplementationType | ImpType = Collections::eNoImpType |
||
) |
Generate expansions for the trace space expansions used in DisContField.
Nektar::MultiRegions::ExpList::ExpList | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const LocalRegions::ExpansionVector & | locexp, | ||
const SpatialDomains::MeshGraphSharedPtr & | graph, | ||
const bool | DeclareCoeffPhysArrays, | ||
const std::string | variable, | ||
const Collections::ImplementationType | ImpType = Collections::eNoImpType |
||
) |
Generate an trace ExpList from a meshgraph graph and session file.
Set expansions for localtrace space expansions used in DisContField as part of Gradient Jump Penalisation
pSession | A session within information about expansion |
locexp | Complete domain expansion list. |
graph | mesh corresponding to the expansion list. |
DeclareCoeffPhysArrays | Declare the coefficient and phys space arrays |
variable | The variable name associated with the expansion |
ImpType | Detail about the implementation type to use in operators |
Definition at line 1105 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), CreateCollections(), Nektar::MultiRegions::e0D, Nektar::MultiRegions::e1D, Nektar::MultiRegions::e2D, Nektar::LibUtilities::BasisKey::GetBasisType(), Nektar::LibUtilities::BasisKey::GetNumModes(), Nektar::LibUtilities::BasisKey::GetPointsKey(), m_expType, and SetupCoeffPhys().
Nektar::MultiRegions::ExpList::ExpList | ( | const LibUtilities::SessionReaderSharedPtr & | pSession, |
const SpatialDomains::CompositeMap & | domain, | ||
const SpatialDomains::MeshGraphSharedPtr & | graph, | ||
const bool | DeclareCoeffPhysArrays = true , |
||
const std::string | variable = "DefaultVar" , |
||
bool | SetToOneSpaceDimension = false , |
||
const LibUtilities::CommSharedPtr | comm = LibUtilities::CommSharedPtr() , |
||
const Collections::ImplementationType | ImpType = Collections::eNoImpType |
||
) |
Constructor based on domain information only for 1D & 2D boundary conditions.
Fills the list of local expansions with the trace from the mesh specified by domain. This CompositeMap contains a list of Composites which define the boundary. It is also used to set up expansion domains in the 1D Pulse Wave solver.
pSession | A session within information about expansion |
domain | A domain, comprising of one or more composite regions, |
graph | A mesh, containing information about the domain and the spectral/hp element expansion. |
DeclareCoeffPhysArrays | Declare the coefficient and phys space arrays. Default is true. |
variable | The variable name associated with the expansion |
SetToOneSpaceDimension | Reduce to one space dimension expansion |
comm | An optional communicator that can be used with the boundary expansion in case of more global parallel operations. Default to a Null Communicator |
ImpType | Detail about the implementation type to use in operators. Default is eNoImpType. |
By default the routine will try and order the expansions in a manner which is optimal for collection type operations. This can be disabled by the command line option –no-exp-opt
Definition at line 1270 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, CreateCollections(), Nektar::MultiRegions::e0D, Nektar::MultiRegions::e1D, Nektar::MultiRegions::e2D, Nektar::ErrorUtil::efatal, Nektar::LibUtilities::eGLL_Lagrange, Nektar::LibUtilities::eHexahedron, Nektar::LibUtilities::eNodalTriElec, Nektar::LibUtilities::ePrism, Nektar::LibUtilities::ePyramid, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eTetrahedron, Nektar::LibUtilities::eTriangle, m_expType, m_session, NEKERROR, and SetupCoeffPhys().
|
virtual |
|
inline |
Definition at line 2178 of file ExpList.h.
References v_AddFwdBwdTraceIntegral().
void Nektar::MultiRegions::ExpList::AddRightIPTBaseMatrix | ( | const Array< OneD, const DNekMatSharedPtr > | ElmtJacQuad, |
Array< OneD, DNekMatSharedPtr > | ElmtJacCoef | ||
) |
Definition at line 6549 of file ExpList.cpp.
References GetNcoeffs(), GetTotPoints(), Vmath::Vadd(), and Vmath::Vcopy().
void Nektar::MultiRegions::ExpList::AddRightIPTPhysDerivBase | ( | const int | dir, |
const Array< OneD, const DNekMatSharedPtr > | ElmtJacQuad, | ||
Array< OneD, DNekMatSharedPtr > | ElmtJacCoef | ||
) |
Definition at line 6492 of file ExpList.cpp.
References GetNcoeffs(), GetTotPoints(), Vmath::Vadd(), and Vmath::Vcopy().
|
inline |
Definition at line 2173 of file ExpList.h.
References v_AddTraceIntegral().
|
inline |
Definition at line 1011 of file ExpList.h.
References v_AddTraceIntegralToOffDiag().
void Nektar::MultiRegions::ExpList::AddTraceJacToElmtJac | ( | const Array< OneD, const DNekMatSharedPtr > & | FwdMat, |
const Array< OneD, const DNekMatSharedPtr > & | BwdMat, | ||
Array< OneD, DNekMatSharedPtr > & | fieldMat | ||
) |
inverse process of v_GetFwdBwdTracePhys. Given Trace integration of Fwd and Bwd Jacobian, with dimension NtotalTrace*TraceCoef*TracePhys. return Elemental Jacobian matrix with dimension NtotalElement*ElementCoef*ElementPhys.
field | is a NekDouble array which contains the 2D data from which we wish to extract the backward and forward orientated trace/edge arrays. |
Fwd | The resulting forwards space. |
Bwd | The resulting backwards space. |
Definition at line 6256 of file ExpList.cpp.
References GetExp(), GetLocTraceFromTracePts(), GetLocTraceToTraceMap(), GetNcoeffs(), GetPhys_Offset(), GetTrace(), Nektar::NullNekDouble1DArray, sign, Vmath::Vcopy(), WARNINGL1, and Vmath::Zero().
|
inline |
Add Fwd and Bwd value to field, a reverse procedure of GetFwdBwdTracePhys.
Definition at line 2203 of file ExpList.h.
References FilterPython_Function::field, and v_AddTraceQuadPhysToField().
|
inline |
Definition at line 815 of file ExpList.h.
References FilterPython_Function::field, and v_AddTraceQuadPhysToOffDiag().
|
inline |
Append the element data listed in elements fielddef->m_ElementIDs onto fielddata.
Definition at line 910 of file ExpList.h.
References v_AppendFieldData().
|
inline |
Append the data in coeffs listed in elements fielddef->m_ElementIDs onto fielddata.
Definition at line 917 of file ExpList.h.
References v_AppendFieldData().
void Nektar::MultiRegions::ExpList::ApplyGeomInfo | ( | ) |
Apply geometry information to each expansion.
Configures geometric info, such as tangent direction, on each expansion.
graph2D | Mesh |
Definition at line 3323 of file ExpList.cpp.
Referenced by Nektar::MultiRegions::DisContField::DisContField().
|
inline |
This function elementally evaluates the backward transformation of the global spectral/hp element expansion.
Given the coefficients of an expansion, this function evaluates the spectral/hp expansion \(u^{\delta}(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\).
Definition at line 1717 of file ExpList.h.
References v_BwdTrans().
Referenced by Nektar::MultiRegions::DisContField::L2_DGDeriv(), MultiplyByMassMatrix(), Nektar::MultiRegions::ContField::v_HelmSolve(), Nektar::MultiRegions::ContField::v_LinearAdvectionDiffusionReactionSolve(), Nektar::MultiRegions::ContField::v_SmoothField(), and v_WriteTecplotField().
Definition at line 5958 of file ExpList.cpp.
References v_ClearGlobalLinSysManager().
void Nektar::MultiRegions::ExpList::CreateCollections | ( | Collections::ImplementationType | ImpType = Collections::eNoImpType | ) |
Construct collections of elements containing a single element type and polynomial order from the list of expansions.
Definition at line 5787 of file ExpList.cpp.
References Nektar::UnitTests::d(), Nektar::SpatialDomains::eDeformed, Nektar::Collections::eNoImpType, Nektar::Collections::CollectionOptimisation::GetMaxCollectionSize(), Nektar::Collections::CollectionOptimisation::GetOperatorImpMap(), GetShapeDimension(), Nektar::Collections::CollectionOptimisation::IsUsingAutotuning(), m_collections, m_collectionsDoInit, m_comm, m_exp, m_graph, m_session, Nektar::LibUtilities::NullBasisKey(), Nektar::Collections::CollectionOptimisation::SetWithTimings(), Nektar::Collections::SIZE_OperatorType, and Nektar::Collections::CollectionOptimisation::UpdateOptFile().
|
inline |
Definition at line 1832 of file ExpList.h.
References v_CurlCurl().
|
inline |
Definition at line 1868 of file ExpList.h.
References v_DealiasedDotProd().
|
inline |
Definition at line 1858 of file ExpList.h.
References v_DealiasedProd().
Referenced by Nektar::MultiRegions::ExpListHomogeneous2D::v_DealiasedDotProd().
void Nektar::MultiRegions::ExpList::DivideByQuadratureMetric | ( | const Array< OneD, const NekDouble > & | inarray, |
Array< OneD, NekDouble > & | outarray | ||
) |
Divided by the metric jacobi and quadrature weights.
Divided by the metric jacobi and quadrature weights
Definition at line 1942 of file ExpList.cpp.
References m_phys_offset.
|
inline |
Evaulates the maximum number of modes in the elemental basis order over all elements.
Evaulates the maximum number of modes in the elemental basis order over all elements
Definition at line 1526 of file ExpList.h.
References m_exp.
|
inline |
Returns the vector of the number of modes in the elemental basis order over all elements.
Definition at line 1541 of file ExpList.h.
References m_exp.
|
inline |
Definition at line 2250 of file ExpList.h.
References v_EvaluateBoundaryConditions().
Referenced by Nektar::MultiRegions::DisContField::DisContField(), and Nektar::MultiRegions::DisContField3DHomogeneous2D::v_EvaluateBoundaryConditions().
void Nektar::MultiRegions::ExpList::ExponentialFilter | ( | Array< OneD, NekDouble > & | array, |
const NekDouble | alpha, | ||
const NekDouble | exponent, | ||
const NekDouble | cutoff | ||
) |
Definition at line 2387 of file ExpList.cpp.
References m_phys_offset.
void Nektar::MultiRegions::ExpList::ExtractCoeffsFromFile | ( | const std::string & | fileName, |
LibUtilities::CommSharedPtr | comm, | ||
const std::string & | varName, | ||
Array< OneD, NekDouble > & | coeffs | ||
) |
Definition at line 4008 of file ExpList.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), ExtractDataToCoeffs(), Nektar::LibUtilities::GetFieldIOFactory(), Nektar::LibUtilities::FieldIO::GetFileType(), and m_session.
void Nektar::MultiRegions::ExpList::ExtractCoeffsToCoeffs | ( | const std::shared_ptr< ExpList > & | fromExpList, |
const Array< OneD, const NekDouble > & | fromCoeffs, | ||
Array< OneD, NekDouble > & | toCoeffs | ||
) |
Extract the data from fromField using fromExpList the coeffs using the basic ExpList Elemental expansions rather than planes in homogeneous case.
Definition at line 4248 of file ExpList.cpp.
References v_ExtractCoeffsToCoeffs().
void Nektar::MultiRegions::ExpList::ExtractDataToCoeffs | ( | LibUtilities::FieldDefinitionsSharedPtr & | fielddef, |
std::vector< NekDouble > & | fielddata, | ||
std::string & | field, | ||
Array< OneD, NekDouble > & | coeffs, | ||
std::unordered_map< int, int > | zIdToPlane = std::unordered_map<int, int>() |
||
) |
Extract the data in fielddata into the coeffs.
Definition at line 4240 of file ExpList.cpp.
References FilterPython_Function::field, and v_ExtractDataToCoeffs().
Referenced by ExtractCoeffsFromFile().
void Nektar::MultiRegions::ExpList::ExtractElmtDataToCoeffs | ( | LibUtilities::FieldDefinitionsSharedPtr & | fielddef, |
std::vector< NekDouble > & | fielddata, | ||
std::string & | field, | ||
Array< OneD, NekDouble > & | coeffs | ||
) |
Extract the data in fielddata into the coeffs using the basic ExpList Elemental expansions rather than planes in homogeneous case.
|
inline |
Definition at line 2273 of file ExpList.h.
References v_ExtractElmtToBndPhys().
|
protected |
|
inline |
Definition at line 2287 of file ExpList.h.
References v_ExtractPhysToBnd().
|
inline |
Definition at line 2280 of file ExpList.h.
References v_ExtractPhysToBndElmt().
Definition at line 2230 of file ExpList.h.
References v_ExtractTracePhys().
|
inline |
Definition at line 2234 of file ExpList.h.
References v_ExtractTracePhys().
|
inline |
Fill Bnd Condition expansion from the values stored in expansion.
Definition at line 1952 of file ExpList.h.
References v_FillBndCondFromField().
|
inline |
Fill Bnd Condition expansion in nreg from the values stored in expansion.
Definition at line 1956 of file ExpList.h.
References v_FillBndCondFromField().
|
inline |
Definition at line 2197 of file ExpList.h.
References v_FillBwdWithBoundCond().
|
inline |
Fill Bwd with boundary conditions.
Definition at line 2216 of file ExpList.h.
References v_FillBwdWithBwdWeight().
Referenced by GetBwdWeight().
|
inline |
Definition at line 1679 of file ExpList.h.
References v_FwdTrans().
|
inline |
Definition at line 1696 of file ExpList.h.
References v_FwdTransBndConstrained().
|
inline |
This function elementally evaluates the forward transformation of a function \(u(\boldsymbol{x})\) onto the global spectral/hp expansion.
Definition at line 1687 of file ExpList.h.
References v_FwdTransLocalElmt().
|
protected |
This function assembles the block diagonal matrix of local matrices of the type mtype.
This function assembles the block diagonal matrix \(\underline{\boldsymbol{M}}^e\), which is the concatenation of the local matrices \(\boldsymbol{M}^e\) of the type mtype, that is
\[ \underline{\boldsymbol{M}}^e = \left[ \begin{array}{cccc} \boldsymbol{M}^1 & 0 & \hspace{3mm}0 \hspace{3mm}& 0 \\ 0 & \boldsymbol{M}^2 & 0 & 0 \\ 0 & 0 & \ddots & 0 \\ 0 & 0 & 0 & \boldsymbol{M}^{N_{\mathrm{el}}} \end{array}\right].\]
mtype | the type of matrix to be assembled |
scalar | an optional parameter |
constant | an optional parameter |
Definition at line 2517 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::StdRegions::eBwdTrans, Nektar::eDIAGONAL, Nektar::ErrorUtil::efatal, Nektar::StdRegions::eHelmholtz, Nektar::StdRegions::eHybridDGHelmBndLam, Nektar::StdRegions::eHybridDGLamToU, Nektar::StdRegions::eInvHybridDGHelmholtz, Nektar::StdRegions::eInvMass, Nektar::StdRegions::eIProductWRTBase, Nektar::StdRegions::eLaplacian, Nektar::StdRegions::eMass, Nektar::LibUtilities::eNoShapeType, Nektar::MultiRegions::GlobalMatrixKey::GetConstFactors(), Nektar::MultiRegions::GlobalMatrixKey::GetMatrixType(), Nektar::MultiRegions::GlobalMatrixKey::GetNVarCoeffs(), Nektar::MultiRegions::GlobalMatrixKey::GetShapeType(), Nektar::MultiRegions::GlobalMatrixKey::GetVarCoeffs(), m_exp, m_phys_offset, NEKERROR, and Nektar::StdRegions::RestrictCoeffMap().
Referenced by GetBlockMatrix().
void Nektar::MultiRegions::ExpList::GeneralGetFieldDefinitions | ( | std::vector< LibUtilities::FieldDefinitionsSharedPtr > & | fielddef, |
int | NumHomoDir = 0 , |
||
Array< OneD, LibUtilities::BasisSharedPtr > & | HomoBasis = LibUtilities::NullBasisSharedPtr1DArray , |
||
std::vector< NekDouble > & | HomoLen = LibUtilities::NullNekDoubleVector , |
||
bool | homoStrips = false , |
||
std::vector< unsigned int > & | HomoSIDs = LibUtilities::NullUnsignedIntVector , |
||
std::vector< unsigned int > & | HomoZIDs = LibUtilities::NullUnsignedIntVector , |
||
std::vector< unsigned int > & | HomoYIDs = LibUtilities::NullUnsignedIntVector |
||
) |
Definition at line 4081 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL0, ASSERTL1, Nektar::LibUtilities::eHexahedron, Nektar::LibUtilities::eQuadrilateral, Nektar::LibUtilities::eSegment, Nektar::LibUtilities::eTetrahedron, Nektar::LibUtilities::eTriangle, GetShapeDimension(), and m_exp.
Referenced by v_GetFieldDefinitions().
void Nektar::MultiRegions::ExpList::GeneralMatrixOp | ( | const GlobalMatrixKey & | gkey, |
const Array< OneD, const NekDouble > & | inarray, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
This function calculates the result of the multiplication of a matrix of type specified by mkey with a vector given by inarray.
This operation is equivalent to the evaluation of \(\underline{\boldsymbol{M}}^e\boldsymbol{\hat{u}}_l\), that is,
\[ \left[ \begin{array}{cccc} \boldsymbol{M}^1 & 0 & \hspace{3mm}0 \hspace{3mm}& 0 \\ 0 & \boldsymbol{M}^2 & 0 & 0 \\ 0 & 0 & \ddots & 0 \\ 0 & 0 & 0 & \boldsymbol{M}^{N_{\mathrm{el}}} \end{array} \right] *\left [ \begin{array}{c} \boldsymbol{\hat{u}}^{1} \\ \boldsymbol{\hat{u}}^{2} \\ \vdots \\ \boldsymbol{\hat{u}}^{{{N_{\mathrm{el}}}}} \end{array} \right ]\]
where \(\boldsymbol{M}^e\) are the local matrices of type specified by the key mkey. The decoupling of the local matrices allows for a local evaluation of the operation. However, rather than a local matrix-vector multiplication, the local operations are evaluated as implemented in the function StdRegions::StdExpansion::GeneralMatrixOp.
mkey | This key uniquely defines the type matrix required for the operation. |
inarray | The vector \(\boldsymbol{\hat{u}}_l\) of size \(N_{\mathrm{eof}}\). |
outarray | The resulting vector of size \(N_{\mathrm{eof}}\). |
Definition at line 2696 of file ExpList.cpp.
References Nektar::Collections::eHelmholtz, Nektar::StdRegions::eHelmholtz, Nektar::Collections::eLinearAdvectionDiffusionReaction, Nektar::StdRegions::eLinearAdvectionDiffusionReaction, Nektar::MultiRegions::GlobalMatrixKey::GetConstFactors(), Nektar::MultiRegions::GlobalMatrixKey::GetMatrixType(), Nektar::MultiRegions::GlobalMatrixKey::GetNVarCoeffs(), Nektar::MultiRegions::GlobalMatrixKey::GetVarCoeffs(), m_coeff_offset, m_collections, m_collectionsDoInit, m_exp, m_phys_offset, and Nektar::StdRegions::RestrictCoeffMap().
void Nektar::MultiRegions::ExpList::GenerateElementVector | ( | const int | ElementID, |
const NekDouble | scalar1, | ||
const NekDouble | scalar2, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
Generate vector v such that v[i] = scalar1 if i is in the element < ElementID. Otherwise, v[i] = scalar2.
Definition at line 4446 of file ExpList.cpp.
References m_phys_offset, and Vmath::Vcopy().
|
protected |
Generate a GlobalLinSys from information provided by the key "mkey" and the mapping provided in LocToGloBaseMap.
Definition at line 3089 of file ExpList.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::ErrorUtil::efatal, Nektar::MultiRegions::eSIZE_GlobalSysSolnType, Nektar::MultiRegions::GetGlobalLinSysFactory(), Nektar::MultiRegions::GlobalLinSysKey::GetGlobalSysSolnType(), GetRobinBCInfo(), GetSharedThisPtr(), Nektar::MultiRegions::GlobalSysSolnTypeMap, and NEKERROR.
Referenced by Nektar::MultiRegions::DisContField::GetGlobalBndLinSys().
|
protected |
This operation constructs the global linear system of type mkey.
Consider a linear system \(\boldsymbol{M\hat{u}}_g=\boldsymbol{f}\) to be solved. Dependent on the solution method, this function constructs
mkey | A key which uniquely defines the global matrix to be constructed. |
locToGloMap | Contains the mapping array and required information for the transformation from local to global degrees of freedom. |
Definition at line 3071 of file ExpList.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::ErrorUtil::efatal, Nektar::MultiRegions::eSIZE_GlobalSysSolnType, Nektar::MultiRegions::GetGlobalLinSysFactory(), Nektar::MultiRegions::GlobalLinSysKey::GetGlobalSysSolnType(), GetSharedThisPtr(), Nektar::MultiRegions::GlobalSysSolnTypeMap, and NEKERROR.
Referenced by Nektar::MultiRegions::ContField::GenGlobalLinSys().
|
protected |
Generates a global matrix from the given key and map.
Retrieves local matrices from each expansion in the expansion list and combines them together to generate a global matrix system.
mkey | Matrix key for the matrix to be generated. |
locToGloMap | Local to global mapping. |
Definition at line 2786 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::StdRegions::eBwdTrans, Nektar::ErrorUtil::efatal, Nektar::StdRegions::eHelmholtz, Nektar::StdRegions::eHybridDGHelmBndLam, Nektar::StdRegions::eIProductWRTBase, Nektar::StdRegions::eLaplacian, Nektar::StdRegions::eMass, Nektar::MultiRegions::GlobalMatrixKey::GetConstFactors(), Nektar::MultiRegions::GlobalMatrixKey::GetMatrixType(), Nektar::MultiRegions::GlobalMatrixKey::GetNVarCoeffs(), Nektar::MultiRegions::GlobalMatrixKey::GetVarCoeffs(), m_exp, m_npoints, m_phys_offset, m_session, NEKERROR, and Nektar::StdRegions::RestrictCoeffMap().
Referenced by Nektar::MultiRegions::ContField::GetGlobalMatrix().
|
protected |
Definition at line 2919 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Blas::Dscal(), Nektar::eFULL, Nektar::StdRegions::eHelmholtz, Nektar::StdRegions::eLaplacian, Nektar::ePOSITIVE_DEFINITE_SYMMETRIC, Nektar::ePOSITIVE_DEFINITE_SYMMETRIC_BANDED, Nektar::MultiRegions::GlobalMatrixKey::GetConstFactors(), Nektar::MultiRegions::GlobalMatrixKey::GetMatrixType(), Nektar::MultiRegions::GlobalMatrixKey::GetNVarCoeffs(), GetRobinBCInfo(), Nektar::MultiRegions::GlobalMatrixKey::GetVarCoeffs(), m_coeff_offset, m_exp, m_phys_offset, Nektar::MultiRegions::RobinBCInfo::next, and Nektar::StdRegions::RestrictCoeffMap().
Referenced by Nektar::MultiRegions::ContField::LinearAdvectionEigs().
|
inline |
Returns the total number of qudature points scaled by the factor scale on each 1D direction.
Definition at line 1567 of file ExpList.h.
|
inline |
Definition at line 1878 of file ExpList.h.
References v_GetBCValues().
|
protected |
Definition at line 2652 of file ExpList.cpp.
References GenBlockMatrix(), and m_blockMat.
Referenced by MultiplyByBlockMatrix(), MultiplyByElmtInvMass(), and Nektar::MultiRegions::DisContField::v_HelmSolve().
|
inline |
Get the weight value for boundary conditions.
Definition at line 2127 of file ExpList.h.
References v_GetBndCondBwdWeight().
|
inline |
Definition at line 2111 of file ExpList.h.
References v_GetBndCondExpansions().
Referenced by v_ExtractElmtToBndPhys(), v_ExtractPhysToBnd(), v_ExtractPhysToBndElmt(), v_GetBoundaryNormals(), and Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals().
|
inline |
Definition at line 2240 of file ExpList.h.
References v_GetBndConditions().
|
inlinevirtual |
Definition at line 2266 of file ExpList.h.
References v_GetBndElmtExpansion().
|
staticprotected |
Definition at line 5755 of file ExpList.cpp.
References ASSERTL1.
Referenced by Nektar::MultiRegions::DisContField::FindPeriodicTraces(), Nektar::MultiRegions::DisContField::GenerateBoundaryConditionExpansion(), and Nektar::MultiRegions::DisContField3DHomogeneous1D::SetupBoundaryConditions().
|
inline |
Definition at line 2294 of file ExpList.h.
References v_GetBoundaryNormals().
|
inline |
Definition at line 2261 of file ExpList.h.
References v_GetBoundaryToElmtMap().
Referenced by Nektar::MultiRegions::DisContField::DisContField(), v_ExtractElmtToBndPhys(), v_ExtractPhysToBnd(), v_ExtractPhysToBndElmt(), Nektar::MultiRegions::DisContField::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetBndElmtExpansion(), v_GetBoundaryNormals(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals(), and Nektar::MultiRegions::DisContField::v_GetRobinBCInfo().
void Nektar::MultiRegions::ExpList::GetBwdWeight | ( | Array< OneD, NekDouble > & | weightAver, |
Array< OneD, NekDouble > & | weightJump | ||
) |
Get the weight value for boundary conditions for boundary average and jump calculations.
Get the weight value on boundaries
Definition at line 4389 of file ExpList.cpp.
References FillBwdWithBwdWeight().
|
inline |
Get the i th value (coefficient) of m_coeffs.
i | The index of m_coeffs to be returned |
Definition at line 2010 of file ExpList.h.
References m_coeffs.
Referenced by Nektar::MultiRegions::DisContField::v_EvaluateBoundaryConditions().
|
inline |
Get the start offset position for a local contiguous list of coeffs correspoinding to element n.
Definition at line 2078 of file ExpList.h.
References m_coeff_offset.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::LocTraceToTraceMap::Setup(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::DisContField::v_AddTraceIntegral(), Nektar::MultiRegions::DisContField::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetBndElmtExpansion(), Nektar::MultiRegions::ExpList3DHomogeneous1D::v_HomogeneousEnergy(), and v_NormVectorIProductWRTBase().
|
inline |
This function returns (a reference to) the array \(\boldsymbol{\hat{u}}_l\) (implemented as m_coeffs) containing all local expansion coefficients.
As the function returns a constant reference to a const Array, it is not possible to modify the underlying data of the array m_coeffs. In order to do so, use the function UpdateCoeffs instead.
Definition at line 1944 of file ExpList.h.
References m_coeffs.
Referenced by Nektar::MultiRegions::ContField::LaplaceSolve(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_EvaluateBoundaryConditions(), Nektar::MultiRegions::DisContField::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetBndElmtExpansion(), Nektar::MultiRegions::ContField::v_HelmSolve(), Nektar::MultiRegions::ExpList3DHomogeneous1D::v_HomogeneousEnergy(), Nektar::MultiRegions::ContField::v_ImposeDirichletConditions(), and Nektar::MultiRegions::ContField::v_LinearAdvectionDiffusionReactionSolve().
|
inline |
|
inline |
Get m_coeffs to elemental value map.
Definition at line 2117 of file ExpList.h.
References m_coeffsToElmt.
Referenced by Nektar::MultiRegions::LocTraceToTraceMap::TraceLocToElmtLocCoeffMap().
|
inline |
Returns the comm object.
Definition at line 966 of file ExpList.h.
References m_comm.
Referenced by Nektar::MultiRegions::AssemblyCommDG::AssemblyCommDG(), and Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap().
|
inline |
This function returns the dimension of the coordinates of the element eid.
eid | The index of the element to be checked. |
Definition at line 1903 of file ExpList.h.
References ASSERTL2, and m_exp.
Referenced by GetExpIndex(), PhysEvaluate(), v_GetBoundaryNormals(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals(), v_GetCoords(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_GetCoords(), v_GetNormals(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_GetNormals(), v_IProductWRTDerivBase(), v_NormVectorIProductWRTBase(), v_Upwind(), v_WriteTecplotZone(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_WriteTecplotZone(), and Nektar::MultiRegions::ExpList2DHomogeneous2D::v_WriteTecplotZone().
|
inline |
This function calculates the coordinates of all the elemental quadrature points \(\boldsymbol{x}_i\).
Definition at line 1770 of file ExpList.h.
References v_GetCoords().
Referenced by v_WriteTecplotZone(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_WriteTecplotZone(), Nektar::MultiRegions::ExpList2DHomogeneous2D::v_WriteTecplotZone(), Nektar::MultiRegions::ExpList3DHomogeneous2D::v_WriteTecplotZone(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_WriteVtkPieceHeader(), Nektar::MultiRegions::ExpList2DHomogeneous2D::v_WriteVtkPieceHeader(), and Nektar::MultiRegions::ExpList3DHomogeneous2D::v_WriteVtkPieceHeader().
|
inline |
Definition at line 1777 of file ExpList.h.
References v_GetCoords().
void Nektar::MultiRegions::ExpList::GetDiagMatIpwrtBase | ( | const Array< OneD, const Array< OneD, NekDouble > > & | inarray, |
Array< OneD, DNekMatSharedPtr > & | mtxPerVar | ||
) |
Definition at line 6185 of file ExpList.cpp.
References Nektar::StdRegions::eBwdMat, Nektar::LibUtilities::eNoShapeType, and Vmath::Smul().
void Nektar::MultiRegions::ExpList::GetElmtNormalLength | ( | Array< OneD, NekDouble > & | lengthsFwd, |
Array< OneD, NekDouble > & | lengthsBwd | ||
) |
Get the length of elements in boundary normal direction.
Returns the element normal length for each trace expansion. The array has the same size as trace phys space. This function should only be called by a trace explist, which has setup the left and right adjacent elements. This function is only used by DiffusionIP to commpute the penalty. However, it's a question whether we need to calculate the lengthFwd and lengthBwd separately, since in most cases, they are equavalent. Same logic applies to v_GetNormals().
lengthsFwd | Output array of normal lengths for left side. |
lengthsBwd | Output array of normal lengths for right side. |
Definition at line 4919 of file ExpList.cpp.
References Nektar::MultiRegions::AlignFace(), Nektar::MultiRegions::e1D, Nektar::MultiRegions::e2D, Nektar::StdRegions::eDir1FwdDir2_Dir2FwdDir1, Nektar::LibUtilities::BasisKey::GetNumPoints(), Nektar::LibUtilities::BasisKey::GetPointsKey(), Nektar::LibUtilities::Interp1D(), Nektar::LibUtilities::Interp2D(), m_exp, m_expType, m_phys_offset, and Vmath::Zero().
|
inline |
This function returns the index inside m_exp for a given geom id.
Definition at line 1039 of file ExpList.h.
References ASSERTL0, and m_elmtToExpId.
|
inline |
This function returns the map of index inside m_exp to geom id.
Definition at line 1032 of file ExpList.h.
References m_elmtToExpId.
|
inline |
This function returns the vector of elements in the expansion.
Definition at line 2070 of file ExpList.h.
References m_exp.
Referenced by AddTraceJacToElmtJac(), Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), Nektar::MultiRegions::ContField3DHomogeneous2D::ContField3DHomogeneous2D(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), Nektar::MultiRegions::DisContField3DHomogeneous1D::DisContField3DHomogeneous1D(), Nektar::MultiRegions::DisContField3DHomogeneous2D::DisContField3DHomogeneous2D(), Nektar::MultiRegions::ExpList2DHomogeneous1D::ExpList2DHomogeneous1D(), Nektar::MultiRegions::ExpList2DHomogeneous2D::ExpList2DHomogeneous2D(), Nektar::MultiRegions::ExpList3DHomogeneous2D::ExpList3DHomogeneous2D(), Nektar::MultiRegions::LocTraceToTraceMap::FindElmtNeighbors(), Nektar::MultiRegions::ExpList3DHomogeneous1D::GenExpList3DHomogeneous1D(), GetExp(), GetExpIndex(), Nektar::MultiRegions::AssemblyCommDG::InitialiseStructure(), Nektar::MultiRegions::LocTraceToTraceMap::LocTraceToTraceMap(), Nektar::MultiRegions::LocTraceToTraceMap::Setup(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), v_ExtractElmtToBndPhys(), v_ExtractPhysToBnd(), v_ExtractPhysToBndElmt(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBCValues(), Nektar::MultiRegions::DisContField::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetBndElmtExpansion(), v_GetBoundaryNormals(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals(), v_GetCoords(), Nektar::MultiRegions::ExpList3DHomogeneous1D::v_HomogeneousEnergy(), Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_NormVectorIProductWRTBase(), and v_WriteTecplotHeader().
LocalRegions::ExpansionSharedPtr & Nektar::MultiRegions::ExpList::GetExp | ( | const Array< OneD, const NekDouble > & | gloCoord | ) |
This function returns (a shared pointer to) the local elemental expansion containing the arbitrary point given by gloCoord.
Definition at line 3170 of file ExpList.cpp.
References GetExp(), and GetExpIndex().
|
inline |
This function returns (a shared pointer to) the local elemental expansion of the \(n^{\mathrm{th}}\) element.
n | The index of the element concerned. |
Definition at line 2048 of file ExpList.h.
References m_exp.
|
inline |
This function returns (a shared pointer to) the local elemental expansion of the \(n^{\mathrm{th}}\) element given a global geometry ID.
n | The global id of the element concerned. |
Definition at line 2058 of file ExpList.h.
References ASSERTL0, m_elmtToExpId, and m_exp.
int Nektar::MultiRegions::ExpList::GetExpIndex | ( | const Array< OneD, const NekDouble > & | gloCoord, |
NekDouble | tol = 0.0 , |
||
bool | returnNearestElmt = false , |
||
int | cachedId = -1 , |
||
NekDouble | maxDistance = 1e6 |
||
) |
This function returns the index of the local elemental expansion containing the arbitrary point given by gloCoord, within a distance tolerance of tol.
If returnNearestElmt is true and no element contains the point, this function returns the nearest element whose bounding box contains the point. The bounding box has a 10% margin in each direction.
gloCoord | (input) coordinate in physics space |
locCoords | (output) local coordinate xi in the returned element |
tol | distance tolerance to judge if a point lies in an element |
returnNearestElmt | if true and no element contains this point, the nearest element whose bounding box contains this point is returned |
cachedId | an initial guess of the most possible element index |
maxDistance | if returnNearestElmt is set as true, the nearest element will be returned. But the distance of the nearest element and this point should be <= maxDistance. |
Definition at line 3181 of file ExpList.cpp.
References GetExpIndex().
Referenced by GetExp(), GetExpIndex(), and PhysEvaluate().
int Nektar::MultiRegions::ExpList::GetExpIndex | ( | const Array< OneD, const NekDouble > & | gloCoords, |
Array< OneD, NekDouble > & | locCoords, | ||
NekDouble | tol = 0.0 , |
||
bool | returnNearestElmt = false , |
||
int | cachedId = -1 , |
||
NekDouble | maxDistance = 1e6 |
||
) |
This function returns the index and the Local Cartesian Coordinates locCoords of the local elemental expansion containing the arbitrary point given by gloCoords.
Definition at line 3191 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), GetCoordim(), GetExp(), GetNumElmts(), m_elmtToExpId, m_exp, m_graph, CellMLToNektar.pycml::msg, CellMLToNektar.cellml_metadata::p, Vmath::Vcopy(), WARNINGL1, and Nektar::UnitTests::z().
|
inline |
This function returns the number of elements in the expansion.
Definition at line 2038 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), Nektar::MultiRegions::ContField3DHomogeneous2D::ContField3DHomogeneous2D(), Nektar::MultiRegions::DisContField3DHomogeneous1D::DisContField3DHomogeneous1D(), Nektar::MultiRegions::DisContField3DHomogeneous2D::DisContField3DHomogeneous2D(), Nektar::MultiRegions::DisContField::EvaluateHDGPostProcessing(), Nektar::MultiRegions::DisContField::GetNegatedFluxNormal(), Nektar::MultiRegions::DisContField::L2_DGDeriv(), Nektar::MultiRegions::DisContField::v_AddTraceIntegral(), Nektar::MultiRegions::DisContField::v_ExtractTracePhys(), Nektar::MultiRegions::DisContField::v_GetBoundaryToElmtMap(), Nektar::MultiRegions::DisContField::v_GetFwdBwdTracePhys(), Nektar::MultiRegions::DisContField::v_HelmSolve(), v_NormVectorIProductWRTBase(), and v_PhysGalerkinProjection1DScaled().
ExpansionType Nektar::MultiRegions::ExpList::GetExpType | ( | void | ) |
Returns the type of the expansion.
Definition at line 1888 of file ExpList.cpp.
References m_expType.
Referenced by v_CurlCurl().
|
inline |
Definition at line 897 of file ExpList.h.
References v_GetFieldDefinitions().
|
inline |
Definition at line 902 of file ExpList.h.
References v_GetFieldDefinitions().
|
inline |
Definition at line 2184 of file ExpList.h.
References v_GetFwdBwdTracePhys().
|
inline |
Definition at line 2189 of file ExpList.h.
References FilterPython_Function::field, and v_GetFwdBwdTracePhys().
LibUtilities::NekManager< GlobalLinSysKey, GlobalLinSys > & Nektar::MultiRegions::ExpList::GetGlobalLinSysManager | ( | void | ) |
Definition at line 5978 of file ExpList.cpp.
References v_GetGlobalLinSysManager().
|
inline |
|
inline |
Definition at line 975 of file ExpList.h.
References v_GetHomogeneousBasis().
This function returns the Width of homogeneous direction associated with the homogeneous expansion.
Definition at line 604 of file ExpList.h.
References v_GetHomoLen().
|
inline |
Definition at line 2161 of file ExpList.h.
References v_GetInterfaceMap().
|
inline |
Definition at line 2226 of file ExpList.h.
References v_GetLeftAdjacentFaces().
|
inline |
Definition at line 2300 of file ExpList.h.
References v_GetLeftAdjacentTraces().
|
inline |
Definition at line 2209 of file ExpList.h.
References v_GetLocTraceFromTracePts().
Referenced by AddTraceJacToElmtJac().
|
inline |
Definition at line 2122 of file ExpList.h.
References v_GetLocTraceToTraceMap().
Referenced by AddTraceJacToElmtJac().
void Nektar::MultiRegions::ExpList::GetMatIpwrtDeriveBase | ( | const Array< OneD, const Array< OneD, NekDouble > > & | inarray, |
const int | nDirctn, | ||
Array< OneD, DNekMatSharedPtr > & | mtxPerVar | ||
) |
Definition at line 6042 of file ExpList.cpp.
void Nektar::MultiRegions::ExpList::GetMatIpwrtDeriveBase | ( | const TensorOfArray3D< NekDouble > & | inarray, |
Array< OneD, DNekMatSharedPtr > & | mtxPerVar | ||
) |
Definition at line 6080 of file ExpList.cpp.
References Nektar::StdRegions::eDerivBase0, Nektar::StdRegions::eDerivBase1, Nektar::StdRegions::eDerivBase2, Nektar::LibUtilities::eNoShapeType, m_graph, Vmath::Svtvp(), Vmath::Vadd(), and Vmath::Zero().
|
inline |
Definition at line 1787 of file ExpList.h.
References v_GetMovingFrames().
|
inline |
|
inline |
Returns the total number of local degrees of freedom \(N_{\mathrm{eof}}=\sum_{e=1}^{{N_{\mathrm{el}}}}N^{e}_m\).
Returns the total number of local degrees of freedom \(N_{\mathrm{eof}}=\sum_{e=1}^{{N_{\mathrm{el}}}}N^{e}_m\).
Definition at line 1512 of file ExpList.h.
References m_ncoeffs.
Referenced by AddRightIPTBaseMatrix(), AddRightIPTPhysDerivBase(), AddTraceJacToElmtJac(), Nektar::MultiRegions::ContField::LaplaceSolve(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_EvaluateBoundaryConditions(), v_ExtractDataToCoeffs(), Nektar::MultiRegions::ExpListHomogeneous1D::v_ExtractDataToCoeffs(), Nektar::MultiRegions::ContField::v_FillBndCondFromField(), Nektar::MultiRegions::ContField::v_HelmSolve(), Nektar::MultiRegions::DisContField::v_HelmSolve(), Nektar::MultiRegions::ContField::v_ImposeDirichletConditions(), and Nektar::MultiRegions::ContField::v_LinearAdvectionDiffusionReactionSolve().
|
inline |
Definition at line 2169 of file ExpList.h.
References v_GetNormals().
|
inline |
|
inline |
This function returns the number of elements in the expansion which may be different for a homogeoenous extended expansionp.
Definition at line 653 of file ExpList.h.
References v_GetNumElmts().
Referenced by GetExpIndex(), v_GetCoords(), and v_WriteTecplotHeader().
|
inline |
Definition at line 890 of file ExpList.h.
References v_GetPeriodicEntities().
This function returns (a reference to) the array \(\boldsymbol{u}_l\) (implemented as m_phys) containing the function \(u^{\delta}(\boldsymbol{x})\) evaluated at the quadrature points.
As the function returns a constant reference to a const Array it is not possible to modify the underlying data of the array m_phys. In order to do so, use the function UpdatePhys instead.
Definition at line 2030 of file ExpList.h.
References m_phys.
Referenced by Nektar::MultiRegions::DisContField::FillBwdWithBoundCond(), Nektar::MultiRegions::DisContField::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBndElmtExpansion(), and Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetBndElmtExpansion().
|
inline |
Get the start offset position for a local contiguous list of quadrature points in a full array correspoinding to element n.
Definition at line 2085 of file ExpList.h.
References m_phys_offset.
Referenced by AddTraceJacToElmtJac(), Nektar::MultiRegions::LocTraceToTraceMap::Setup(), v_ExtractPhysToBnd(), v_ExtractPhysToBndElmt(), Nektar::MultiRegions::DisContField::v_ExtractTracePhys(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBCValues(), Nektar::MultiRegions::DisContField::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField::v_GetFwdBwdTracePhys(), and v_NormVectorIProductWRTBase().
|
inline |
This function indicates whether the array of physical values \(\boldsymbol{u}_l\) (implemented as m_phys) is filled or not.
Definition at line 1643 of file ExpList.h.
References m_physState.
|
inline |
Definition at line 979 of file ExpList.h.
References v_GetPlane().
int Nektar::MultiRegions::ExpList::GetPoolCount | ( | std::string | poolName | ) |
Added for access to the pool count by external code (e.g. UnitTests) which can't access the static pool across compilation units on Windows builds.
Definition at line 5968 of file ExpList.cpp.
References v_GetPoolCount().
|
inline |
Definition at line 885 of file ExpList.h.
References v_GetRobinBCInfo().
Referenced by GenGlobalBndLinSys(), and GenGlobalMatrixFull().
|
inline |
Returns the session object.
Definition at line 961 of file ExpList.h.
References m_session.
Referenced by Nektar::MultiRegions::AssemblyCommDG::AssemblyCommDG(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), and Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap().
|
inline |
This function returns the dimension of the shape of the element eid.
eid | The index of the element to be checked. |
Definition at line 1912 of file ExpList.h.
References m_exp.
Referenced by CreateCollections(), and GeneralGetFieldDefinitions().
|
inline |
Returns a shared pointer to the current object.
Definition at line 956 of file ExpList.h.
Referenced by GenGlobalBndLinSys(), GenGlobalLinSys(), Nektar::MultiRegions::ContField::GetGJPForcing(), Nektar::MultiRegions::ContField::v_HelmSolve(), and Nektar::MultiRegions::ContField::v_LinearAdvectionDiffusionReactionSolve().
|
inline |
|
inline |
Returns the total number of quadrature points m_npoints \(=Q_{\mathrm{tot}}\).
Definition at line 1557 of file ExpList.h.
References m_npoints.
Referenced by AddRightIPTBaseMatrix(), AddRightIPTPhysDerivBase(), v_Curl(), v_CurlCurl(), v_ExtractElmtToBndPhys(), v_ExtractPhysToBnd(), v_GetBoundaryNormals(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals(), Nektar::MultiRegions::ExpList3DHomogeneous1D::v_GetCoords(), Nektar::MultiRegions::ExpList3DHomogeneous2D::v_GetCoords(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_GetCoords(), Nektar::MultiRegions::ExpList3DHomogeneous1D::v_HomogeneousEnergy(), Nektar::MultiRegions::ExpList3DHomogeneous2D::v_L2(), v_WriteTecplotField(), and v_WriteTecplotZone().
|
inline |
Return a reference to the trace space associated with this expansion list.
Definition at line 2153 of file ExpList.h.
References v_GetTrace().
Referenced by AddTraceJacToElmtJac(), and Nektar::MultiRegions::DisContField::v_AddTraceIntegral().
Definition at line 2165 of file ExpList.h.
References v_GetTraceBndMap().
|
inline |
Definition at line 2157 of file ExpList.h.
References v_GetTraceMap().
Referenced by v_GetTraceBndMap().
|
inline |
This function returns the transposition class associated with the homogeneous expansion.
Definition at line 597 of file ExpList.h.
References v_GetTransposition().
|
inline |
This function returns the third direction expansion condition, which can be in wave space (coefficient) or not It is stored in the variable m_WaveSpace.
Definition at line 1604 of file ExpList.h.
References m_WaveSpace.
Referenced by Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBndElmtExpansion(), and Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetBndElmtExpansion().
This function returns a vector containing the wave numbers in y-direction associated with the 3D homogenous expansion. Required if a parellelisation is applied in the Fourier direction.
Definition at line 620 of file ExpList.h.
References v_GetYIDs().
This function returns a vector containing the wave numbers in z-direction associated with the 3D homogenous expansion. Required if a parellelisation is applied in the Fourier direction.
Definition at line 590 of file ExpList.h.
References v_GetZIDs().
Referenced by v_WriteTecplotZone().
|
protected |
|
inline |
This operation is evaluated as:
\begin{tabbing} \hspace{1cm} \= Do \= $e=$ $1, N_{\mathrm{el}}$ \\ \> \> Do \= $i=$ $0,N_m^e-1$ \\ \> \> \> $\boldsymbol{\hat{u}}^{e}[i] = \mbox{sign}[e][i] \cdot \boldsymbol{\hat{u}}_g[\mbox{map}[e][i]]$ \\ \> \> continue \\ \> continue \end{tabbing}
where map \([e][i]\) is the mapping array and sign \([e][i]\) is an array of similar dimensions ensuring the correct modal connectivity between the different elements (both these arrays are contained in the data member #m_locToGloMap). This operation is equivalent to the scatter operation \(\boldsymbol{\hat{u}}_l=\mathcal{A}\boldsymbol{\hat{u}}_g\), where \(\mathcal{A}\) is the \(N_{\mathrm{eof}}\times N_{\mathrm{dof}}\) permutation matrix.
inarray | An array of size \(N_\mathrm{dof}\) containing the global degrees of freedom \(\boldsymbol{x}_g\). |
outarray | The resulting local degrees of freedom \(\boldsymbol{x}_l\) will be stored in this array of size \(N_\mathrm{eof}\). |
Definition at line 2001 of file ExpList.h.
References v_GlobalToLocal().
Scatters from the global coefficients \(\boldsymbol{\hat{u}}_g\) to the local coefficients \(\boldsymbol{\hat{u}}_l\).
Definition at line 1971 of file ExpList.h.
References v_GlobalToLocal().
NekDouble Nektar::MultiRegions::ExpList::H1 | ( | const Array< OneD, const NekDouble > & | inarray, |
const Array< OneD, const NekDouble > & | soln = NullNekDouble1DArray |
||
) |
Calculates the \(H^1\) error of the global spectral/hp element approximation.
Given a spectral/hp approximation \(u^{\delta}(\boldsymbol{x})\) evaluated at the quadrature points (which should be contained in m_phys), this function calculates the \(H^1_2\) error of this approximation with respect to an exact solution. The local distribution of the quadrature points allows an elemental evaluation of this operation through the functions StdRegions::StdExpansion::H1.
The exact solution, also evaluated at the quadrature points, should be contained in the variable m_phys of the ExpList object Sol.
soln | An 1D array, containing the discrete evaluation of the exact solution at the quadrature points. |
Definition at line 4063 of file ExpList.cpp.
References m_comm, m_phys_offset, Nektar::LibUtilities::ReduceSum, and tinysimd::sqrt().
|
inline |
Solve helmholtz problem.
Definition at line 1734 of file ExpList.h.
References Nektar::VarcoeffHashingTest::factors, and v_HelmSolve().
|
inline |
Definition at line 1849 of file ExpList.h.
References v_HomogeneousBwdTrans().
Referenced by Nektar::MultiRegions::ExpListHomogeneous1D::v_BwdTrans(), Nektar::MultiRegions::ExpListHomogeneous2D::v_BwdTrans(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedDotProd(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedProd(), Nektar::MultiRegions::ExpListHomogeneous2D::v_DealiasedProd(), Nektar::MultiRegions::ExpListHomogeneous1D::v_PhysDeriv(), and Nektar::MultiRegions::ExpListHomogeneous2D::v_PhysDeriv().
This function calculates the energy associated with each one of the modesof a 3D homogeneous nD expansion.
Definition at line 574 of file ExpList.h.
References v_HomogeneousEnergy().
|
inline |
Definition at line 1840 of file ExpList.h.
References v_HomogeneousFwdTrans().
Referenced by Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedDotProd(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedProd(), Nektar::MultiRegions::ExpListHomogeneous2D::v_DealiasedProd(), Nektar::MultiRegions::ExpList2DHomogeneous2D::v_FwdTrans(), Nektar::MultiRegions::ExpListHomogeneous1D::v_FwdTrans(), Nektar::MultiRegions::ExpListHomogeneous2D::v_FwdTrans(), Nektar::MultiRegions::ExpListHomogeneous1D::v_FwdTransBndConstrained(), Nektar::MultiRegions::ExpListHomogeneous2D::v_FwdTransBndConstrained(), Nektar::MultiRegions::ExpListHomogeneous1D::v_FwdTransLocalElmt(), Nektar::MultiRegions::ExpListHomogeneous2D::v_FwdTransLocalElmt(), Nektar::MultiRegions::ContField3DHomogeneous1D::v_HelmSolve(), Nektar::MultiRegions::ContField3DHomogeneous2D::v_HelmSolve(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_HelmSolve(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_HelmSolve(), Nektar::MultiRegions::ExpListHomogeneous1D::v_IProductWRTBase(), Nektar::MultiRegions::ExpListHomogeneous1D::v_IProductWRTDerivBase(), Nektar::MultiRegions::ExpListHomogeneous1D::v_PhysDeriv(), and Nektar::MultiRegions::ExpListHomogeneous2D::v_PhysDeriv().
|
inline |
Impose Dirichlet Boundary Conditions onto Array.
Definition at line 1948 of file ExpList.h.
References v_ImposeDirichletConditions().
|
private |
Define a list of elements using the geometry and basis key information in expmap;.
Initialise an expansion vector (m_exp) given an expansion map expmap which contains a list of basiskeys and geometries pointers. This routine is called from a number of ExpList constructors mainly handling the domain definitions. Boundary condition expansions are handled with specialised operators.
expmap | The expansion info map contaiining map of basiskeys and geometry pointers |
By default the routine will try and order the expansions in a manner which is optimal for collection type operations. This can be disabled by the command line option –no-exp-opt
Definition at line 1672 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), ASSERTL1, Nektar::MultiRegions::e1D, Nektar::MultiRegions::e2D, Nektar::MultiRegions::e3D, Nektar::ErrorUtil::efatal, Nektar::LibUtilities::eGauss_Lagrange, Nektar::LibUtilities::eGLL_Lagrange, Nektar::LibUtilities::eNodalTriElec, Nektar::MultiRegions::eNoType, Nektar::LibUtilities::eOrtho_A, Nektar::LibUtilities::BasisKey::GetBasisType(), Nektar::LibUtilities::BasisKey::GetNumModes(), Nektar::LibUtilities::BasisKey::GetPointsKey(), m_elmtToExpId, m_expType, m_session, and NEKERROR.
Referenced by ExpList().
|
inline |
Calculates the \(H^1\) error of the global spectral/hp element approximation.
The integration is evaluated locally, that is
\[\int f(\boldsymbol{x})d\boldsymbol{x}=\sum_{e=1}^{{N_{\mathrm{el}}}} \left\{\int_{\Omega_e}f(\boldsymbol{x})d\boldsymbol{x}\right\}, \]
where the integration over the separate elements is done by the function StdRegions::StdExpansion::Integral, which discretely evaluates the integral using Gaussian quadrature.
Note that the array m_phys should be filled with the values of the function \(f(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\).
Definition at line 543 of file ExpList.h.
References ASSERTL1, Integral(), m_phys, and m_physState.
Referenced by Integral().
|
inline |
The integration is evaluated locally, that is
\[\int f(\boldsymbol{x})d\boldsymbol{x}=\sum_{e=1}^{{N_{\mathrm{el}}}} \left\{\int_{\Omega_e}f(\boldsymbol{x})d\boldsymbol{x}\right\}, \]
where the integration over the separate elements is done by the function StdRegions::StdExpansion::Integral, which discretely evaluates the integral using Gaussian quadrature.
inarray | An array of size \(Q_{\mathrm{tot}}\) containing the values of the function \(f(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\). |
Definition at line 564 of file ExpList.h.
References v_Integral().
|
inline |
This function calculates the inner product of a function \(f(\boldsymbol{x})\) with respect to all local expansion modes \(\phi_n^e(\boldsymbol{x})\).
Definition at line 1650 of file ExpList.h.
References v_IProductWRTBase().
Referenced by Nektar::MultiRegions::ContField::LaplaceSolve(), MultiplyByMassMatrix(), Nektar::MultiRegions::ContField::v_FwdTrans(), v_FwdTransLocalElmt(), Nektar::MultiRegions::ContField::v_HelmSolve(), Nektar::MultiRegions::DisContField::v_HelmSolve(), Nektar::MultiRegions::ContField::v_LinearAdvectionDiffusionReactionSolve(), Nektar::MultiRegions::ContField::v_LinearAdvectionReactionSolve(), and Nektar::MultiRegions::ContField::v_SmoothField().
|
inline |
This function calculates the inner product of a function \(f(\boldsymbol{x})\) with respect to the derivative of all local expansion modes \(\phi_n^e(\boldsymbol{x})\).
Definition at line 1669 of file ExpList.h.
References v_IProductWRTDerivBase().
|
inline |
This function calculates the inner product of a function \(f(\boldsymbol{x})\) with respect to the derivative (in direction.
dir) | of all local expansion modes \(\phi_n^e(\boldsymbol{x})\). |
Definition at line 1659 of file ExpList.h.
References v_IProductWRTDerivBase().
void Nektar::MultiRegions::ExpList::IProductWRTDirectionalDerivBase | ( | const Array< OneD, const NekDouble > & | direction, |
const Array< OneD, const NekDouble > & | inarray, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
Directional derivative along a given direction.
Definition at line 1988 of file ExpList.cpp.
References m_coeff_offset, m_phys_offset, and Vmath::Vcopy().
|
inline |
This function calculates the \(L_\infty\) error of the global This function calculates the \(L_2\) error with respect to soln of the global spectral/hp element approximation.
Definition at line 514 of file ExpList.h.
References v_L2().
Referenced by Nektar::MultiRegions::DisContField::L2_DGDeriv(), and Nektar::MultiRegions::ExpList3DHomogeneous2D::v_L2().
|
inline |
Solve Advection Diffusion Reaction.
Definition at line 1747 of file ExpList.h.
References Nektar::VarcoeffHashingTest::factors, and v_LinearAdvectionDiffusionReactionSolve().
|
inline |
Solve Advection Diffusion Reaction.
Definition at line 1758 of file ExpList.h.
References v_LinearAdvectionReactionSolve().
NekDouble Nektar::MultiRegions::ExpList::Linf | ( | const Array< OneD, const NekDouble > & | inarray, |
const Array< OneD, const NekDouble > & | soln = NullNekDouble1DArray |
||
) |
This function calculates the \(L_\infty\) error of the global spectral/hp element approximation.
Given a spectral/hp approximation \(u^{\delta}(\boldsymbol{x})\) evaluated at the quadrature points (which should be contained in m_phys), this function calculates the \(L_\infty\) error of this approximation with respect to an exact solution. The local distribution of the quadrature points allows an elemental evaluation of this operation through the functions StdRegions::StdExpansion::Linf.
The exact solution, also evaluated at the quadrature points, should be contained in the variable m_phys of the ExpList object Sol.
soln | A 1D array, containing the discrete evaluation of the exact solution at the quadrature points in its array m_phys. |
Definition at line 3818 of file ExpList.cpp.
References tinysimd::abs(), m_comm, m_npoints, Nektar::NullNekDouble1DArray, Nektar::LibUtilities::ReduceMax, and Vmath::Vmax().
|
inline |
Gathers the global coefficients \(\boldsymbol{\hat{u}}_g\) from the local coefficients \(\boldsymbol{\hat{u}}_l\).
Definition at line 1961 of file ExpList.h.
References v_LocalToGlobal().
|
inline |
Definition at line 1965 of file ExpList.h.
References v_LocalToGlobal().
|
protected |
Retrieves the block matrix specified by bkey, and computes \( y=Mx \).
gkey | GlobalMatrixKey specifying the block matrix to use in the matrix-vector multiply. |
inarray | Input vector \( x \). |
outarray | Output vector \( y \). |
Definition at line 1905 of file ExpList.cpp.
References Nektar::eWrapper, and GetBlockMatrix().
void Nektar::MultiRegions::ExpList::MultiplyByElmtInvMass | ( | const Array< OneD, const NekDouble > & | inarray, |
Array< OneD, NekDouble > & | outarray | ||
) |
This function elementally mulplies the coefficient space of Sin my the elemental inverse of the mass matrix.
The coefficients of the function to be acted upon should be contained in the
inarray. | The resulting coefficients are stored in |
outarray | |
inarray | An array of size \(N_{\mathrm{eof}}\) containing the inner product. |
Definition at line 2408 of file ExpList.cpp.
References Nektar::StdRegions::eInvMass, Nektar::eWrapper, GetBlockMatrix(), and m_ncoeffs.
Referenced by v_FwdTransLocalElmt().
|
inline |
Definition at line 1725 of file ExpList.h.
References v_MultiplyByInvMassMatrix().
Referenced by Nektar::MultiRegions::ContField::v_SmoothField().
|
inline |
Definition at line 299 of file ExpList.h.
References BwdTrans(), GetNpoints(), and IProductWRTBase().
void Nektar::MultiRegions::ExpList::MultiplyByQuadratureMetric | ( | const Array< OneD, const NekDouble > & | inarray, |
Array< OneD, NekDouble > & | outarray | ||
) |
multiply the metric jacobi and quadrature weights
multiply the metric jacobi and quadrature weights
Definition at line 1925 of file ExpList.cpp.
References m_phys_offset.
|
inline |
Definition at line 1894 of file ExpList.h.
References v_NormVectorIProductWRTBase().
|
inline |
Definition at line 1887 of file ExpList.h.
References v_NormVectorIProductWRTBase().
|
inline |
Copy and fill the Periodic boundaries.
Definition at line 2221 of file ExpList.h.
References v_PeriodicBwdCopy().
|
inline |
This function discretely evaluates the derivative of a function \(f(\boldsymbol{x})\) on the domain consisting of all elements of the expansion.
Definition at line 1797 of file ExpList.h.
References v_PhysDeriv().
|
inline |
Definition at line 1807 of file ExpList.h.
References v_PhysDeriv().
|
inline |
Definition at line 1813 of file ExpList.h.
References v_PhysDeriv().
Referenced by v_Curl(), and v_CurlCurl().
|
inline |
Definition at line 1822 of file ExpList.h.
References v_PhysDirectionalDeriv().
NekDouble Nektar::MultiRegions::ExpList::PhysEvaluate | ( | const Array< OneD, const NekDouble > & | coords, |
const Array< OneD, const NekDouble > & | phys | ||
) |
This function return the expansion field value at the coordinates given as input.
Given some coordinates, output the expansion field value at that point
Definition at line 3300 of file ExpList.cpp.
References ASSERTL0, GetCoordim(), GetExpIndex(), m_exp, and m_phys_offset.
|
inline |
This function Galerkin projects the physical space points in inarray to outarray where inarray is assumed to be defined in the expansion but where the number of points are rescaled by 1DScale.
Definition at line 640 of file ExpList.h.
References v_PhysGalerkinProjection1DScaled().
|
inline |
This function interpolates the physical space points in inarray to outarray using the same points defined in the expansion but where the number of points are rescaled by 1DScale.
Definition at line 629 of file ExpList.h.
References v_PhysInterp1DScaled().
|
inline |
Reset geometry information and reset matrices.
Definition at line 387 of file ExpList.h.
References v_Reset().
void Nektar::MultiRegions::ExpList::ResetMatrices | ( | ) |
Reset matrices.
Definition at line 3363 of file ExpList.cpp.
References m_blockMat.
|
inline |
Set the weight value for boundary conditions.
Definition at line 2131 of file ExpList.h.
References v_SetBndCondBwdWeight().
void Nektar::MultiRegions::ExpList::SetExpType | ( | ExpansionType | Type | ) |
Returns the type of the expansion.
This function sets the Spectral Vanishing Viscosity in homogeneous1D expansion.
Definition at line 581 of file ExpList.h.
References v_SetHomo1DSpecVanVisc().
This function sets the Width of homogeneous direction associated with the homogeneous expansion.
Definition at line 611 of file ExpList.h.
References v_SetHomoLen().
|
inline |
Set Modified Basis for the stability analysis.
|
inline |
Fills the array m_phys.
This function fills the array \(\boldsymbol{u}_l\), the evaluation of the expansion at the quadrature points (implemented as m_phys), with the values of the array inarray.
inarray | The array containing the values where m_phys should be filled with. |
Definition at line 1622 of file ExpList.h.
References ASSERTL0, m_npoints, m_phys, m_physState, and Vmath::Vcopy().
|
inline |
This function manually sets whether the array of physical values \(\boldsymbol{u}_l\) (implemented as m_phys) is filled or not.
physState | true (=filled) or false (=not filled). |
Definition at line 1636 of file ExpList.h.
References m_physState.
|
private |
Definition of the total number of degrees of freedom and quadrature points and offsets to access data.
Each expansion (local element) is processed in turn to determine the number of coefficients and physical data points it contributes to the domain. Two arrays, m_coeff_offset are m_phys_offset are also initialised and updated to store the data offsets of each element in the m_coeffs and m_phys arrays, and the element id that each consecutive block is associated respectively. Finally we initialise m_coeffs and m_phys
Definition at line 1615 of file ExpList.cpp.
References m_coeff_offset, m_coeffs, m_coeffsToElmt, m_exp, m_ncoeffs, m_npoints, m_phys, and m_phys_offset.
Referenced by ExpList().
|
inline |
Definition at line 2257 of file ExpList.h.
References v_SetUpPhysNormals().
Referenced by Nektar::MultiRegions::DisContField::DisContField(), Nektar::MultiRegions::DisContField::GenerateBoundaryConditionExpansion(), and Nektar::MultiRegions::DisContField::SetUpDG().
|
inline |
Sets the wave space to the one of the possible configuration true or false.
Definition at line 1596 of file ExpList.h.
References m_WaveSpace.
Smooth a field across elements.
Definition at line 1705 of file ExpList.h.
References FilterPython_Function::field, and v_SmoothField().
void Nektar::MultiRegions::ExpList::UnsetGlobalLinSys | ( | GlobalLinSysKey | key, |
bool | clearLocalMatrices | ||
) |
Definition at line 5973 of file ExpList.cpp.
References v_UnsetGlobalLinSys().
|
inline |
Definition at line 2135 of file ExpList.h.
References v_UpdateBndCondExpansion().
|
inline |
Definition at line 2245 of file ExpList.h.
References v_UpdateBndConditions().
This function returns (a reference to) the array \(\boldsymbol{\hat{u}}_l\) (implemented as m_coeffs) containing all local expansion coefficients.
If one wants to get hold of the underlying data without modifying them, rather use the function GetCoeffs instead.
Definition at line 2095 of file ExpList.h.
References m_coeffs.
Referenced by Nektar::MultiRegions::DisContField3DHomogeneous2D::v_EvaluateBoundaryConditions().
This function returns (a reference to) the array \(\boldsymbol{u}_l\) (implemented as m_phys) containing the function \(u^{\delta}(\boldsymbol{x})\) evaluated at the quadrature points.
If one wants to get hold of the underlying data without modifying them, rather use the function GetPhys instead.
Definition at line 2105 of file ExpList.h.
References m_phys, and m_physState.
|
inline |
Definition at line 2139 of file ExpList.h.
References Upwind(), and v_Upwind().
|
inline |
Definition at line 2146 of file ExpList.h.
References Upwind(), and v_Upwind().
Referenced by Upwind(), and v_Upwind().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5074 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddFwdBwdTraceIntegral().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5066 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceIntegral().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 6034 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceIntegralToOffDiag().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5109 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceQuadPhysToField().
|
protectedvirtual |
Definition at line 5118 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceQuadPhysToOffDiag().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 4208 of file ExpList.cpp.
References m_coeffs, and v_AppendFieldData().
Referenced by AppendFieldData(), and v_AppendFieldData().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 4215 of file ExpList.cpp.
References m_coeff_offset.
|
protectedvirtual |
Given the elemental coefficients \(\hat{u}_n^e\) of an expansion, this function evaluates the spectral/hp expansion \(u^{\delta}(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\). The operation is evaluated locally by the elemental function StdRegions::StdExpansion::BwdTrans.
inarray | An array of size \(N_{\mathrm{eof}}\) containing the local coefficients \(\hat{u}_n^e\). |
outarray | The resulting physical values at the quadrature points \(u^{\delta}(\boldsymbol{x}_i)\) will be stored in this array of size \(Q_{\mathrm{tot}}\). |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 3125 of file ExpList.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), Nektar::MultiRegions::e0D, Nektar::Collections::eBwdTrans, LIKWID_MARKER_START, LIKWID_MARKER_STOP, m_collections, m_collectionsDoInit, m_expType, m_ncoeffs, Nektar::LibUtilities::Timer::Start(), Nektar::LibUtilities::Timer::Stop(), and Vmath::Vcopy().
Referenced by BwdTrans().
Reimplemented in Nektar::MultiRegions::ContField, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField3DHomogeneous2D.
Definition at line 3981 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by ClearGlobalLinSysManager().
|
protectedvirtual |
Definition at line 2240 of file ExpList.cpp.
References ASSERTL0, Nektar::MultiRegions::e2D, Nektar::MultiRegions::e3D, GetTotPoints(), m_expType, PhysDeriv(), Vmath::Vsub(), Nektar::xDir, Nektar::yDir, and Nektar::zDir.
|
protectedvirtual |
Definition at line 2289 of file ExpList.cpp.
References ASSERTL0, Nektar::MultiRegions::e2D, Nektar::MultiRegions::e3D, Nektar::MultiRegions::e3DH1D, Nektar::MultiRegions::e3DH2D, GetExpType(), GetTotPoints(), m_expType, m_session, Vmath::Neg(), PhysDeriv(), Vmath::Smul(), Vmath::Vsub(), Nektar::xDir, Nektar::yDir, and Nektar::zDir.
Referenced by CurlCurl().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 5251 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by DealiasedDotProd().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 5241 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by DealiasedProd().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField3DHomogeneous2D.
Definition at line 5725 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by EvaluateBoundaryConditions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 4352 of file ExpList.cpp.
References m_coeff_offset.
Referenced by ExtractCoeffsToCoeffs().
|
protectedvirtual |
Extract data from raw field data into expansion list.
fielddef | Field definitions. |
fielddata | Data for associated field. |
field | Field variable name. |
coeffs | Resulting coefficient array. |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 4264 of file ExpList.cpp.
References ASSERTL0, FilterPython_Function::field, GetNcoeffs(), Nektar::LibUtilities::GetNumberOfCoefficients(), m_coeff_offset, m_elmtToExpId, m_exp, and Vmath::Vcopy().
Referenced by ExtractDataToCoeffs().
|
protectedvirtual |
Definition at line 5522 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetExp(), and GetTotPoints().
Referenced by ExtractElmtToBndPhys().
|
protectedvirtual |
Definition at line 5599 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetExp(), GetPhys_Offset(), and GetTotPoints().
Referenced by ExtractPhysToBnd().
|
protectedvirtual |
Definition at line 5560 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetExp(), GetPhys_Offset(), and Vmath::Vcopy().
Referenced by ExtractPhysToBndElmt().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, and Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 5160 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by ExtractTracePhys().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, and Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 5167 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField, and Nektar::MultiRegions::ContField3DHomogeneous1D.
Definition at line 5332 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillBndCondFromField().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField, and Nektar::MultiRegions::ContField3DHomogeneous1D.
Definition at line 5341 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5100 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillBwdWithBoundCond().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5687 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillBwdWithBwdWeight().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField, Nektar::MultiRegions::ExpList2DHomogeneous2D, Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 5378 of file ExpList.cpp.
References v_FwdTransLocalElmt().
Referenced by FwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList2DHomogeneous2D, Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 2455 of file ExpList.cpp.
References m_coeff_offset, and m_phys_offset.
Referenced by FwdTransBndConstrained().
|
protectedvirtual |
Given a function \(u(\boldsymbol{x})\) defined at the quadrature points, this function determines the transformed elemental coefficients \(\hat{u}_n^e\) employing a discrete elemental Galerkin projection from physical space to coefficient space. For each element, the operation is evaluated locally by the function StdRegions::StdExpansion::IproductWRTBase followed by a call to #MultiRegions#MultiplyByElmtInvMass.
inarray | An array of size \(Q_{\mathrm{tot}}\) containing the values of the function \(f(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\). |
outarray | The resulting coefficients \(\hat{u}_n^e\) will be stored in this array of size \(N_{\mathrm{eof}}\). |
Reimplemented in Nektar::MultiRegions::ExpList2DHomogeneous2D, Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 2446 of file ExpList.cpp.
References IProductWRTBase(), m_ncoeffs, and MultiplyByElmtInvMass().
Referenced by FwdTransLocalElmt(), and v_FwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 5261 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBCValues().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5137 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndCondBwdWeight().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField, Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField3DHomogeneous2D.
Definition at line 4475 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndCondExpansions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField, Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField3DHomogeneous2D.
Definition at line 5703 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndConditions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField3DHomogeneous2D.
Definition at line 5512 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndElmtExpansion().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 5636 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetCoordim(), GetExp(), GetTotPoints(), and Vmath::Vcopy().
Referenced by GetBoundaryNormals().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D, Nektar::MultiRegions::DisContField3DHomogeneous2D, and Nektar::MultiRegions::DisContField.
Definition at line 5680 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBoundaryToElmtMap().
|
protectedvirtual |
The operation is evaluated locally by the elemental function StdRegions::StdExpansion::GetCoords.
coord_0 | After calculation, the \(x_1\) coordinate will be stored in this array. |
coord_1 | After calculation, the \(x_2\) coordinate will be stored in this array. |
coord_2 | After calculation, the \(x_3\) coordinate will be stored in this array. |
Reimplemented in Nektar::MultiRegions::ExpList2DHomogeneous1D, Nektar::MultiRegions::ExpList2DHomogeneous2D, Nektar::MultiRegions::ExpList3DHomogeneous1D, and Nektar::MultiRegions::ExpList3DHomogeneous2D.
Definition at line 5439 of file ExpList.cpp.
References ASSERTL0, GetCoordim(), GetExp(), GetNumElmts(), and m_phys_offset.
Referenced by GetCoords().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D, Nektar::MultiRegions::ExpList3DHomogeneous2D, Nektar::MultiRegions::ExpList2DHomogeneous1D, and Nektar::MultiRegions::ExpList2DHomogeneous2D.
Definition at line 5487 of file ExpList.cpp.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 4200 of file ExpList.cpp.
References GeneralGetFieldDefinitions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 4192 of file ExpList.cpp.
References v_GetFieldDefinitions().
Referenced by GetFieldDefinitions(), and v_GetFieldDefinitions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5083 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetFwdBwdTracePhys().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5090 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Definition at line 4000 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::MultiRegions::NullGlobalLinSysManager.
Referenced by GetGlobalLinSysManager().
|
inlineprotectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1464 of file ExpList.h.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::LibUtilities::NullBasisSharedPtr.
Referenced by GetHomogeneousBasis().
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3951 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetHomoLen().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4617 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetInterfaceMap().
|
protectedvirtual |
Definition at line 5152 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLeftAdjacentFaces().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4630 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLeftAdjacentTraces().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5127 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLocTraceFromTracePts().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 6681 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::MultiRegions::NullLocTraceToTraceMapSharedPtr.
Referenced by GetLocTraceToTraceMap().
|
protectedvirtual |
Definition at line 4402 of file ExpList.cpp.
References m_exp, m_phys_offset, and Vmath::Vcopy().
Referenced by GetMovingFrames().
|
protectedvirtual |
Populate normals with the normals of all expansions.
For each local element, copy the normals stored in the element list into the array normals. This function should only be called by a trace explist, which has setup the left and right adjacent elements.
normals | Two dimensional array in which to copy normals to. The first dimension is the coordim. The second dimension is the same size as trace phys space. |
Reimplemented in Nektar::MultiRegions::ExpList2DHomogeneous1D.
Definition at line 4710 of file ExpList.cpp.
References ASSERTL1, Nektar::UnitTests::d(), Nektar::MultiRegions::e0D, Nektar::MultiRegions::e1D, Nektar::MultiRegions::e2D, Nektar::StdRegions::eDir1FwdDir2_Dir2FwdDir1, Nektar::ErrorUtil::efatal, GetCoordim(), Nektar::LibUtilities::BasisKey::GetNumPoints(), Nektar::LibUtilities::PointsKey::GetNumPoints(), Nektar::LibUtilities::BasisKey::GetPointsKey(), Nektar::LibUtilities::Interp1D(), Nektar::LibUtilities::Interp2D(), m_exp, m_expType, m_phys_offset, Vmath::Neg(), NEKERROR, and Vmath::Scatr().
Referenced by GetNormals().
|
inlineprotectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 1162 of file ExpList.h.
Referenced by GetNumElmts().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, and Nektar::MultiRegions::ExpList3DHomogeneous1D.
Definition at line 5747 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetPeriodicEntities().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 5776 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::MultiRegions::NullExpListSharedPtr.
Referenced by GetPlane().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 3987 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetPoolCount().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField3DHomogeneous2D.
Definition at line 5737 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetRobinBCInfo().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, and Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 4601 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTrace().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 4625 of file ExpList.cpp.
References GetTraceMap().
Referenced by GetTraceBndMap().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 4609 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTraceMap().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3943 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTransposition().
|
protectedvirtual |
Definition at line 3973 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetYIDs().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3965 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetZIDs().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 5370 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Reimplemented in Nektar::MultiRegions::ContField, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField3DHomogeneous2D.
Definition at line 5364 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GlobalToLocal().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField, Nektar::MultiRegions::ContField3DHomogeneous1D, Nektar::MultiRegions::ContField3DHomogeneous2D, Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField3DHomogeneous2D.
Definition at line 5183 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::MultiRegions::NullGlobalLinSysKey().
Referenced by HelmSolve().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 5231 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by HomogeneousBwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D.
Definition at line 3935 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by HomogeneousEnergy().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 5221 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by HomogeneousFwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField3DHomogeneous2D.
Definition at line 5323 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by ImposeDirichletConditions().
|
protectedvirtual |
The integration is evaluated locally, that is
\[\int f(\boldsymbol{x})d\boldsymbol{x}=\sum_{e=1}^{{N_{\mathrm{el}}}} \left\{\int_{\Omega_e}f(\boldsymbol{x})d\boldsymbol{x}\right\}, \]
where the integration over the separate elements is done by the function StdRegions::StdExpansion::Integral, which discretely evaluates the integral using Gaussian quadrature.
inarray | An array of size \(Q_{\mathrm{tot}}\) containing the values of the function \(f(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\). |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3901 of file ExpList.cpp.
References m_comm, m_phys_offset, and Nektar::LibUtilities::ReduceSum.
Referenced by Integral().
|
protectedvirtual |
The operation is evaluated locally for every element by the function StdRegions::StdExpansion::IProductWRTBase.
inarray | An array of size \(Q_{\mathrm{tot}}\) containing the values of the function \(f(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\). |
outarray | An array of size \(N_{\mathrm{eof}}\) used to store the result. |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 5395 of file ExpList.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), Nektar::Collections::eIProductWRTBase, m_collections, m_collectionsDoInit, Nektar::LibUtilities::Timer::Start(), and Nektar::LibUtilities::Timer::Stop().
Referenced by IProductWRTBase().
|
protectedvirtual |
The operation is evaluated locally for every element by the function StdRegions::StdExpansion::IProductWRTDerivBase.
inarray | An array of arrays of size \(Q_{\mathrm{tot}}\) containing the values of the function \(f(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\) in dir directions. |
outarray | An array of size \(N_{\mathrm{eof}}\) used to store the result. |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 2030 of file ExpList.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), ASSERTL1, Nektar::ErrorUtil::efatal, Nektar::Collections::eIProductWRTDerivBase, GetCoordim(), LIKWID_MARKER_START, LIKWID_MARKER_STOP, m_collections, m_collectionsDoInit, NEKERROR, Nektar::LibUtilities::Timer::Start(), and Nektar::LibUtilities::Timer::Stop().
|
protectedvirtual |
The operation is evaluated locally for every element by the function StdRegions::Expansion::IProductWRTDerivBase.
dir | {0,1} is the direction in which the derivative of the basis should be taken |
inarray | An array of size \(Q_{\mathrm{tot}}\) containing the values of the function \(f(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\). |
outarray | An array of size \(N_{\mathrm{eof}}\) used to store the result. |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1969 of file ExpList.cpp.
References m_coeff_offset, and m_phys_offset.
Referenced by IProductWRTDerivBase().
|
protectedvirtual |
Given a spectral/hp approximation \(u^{\delta}(\boldsymbol{x})\) evaluated at the quadrature points (which should be contained in m_phys), this function calculates the \(L_2\) error of this approximation with respect to an exact solution. The local distribution of the quadrature points allows an elemental evaluation of this operation through the functions StdRegions::StdExpansion::L2.
The exact solution, also evaluated at the quadrature points, should be contained in the variable m_phys of the ExpList object Sol.
Sol | An ExpList, containing the discrete evaluation of the exact solution at the quadrature points in its array m_phys. |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D, and Nektar::MultiRegions::ExpList3DHomogeneous2D.
Definition at line 3856 of file ExpList.cpp.
References m_comm, m_phys_offset, Nektar::NullNekDouble1DArray, Nektar::LibUtilities::ReduceSum, and tinysimd::sqrt().
Referenced by L2().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 5196 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::MultiRegions::NullGlobalLinSysKey().
Referenced by LinearAdvectionDiffusionReactionSolve().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 5210 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by LinearAdvectionReactionSolve().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField3DHomogeneous2D.
Definition at line 5349 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by LocalToGlobal().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 5355 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 5175 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by MultiplyByInvMassMatrix().
|
protectedvirtual |
Definition at line 5280 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, GetCoeff_Offset(), GetCoordim(), GetExpSize(), GetPhys_Offset(), and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 5270 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by NormVectorIProductWRTBase().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5694 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by PeriodicBwdCopy().
|
protectedvirtual |
Given a function \(f(\boldsymbol{x})\) evaluated at the quadrature points, this function calculates the derivatives \(\frac{d}{dx_1}\), \(\frac{d}{dx_2}\) and \(\frac{d}{dx_3}\) of the function \(f(\boldsymbol{x})\) at the same quadrature points. The local distribution of the quadrature points allows an elemental evaluation of the derivative. This is done by a call to the function StdRegions::StdExpansion::PhysDeriv.
inarray | An array of size \(Q_{\mathrm{tot}}\) containing the values of the function \(f(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\). |
out_d0 | The discrete evaluation of the derivative \(\frac{d}{dx_1}\) will be stored in this array of size \(Q_{\mathrm{tot}}\). |
out_d1 | The discrete evaluation of the derivative \(\frac{d}{dx_2}\) will be stored in this array of size \(Q_{\mathrm{tot}}\). Note that if no memory is allocated for out_d1, the derivative \(\frac{d}{dx_2}\) will not be calculated. |
out_d2 | The discrete evaluation of the derivative \(\frac{d}{dx_3}\) will be stored in this array of size \(Q_{\mathrm{tot}}\). Note that if no memory is allocated for out_d2, the derivative \(\frac{d}{dx_3}\) will not be calculated. |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 2142 of file ExpList.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), Nektar::Collections::ePhysDeriv, m_collections, m_collectionsDoInit, Nektar::LibUtilities::Timer::Start(), and Nektar::LibUtilities::Timer::Stop().
Referenced by PhysDeriv(), and v_PhysDeriv().
|
protectedvirtual |
Definition at line 2179 of file ExpList.cpp.
References Nektar::MultiRegions::DirCartesianMap, and v_PhysDeriv().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 2187 of file ExpList.cpp.
References Nektar::MultiRegions::eN, Nektar::Collections::ePhysDeriv, Nektar::MultiRegions::eS, m_collections, m_collectionsDoInit, and m_phys_offset.
|
protectedvirtual |
Definition at line 2357 of file ExpList.cpp.
References m_phys_offset, and Vmath::Vcopy().
Referenced by PhysDirectionalDeriv().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 6606 of file ExpList.cpp.
References Nektar::MultiRegions::e2D, Nektar::MultiRegions::e3D, Nektar::ErrorUtil::efatal, GetExpSize(), m_exp, m_expType, NEKERROR, Nektar::LibUtilities::PhysGalerkinProject2D(), and Nektar::LibUtilities::PhysGalerkinProject3D().
Referenced by PhysGalerkinProjection1DScaled().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 5984 of file ExpList.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), Nektar::StdRegions::eFactorConst, Nektar::Collections::ePhysInterp1DScaled, Nektar::VarcoeffHashingTest::factors, LIKWID_MARKER_START, LIKWID_MARKER_STOP, m_collections, m_collectionsDoInit, Nektar::LibUtilities::Timer::Start(), and Nektar::LibUtilities::Timer::Stop().
Referenced by PhysInterp1DScaled().
|
protectedvirtual |
Reset geometry information, metrics, matrix managers and geometry information.
This routine clears all matrix managers and resets all geometry information, which allows the geometry information to be dynamically updated as the solver is run.
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 3335 of file ExpList.cpp.
References CreateCollections(), Nektar::Collections::eNoImpType, m_blockMat, m_exp, and m_graph.
Referenced by Reset(), and Nektar::MultiRegions::DisContField::v_Reset().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField3DHomogeneous2D.
Definition at line 5145 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetBndCondBwdWeight().
|
inlineprotectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1472 of file ExpList.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetHomo1DSpecVanVisc().
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3959 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetHomoLen().
|
protectedvirtual |
: Set up a normal along the trace elements between two elements at elemental level
Definition at line 5499 of file ExpList.cpp.
References m_exp.
Referenced by SetUpPhysNormals().
|
protectedvirtual |
This function smooth a field after some calculaitons which have been done elementally.
field | An array containing the field in physical space |
Reimplemented in Nektar::MultiRegions::ContField, and Nektar::MultiRegions::ContField3DHomogeneous1D.
Definition at line 2478 of file ExpList.cpp.
References ASSERTL0, Nektar::LibUtilities::eGauss_Lagrange, Nektar::LibUtilities::eGLL_Lagrange, and m_exp.
Referenced by SmoothField().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 3993 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by UnsetGlobalLinSys().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField3DHomogeneous2D.
Definition at line 4484 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by UpdateBndCondExpansion().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField3DHomogeneous2D.
Definition at line 5714 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by UpdateBndConditions().
|
protectedvirtual |
Upwind the left and right states given by the Arrays Fwd and Bwd using the vector quantity Vec and ouput the upwinded value in the array upwind.
Vec | Velocity field. |
Fwd | Left state. |
Bwd | Right state. |
Upwind | Output vector. |
Definition at line 4503 of file ExpList.cpp.
References ASSERTL1, Nektar::MultiRegions::e1D, Nektar::ErrorUtil::efatal, GetCoordim(), m_exp, m_expType, m_phys_offset, NEKERROR, and Upwind().
Referenced by Upwind().
|
protectedvirtual |
One-dimensional upwind.
Vn | Velocity field. |
Fwd | Left state. |
Bwd | Right state. |
Upwind | Output vector. |
Definition at line 4576 of file ExpList.cpp.
|
protectedvirtual |
Definition at line 3915 of file ExpList.cpp.
References m_phys_offset.
Referenced by VectorFlux().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D.
Definition at line 3511 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, m_exp, and NEKERROR.
Referenced by WriteTecplotConnectivity().
|
protectedvirtual |
Write Tecplot Files Field
outfile | Output file name. |
expansion | Expansion that is considered |
Definition at line 3591 of file ExpList.cpp.
References BwdTrans(), GetTotPoints(), m_coeffs, m_phys, m_phys_offset, and m_physState.
Referenced by WriteTecplotField().
|
protectedvirtual |
Write Tecplot Files Header
outfile | Output file name. |
var | variables names |
Definition at line 3380 of file ExpList.cpp.
References Nektar::MultiRegions::e3DH1D, Nektar::MultiRegions::e3DH2D, GetExp(), GetNumElmts(), and m_expType.
Referenced by WriteTecplotHeader().
|
protectedvirtual |
Write Tecplot Files Zone
outfile | Output file name. |
expansion | Expansion that is considered |
Reimplemented in Nektar::MultiRegions::ExpList2DHomogeneous1D, Nektar::MultiRegions::ExpList2DHomogeneous2D, and Nektar::MultiRegions::ExpList3DHomogeneous2D.
Definition at line 3418 of file ExpList.cpp.
References Nektar::MultiRegions::e3DH1D, Nektar::MultiRegions::e3DH2D, Nektar::ErrorUtil::efatal, GetCoordim(), GetCoords(), GetTotPoints(), GetZIDs(), m_exp, m_expType, and NEKERROR.
Referenced by WriteTecplotZone().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpListHomogeneous2D.
Definition at line 3778 of file ExpList.cpp.
References Nektar::NekConstants::kNekZeroTol, m_phys, and m_phys_offset.
Referenced by WriteVtkPieceData().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList2DHomogeneous1D, Nektar::MultiRegions::ExpList2DHomogeneous2D, Nektar::MultiRegions::ExpList3DHomogeneous1D, and Nektar::MultiRegions::ExpList3DHomogeneous2D.
Definition at line 3638 of file ExpList.cpp.
References Nektar::MultiRegions::e1D, Nektar::MultiRegions::e2D, Nektar::MultiRegions::e3D, and m_expType.
Referenced by WriteVtkPieceHeader().
|
inline |
Definition at line 568 of file ExpList.h.
References v_VectorFlux().
|
inline |
Definition at line 408 of file ExpList.h.
References v_WriteTecplotConnectivity().
|
inline |
Definition at line 404 of file ExpList.h.
References v_WriteTecplotField().
|
inline |
Definition at line 396 of file ExpList.h.
References v_WriteTecplotHeader().
|
inline |
Definition at line 400 of file ExpList.h.
References v_WriteTecplotZone().
void Nektar::MultiRegions::ExpList::WriteVtkFooter | ( | std::ostream & | outfile | ) |
Definition at line 3632 of file ExpList.cpp.
void Nektar::MultiRegions::ExpList::WriteVtkHeader | ( | std::ostream & | outfile | ) |
Definition at line 3624 of file ExpList.cpp.
|
inline |
Definition at line 421 of file ExpList.h.
References v_WriteVtkPieceData().
void Nektar::MultiRegions::ExpList::WriteVtkPieceFooter | ( | std::ostream & | outfile, |
int | expansion | ||
) |
Definition at line 3771 of file ExpList.cpp.
|
inline |
Definition at line 414 of file ExpList.h.
References v_WriteVtkPieceHeader().
|
protected |
Definition at line 1128 of file ExpList.h.
Referenced by GetBlockMatrix(), ResetMatrices(), and v_Reset().
Offset of elemental data into the array m_coeffs.
Definition at line 1123 of file ExpList.h.
Referenced by Nektar::MultiRegions::DisContField::EvaluateHDGPostProcessing(), GeneralMatrixOp(), GenGlobalMatrixFull(), GetCoeff_Offset(), IProductWRTDirectionalDerivBase(), Nektar::MultiRegions::DisContField::L2_DGDeriv(), Nektar::MultiRegions::ExpList2DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous2D::SetCoeffPhys(), SetupCoeffPhys(), v_AppendFieldData(), Nektar::MultiRegions::ExpListHomogeneous1D::v_AppendFieldData(), Nektar::MultiRegions::ExpListHomogeneous2D::v_AppendFieldData(), v_ExtractCoeffsToCoeffs(), v_ExtractDataToCoeffs(), Nektar::MultiRegions::ExpListHomogeneous1D::v_ExtractDataToCoeffs(), Nektar::MultiRegions::ExpListHomogeneous2D::v_ExtractDataToCoeffs(), v_FwdTransBndConstrained(), Nektar::MultiRegions::DisContField::v_HelmSolve(), and v_IProductWRTDerivBase().
Concatenation of all local expansion coefficients.
The array of length m_ncoeffs \(=N_{\mathrm{eof}}\) which is the concatenation of the local expansion coefficients \(\hat{u}_n^e\) over all \(N_{\mathrm{el}}\) elements
\[\mathrm{\texttt{m\_coeffs}}=\boldsymbol{\hat{u}}_{l} = \underline{\boldsymbol{\hat{u}}}^e = \left [ \begin{array}{c} \boldsymbol{\hat{u}}^{1} \ \ \boldsymbol{\hat{u}}^{2} \ \ \vdots \ \ \boldsymbol{\hat{u}}^{{{N_{\mathrm{el}}}}} \end{array} \right ], \quad \mathrm{where}\quad \boldsymbol{\hat{u}}^{e}[n]=\hat{u}_n^{e}\]
Definition at line 1083 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField::Assemble(), GetCoeff(), GetCoeffs(), SetCoeff(), Nektar::MultiRegions::ExpList2DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous2D::SetCoeffPhys(), SetCoeffs(), SetCoeffsArray(), SetupCoeffPhys(), UpdateCoeffs(), v_AppendFieldData(), Nektar::MultiRegions::ExpListHomogeneous1D::v_AppendFieldData(), Nektar::MultiRegions::ExpListHomogeneous2D::v_AppendFieldData(), Nektar::MultiRegions::ContField::v_GlobalToLocal(), Nektar::MultiRegions::ContField::v_LocalToGlobal(), and v_WriteTecplotField().
m_coeffs to elemental value map
Definition at line 1127 of file ExpList.h.
Referenced by GetCoeffsToElmt(), and SetupCoeffPhys().
|
protected |
Definition at line 1119 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp(), v_BwdTrans(), v_IProductWRTBase(), v_IProductWRTDerivBase(), v_PhysDeriv(), and v_PhysInterp1DScaled().
|
protected |
Vector of bools to act as an initialise on first call flag.
Definition at line 1121 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp(), v_BwdTrans(), v_IProductWRTBase(), v_IProductWRTDerivBase(), v_PhysDeriv(), and v_PhysInterp1DScaled().
|
protected |
Communicator.
Definition at line 1056 of file ExpList.h.
Referenced by CreateCollections(), Nektar::MultiRegions::ExpList2DHomogeneous1D::ExpList2DHomogeneous1D(), Nektar::MultiRegions::ExpListHomogeneous1D::ExpListHomogeneous1D(), Nektar::MultiRegions::ExpListHomogeneous2D::ExpListHomogeneous2D(), Nektar::MultiRegions::DisContField::FindPeriodicTraces(), Nektar::MultiRegions::ExpListHomogeneous1D::GenHomogeneous1DBlockMatrix(), GetComm(), H1(), Nektar::MultiRegions::ExpListHomogeneous1D::Homogeneous1DTrans(), Linf(), Nektar::MultiRegions::DisContField::SameTypeOfBoundaryConditions(), Nektar::MultiRegions::DisContField::SetUpDG(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedDotProd(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedProd(), Nektar::MultiRegions::ExpList3DHomogeneous1D::v_HomogeneousEnergy(), v_Integral(), Nektar::MultiRegions::ExpListHomogeneous1D::v_Integral(), Nektar::MultiRegions::ExpList3DHomogeneous1D::v_L2(), v_L2(), and Nektar::MultiRegions::ExpListHomogeneous1D::v_PhysDeriv().
|
protected |
Mapping from geometry ID of element to index inside m_exp.
Definition at line 1135 of file ExpList.h.
Referenced by GetElmtToExpId(), GetExpFromGeomId(), GetExpIndex(), InitialiseExpVector(), Nektar::MultiRegions::ExpListHomogeneous1D::v_AppendFieldData(), v_ExtractDataToCoeffs(), and Nektar::MultiRegions::ExpListHomogeneous1D::v_ExtractDataToCoeffs().
|
protected |
The list of local expansions.
The (shared pointer to the) vector containing (shared pointers to) all local expansions. The fact that the local expansions are all stored as a (pointer to a) #StdExpansion, the abstract base class for all local expansions, allows a general implementation where most of the routines for the derived classes are defined in the ExpList base class.
Definition at line 1118 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), Nektar::MultiRegions::ContField3DHomogeneous2D::ContField3DHomogeneous2D(), CreateCollections(), Nektar::MultiRegions::DisContField::DisContField(), Nektar::MultiRegions::DisContField3DHomogeneous1D::DisContField3DHomogeneous1D(), Nektar::MultiRegions::DisContField3DHomogeneous2D::DisContField3DHomogeneous2D(), EvalBasisNumModesMax(), EvalBasisNumModesMaxPerExp(), Nektar::MultiRegions::DisContField::EvaluateHDGPostProcessing(), ExpList(), Nektar::MultiRegions::ExpList2DHomogeneous1D::ExpList2DHomogeneous1D(), Nektar::MultiRegions::ExpList3DHomogeneous2D::ExpList3DHomogeneous2D(), GenBlockMatrix(), GeneralGetFieldDefinitions(), GeneralMatrixOp(), Nektar::MultiRegions::ExpList3DHomogeneous1D::GenExpList3DHomogeneous1D(), GenGlobalMatrix(), GenGlobalMatrixFull(), GetCoordim(), GetElmtNormalLength(), GetExp(), GetExpFromGeomId(), GetExpIndex(), Nektar::MultiRegions::DisContField::GetFwdBwdTracePhys(), GetNcoeffs(), GetShapeDimension(), GetTotPoints(), Nektar::MultiRegions::DisContField::IsLeftAdjacentTrace(), PhysEvaluate(), SetupCoeffPhys(), Nektar::MultiRegions::DisContField::SetUpDG(), Nektar::MultiRegions::DisContField::v_AddTraceIntegral(), v_ExtractDataToCoeffs(), Nektar::MultiRegions::ExpListHomogeneous1D::v_ExtractDataToCoeffs(), v_GetMovingFrames(), v_GetNormals(), v_PhysGalerkinProjection1DScaled(), v_Reset(), v_SetUpPhysNormals(), v_SmoothField(), Nektar::MultiRegions::ContField::v_UnsetGlobalLinSys(), v_Upwind(), v_WriteTecplotConnectivity(), and v_WriteTecplotZone().
|
protected |
Expansion type.
Definition at line 1051 of file ExpList.h.
Referenced by Nektar::MultiRegions::DisContField::EvaluateHDGPostProcessing(), ExpList(), Nektar::MultiRegions::ExpList3DHomogeneous1D::ExpList3DHomogeneous1D(), Nektar::MultiRegions::DisContField::FindPeriodicTraces(), GetElmtNormalLength(), GetExpType(), InitialiseExpVector(), Nektar::MultiRegions::DisContField::IsLeftAdjacentTrace(), Nektar::MultiRegions::DisContField::SetUpDG(), Nektar::MultiRegions::DisContField::v_AddFwdBwdTraceIntegral(), Nektar::MultiRegions::DisContField::v_AddTraceIntegral(), v_BwdTrans(), v_Curl(), v_CurlCurl(), Nektar::MultiRegions::DisContField::v_EvaluateBoundaryConditions(), Nektar::MultiRegions::DisContField::v_GetBoundaryToElmtMap(), v_GetNormals(), v_PhysGalerkinProjection1DScaled(), v_Upwind(), v_WriteTecplotHeader(), v_WriteTecplotZone(), and v_WriteVtkPieceHeader().
|
protected |
Mesh associated with this expansion list.
Definition at line 1060 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), CreateCollections(), Nektar::MultiRegions::DisContField::DisContField(), Nektar::MultiRegions::ExpList3DHomogeneous1D::ExpList3DHomogeneous1D(), Nektar::MultiRegions::DisContField::FindPeriodicTraces(), GetExpIndex(), GetGraph(), GetMatIpwrtDeriveBase(), Nektar::MultiRegions::DisContField::SetUpDG(), Nektar::MultiRegions::DisContField::v_GetBoundaryToElmtMap(), and v_Reset().
|
protected |
The total number of local degrees of freedom. m_ncoeffs \(=N_{\mathrm{eof}}=\sum_{e=1}^{{N_{\mathrm{el}}}}N^{e}_l\).
Definition at line 1063 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField::ContField(), GetNcoeffs(), Nektar::MultiRegions::DisContField::L2_DGDeriv(), Nektar::MultiRegions::ContField::LaplaceSolve(), MultiplyByElmtInvMass(), Nektar::MultiRegions::ExpList2DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous2D::SetCoeffPhys(), SetupCoeffPhys(), v_BwdTrans(), Nektar::MultiRegions::ContField::v_FwdTrans(), v_FwdTransLocalElmt(), Nektar::MultiRegions::ContField::v_HelmSolve(), Nektar::MultiRegions::ContField3DHomogeneous1D::v_HelmSolve(), Nektar::MultiRegions::ContField3DHomogeneous2D::v_HelmSolve(), Nektar::MultiRegions::DisContField::v_HelmSolve(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_HelmSolve(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_HelmSolve(), Nektar::MultiRegions::ContField::v_LinearAdvectionDiffusionReactionSolve(), and Nektar::MultiRegions::ContField::v_LinearAdvectionReactionSolve().
|
protected |
The total number of quadrature points. m_npoints \(=Q_{\mathrm{tot}}=\sum_{e=1}^{{N_{\mathrm{el}}}}N^{e}_Q\)
Definition at line 1067 of file ExpList.h.
Referenced by GenGlobalMatrix(), GetNpoints(), GetTotPoints(), Nektar::MultiRegions::ExpListHomogeneous1D::Homogeneous1DTrans(), Nektar::MultiRegions::ExpListHomogeneous2D::Homogeneous2DTrans(), Nektar::MultiRegions::DisContField::L2_DGDeriv(), Nektar::MultiRegions::ContField::LinearAdvectionEigs(), Linf(), Nektar::MultiRegions::ExpList2DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous2D::SetCoeffPhys(), SetPhys(), SetupCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous2D::v_FwdTrans(), Nektar::MultiRegions::ContField::v_HelmSolve(), Nektar::MultiRegions::ContField3DHomogeneous1D::v_HelmSolve(), Nektar::MultiRegions::ContField3DHomogeneous2D::v_HelmSolve(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_HelmSolve(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_HelmSolve(), Nektar::MultiRegions::ExpListHomogeneous1D::v_IProductWRTBase(), Nektar::MultiRegions::ExpListHomogeneous1D::v_IProductWRTDerivBase(), Nektar::MultiRegions::ContField::v_LinearAdvectionDiffusionReactionSolve(), Nektar::MultiRegions::ExpListHomogeneous1D::v_PhysDeriv(), Nektar::MultiRegions::ExpListHomogeneous2D::v_PhysDeriv(), and v_Upwind().
The global expansion evaluated at the quadrature points.
The array of length m_npoints \(=Q_{\mathrm{tot}}\) containing the evaluation of \(u^{\delta}(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\).
\[\mathrm{\texttt{m\_phys}}=\boldsymbol{u}_{l} = \underline{\boldsymbol{u}}^e = \left [ \begin{array}{c} \boldsymbol{u}^{1} \ \ \boldsymbol{u}^{2} \ \ \vdots \ \ \boldsymbol{u}^{{{N_{\mathrm{el}}}}} \end{array} \right ],\quad \mathrm{where}\quad \boldsymbol{u}^{e}[i]=u^{\delta}(\boldsymbol{x}_i)\]
Definition at line 1099 of file ExpList.h.
Referenced by GetPhys(), Integral(), Nektar::MultiRegions::ExpList2DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous2D::SetCoeffPhys(), SetPhys(), SetPhysArray(), SetupCoeffPhys(), UpdatePhys(), Nektar::MultiRegions::DisContField::v_ExtractTracePhys(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_ExtractTracePhys(), Nektar::MultiRegions::DisContField::v_GetFwdBwdTracePhys(), v_WriteTecplotField(), v_WriteVtkPieceData(), Nektar::MultiRegions::ExpListHomogeneous1D::v_WriteVtkPieceData(), and Nektar::MultiRegions::ExpListHomogeneous2D::v_WriteVtkPieceData().
Offset of elemental data into the array m_phys.
Definition at line 1125 of file ExpList.h.
Referenced by DivideByQuadratureMetric(), ExponentialFilter(), GenBlockMatrix(), GeneralMatrixOp(), GenerateElementVector(), GenGlobalMatrix(), GenGlobalMatrixFull(), GetElmtNormalLength(), GetPhys_Offset(), H1(), IProductWRTDirectionalDerivBase(), MultiplyByQuadratureMetric(), PhysEvaluate(), Nektar::MultiRegions::ExpList2DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous2D::SetCoeffPhys(), SetupCoeffPhys(), v_FwdTransBndConstrained(), v_GetCoords(), v_GetMovingFrames(), v_GetNormals(), v_Integral(), Nektar::MultiRegions::ExpListHomogeneous1D::v_Integral(), v_IProductWRTDerivBase(), v_L2(), v_PhysDeriv(), v_PhysDirectionalDeriv(), v_Upwind(), v_VectorFlux(), v_WriteTecplotField(), v_WriteVtkPieceData(), Nektar::MultiRegions::ExpListHomogeneous1D::v_WriteVtkPieceData(), and Nektar::MultiRegions::ExpListHomogeneous2D::v_WriteVtkPieceData().
|
protected |
The state of the array m_phys.
Indicates whether the array m_phys, created to contain the evaluation of \(u^{\delta}(\boldsymbol{x})\) at the quadrature points \(\boldsymbol{x}_i\), is filled with these values.
Definition at line 1107 of file ExpList.h.
Referenced by GetPhysState(), Integral(), SetPhys(), SetPhysState(), UpdatePhys(), Nektar::MultiRegions::DisContField::v_ExtractTracePhys(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_ExtractTracePhys(), and v_WriteTecplotField().
|
protected |
Session.
Definition at line 1058 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField::ContField(), Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), CreateCollections(), Nektar::MultiRegions::DisContField::DisContField(), Nektar::MultiRegions::DisContField3DHomogeneous1D::DisContField3DHomogeneous1D(), ExpList(), Nektar::MultiRegions::ExpList2DHomogeneous1D::ExpList2DHomogeneous1D(), Nektar::MultiRegions::ExpList3DHomogeneous2D::ExpList3DHomogeneous2D(), Nektar::MultiRegions::ExpListHomogeneous1D::ExpListHomogeneous1D(), Nektar::MultiRegions::ExpListHomogeneous2D::ExpListHomogeneous2D(), ExtractCoeffsFromFile(), Nektar::MultiRegions::DisContField::GenerateBoundaryConditionExpansion(), Nektar::MultiRegions::ExpList3DHomogeneous1D::GenExpList3DHomogeneous1D(), GenGlobalMatrix(), GetSession(), Nektar::MultiRegions::ExpListHomogeneous1D::Homogeneous1DTrans(), InitialiseExpVector(), Nektar::MultiRegions::DisContField3DHomogeneous1D::SetupBoundaryConditions(), Nektar::MultiRegions::DisContField3DHomogeneous2D::SetupBoundaryConditions(), Nektar::MultiRegions::DisContField::SetUpDG(), v_CurlCurl(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedDotProd(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedProd(), Nektar::MultiRegions::ExpListHomogeneous1D::v_GetFieldDefinitions(), Nektar::MultiRegions::ExpListHomogeneous1D::v_PhysDeriv(), and Nektar::MultiRegions::ExpList3DHomogeneous1D::v_WriteVtkPieceHeader().
|
protected |
Definition at line 1133 of file ExpList.h.
Referenced by GetWaveSpace(), SetWaveSpace(), Nektar::MultiRegions::ExpListHomogeneous1D::v_BwdTrans(), Nektar::MultiRegions::ExpListHomogeneous2D::v_BwdTrans(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedDotProd(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedProd(), Nektar::MultiRegions::ExpListHomogeneous2D::v_DealiasedProd(), Nektar::MultiRegions::ExpList2DHomogeneous2D::v_FwdTrans(), Nektar::MultiRegions::ExpListHomogeneous1D::v_FwdTrans(), Nektar::MultiRegions::ExpListHomogeneous2D::v_FwdTrans(), Nektar::MultiRegions::ExpListHomogeneous1D::v_FwdTransBndConstrained(), Nektar::MultiRegions::ExpListHomogeneous2D::v_FwdTransBndConstrained(), Nektar::MultiRegions::ExpListHomogeneous1D::v_FwdTransLocalElmt(), Nektar::MultiRegions::ExpListHomogeneous2D::v_FwdTransLocalElmt(), Nektar::MultiRegions::ContField3DHomogeneous1D::v_HelmSolve(), Nektar::MultiRegions::ContField3DHomogeneous2D::v_HelmSolve(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_HelmSolve(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_HelmSolve(), Nektar::MultiRegions::ExpListHomogeneous1D::v_IProductWRTBase(), Nektar::MultiRegions::ExpListHomogeneous1D::v_IProductWRTDerivBase(), Nektar::MultiRegions::ExpListHomogeneous1D::v_PhysDeriv(), and Nektar::MultiRegions::ExpListHomogeneous2D::v_PhysDeriv().