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 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 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... | |
void | SetPhys (int i, NekDouble val) |
Set the i th value of m_phys to value val. 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 (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_IterPerExp (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 | IProductWRTBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
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 | FwdTrans_IterPerExp (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... | |
void | 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... | |
void | 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 | FwdTrans_BndConstrained (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | BwdTrans_IterPerExp (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 | BwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
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 | HomogeneousFwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool Shuff=true, bool UnShuff=true) |
void | HomogeneousBwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool Shuff=true, bool UnShuff=true) |
void | DealiasedProd (const Array< OneD, NekDouble > &inarray1, const Array< OneD, NekDouble > &inarray2, Array< OneD, NekDouble > &outarray) |
void | DealiasedDotProd (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 (void) |
Fill Bnd Condition expansion from the values stored in expansion. More... | |
void | FillBndCondFromField (const int nreg) |
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_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 () |
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... | |
int | 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 & | 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 global list of m_coeffs correspoinding to element n. More... | |
int | GetPhys_Offset (int n) const |
Get the start offset position for a global list of m_phys 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 | GeneralMatrixOp_IterPerExp (const GlobalMatrixKey &gkey, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
void | SetUpPhysNormals () |
void | GetBoundaryToElmtMap (Array< OneD, int > &ElmtID, Array< OneD, int > &EdgeID) |
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) |
Extract the data in fielddata into the coeffs. More... | |
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 () |
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) |
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 |
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 int | 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 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 void | 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 void | 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 () |
virtual void | v_FillBndCondFromField (const int nreg) |
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_BwdTrans_IterPerExp (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_FwdTrans_IterPerExp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_FwdTrans_BndConstrained (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_IProductWRTBase_IterPerExp (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_GeneralMatrixOp (const GlobalMatrixKey &gkey, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray) |
virtual void | v_GetCoords (Array< OneD, NekDouble > &coord_0, Array< OneD, NekDouble > &coord_1, Array< OneD, NekDouble > &coord_2=NullNekDouble1DArray) |
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 Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool Shuff=true, bool UnShuff=true) |
virtual void | v_HomogeneousBwdTrans (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, bool Shuff=true, bool UnShuff=true) |
virtual void | v_DealiasedProd (const Array< OneD, NekDouble > &inarray1, const Array< OneD, NekDouble > &inarray2, Array< OneD, NekDouble > &outarray) |
virtual void | v_DealiasedDotProd (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 () |
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) |
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_WriteVtkPieceHeader (std::ostream &outfile, int expansion, int istrip) |
virtual void | v_WriteVtkPieceData (std::ostream &outfile, int expansion, std::string var) |
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) |
void | ExtractFileBCs (const std::string &fileName, LibUtilities::CommSharedPtr comm, const std::string &varName, const std::shared_ptr< ExpList > locExpList) |
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... | |
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) |
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. The coefficients from these expansions are concatenated in m_coeffs, while the expansion evaluated at the quadrature points is stored in m_phys.
Nektar::MultiRegions::ExpList::ExpList | ( | const ExpansionType | type = eNoType | ) |
The default constructor using a type.
Creates an empty expansion list.
Definition at line 104 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 125 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 155 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 allocates memory for the arrays m_coeffs and m_phys.
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 202 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\) and allocates memory for the arrays m_coeffs and m_phys.
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 249 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 275 of file ExpList.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), 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 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 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 825 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 2561 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 5775 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 5718 of file ExpList.cpp.
References GetNcoeffs(), GetTotPoints(), Vmath::Vadd(), and Vmath::Vcopy().
|
inline |
Definition at line 2554 of file ExpList.h.
References v_AddTraceIntegral().
|
inline |
Definition at line 2546 of file ExpList.h.
References v_AddTraceIntegral().
|
inline |
Definition at line 1190 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 5477 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 2596 of file ExpList.h.
References v_AddTraceQuadPhysToField().
|
inline |
Definition at line 950 of file ExpList.h.
References v_AddTraceQuadPhysToOffDiag().
|
inline |
Append the element data listed in elements fielddef->m_ElementIDs onto fielddata.
Definition at line 1074 of file ExpList.h.
References v_AppendFieldData().
|
inline |
Append the data in coeffs listed in elements fielddef->m_ElementIDs onto fielddata.
Definition at line 1084 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 2567 of file ExpList.cpp.
Referenced by Nektar::MultiRegions::DisContField::DisContField().
|
inline |
Definition at line 2015 of file ExpList.h.
References v_BwdTrans().
Referenced by Nektar::MultiRegions::DisContField::L2_DGDeriv(), MultiplyByMassMatrix(), and v_WriteTecplotField().
|
inline |
This function elementally evaluates the backward transformation of the global spectral/hp element expansion.
Definition at line 2025 of file ExpList.h.
References v_BwdTrans_IterPerExp().
Referenced by Nektar::MultiRegions::ContField::BwdTrans().
Definition at line 5165 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 5017 of file ExpList.cpp.
References Nektar::SpatialDomains::eDeformed, Nektar::Collections::CollectionOptimisation::GetDefaultImplementationType(), Nektar::Collections::CollectionOptimisation::GetMaxCollectionSize(), Nektar::Collections::CollectionOptimisation::GetOperatorImpMap(), Nektar::Collections::CollectionOptimisation::IsUsingAutotuning(), m_coeff_offset, m_coll_coeff_offset, m_coll_phys_offset, m_collections, m_collectionsDoInit, m_comm, m_exp, m_phys_offset, m_session, Nektar::Collections::CollectionOptimisation::SetWithTimings(), and Nektar::Collections::SIZE_OperatorType.
Referenced by ExpList().
|
inline |
Definition at line 2157 of file ExpList.h.
References v_CurlCurl().
|
inline |
Definition at line 2202 of file ExpList.h.
References v_DealiasedDotProd().
|
inline |
Definition at line 2191 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 1237 of file ExpList.cpp.
References m_phys_offset.
|
inline |
|
inline |
|
inline |
Definition at line 2657 of file ExpList.h.
References v_EvaluateBoundaryConditions().
Referenced by Nektar::MultiRegions::DisContField::DisContField().
void Nektar::MultiRegions::ExpList::ExponentialFilter | ( | Array< OneD, NekDouble > & | array, |
const NekDouble | alpha, | ||
const NekDouble | exponent, | ||
const NekDouble | cutoff | ||
) |
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 3444 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 | ||
) |
Extract the data in fielddata into the coeffs.
Definition at line 3435 of file ExpList.cpp.
References v_ExtractDataToCoeffs().
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 2722 of file ExpList.h.
References v_ExtractElmtToBndPhys().
|
protected |
Definition at line 3207 of file ExpList.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::LibUtilities::GetFieldIOFactory(), Nektar::LibUtilities::FieldIO::GetFileType(), and m_session.
Referenced by Nektar::MultiRegions::DisContField::v_EvaluateBoundaryConditions(), and Nektar::MultiRegions::DisContField3DHomogeneous1D::v_EvaluateBoundaryConditions().
|
inline |
Definition at line 2736 of file ExpList.h.
References v_ExtractPhysToBnd().
|
inline |
Definition at line 2729 of file ExpList.h.
References v_ExtractPhysToBndElmt().
Definition at line 2632 of file ExpList.h.
References v_ExtractTracePhys().
|
inline |
Definition at line 2638 of file ExpList.h.
References v_ExtractTracePhys().
|
inline |
Fill Bnd Condition expansion in nreg from the values stored in expansion.
Definition at line 2309 of file ExpList.h.
References v_FillBndCondFromField().
Fill Bnd Condition expansion from the values stored in expansion.
Definition at line 2304 of file ExpList.h.
References v_FillBndCondFromField().
|
inline |
Definition at line 2588 of file ExpList.h.
References v_FillBwdWithBoundCond().
|
inline |
Fill Bwd with boundary conditions.
Definition at line 2613 of file ExpList.h.
References v_FillBwdWithBwdWeight().
Referenced by GetBwdWeight().
|
inline |
Definition at line 1976 of file ExpList.h.
References v_FwdTrans().
|
inline |
Definition at line 1996 of file ExpList.h.
References v_FwdTrans_BndConstrained().
|
inline |
This function elementally evaluates the forward transformation of a function \(u(\boldsymbol{x})\) onto the global spectral/hp expansion.
Definition at line 1986 of file ExpList.h.
References v_FwdTrans_IterPerExp().
|
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 1810 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, and NEKERROR.
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 3286 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().
|
inline |
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 2695 of file ExpList.h.
References v_GeneralMatrixOp().
void Nektar::MultiRegions::ExpList::GeneralMatrixOp_IterPerExp | ( | const GlobalMatrixKey & | gkey, |
const Array< OneD, const NekDouble > & | inarray, | ||
Array< OneD, NekDouble > & | outarray | ||
) |
Definition at line 1961 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, and m_phys_offset.
Referenced by Nektar::MultiRegions::ContField::v_GeneralMatrixOp(), and v_GeneralMatrixOp().
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 3638 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 2329 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 2310 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 2034 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, and NEKERROR.
Referenced by Nektar::MultiRegions::ContField::GetGlobalMatrix().
|
protected |
Definition at line 2170 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, and Nektar::MultiRegions::RobinBCInfo::next.
Referenced by Nektar::MultiRegions::ContField::LinearAdvectionEigs().
|
inline |
|
inline |
Definition at line 2213 of file ExpList.h.
References v_GetBCValues().
|
protected |
Definition at line 1946 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 2490 of file ExpList.h.
References v_GetBndCondBwdWeight().
|
inline |
Definition at line 2470 of file ExpList.h.
References v_GetBndCondExpansions().
Referenced by v_ExtractElmtToBndPhys(), v_ExtractPhysToBnd(), v_ExtractPhysToBndElmt(), and v_GetBoundaryNormals().
|
inline |
Definition at line 2646 of file ExpList.h.
References v_GetBndConditions().
|
inline |
Definition at line 2715 of file ExpList.h.
References v_GetBndElmtExpansion().
|
staticprotected |
Definition at line 4983 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 2743 of file ExpList.h.
References v_GetBoundaryNormals().
|
inline |
Definition at line 2709 of file ExpList.h.
References v_GetBoundaryToElmtMap().
Referenced by Nektar::MultiRegions::DisContField::DisContField(), v_ExtractElmtToBndPhys(), v_ExtractPhysToBnd(), v_ExtractPhysToBndElmt(), Nektar::MultiRegions::DisContField::v_GetBndElmtExpansion(), 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 3572 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 2370 of file ExpList.h.
References m_coeffs.
Referenced by Nektar::MultiRegions::DisContField::v_EvaluateBoundaryConditions().
|
inline |
Get the start offset position for a global list of m_coeffs correspoinding to element n.
Definition at line 2431 of file ExpList.h.
References m_coeff_offset.
Referenced by Nektar::MultiRegions::AssemblyMapCG::AssemblyMapCG(), export_ExpList(), Nektar::MultiRegions::DisContField3DHomogeneous1D::NormVectorIProductWRTBase(), 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 2293 of file ExpList.h.
References m_coeffs.
Referenced by Nektar::MultiRegions::DisContField3DHomogeneous2D::EvaluateBoundaryConditions(), Nektar::MultiRegions::ContField::LaplaceSolve(), 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 2478 of file ExpList.h.
References m_coeffsToElmt.
Referenced by Nektar::MultiRegions::LocTraceToTraceMap::TraceLocToElmtLocCoeffMap().
|
inline |
|
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 2244 of file ExpList.h.
References ASSERTL2, and m_exp.
Referenced by Nektar::MultiRegions::ExpList2DHomogeneous1D::GetCoords(), GetExpIndex(), IProductWRTDerivBase(), PhysEvaluate(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals(), v_GetBoundaryNormals(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_GetCoords(), v_GetCoords(), v_GetNormals(), Nektar::MultiRegions::ExpList2DHomogeneous1D::v_GetNormals(), v_NormVectorIProductWRTBase(), v_Upwind(), v_WriteTecplotZone(), Nektar::MultiRegions::ExpList1DHomogeneous2D::v_WriteTecplotZone(), and Nektar::MultiRegions::ExpList2DHomogeneous1D::v_WriteTecplotZone().
|
inline |
This function calculates the coordinates of all the elemental quadrature points \(\boldsymbol{x}_i\).
Definition at line 2089 of file ExpList.h.
References v_GetCoords().
Referenced by v_WriteTecplotZone().
void Nektar::MultiRegions::ExpList::GetDiagMatIpwrtBase | ( | const Array< OneD, const Array< OneD, NekDouble > > & | inarray, |
Array< OneD, DNekMatSharedPtr > & | mtxPerVar | ||
) |
Definition at line 5405 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 4116 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 vector of elements in the expansion.
Definition at line 2422 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::ExpList1DHomogeneous2D::ExpList1DHomogeneous2D(), Nektar::MultiRegions::ExpList2DHomogeneous1D::ExpList2DHomogeneous1D(), Nektar::MultiRegions::ExpList3DHomogeneous2D::ExpList3DHomogeneous2D(), Nektar::MultiRegions::LocTraceToTraceMap::FindElmtNeighbors(), Nektar::MultiRegions::ExpList3DHomogeneous1D::GenExpList3DHomogeneous1D(), Nektar::MultiRegions::DisContField3DHomogeneous1D::GetBCValues(), GetExp(), GetExpIndex(), Nektar::MultiRegions::AssemblyCommDG::InitialiseStructure(), Nektar::MultiRegions::LocTraceToTraceMap::LocTraceToTraceMap(), Nektar::MultiRegions::DisContField3DHomogeneous1D::NormVectorIProductWRTBase(), Nektar::MultiRegions::LocTraceToTraceMap::Setup(), Nektar::MultiRegions::AssemblyMapCG::SetUpUniversalC0ContMap(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), v_ExtractElmtToBndPhys(), v_ExtractPhysToBnd(), v_ExtractPhysToBndElmt(), Nektar::MultiRegions::DisContField::v_FillBwdWithBoundCond(), Nektar::MultiRegions::DisContField::v_FillBwdWithBwdWeight(), Nektar::MultiRegions::DisContField::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous2D::v_GetBndElmtExpansion(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals(), v_GetBoundaryNormals(), v_GetCoords(), Nektar::MultiRegions::ExpList3DHomogeneous1D::v_HomogeneousEnergy(), Nektar::MultiRegions::AssemblyMapCG::v_LinearSpaceMap(), 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 2406 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 2413 of file ExpList.h.
References 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 2418 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 2431 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 2401 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 1182 of file ExpList.cpp.
References m_expType.
Referenced by v_CurlCurl().
|
inline |
Definition at line 1062 of file ExpList.h.
References v_GetFieldDefinitions().
|
inline |
Definition at line 1067 of file ExpList.h.
References v_GetFieldDefinitions().
|
inline |
Definition at line 2569 of file ExpList.h.
References v_GetFwdBwdTracePhys().
|
inline |
Definition at line 2576 of file ExpList.h.
References v_GetFwdBwdTracePhys().
|
inline |
|
inline |
Definition at line 1152 of file ExpList.h.
References v_GetHomogeneousBasis().
This function returns the Width of homogeneous direction associated with the homogeneous expansion.
Definition at line 691 of file ExpList.h.
References v_GetHomoLen().
|
inline |
Definition at line 2627 of file ExpList.h.
References v_GetLeftAdjacentFaces().
|
inline |
Definition at line 2604 of file ExpList.h.
References v_GetLocTraceFromTracePts().
Referenced by AddTraceJacToElmtJac().
|
inline |
Definition at line 2484 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 5253 of file ExpList.cpp.
void Nektar::MultiRegions::ExpList::GetMatIpwrtDeriveBase | ( | const TensorOfArray3D< NekDouble > & | inarray, |
Array< OneD, DNekMatSharedPtr > & | mtxPerVar | ||
) |
Definition at line 5294 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 2101 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 1800 of file ExpList.h.
References m_ncoeffs.
Referenced by AddRightIPTBaseMatrix(), AddRightIPTPhysDerivBase(), AddTraceJacToElmtJac(), export_ExpList(), Nektar::MultiRegions::ContField::LaplaceSolve(), 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 2540 of file ExpList.h.
References v_GetNormals().
|
inline |
Returns the total number of quadrature points m_npoints \(=Q_{\mathrm{tot}}\).
Definition at line 1882 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 743 of file ExpList.h.
References v_GetNumElmts().
Referenced by GetExpIndex(), v_GetCoords(), and v_WriteTecplotHeader().
|
inline |
Definition at line 1053 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 2392 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 global list of m_phys correspoinding to element n.
Definition at line 2439 of file ExpList.h.
References m_phys_offset.
Referenced by AddTraceJacToElmtJac(), export_ExpList(), Nektar::MultiRegions::DisContField3DHomogeneous1D::GetBCValues(), Nektar::MultiRegions::DisContField3DHomogeneous1D::NormVectorIProductWRTBase(), Nektar::MultiRegions::LocTraceToTraceMap::Setup(), v_ExtractPhysToBnd(), v_ExtractPhysToBndElmt(), Nektar::MultiRegions::DisContField::v_ExtractTracePhys(), Nektar::MultiRegions::DisContField::v_FillBwdWithBoundCond(), 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 1948 of file ExpList.h.
References m_physState.
Referenced by export_ExpList().
|
inline |
Definition at line 1157 of file ExpList.h.
References v_GetPlane().
|
inline |
Definition at line 1048 of file ExpList.h.
References v_GetRobinBCInfo().
Referenced by GenGlobalBndLinSys(), and GenGlobalMatrixFull().
|
inline |
Returns the session object.
Definition at line 1135 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 2255 of file ExpList.h.
References m_exp.
Referenced by GeneralGetFieldDefinitions().
|
inline |
Returns a shared pointer to the current object.
Definition at line 1129 of file ExpList.h.
Referenced by GenGlobalBndLinSys(), and GenGlobalLinSys().
|
inline |
|
inline |
Returns the total number of quadrature points m_npoints \(=Q_{\mathrm{tot}}\).
Definition at line 1850 of file ExpList.h.
References m_npoints.
Referenced by AddRightIPTBaseMatrix(), AddRightIPTPhysDerivBase(), Nektar::MultiRegions::ExpList2DHomogeneous1D::GetCoords(), Nektar::MultiRegions::ExpList3DHomogeneous1D::GetCoords(), Nektar::MultiRegions::ExpList3DHomogeneous2D::GetCoords(), v_CurlCurl(), v_ExtractElmtToBndPhys(), v_ExtractPhysToBnd(), Nektar::MultiRegions::DisContField3DHomogeneous1D::v_GetBoundaryNormals(), v_GetBoundaryNormals(), 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 2525 of file ExpList.h.
References v_GetTrace().
Referenced by AddTraceJacToElmtJac(), and Nektar::MultiRegions::DisContField::v_AddTraceIntegral().
Definition at line 2535 of file ExpList.h.
References v_GetTraceBndMap().
|
inline |
Definition at line 2530 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 684 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 1899 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 707 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 677 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 2358 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 2327 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 3267 of file ExpList.cpp.
References m_comm, m_phys_offset, Nektar::LibUtilities::ReduceSum, and tinysimd::sqrt().
|
inline |
Solve helmholtz problem.
Definition at line 2046 of file ExpList.h.
References v_HelmSolve().
|
inline |
Definition at line 2179 of file ExpList.h.
References v_HomogeneousBwdTrans().
This function calculates the energy associated with each one of the modesof a 3D homogeneous nD expansion.
Definition at line 661 of file ExpList.h.
References v_HomogeneousEnergy().
|
inline |
Definition at line 2167 of file ExpList.h.
References v_HomogeneousFwdTrans().
|
inline |
Impose Dirichlet Boundary Conditions onto Array.
Definition at line 2298 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 1022 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 |
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 625 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 649 of file ExpList.h.
References v_Integral().
|
inline |
Definition at line 1956 of file ExpList.h.
References v_IProductWRTBase().
Referenced by MultiplyByMassMatrix(), and Nektar::MultiRegions::DisContField::v_HelmSolve().
|
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 1966 of file ExpList.h.
References v_IProductWRTBase_IterPerExp().
Referenced by Nektar::MultiRegions::ContField::IProductWRTBase(), and v_FwdTrans_IterPerExp().
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 1363 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::StdExpansion::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 1299 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 1319 of file ExpList.cpp.
References m_coeff_offset, m_phys_offset, and Vmath::Vcopy().
|
inline |
This function calculates the \(L_2\) error with respect to soln of the global spectral/hp element approximation.
Definition at line 596 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 2064 of file ExpList.h.
References v_LinearAdvectionDiffusionReactionSolve().
|
inline |
Solve Advection Diffusion Reaction.
Definition at line 2075 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 3035 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 2314 of file ExpList.h.
References v_LocalToGlobal().
|
inline |
Definition at line 2319 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 1199 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 1696 of file ExpList.cpp.
References Nektar::StdRegions::eInvMass, Nektar::eWrapper, GetBlockMatrix(), and m_ncoeffs.
Referenced by v_FwdTrans_IterPerExp().
|
inline |
Definition at line 2036 of file ExpList.h.
References v_MultiplyByInvMassMatrix().
|
inline |
Definition at line 330 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 1220 of file ExpList.cpp.
References m_phys_offset.
|
inline |
Definition at line 2233 of file ExpList.h.
References v_NormVectorIProductWRTBase().
|
inline |
Definition at line 2224 of file ExpList.h.
References v_NormVectorIProductWRTBase().
|
inline |
Copy and fill the Periodic boundaries.
Definition at line 2620 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 2113 of file ExpList.h.
References v_PhysDeriv().
|
inline |
Definition at line 2124 of file ExpList.h.
References v_PhysDeriv().
|
inline |
|
inline |
Definition at line 2144 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 2542 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 728 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 716 of file ExpList.h.
References v_PhysInterp1DScaled().
|
inline |
Reset geometry information and reset matrices.
Definition at line 440 of file ExpList.h.
References v_Reset().
|
inline |
Set the weight value for boundary conditions.
Definition at line 2495 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 668 of file ExpList.h.
References v_SetHomo1DSpecVanVisc().
This function sets the Width of homogeneous direction associated with the homogeneous expansion.
Definition at line 698 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 1919 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 1939 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. Twoe 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 978 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 2704 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 1891 of file ExpList.h.
References m_WaveSpace.
Smooth a field across elements.
Definition at line 2007 of file ExpList.h.
References v_SmoothField().
|
inline |
Definition at line 2502 of file ExpList.h.
References v_UpdateBndCondExpansion().
|
inline |
Definition at line 2652 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 2450 of file ExpList.h.
References m_coeffs.
Referenced by Nektar::MultiRegions::DisContField3DHomogeneous2D::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 2461 of file ExpList.h.
References m_phys, and m_physState.
|
inline |
Definition at line 2507 of file ExpList.h.
References Upwind(), and v_Upwind().
|
inline |
Definition at line 2516 of file ExpList.h.
References v_Upwind().
Referenced by Upwind(), and v_Upwind().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4283 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddFwdBwdTraceIntegral().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4274 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Definition at line 4264 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceIntegral().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5244 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceIntegralToOffDiag().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4325 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by AddTraceQuadPhysToField().
|
protectedvirtual |
Definition at line 4335 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 3407 of file ExpList.cpp.
References m_coeffs.
Referenced by AppendFieldData().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3412 of file ExpList.cpp.
References m_coeff_offset.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 4608 of file ExpList.cpp.
References v_BwdTrans_IterPerExp().
Referenced by BwdTrans().
|
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 2366 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::Stop(), and Vmath::Vcopy().
Referenced by BwdTrans_IterPerExp(), and v_BwdTrans().
Reimplemented in Nektar::MultiRegions::ContField3DHomogeneous2D, Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 3201 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by ClearGlobalLinSysManager().
|
protectedvirtual |
Definition at line 1566 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 4475 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 4466 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by DealiasedProd().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 4950 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by EvaluateBoundaryConditions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3546 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 3457 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 4740 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetExp(), and GetTotPoints().
Referenced by ExtractElmtToBndPhys().
|
protectedvirtual |
Definition at line 4819 of file ExpList.cpp.
References GetBndCondExpansions(), GetBoundaryToElmtMap(), GetExp(), GetPhys_Offset(), and GetTotPoints().
Referenced by ExtractPhysToBnd().
|
protectedvirtual |
Definition at line 4779 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 4383 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 4390 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Reimplemented in Nektar::MultiRegions::ContField3DHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 4559 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 4567 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4315 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillBwdWithBoundCond().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4910 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillBwdWithBwdWeight().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, Nektar::MultiRegions::ExpListHomogeneous1D, and Nektar::MultiRegions::ContField.
Definition at line 4614 of file ExpList.cpp.
References v_FwdTrans_IterPerExp().
Referenced by FwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1745 of file ExpList.cpp.
References m_coeff_offset, and m_phys_offset.
Referenced by FwdTrans_BndConstrained().
|
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, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1735 of file ExpList.cpp.
References IProductWRTBase_IterPerExp(), m_ncoeffs, and MultiplyByElmtInvMass().
Referenced by FwdTrans_IterPerExp(), and v_FwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 4644 of file ExpList.cpp.
References GeneralMatrixOp_IterPerExp().
Referenced by GeneralMatrixOp().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 4485 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBCValues().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4357 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 3669 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndCondExpansions().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, Nektar::MultiRegions::DisContField, and Nektar::MultiRegions::ContField.
Definition at line 4929 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 4729 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetBndElmtExpansion().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 4857 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 4902 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::ExpList2DHomogeneous1D, and Nektar::MultiRegions::ExpList1DHomogeneous2D.
Definition at line 4663 of file ExpList.cpp.
References ASSERTL0, GetCoordim(), GetExp(), GetNumElmts(), and m_phys_offset.
Referenced by GetCoords().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3400 of file ExpList.cpp.
References GeneralGetFieldDefinitions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3393 of file ExpList.cpp.
Referenced by GetFieldDefinitions().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4293 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetFwdBwdTracePhys().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4301 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
inlineprivatevirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1765 of file ExpList.h.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::LibUtilities::NullBasisSharedPtr.
Referenced by GetHomogeneousBasis().
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3169 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetHomoLen().
|
protectedvirtual |
Definition at line 4374 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLeftAdjacentFaces().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4345 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLocTraceFromTracePts().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 5915 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::MultiRegions::NullLocTraceToTraceMapSharedPtr.
Referenced by GetLocTraceToTraceMap().
|
protectedvirtual |
Definition at line 3586 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 3893 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 1364 of file ExpList.h.
Referenced by GetNumElmts().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 4973 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetPeriodicEntities().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 5005 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, NEKERROR, and Nektar::MultiRegions::NullExpListSharedPtr.
Referenced by GetPlane().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 4963 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 3797 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTrace().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 3813 of file ExpList.cpp.
References GetTraceMap().
Referenced by GetTraceBndMap().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField, and Nektar::MultiRegions::DisContField3DHomogeneous1D.
Definition at line 3805 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTraceMap().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3161 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetTransposition().
|
protectedvirtual |
Definition at line 3192 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetYIDs().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3184 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetZIDs().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 4599 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 4592 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 4408 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by HelmSolve().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 4456 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by HomogeneousBwdTrans().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D.
Definition at line 3153 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 4446 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 4550 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 3120 of file ExpList.cpp.
References m_comm, m_phys_offset, and Nektar::LibUtilities::ReduceSum.
Referenced by Integral().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 4620 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 |
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 1262 of file ExpList.cpp.
References Nektar::Collections::eIProductWRTBase, m_coll_coeff_offset, m_coll_phys_offset, m_collections, and m_collectionsDoInit.
Referenced by IProductWRTBase_IterPerExp().
|
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 3074 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 4422 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by LinearAdvectionDiffusionReactionSolve().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 4434 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 4574 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by LocalToGlobal().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 4582 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ContField.
Definition at line 4399 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by MultiplyByInvMassMatrix().
|
protectedvirtual |
Definition at line 4504 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 4494 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by NormVectorIProductWRTBase().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::DisContField.
Definition at line 4918 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 1465 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 1506 of file ExpList.cpp.
References Nektar::MultiRegions::DirCartesianMap, and v_PhysDeriv().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous2D, and Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1514 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 1638 of file ExpList.cpp.
References m_phys_offset, and Vmath::Vcopy().
Referenced by PhysDirectionalDeriv().
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 5833 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 5170 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 2580 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 4365 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetBndCondBwdWeight().
|
inlineprivatevirtual |
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 1773 of file ExpList.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetHomo1DSpecVanVisc().
Reimplemented in Nektar::MultiRegions::ExpListHomogeneous1D.
Definition at line 3177 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by SetHomoLen().
|
protectedvirtual |
|
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 1767 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::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 3677 of file ExpList.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by UpdateBndCondExpansion().
|
privatevirtual |
Reimplemented in Nektar::MultiRegions::DisContField3DHomogeneous2D, Nektar::MultiRegions::DisContField3DHomogeneous1D, and Nektar::MultiRegions::DisContField.
Definition at line 4940 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 3696 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 3770 of file ExpList.cpp.
|
protectedvirtual |
|
protectedvirtual |
Reimplemented in Nektar::MultiRegions::ExpList3DHomogeneous1D.
Definition at line 2741 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 2818 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 2607 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::ExpList2DHomogeneous1D, and Nektar::MultiRegions::ExpList1DHomogeneous2D.
Definition at line 2646 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 2998 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::ExpList2DHomogeneous1D, and Nektar::MultiRegions::ExpList1DHomogeneous2D.
Definition at line 2866 of file ExpList.cpp.
References Nektar::MultiRegions::e1D, Nektar::MultiRegions::e2D, Nektar::MultiRegions::e3D, and m_expType.
Referenced by WriteVtkPieceHeader().
|
inline |
Definition at line 654 of file ExpList.h.
References v_VectorFlux().
|
inline |
Definition at line 464 of file ExpList.h.
References v_WriteTecplotConnectivity().
|
inline |
Definition at line 458 of file ExpList.h.
References v_WriteTecplotField().
|
inline |
Definition at line 445 of file ExpList.h.
References v_WriteTecplotHeader().
|
inline |
Definition at line 451 of file ExpList.h.
References v_WriteTecplotZone().
void Nektar::MultiRegions::ExpList::WriteVtkFooter | ( | std::ostream & | outfile | ) |
Definition at line 2860 of file ExpList.cpp.
void Nektar::MultiRegions::ExpList::WriteVtkHeader | ( | std::ostream & | outfile | ) |
Definition at line 2852 of file ExpList.cpp.
|
inline |
Definition at line 483 of file ExpList.h.
References v_WriteVtkPieceData().
void Nektar::MultiRegions::ExpList::WriteVtkPieceFooter | ( | std::ostream & | outfile, |
int | expansion | ||
) |
Definition at line 2991 of file ExpList.cpp.
|
inline |
Definition at line 473 of file ExpList.h.
References v_WriteVtkPieceHeader().
|
protected |
Definition at line 1312 of file ExpList.h.
Referenced by GetBlockMatrix().
Offset of elemental data into the array m_coeffs.
Definition at line 1304 of file ExpList.h.
Referenced by CreateCollections(), Nektar::MultiRegions::DisContField::EvaluateHDGPostProcessing(), GeneralMatrixOp_IterPerExp(), GenGlobalMatrixFull(), GetCoeff_Offset(), IProductWRTDerivBase(), IProductWRTDirectionalDerivBase(), Nektar::MultiRegions::DisContField::L2_DGDeriv(), Nektar::MultiRegions::ExpList1DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous1D::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_FwdTrans_BndConstrained(), 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 1252 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField::Assemble(), Nektar::MultiRegions::DisContField::EvaluateHDGPostProcessing(), GetCoeff(), GetCoeffs(), Nektar::MultiRegions::DisContField::L2_DGDeriv(), SetCoeff(), Nektar::MultiRegions::ExpList1DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous1D::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_FillBndCondFromField(), Nektar::MultiRegions::ContField::v_GlobalToLocal(), Nektar::MultiRegions::ContField::v_LocalToGlobal(), and v_WriteTecplotField().
m_coeffs to elemental value map
Definition at line 1310 of file ExpList.h.
Referenced by GetCoeffsToElmt(), and SetupCoeffPhys().
|
protected |
Offset of elemental data into the array m_coeffs.
Definition at line 1298 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp_IterPerExp(), IProductWRTDerivBase(), v_BwdTrans_IterPerExp(), v_IProductWRTBase(), and v_IProductWRTBase_IterPerExp().
|
protected |
Offset of elemental data into the array m_phys.
Definition at line 1301 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp_IterPerExp(), IProductWRTDerivBase(), v_BwdTrans_IterPerExp(), v_IProductWRTBase(), v_IProductWRTBase_IterPerExp(), and v_PhysDeriv().
|
protected |
Definition at line 1292 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp_IterPerExp(), IProductWRTDerivBase(), v_BwdTrans_IterPerExp(), v_IProductWRTBase(), v_IProductWRTBase_IterPerExp(), and v_PhysDeriv().
|
protected |
Vector of bools to act as an initialise on first call flag.
Definition at line 1295 of file ExpList.h.
Referenced by CreateCollections(), GeneralMatrixOp_IterPerExp(), IProductWRTDerivBase(), v_BwdTrans_IterPerExp(), v_IProductWRTBase(), v_IProductWRTBase_IterPerExp(), and v_PhysDeriv().
|
protected |
Communicator.
Definition at line 1220 of file ExpList.h.
Referenced by CreateCollections(), Nektar::MultiRegions::ExpList2DHomogeneous1D::ExpList2DHomogeneous1D(), Nektar::MultiRegions::ExpListHomogeneous1D::ExpListHomogeneous1D(), Nektar::MultiRegions::ExpListHomogeneous2D::ExpListHomogeneous2D(), Nektar::MultiRegions::ExpListHomogeneous1D::GenHomogeneous1DBlockMatrix(), GetComm(), H1(), Nektar::MultiRegions::ExpListHomogeneous1D::Homogeneous1DTrans(), Linf(), Nektar::MultiRegions::DisContField::SameTypeOfBoundaryConditions(), 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 1321 of file ExpList.h.
Referenced by 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 1290 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_IterPerExp(), Nektar::MultiRegions::ExpList3DHomogeneous1D::GenExpList3DHomogeneous1D(), GenGlobalMatrix(), GenGlobalMatrixFull(), Get1DScaledTotPoints(), GetCoordim(), GetElmtNormalLength(), GetExp(), 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(), v_Upwind(), v_WriteTecplotConnectivity(), and v_WriteTecplotZone().
|
protected |
Exapnsion type.
Definition at line 1212 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_IterPerExp(), v_CurlCurl(), Nektar::MultiRegions::DisContField::v_EvaluateBoundaryConditions(), Nektar::MultiRegions::DisContField::v_GetBoundaryToElmtMap(), Nektar::MultiRegions::DisContField::v_GetLocTraceFromTracePts(), 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 1226 of file ExpList.h.
Referenced by Nektar::MultiRegions::ContField3DHomogeneous1D::ContField3DHomogeneous1D(), 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 1230 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::ExpList1DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous2D::SetCoeffPhys(), SetupCoeffPhys(), v_BwdTrans_IterPerExp(), v_FwdTrans_IterPerExp(), Nektar::MultiRegions::ContField::v_HelmSolve(), Nektar::MultiRegions::DisContField::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 1235 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::ExpList1DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous2D::SetCoeffPhys(), SetPhys(), SetupCoeffPhys(), 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 1269 of file ExpList.h.
Referenced by GetPhys(), Integral(), Nektar::MultiRegions::DisContField::L2_DGDeriv(), Nektar::MultiRegions::ExpList1DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous1D::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 1307 of file ExpList.h.
Referenced by CreateCollections(), DivideByQuadratureMetric(), ExponentialFilter(), GenBlockMatrix(), GeneralMatrixOp_IterPerExp(), GenerateElementVector(), GenGlobalMatrix(), GenGlobalMatrixFull(), GetElmtNormalLength(), GetPhys_Offset(), H1(), IProductWRTDerivBase(), IProductWRTDirectionalDerivBase(), MultiplyByQuadratureMetric(), PhysEvaluate(), Nektar::MultiRegions::ExpList1DHomogeneous2D::SetCoeffPhys(), Nektar::MultiRegions::ExpList2DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous1D::SetCoeffPhys(), Nektar::MultiRegions::ExpList3DHomogeneous2D::SetCoeffPhys(), SetupCoeffPhys(), v_FwdTrans_BndConstrained(), 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 1278 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 1223 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(), ExtractFileBCs(), Nektar::MultiRegions::DisContField::FindPeriodicTraces(), Nektar::MultiRegions::DisContField::GenerateBoundaryConditionExpansion(), Nektar::MultiRegions::ExpList3DHomogeneous1D::GenExpList3DHomogeneous1D(), GenGlobalMatrix(), Nektar::MultiRegions::DisContField::GetDomainBCs(), 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 1318 of file ExpList.h.
Referenced by GetWaveSpace(), SetWaveSpace(), Nektar::MultiRegions::ExpListHomogeneous1D::v_BwdTrans(), Nektar::MultiRegions::ExpListHomogeneous2D::v_BwdTrans(), Nektar::MultiRegions::ExpListHomogeneous1D::v_BwdTrans_IterPerExp(), Nektar::MultiRegions::ExpListHomogeneous2D::v_BwdTrans_IterPerExp(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedDotProd(), Nektar::MultiRegions::ExpListHomogeneous1D::v_DealiasedProd(), Nektar::MultiRegions::ExpListHomogeneous2D::v_DealiasedProd(), Nektar::MultiRegions::ExpListHomogeneous1D::v_FwdTrans(), Nektar::MultiRegions::ExpListHomogeneous2D::v_FwdTrans(), Nektar::MultiRegions::ExpListHomogeneous1D::v_FwdTrans_BndConstrained(), Nektar::MultiRegions::ExpListHomogeneous1D::v_FwdTrans_IterPerExp(), Nektar::MultiRegions::ExpListHomogeneous2D::v_FwdTrans_IterPerExp(), 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_IProductWRTBase_IterPerExp(), Nektar::MultiRegions::ExpListHomogeneous1D::v_PhysDeriv(), and Nektar::MultiRegions::ExpListHomogeneous2D::v_PhysDeriv().