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, 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 | 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 | 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) |
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 > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
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 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 > &Fx, const Array< OneD, const NekDouble > &Fy, Array< OneD, NekDouble > &outarray) |
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, 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_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_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_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 |
Exapnsion 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... | |
std::vector< int > | m_coll_coeff_offset |
Offset of elemental data into the array m_coeffs. More... | |
std::vector< int > | m_coll_phys_offset |
Offset of elemental data into the array m_phys. 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 102 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 118 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 142 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 182 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 224 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 247 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 779 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. |
Definition at line 942 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::eNodalTriElec, m_expType, NEKERROR, Nektar::LibUtilities::NullBasisKey(), and SetupCoeffPhys().
|
virtual |
|
inline |
Definition at line 2139 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 5913 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 5856 of file ExpList.cpp.
References GetNcoeffs(), GetTotPoints(), Vmath::Vadd(), and Vmath::Vcopy().
|
inline |
Definition at line 2134 of file ExpList.h.
References v_AddTraceIntegral().
|
inline |
Definition at line 2128 of file ExpList.h.
References v_AddTraceIntegral().
|
inline |
Definition at line 1004 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 5620 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 2164 of file ExpList.h.
References v_AddTraceQuadPhysToField().
|
inline |
Definition at line 809 of file ExpList.h.
References v_AddTraceQuadPhysToOffDiag().
|
inline |
Append the element data listed in elements fielddef->m_ElementIDs onto fielddata.
Definition at line 904 of file ExpList.h.
References v_AppendFieldData().
|
inline |
Append the data in coeffs listed in elements fielddef->m_ElementIDs onto fielddata.
Definition at line 911 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 2661 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 1677 of file ExpList.h.
References v_BwdTrans().
Referenced by Nektar::MultiRegions::DisContField::L2_DGDeriv(), MultiplyByMassMatrix(), Nektar::MultiRegions::ContField::v_HelmSolve(), Nektar::MultiRegions::ContField::v_SmoothField(), and v_WriteTecplotField().
Definition at line 5295 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 5103 of file ExpList.cpp.
References Nektar::SpatialDomains::eDeformed, Nektar::Collections::eNoImpType, Nektar::Collections::CollectionOptimisation::GetMaxCollectionSize(), Nektar::Collections::CollectionOptimisation::GetOperatorImpMap(), GetShapeDimension(), Nektar::Collections::CollectionOptimisation::IsUsingAutotuning(), m_coeff_offset, m_coll_coeff_offset, m_coll_phys_offset, m_collections, m_collectionsDoInit, m_comm, m_exp, m_graph, m_phys_offset, m_session, Nektar::Collections::CollectionOptimisation::SetWithTimings(), Nektar::Collections::SIZE_OperatorType, and Nektar::Collections::CollectionOptimisation::UpdateOptFile().
Referenced by ExpList().
|
inline |
Definition at line 1790 of file ExpList.h.
References v_CurlCurl().
|
inline |
Definition at line 1826 of file ExpList.h.
References v_DealiasedDotProd().
|
inline |
Definition at line 1816 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 1364 of file ExpList.cpp.
References m_phys_offset.
|
inline |
|
inline |
|
inline |
Definition at line 2211 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 | ||
) |
void Nektar::MultiRegions::ExpList::ExtractCoeffsFromFile | ( | const std::string & | fileName, |
LibUtilities::CommSharedPtr | comm, | ||
const std::string & | varName, | ||
Array< OneD, NekDouble > & | coeffs | ||
) |
Definition at line 3331 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 3571 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 3563 of file ExpList.cpp.
References 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 2234 of file ExpList.h.
References v_ExtractElmtToBndPhys().
|
protected |
|
inline |
Definition at line 2248 of file ExpList.h.
References v_ExtractPhysToBnd().
|
inline |
Definition at line 2241 of file ExpList.h.
References v_ExtractPhysToBndElmt().
Definition at line 2191 of file ExpList.h.
References v_ExtractTracePhys().
|
inline |
Definition at line 2195 of file ExpList.h.
References v_ExtractTracePhys().
|
inline |
Fill Bnd Condition expansion from the values stored in expansion.
Definition at line 1910 of file ExpList.h.
References v_FillBndCondFromField().
|
inline |
Fill Bnd Condition expansion in nreg from the values stored in expansion.
Definition at line 1914 of file ExpList.h.
References v_FillBndCondFromField().
|
inline |
Definition at line 2158 of file ExpList.h.
References v_FillBwdWithBoundCond().
|
inline |
Fill Bwd with boundary conditions.
Definition at line 2177 of file ExpList.h.
References v_FillBwdWithBwdWeight().
Referenced by GetBwdWeight().
|
inline |
Definition at line 1639 of file ExpList.h.
References v_FwdTrans().
|
inline |
Definition at line 1656 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 1647 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 1881 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 3404 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 2060 of file ExpList.cpp.
References Nektar::Collections::eHelmholtz, Nektar::StdRegions::eHelmholtz, Nektar::MultiRegions::GlobalMatrixKey::GetConstFactors(), Nektar::MultiRegions::GlobalMatrixKey::GetMatrixType(), Nektar::MultiRegions::GlobalMatrixKey::GetNVarCoeffs(), Nektar::MultiRegions::GlobalMatrixKey::GetVarCoeffs(), m_coeff_offset, m_coll_coeff_offset, m_coll_phys_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 3761 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 2434 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 2416 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 2131 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 2264 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 |
|
inline |
Definition at line 1836 of file ExpList.h.
References v_GetBCValues().
|
protected |
Definition at line 2016 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 2086 of file ExpList.h.
References v_GetBndCondBwdWeight().
|
inline |
Definition at line 2071 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 2202 of file ExpList.h.
References v_GetBndConditions().
|
inlinevirtual |
Definition at line 2227 of file ExpList.h.
References v_GetBndElmtExpansion().
|
staticprotected |
Definition at line 5070 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 2255 of file ExpList.h.
References v_GetBoundaryNormals().
|
inline |
Definition at line 2222 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 3704 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 1968 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 2037 of file ExpList.h.
References m_coeff_offset.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), export_ExpList(), 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 1902 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 2077 of file ExpList.h.
References m_coeffsToElmt.
Referenced by Nektar::MultiRegions::LocTraceToTraceMap::TraceLocToElmtLocCoeffMap().
|
inline |
Returns the comm object.
Definition at line 960 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 1861 of file ExpList.h.
References ASSERTL2, and m_exp.
Referenced by GetExpIndex(), IProductWRTDerivBase(), PhysEvaluate(), v_GetBoundaryNormals(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals(), v_GetCoords(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_GetCoords(), v_GetNormals(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_GetNormals(), 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 1728 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 1735 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 5549 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.
Definition at line 4232 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 1032 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 1026 of file ExpList.h.
References m_elmtToExpId.
|
inline |
This function returns the vector of elements in the expansion.
Definition at line 2029 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 2510 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 2006 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 2016 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 2521 of file ExpList.cpp.
Referenced by GetExp(), 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 2531 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(), and WARNINGL1.
|
inline |
This function returns the number of elements in the expansion.
Definition at line 1996 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(), export_ExpList(), 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(), v_PhysGalerkinProjection1DScaled(), and v_PhysInterp1DScaled().
ExpansionType Nektar::MultiRegions::ExpList::GetExpType | ( | void | ) |
Returns the type of the expansion.
Definition at line 1310 of file ExpList.cpp.
References m_expType.
Referenced by v_CurlCurl().
|
inline |
Definition at line 891 of file ExpList.h.
References v_GetFieldDefinitions().
|
inline |
Definition at line 896 of file ExpList.h.
References v_GetFieldDefinitions().
|
inline |
Definition at line 2145 of file ExpList.h.
References v_GetFwdBwdTracePhys().
|
inline |
LibUtilities::NekManager< GlobalLinSysKey, GlobalLinSys > & Nektar::MultiRegions::ExpList::GetGlobalLinSysManager | ( | void | ) |
Definition at line 5316 of file ExpList.cpp.
References v_GetGlobalLinSysManager().
|
inline |
|
inline |
Definition at line 969 of file ExpList.h.
References v_GetHomogeneousBasis().
This function returns the Width of homogeneous direction associated with the homogeneous expansion.
Definition at line 596 of file ExpList.h.
References v_GetHomoLen().
|
inline |
Definition at line 2187 of file ExpList.h.
References v_GetLeftAdjacentFaces().
|
inline |
Definition at line 2261 of file ExpList.h.
References v_GetLeftAdjacentTraces().
|
inline |
Definition at line 2170 of file ExpList.h.
References v_GetLocTraceFromTracePts().
Referenced by AddTraceJacToElmtJac().
|
inline |
Definition at line 2081 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 5406 of file ExpList.cpp.
void Nektar::MultiRegions::ExpList::GetMatIpwrtDeriveBase | ( | const TensorOfArray3D< NekDouble > & | inarray, |
Array< OneD, DNekMatSharedPtr > & | mtxPerVar | ||
) |
Definition at line 5444 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 1745 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 1492 of file ExpList.h.
References m_ncoeffs.
Referenced by AddRightIPTBaseMatrix(), AddRightIPTPhysDerivBase(), AddTraceJacToElmtJac(), export_ExpList(), 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 2124 of file ExpList.h.
References v_GetNormals().
|
inline |
Returns the total number of quadrature points m_npoints \(=Q_{\mathrm{tot}}\).
Definition at line 1568 of file ExpList.h.
References m_npoints.
Referenced by export_ExpList(), and MultiplyByMassMatrix().
|
inline |
This function returns the number of elements in the expansion which may be different for a homogeoenous extended expansionp.
Definition at line 645 of file ExpList.h.
References v_GetNumElmts().
Referenced by GetExpIndex(), v_GetCoords(), and v_WriteTecplotHeader().
|
inline |
Definition at line 884 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 1988 of file ExpList.h.
References m_phys.
Referenced by Nektar::MultiRegions::DisContField::v_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 2044 of file ExpList.h.
References m_phys_offset.
Referenced by AddTraceJacToElmtJac(), export_ExpList(), 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 1623 of file ExpList.h.
References m_physState.
Referenced by export_ExpList().
|
inline |
Definition at line 973 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 5305 of file ExpList.cpp.
References v_GetPoolCount().
|
inline |
Definition at line 879 of file ExpList.h.
References v_GetRobinBCInfo().
Referenced by GenGlobalBndLinSys(), and GenGlobalMatrixFull().
|
inline |
Returns the session object.
Definition at line 955 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 1870 of file ExpList.h.
References m_exp.
Referenced by CreateCollections(), and GeneralGetFieldDefinitions().
|
inline |
Returns a shared pointer to the current object.
Definition at line 950 of file ExpList.h.
Referenced by GenGlobalBndLinSys(), GenGlobalLinSys(), Nektar::MultiRegions::ContField::GetGJPForcing(), and Nektar::MultiRegions::ContField::v_HelmSolve().
|
inline |
|
inline |
Returns the total number of quadrature points m_npoints \(=Q_{\mathrm{tot}}\).
Definition at line 1537 of file ExpList.h.
References m_npoints.
Referenced by AddRightIPTBaseMatrix(), AddRightIPTPhysDerivBase(), v_CurlCurl(), v_ExtractElmtToBndPhys(), v_ExtractPhysToBnd(), v_GetBoundaryNormals(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_GetCoords(), Nektar::MultiRegions::ExpList3DHomogeneous1D::v_GetCoords(), Nektar::MultiRegions::ExpList3DHomogeneous2D::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 2112 of file ExpList.h.
References v_GetTrace().
Referenced by AddTraceJacToElmtJac(), and Nektar::MultiRegions::DisContField::v_AddTraceIntegral().
Definition at line 2120 of file ExpList.h.
References v_GetTraceBndMap().
|
inline |
Definition at line 2116 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 589 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 1584 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 612 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 582 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 1959 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 1929 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 3386 of file ExpList.cpp.
References m_comm, m_phys_offset, Nektar::LibUtilities::ReduceSum, and tinysimd::sqrt().
|
inline |
Solve helmholtz problem.
Definition at line 1694 of file ExpList.h.
References v_HelmSolve().
|
inline |
Definition at line 1807 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 566 of file ExpList.h.
References v_HomogeneousEnergy().
|
inline |
Definition at line 1798 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_PhysDeriv(), and Nektar::MultiRegions::ExpListHomogeneous2D::v_PhysDeriv().
|
inline |
Impose Dirichlet Boundary Conditions onto Array.
Definition at line 1906 of file ExpList.h.
References v_ImposeDirichletConditions().
|
private |
Define a list of elements using the geometry and basis key information in expmap;.
Definition at line 1142 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_expType, 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 535 of file ExpList.h.
References ASSERTL1, m_phys, and m_physState.
|
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 556 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 1630 of file ExpList.h.
References v_IProductWRTBase().
Referenced by Nektar::MultiRegions::ContField::FwdTrans(), Nektar::MultiRegions::ContField::LaplaceSolve(), MultiplyByMassMatrix(), 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().
void Nektar::MultiRegions::ExpList::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})\).
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. |
Definition at line 1453 of file ExpList.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), ASSERTL1, Nektar::ErrorUtil::efatal, Nektar::Collections::eIProductWRTDerivBase, GetCoordim(), LIKWID_MARKER_START, LIKWID_MARKER_STOP, m_coll_coeff_offset, m_coll_phys_offset, m_collections, m_collectionsDoInit, NEKERROR, Nektar::LibUtilities::Timer::Start(), and Nektar::LibUtilities::Timer::Stop().
void Nektar::MultiRegions::ExpList::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.
dir) | of all local expansion modes \(\phi_n^e(\boldsymbol{x})\). |
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. |
Definition at line 1391 of file ExpList.cpp.
References m_coeff_offset, and m_phys_offset.
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 1411 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 506 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 1707 of file ExpList.h.
References v_LinearAdvectionDiffusionReactionSolve().
|
inline |
Solve Advection Diffusion Reaction.
Definition at line 1716 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 3139 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 1919 of file ExpList.h.
References v_LocalToGlobal().
|
inline |
Definition at line 1923 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 1327 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 1771 of file ExpList.cpp.
References Nektar::StdRegions::eInvMass, Nektar::eWrapper, GetBlockMatrix(), and m_ncoeffs.
Referenced by v_FwdTransLocalElmt().
|
inline |
Definition at line 1685 of file ExpList.h.
References v_MultiplyByInvMassMatrix().
|
inline |
Definition at line 301 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 1347 of file ExpList.cpp.
References m_phys_offset.
|
inline |
Definition at line 1852 of file ExpList.h.
References v_NormVectorIProductWRTBase().
|
inline |
Definition at line 1845 of file ExpList.h.
References v_NormVectorIProductWRTBase().
|
inline |
Copy and fill the Periodic boundaries.
Definition at line 2182 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 1755 of file ExpList.h.
References v_PhysDeriv().
|
inline |
Definition at line 1765 of file ExpList.h.
References v_PhysDeriv().
|
inline |
|
inline |
Definition at line 1780 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 2638 of file ExpList.cpp.
References ASSERTL0, GetCoordim(), GetExpIndex(), m_exp, and m_phys_offset.
Referenced by export_ExpList().
|
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 632 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 621 of file ExpList.h.
References v_PhysInterp1DScaled().
|
inline |
Reset geometry information and reset matrices.
Definition at line 383 of file ExpList.h.
References v_Reset().
|
inline |
Set the weight value for boundary conditions.
Definition at line 2090 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 573 of file ExpList.h.
References v_SetHomo1DSpecVanVisc().
This function sets the Width of homogeneous direction associated with the homogeneous expansion.
Definition at line 603 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 1602 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 1616 of file ExpList.h.
References m_physState.
Referenced by export_ExpList().
|
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 1099 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 2218 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 1576 of file ExpList.h.
References m_WaveSpace.
Smooth a field across elements.
Definition at line 1665 of file ExpList.h.
References v_SmoothField().
void Nektar::MultiRegions::ExpList::UnsetGlobalLinSys | ( | GlobalLinSysKey | key, |
bool | clearLocalMatrices | ||
) |
Definition at line 5310 of file ExpList.cpp.
References v_UnsetGlobalLinSys().
|
inline |
Definition at line 2094 of file ExpList.h.
References v_UpdateBndCondExpansion().
|
inline |
Definition at line 2207 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 2054 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 2064 of file ExpList.h.
References m_phys, and m_physState.
|
inline |
Definition at line 2098 of file ExpList.h.
References Upwind(), and v_Upwind().
|
inline |
Definition at line 2105 of file ExpList.h.
References v_Upwind().
Referenced by Upwind(), and v_Upwind().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4397 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddFwdBwdTraceIntegral().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4389 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Definition at line 4380 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceIntegral().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5397 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceIntegralToOffDiag().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4434 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceQuadPhysToField().
|
protectedvirtual |
Definition at line 4443 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceQuadPhysToOffDiag().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3531 of file ExpList.cpp.
References m_coeffs.
Referenced by AppendFieldData().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3538 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::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 2470 of file ExpList.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), Nektar::MultiRegions::e0D, Nektar::Collections::eBwdTrans, LIKWID_MARKER_START, LIKWID_MARKER_STOP, m_coll_coeff_offset, m_coll_phys_offset, 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::ContField3DHomogeneous2D, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 3303 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by ClearGlobalLinSysManager().
|
protectedvirtual |
Definition at line 1652 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::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 4575 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by DealiasedDotProd().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 4565 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by DealiasedProd().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 5039 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by EvaluateBoundaryConditions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3675 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::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3587 of file ExpList.cpp.
References ASSERTL0, GetNcoeffs(), Nektar::LibUtilities::GetNumberOfCoefficients(), m_coeff_offset, m_elmtToExpId, m_exp, and Vmath::Vcopy().
Referenced by ExtractDataToCoeffs().
|
protectedvirtual |
Definition at line 4835 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetExp(), and GetTotPoints().
Referenced by ExtractElmtToBndPhys().
|
protectedvirtual |
Definition at line 4912 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetExp(), GetPhys_Offset(), and GetTotPoints().
Referenced by ExtractPhysToBnd().
|
protectedvirtual |
Definition at line 4873 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetExp(), GetPhys_Offset(), and Vmath::Vcopy().
Referenced by ExtractPhysToBndElmt().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 4485 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by ExtractTracePhys().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 4492 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 4655 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillBndCondFromField().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 4664 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4425 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillBwdWithBoundCond().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5001 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillBwdWithBwdWeight().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, Nektar::MultiRegions::ExpListHomogeneous1D, Nektar::MultiRegions::ExpList2DHomogeneous2D, and Nektar::MultiRegions::ContField.
Definition at line 4701 of file ExpList.cpp.
References v_FwdTransLocalElmt().
Referenced by FwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpList2DHomogeneous2D.
Definition at line 1818 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::ExpListHomogeneous2D, Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ExpList2DHomogeneous2D.
Definition at line 1809 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 4585 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBCValues().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4462 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndCondBwdWeight().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 3791 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndCondExpansions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, Nektar::MultiRegions::DisContField, and Nektar::MultiRegions::ContField.
Definition at line 5018 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndConditions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 4825 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndElmtExpansion().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 4949 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetCoordim(), GetExp(), GetTotPoints(), and Vmath::Vcopy().
Referenced by GetBoundaryNormals().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, Nektar::MultiRegions::DisContField3DHomogeneous2D, and Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 4993 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::ExpList3DHomogeneous2D, Nektar::MultiRegions::ExpList3DHomogeneous1D, Nektar::MultiRegions::ExpList2DHomogeneous2D, and Nektar::MultiRegions::ExpList2DHomogeneous1D.
Definition at line 4752 of file ExpList.cpp.
References ASSERTL0, GetCoordim(), GetExp(), GetNumElmts(), and m_phys_offset.
Referenced by GetCoords().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous2D, Nektar::MultiRegions::ExpList3DHomogeneous1D, Nektar::MultiRegions::ExpList2DHomogeneous2D, and Nektar::MultiRegions::ExpList2DHomogeneous1D.
Definition at line 4800 of file ExpList.cpp.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3523 of file ExpList.cpp.
References GeneralGetFieldDefinitions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3515 of file ExpList.cpp.
Referenced by GetFieldDefinitions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4406 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetFwdBwdTracePhys().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4414 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Definition at line 3324 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 1444 of file ExpList.h.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::LibUtilities::NullBasisSharedPtr.
Referenced by GetHomogeneousBasis().
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3272 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetHomoLen().
|
protectedvirtual |
Definition at line 4477 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLeftAdjacentFaces().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 3937 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLeftAdjacentTraces().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4452 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLocTraceFromTracePts().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 6045 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::MultiRegions::NullLocTraceToTraceMapSharedPtr.
Referenced by GetLocTraceToTraceMap().
|
protectedvirtual |
Definition at line 3717 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.
normals | Multidimensional array in which to copy normals to. Must have dimension equal to or larger than the spatial dimension of the elements. |
Reimplemented in Nektar::MultiRegions::ExpList2DHomogeneous1D.
Definition at line 4015 of file ExpList.cpp.
References ASSERTL1, Nektar::MultiRegions::e0D, Nektar::MultiRegions::e1D, Nektar::MultiRegions::e2D, Nektar::StdRegions::eDir1FwdDir2_Dir2FwdDir1, Nektar::ErrorUtil::efatal, GetCoordim(), Nektar::LibUtilities::BasisKey::GetNumPoints(), Nektar::LibUtilities::BasisKey::GetPointsKey(), Nektar::LibUtilities::Interp1D(), Nektar::LibUtilities::Interp2D(), m_exp, m_expType, m_phys_offset, NEKERROR, CellMLToNektar.cellml_metadata::p, and Vmath::Scatr().
Referenced by GetNormals().
|
inlineprotectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1159 of file ExpList.h.
Referenced by GetNumElmts().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 5061 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetPeriodicEntities().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 5091 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 3309 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetPoolCount().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 5051 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetRobinBCInfo().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 3916 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTrace().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 3932 of file ExpList.cpp.
References GetTraceMap().
Referenced by GetTraceBndMap().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, and Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 3924 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTraceMap().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3264 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTransposition().
|
protectedvirtual |
Definition at line 3295 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetYIDs().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3287 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetZIDs().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 4693 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Reimplemented in Nektar::MultiRegions::ContField3DHomogeneous2D, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 4687 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GlobalToLocal().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, Nektar::MultiRegions::DisContField, Nektar::MultiRegions::ContField3DHomogeneous2D, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 4509 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::MultiRegions::NullGlobalLinSysKey().
Referenced by HelmSolve().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 4555 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by HomogeneousBwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D.
Definition at line 3256 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by HomogeneousEnergy().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 4545 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by HomogeneousFwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField3DHomogeneous2D, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 4646 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 3222 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::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 4718 of file ExpList.cpp.
References Nektar::Collections::eIProductWRTBase, m_coll_coeff_offset, m_coll_phys_offset, m_collections, and m_collectionsDoInit.
Referenced by IProductWRTBase().
|
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::ExpList3DHomogeneous2D, and Nektar::MultiRegions::ExpList3DHomogeneous1D.
Definition at line 3177 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 4522 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 4534 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by LinearAdvectionReactionSolve().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField3DHomogeneous2D, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 4672 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by LocalToGlobal().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 4679 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 4500 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by MultiplyByInvMassMatrix().
|
protectedvirtual |
Definition at line 4603 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 4593 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by NormVectorIProductWRTBase().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5008 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::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1555 of file ExpList.cpp.
References Nektar::LibUtilities::Timer::AccumulateRegion(), Nektar::Collections::ePhysDeriv, m_coll_phys_offset, m_collections, m_collectionsDoInit, Nektar::LibUtilities::Timer::Start(), and Nektar::LibUtilities::Timer::Stop().
Referenced by PhysDeriv(), and v_PhysDeriv().
|
protectedvirtual |
Definition at line 1593 of file ExpList.cpp.
References Nektar::MultiRegions::DirCartesianMap, and v_PhysDeriv().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1601 of file ExpList.cpp.
References Nektar::MultiRegions::eN, Nektar::Collections::ePhysDeriv, Nektar::MultiRegions::eS, m_coll_phys_offset, m_collections, m_collectionsDoInit, and m_phys_offset.
|
protectedvirtual |
Definition at line 1720 of file ExpList.cpp.
References m_phys_offset, and Vmath::Vcopy().
Referenced by PhysDirectionalDeriv().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 5970 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 5321 of file ExpList.cpp.
References Nektar::MultiRegions::e2D, Nektar::MultiRegions::e3D, Nektar::ErrorUtil::efatal, GetExpSize(), Nektar::LibUtilities::Interp2D(), Nektar::LibUtilities::Interp3D(), m_exp, m_expType, and NEKERROR.
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 2673 of file ExpList.cpp.
References m_exp, and m_graph.
Referenced by Reset(), and Nektar::MultiRegions::DisContField::v_Reset().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 4470 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetBndCondBwdWeight().
|
inlineprotectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1452 of file ExpList.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetHomo1DSpecVanVisc().
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3280 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 4812 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::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 1841 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 3316 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by UnsetGlobalLinSys().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 3799 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by UpdateBndCondExpansion().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 5029 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 3818 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 3891 of file ExpList.cpp.
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D.
Definition at line 2831 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 2911 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 2700 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::ExpList3DHomogeneous2D, Nektar::MultiRegions::ExpList2DHomogeneous2D, and Nektar::MultiRegions::ExpList2DHomogeneous1D.
Definition at line 2738 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::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3099 of file ExpList.cpp.
References Nektar::NekConstants::kNekZeroTol, m_phys, and m_phys_offset.
Referenced by WriteVtkPieceData().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous2D, Nektar::MultiRegions::ExpList3DHomogeneous1D, Nektar::MultiRegions::ExpList2DHomogeneous2D, and Nektar::MultiRegions::ExpList2DHomogeneous1D.
Definition at line 2958 of file ExpList.cpp.
References Nektar::MultiRegions::e1D, Nektar::MultiRegions::e2D, Nektar::MultiRegions::e3D, and m_expType.
Referenced by WriteVtkPieceHeader().
|
inline |
Definition at line 560 of file ExpList.h.
References v_VectorFlux().
|
inline |
Definition at line 400 of file ExpList.h.
References v_WriteTecplotConnectivity().
|
inline |
Definition at line 396 of file ExpList.h.
References v_WriteTecplotField().
|
inline |
Definition at line 388 of file ExpList.h.
References v_WriteTecplotHeader().
|
inline |
Definition at line 392 of file ExpList.h.
References v_WriteTecplotZone().
void Nektar::MultiRegions::ExpList::WriteVtkFooter | ( | std::ostream & | outfile | ) |
Definition at line 2952 of file ExpList.cpp.
void Nektar::MultiRegions::ExpList::WriteVtkHeader | ( | std::ostream & | outfile | ) |
Definition at line 2944 of file ExpList.cpp.
|
inline |
Definition at line 413 of file ExpList.h.
References v_WriteVtkPieceData().
void Nektar::MultiRegions::ExpList::WriteVtkPieceFooter | ( | std::ostream & | outfile, |
int | expansion | ||
) |
Definition at line 3092 of file ExpList.cpp.
|
inline |
Definition at line 406 of file ExpList.h.
References v_WriteVtkPieceHeader().
|
protected |
Definition at line 1125 of file ExpList.h.
Referenced by GetBlockMatrix().
Offset of elemental data into the array m_coeffs.
Definition at line 1120 of file ExpList.h.
Referenced by CreateCollections(), Nektar::MultiRegions::DisContField::EvaluateHDGPostProcessing(), GeneralMatrixOp(), GenGlobalMatrixFull(), GetCoeff_Offset(), IProductWRTDerivBase(), 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(), and Nektar::MultiRegions::DisContField::v_HelmSolve().
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 1076 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 1124 of file ExpList.h.
Referenced by GetCoeffsToElmt(), and SetupCoeffPhys().
|
protected |
Offset of elemental data into the array m_coeffs.
Definition at line 1116 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp(), IProductWRTDerivBase(), v_BwdTrans(), and v_IProductWRTBase().
|
protected |
Offset of elemental data into the array m_phys.
Definition at line 1118 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp(), IProductWRTDerivBase(), v_BwdTrans(), v_IProductWRTBase(), and v_PhysDeriv().
|
protected |
Definition at line 1112 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp(), IProductWRTDerivBase(), v_BwdTrans(), v_IProductWRTBase(), and v_PhysDeriv().
|
protected |
Vector of bools to act as an initialise on first call flag.
Definition at line 1114 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp(), IProductWRTDerivBase(), v_BwdTrans(), v_IProductWRTBase(), and v_PhysDeriv().
|
protected |
Communicator.
Definition at line 1049 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 1132 of file ExpList.h.
Referenced by GetElmtToExpId(), GetExpFromGeomId(), GetExpIndex(), 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 1111 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(), 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_PhysInterp1DScaled(), v_Reset(), v_SetUpPhysNormals(), v_SmoothField(), Nektar::MultiRegions::ContField::v_UnsetGlobalLinSys(), v_Upwind(), v_WriteTecplotConnectivity(), and v_WriteTecplotZone().
|
protected |
Exapnsion type.
Definition at line 1044 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_CurlCurl(), Nektar::MultiRegions::DisContField::v_EvaluateBoundaryConditions(), Nektar::MultiRegions::DisContField::v_GetBoundaryToElmtMap(), v_GetNormals(), Nektar::MultiRegions::ContField::v_LinearAdvectionDiffusionReactionSolve(), v_PhysGalerkinProjection1DScaled(), v_PhysInterp1DScaled(), v_Upwind(), v_WriteTecplotHeader(), v_WriteTecplotZone(), and v_WriteVtkPieceHeader().
|
protected |
Mesh associated with this expansion list.
Definition at line 1053 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 1056 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField::ContField(), Nektar::MultiRegions::ContField::FwdTrans(), 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(), 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 1060 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_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 1092 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 1122 of file ExpList.h.
Referenced by CreateCollections(), DivideByQuadratureMetric(), ExponentialFilter(), GenBlockMatrix(), GeneralMatrixOp(), GenerateElementVector(), GenGlobalMatrix(), GenGlobalMatrixFull(), GetElmtNormalLength(), GetPhys_Offset(), H1(), IProductWRTDerivBase(), 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_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 1100 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 1051 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField::ContField(), Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), CreateCollections(), Nektar::MultiRegions::DisContField::DisContField(), Nektar::MultiRegions::DisContField3DHomogeneous1D::DisContField3DHomogeneous1D(), 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(), 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 1130 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_PhysDeriv(), and Nektar::MultiRegions::ExpListHomogeneous2D::v_PhysDeriv().