Nektar++
|
A base class for describing how to solve specific equations. More...
#include <EquationSystem.h>
Public Member Functions | |
virtual SOLVER_UTILS_EXPORT | ~EquationSystem () |
Destructor. | |
SOLVER_UTILS_EXPORT void | SetUpTraceNormals (void) |
SOLVER_UTILS_EXPORT void | InitObject () |
Initialises the members of this object. | |
SOLVER_UTILS_EXPORT void | DoInitialise () |
Perform any initialisation necessary before solving the problem. | |
SOLVER_UTILS_EXPORT void | DoSolve () |
Solve the problem. | |
SOLVER_UTILS_EXPORT void | TransCoeffToPhys () |
Transform from coefficient to physical space. | |
SOLVER_UTILS_EXPORT void | TransPhysToCoeff () |
Transform from physical to coefficient space. | |
SOLVER_UTILS_EXPORT void | Output () |
Perform output operations after solve. | |
SOLVER_UTILS_EXPORT NekDouble | LinfError (unsigned int field, const Array< OneD, NekDouble > &exactsoln=NullNekDouble1DArray) |
Linf error computation. | |
SOLVER_UTILS_EXPORT std::string | GetSessionName () |
Get Session name. | |
SOLVER_UTILS_EXPORT void | ResetSessionName (std::string newname) |
Reset Session name. | |
SOLVER_UTILS_EXPORT LibUtilities::SessionReaderSharedPtr | GetSession () |
Get Session name. | |
SOLVER_UTILS_EXPORT MultiRegions::ExpListSharedPtr | GetPressure () |
Get pressure field if available. | |
SOLVER_UTILS_EXPORT void | PrintSummary (std::ostream &out) |
Print a summary of parameters and solver characteristics. | |
SOLVER_UTILS_EXPORT void | SetLambda (NekDouble lambda) |
Set parameter m_lambda. | |
SOLVER_UTILS_EXPORT void | EvaluateFunction (Array< OneD, Array< OneD, NekDouble > > &pArray, std::string pFunctionName, const NekDouble pTime=0.0, const int domain=0) |
Evaluates a function as specified in the session file. | |
SOLVER_UTILS_EXPORT void | EvaluateFunction (std::vector< std::string > pFieldNames, Array< OneD, Array< OneD, NekDouble > > &pFields, const std::string &pName, const int domain=0) |
Populate given fields with the function from session. | |
SOLVER_UTILS_EXPORT void | EvaluateFunction (std::vector< std::string > pFieldNames, Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const std::string &pName, const int domain=0) |
Populate given fields with the function from session. | |
SOLVER_UTILS_EXPORT void | EvaluateFunction (std::string pFieldName, Array< OneD, NekDouble > &pArray, const std::string &pFunctionName, const NekDouble &pTime=0.0, const int domain=0) |
SOLVER_UTILS_EXPORT std::string | DescribeFunction (std::string pFieldName, const std::string &pFunctionName, const int domain) |
Provide a description of a function for a given field name. | |
SOLVER_UTILS_EXPORT void | InitialiseBaseFlow (Array< OneD, Array< OneD, NekDouble > > &base) |
Perform initialisation of the base flow. | |
SOLVER_UTILS_EXPORT void | SetInitialConditions (NekDouble initialtime=0.0, bool dumpInitialConditions=true, const int domain=0) |
Initialise the data in the dependent fields. | |
SOLVER_UTILS_EXPORT void | EvaluateExactSolution (int field, Array< OneD, NekDouble > &outfield, const NekDouble time) |
Evaluates an exact solution. | |
SOLVER_UTILS_EXPORT NekDouble | L2Error (unsigned int field, const Array< OneD, NekDouble > &exactsoln, bool Normalised=false) |
Compute the L2 error between fields and a given exact solution. | |
SOLVER_UTILS_EXPORT NekDouble | L2Error (unsigned int field, bool Normalised=false) |
Compute the L2 error of the fields. | |
SOLVER_UTILS_EXPORT Array < OneD, NekDouble > | ErrorExtraPoints (unsigned int field) |
Compute error (L2 and L_inf) over an larger set of quadrature points return [L2 Linf]. | |
SOLVER_UTILS_EXPORT void | WeakAdvectionGreensDivergenceForm (const Array< OneD, Array< OneD, NekDouble > > &F, Array< OneD, NekDouble > &outarray) |
Compute the inner product . | |
SOLVER_UTILS_EXPORT void | WeakAdvectionDivergenceForm (const Array< OneD, Array< OneD, NekDouble > > &F, Array< OneD, NekDouble > &outarray) |
Compute the inner product . | |
SOLVER_UTILS_EXPORT void | WeakAdvectionNonConservativeForm (const Array< OneD, Array< OneD, NekDouble > > &V, const Array< OneD, const NekDouble > &u, Array< OneD, NekDouble > &outarray, bool UseContCoeffs=false) |
Compute the inner product . | |
f SOLVER_UTILS_EXPORT void | AdvectionNonConservativeForm (const Array< OneD, Array< OneD, NekDouble > > &V, const Array< OneD, const NekDouble > &u, Array< OneD, NekDouble > &outarray, Array< OneD, NekDouble > &wk=NullNekDouble1DArray) |
Compute the non-conservative advection. | |
SOLVER_UTILS_EXPORT void | WeakDGAdvection (const Array< OneD, Array< OneD, NekDouble > > &InField, Array< OneD, Array< OneD, NekDouble > > &OutField, bool NumericalFluxIncludesNormal=true, bool InFieldIsInPhysSpace=false, int nvariables=0) |
Calculate the weak discontinuous Galerkin advection. | |
SOLVER_UTILS_EXPORT void | WeakDGDiffusion (const Array< OneD, Array< OneD, NekDouble > > &InField, Array< OneD, Array< OneD, NekDouble > > &OutField, bool NumericalFluxIncludesNormal=true, bool InFieldIsInPhysSpace=false) |
Calculate weak DG Diffusion in the LDG form. | |
SOLVER_UTILS_EXPORT void | Checkpoint_Output (const int n) |
Write checkpoint file of m_fields. | |
SOLVER_UTILS_EXPORT void | Checkpoint_Output (const int n, MultiRegions::ExpListSharedPtr &field, std::vector< Array< OneD, NekDouble > > &fieldcoeffs, std::vector< std::string > &variables) |
Write checkpoint file of custom data fields. | |
SOLVER_UTILS_EXPORT void | WriteFld (const std::string &outname) |
Write field data to the given filename. | |
SOLVER_UTILS_EXPORT void | WriteFld (const std::string &outname, MultiRegions::ExpListSharedPtr &field, std::vector< Array< OneD, NekDouble > > &fieldcoeffs, std::vector< std::string > &variables) |
Write input fields to the given filename. | |
SOLVER_UTILS_EXPORT void | ImportFld (const std::string &infile, Array< OneD, MultiRegions::ExpListSharedPtr > &pFields) |
Input field data from the given file. | |
SOLVER_UTILS_EXPORT void | ImportFldToMultiDomains (const std::string &infile, Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int ndomains) |
Input field data from the given file to multiple domains. | |
SOLVER_UTILS_EXPORT void | ImportFld (const std::string &infile, std::vector< std::string > &fieldStr, Array< OneD, Array< OneD, NekDouble > > &coeffs) |
Output a field. Input field data into array from the given file. | |
SOLVER_UTILS_EXPORT void | ImportFld (const std::string &infile, MultiRegions::ExpListSharedPtr &pField, std::string &pFieldName) |
Output a field. Input field data into ExpList from the given file. | |
SOLVER_UTILS_EXPORT void | ScanForHistoryPoints () |
Builds map of which element holds each history point. | |
SOLVER_UTILS_EXPORT void | WriteHistoryData (std::ostream &out) |
Probe each history point and write to file. | |
SOLVER_UTILS_EXPORT void | SessionSummary (SummaryList &vSummary) |
Write out a session summary. | |
SOLVER_UTILS_EXPORT Array < OneD, MultiRegions::ExpListSharedPtr > & | UpdateFields () |
SOLVER_UTILS_EXPORT LibUtilities::FieldMetaDataMap & | UpdateFieldMetaDataMap () |
Get hold of FieldInfoMap so it can be updated. | |
SOLVER_UTILS_EXPORT NekDouble | GetFinalTime () |
Return final time. | |
SOLVER_UTILS_EXPORT int | GetNcoeffs () |
SOLVER_UTILS_EXPORT int | GetNcoeffs (const int eid) |
SOLVER_UTILS_EXPORT int | GetNumExpModes () |
SOLVER_UTILS_EXPORT const Array< OneD, int > | GetNumExpModesPerExp () |
SOLVER_UTILS_EXPORT int | GetNvariables () |
SOLVER_UTILS_EXPORT const std::string | GetVariable (unsigned int i) |
SOLVER_UTILS_EXPORT int | GetTraceTotPoints () |
SOLVER_UTILS_EXPORT int | GetTraceNpoints () |
SOLVER_UTILS_EXPORT int | GetExpSize () |
SOLVER_UTILS_EXPORT int | GetPhys_Offset (int n) |
SOLVER_UTILS_EXPORT int | GetCoeff_Offset (int n) |
SOLVER_UTILS_EXPORT int | GetTotPoints () |
SOLVER_UTILS_EXPORT int | GetTotPoints (int n) |
SOLVER_UTILS_EXPORT int | GetNpoints () |
SOLVER_UTILS_EXPORT int | GetNumElmVelocity () |
SOLVER_UTILS_EXPORT int | GetSteps () |
SOLVER_UTILS_EXPORT NekDouble | GetTimeStep () |
SOLVER_UTILS_EXPORT void | CopyFromPhysField (const int i, Array< OneD, NekDouble > &output) |
SOLVER_UTILS_EXPORT void | CopyToPhysField (const int i, Array< OneD, NekDouble > &output) |
SOLVER_UTILS_EXPORT void | SetStepsToOne () |
SOLVER_UTILS_EXPORT void | ZeroPhysFields () |
SOLVER_UTILS_EXPORT void | FwdTransFields () |
SOLVER_UTILS_EXPORT void | GetFluxVector (const int i, Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &flux) |
SOLVER_UTILS_EXPORT void | GetFluxVector (const int i, Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &fluxX, Array< OneD, Array< OneD, NekDouble > > &fluxY) |
SOLVER_UTILS_EXPORT void | GetFluxVector (const int i, const int j, Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &flux) |
SOLVER_UTILS_EXPORT void | NumericalFlux (Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numflux) |
SOLVER_UTILS_EXPORT void | NumericalFlux (Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numfluxX, Array< OneD, Array< OneD, NekDouble > > &numfluxY) |
SOLVER_UTILS_EXPORT void | NumFluxforScalar (const Array< OneD, Array< OneD, NekDouble > > &ufield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &uflux) |
SOLVER_UTILS_EXPORT void | NumFluxforVector (const Array< OneD, Array< OneD, NekDouble > > &ufield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &qfield, Array< OneD, Array< OneD, NekDouble > > &qflux) |
SOLVER_UTILS_EXPORT void | SetModifiedBasis (const bool modbasis) |
SOLVER_UTILS_EXPORT int | NoCaseStringCompare (const string &s1, const string &s2) |
Perform a case-insensitive string comparison. |
Protected Types | |
enum | HomogeneousType { eHomogeneous1D, eHomogeneous2D, eHomogeneous3D, eNotHomogeneous } |
Parameter for homogeneous expansions. More... |
Protected Member Functions | |
SOLVER_UTILS_EXPORT | EquationSystem (const LibUtilities::SessionReaderSharedPtr &pSession) |
Initialises EquationSystem class members. | |
int | nocase_cmp (const string &s1, const string &s2) |
virtual SOLVER_UTILS_EXPORT void | v_InitObject () |
Initialisation object for EquationSystem. | |
SOLVER_UTILS_EXPORT void | SetBoundaryConditions (NekDouble time) |
Evaluates the boundary conditions at the given time. | |
virtual SOLVER_UTILS_EXPORT void | v_DoInitialise () |
Virtual function for initialisation implementation. | |
virtual SOLVER_UTILS_EXPORT void | v_DoSolve () |
Virtual function for solve implementation. | |
virtual SOLVER_UTILS_EXPORT NekDouble | v_LinfError (unsigned int field, const Array< OneD, NekDouble > &exactsoln=NullNekDouble1DArray) |
Virtual function for the L_inf error computation between fields and a given exact solution. | |
virtual SOLVER_UTILS_EXPORT NekDouble | v_L2Error (unsigned int field, const Array< OneD, NekDouble > &exactsoln=NullNekDouble1DArray, bool Normalised=false) |
Virtual function for the L_2 error computation between fields and a given exact solution. | |
virtual SOLVER_UTILS_EXPORT void | v_TransCoeffToPhys () |
Virtual function for transformation to physical space. | |
virtual SOLVER_UTILS_EXPORT void | v_TransPhysToCoeff () |
Virtual function for transformation to coefficient space. | |
virtual SOLVER_UTILS_EXPORT void | v_GenerateSummary (SummaryList &l) |
Virtual function for generating summary information. | |
virtual SOLVER_UTILS_EXPORT void | v_SetInitialConditions (NekDouble initialtime=0.0, bool dumpInitialConditions=true, const int domain=0) |
virtual SOLVER_UTILS_EXPORT void | v_EvaluateExactSolution (unsigned int field, Array< OneD, NekDouble > &outfield, const NekDouble time) |
SOLVER_UTILS_EXPORT void | SetUpBaseFields (SpatialDomains::MeshGraphSharedPtr &mesh) |
SOLVER_UTILS_EXPORT void | ImportFldBase (std::string pInfile, SpatialDomains::MeshGraphSharedPtr pGraph) |
virtual SOLVER_UTILS_EXPORT void | v_Output (void) |
virtual SOLVER_UTILS_EXPORT MultiRegions::ExpListSharedPtr | v_GetPressure (void) |
virtual SOLVER_UTILS_EXPORT void | v_ExtraFldOutput (std::vector< Array< OneD, NekDouble > > &fieldcoeffs, std::vector< std::string > &variables) |
Protected Attributes | |
LibUtilities::CommSharedPtr | m_comm |
Communicator. | |
LibUtilities::SessionReaderSharedPtr | m_session |
The session reader. | |
LibUtilities::FieldIOSharedPtr | m_fld |
Field input/output. | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fields |
Array holding all dependent variables. | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_base |
Base fields. | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_derivedfields |
Array holding all dependent variables. | |
SpatialDomains::BoundaryConditionsSharedPtr | m_boundaryConditions |
Pointer to boundary conditions object. | |
SpatialDomains::MeshGraphSharedPtr | m_graph |
Pointer to graph defining mesh. | |
std::string | m_filename |
Filename. | |
std::string | m_sessionName |
Name of the session. | |
NekDouble | m_time |
Current time of simulation. | |
NekDouble | m_fintime |
Finish time of the simulation. | |
NekDouble | m_timestep |
Time step size. | |
NekDouble | m_lambda |
Lambda constant in real system if one required. | |
NekDouble | m_checktime |
Time between checkpoints. | |
int | m_steps |
Number of steps to take. | |
int | m_checksteps |
Number of steps between checkpoints. | |
int | m_spacedim |
Spatial dimension (>= expansion dim). | |
int | m_expdim |
Expansion dimension. | |
bool | m_SingleMode |
Flag to determine if single homogeneous mode is used. | |
bool | m_HalfMode |
Flag to determine if half homogeneous mode is used. | |
bool | m_MultipleModes |
Flag to determine if use multiple homogenenous modes are used. | |
bool | m_useFFT |
Flag to determine if FFT is used for homogeneous transform. | |
bool | m_homogen_dealiasing |
Flag to determine if dealiasing is used for homogeneous simulations. | |
bool | m_specHP_dealiasing |
Flag to determine if dealisising is usde for the Spectral/hp element discretisation. | |
enum MultiRegions::ProjectionType | m_projectionType |
Type of projection; e.g continuous or discontinuous. | |
Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
Array holding trace normals for DG simulations in the forwards direction. | |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_gradtan |
1 x nvariable x nq | |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_tanbasis |
2 x m_spacedim x nq | |
Array< OneD, bool > | m_checkIfSystemSingular |
Flag to indicate if the fields should be checked for singularity. | |
LibUtilities::FieldMetaDataMap | m_fieldMetaDataMap |
Map to identify relevant solver info to dump in output fields. | |
int | m_NumQuadPointsError |
Number of Quadrature points used to work out the error. | |
enum HomogeneousType | m_HomogeneousType |
NekDouble | m_LhomX |
physical length in X direction (if homogeneous) | |
NekDouble | m_LhomY |
physical length in Y direction (if homogeneous) | |
NekDouble | m_LhomZ |
physical length in Z direction (if homogeneous) | |
int | m_npointsX |
number of points in X direction (if homogeneous) | |
int | m_npointsY |
number of points in Y direction (if homogeneous) | |
int | m_npointsZ |
number of points in Z direction (if homogeneous) | |
int | m_HomoDirec |
number of homogenous directions | |
int | m_NumMode |
Mode to use in case of single mode analysis. |
Private Member Functions | |
virtual SOLVER_UTILS_EXPORT Array< OneD, bool > | v_GetSystemSingularChecks () |
virtual SOLVER_UTILS_EXPORT void | v_GetFluxVector (const int i, Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &flux) |
virtual SOLVER_UTILS_EXPORT void | v_GetFluxVector (const int i, const int j, Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &flux) |
virtual SOLVER_UTILS_EXPORT void | v_GetFluxVector (const int i, Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &fluxX, Array< OneD, Array< OneD, NekDouble > > &fluxY) |
virtual SOLVER_UTILS_EXPORT void | v_NumericalFlux (Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numflux) |
virtual SOLVER_UTILS_EXPORT void | v_NumericalFlux (Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numfluxX, Array< OneD, Array< OneD, NekDouble > > &numfluxY) |
virtual SOLVER_UTILS_EXPORT void | v_NumFluxforScalar (const Array< OneD, Array< OneD, NekDouble > > &ufield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &uflux) |
virtual SOLVER_UTILS_EXPORT void | v_NumFluxforVector (const Array< OneD, Array< OneD, NekDouble > > &ufield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &qfield, Array< OneD, Array< OneD, NekDouble > > &qflux) |
A base class for describing how to solve specific equations.
This class is a base class for all solver implementations. It provides the underlying generic functionality and interface for solving equations.
To solve a steady-state equation, create a derived class from this class and reimplement the virtual functions to provide custom implementation for the problem.
To solve unsteady problems, derive from the UnsteadySystem class instead which provides general time integration.
Definition at line 66 of file EquationSystem.h.
|
protected |
Parameter for homogeneous expansions.
Definition at line 464 of file EquationSystem.h.
|
virtual |
Destructor.
Destructor for class EquationSystem.
Definition at line 660 of file EquationSystem.cpp.
|
protected |
Initialises EquationSystem class members.
This constructor is protected as the objects of this class are never instantiated directly.
pSession | The session reader holding problem parameters. |
Definition at line 93 of file EquationSystem.cpp.
void Nektar::SolverUtils::EquationSystem::AdvectionNonConservativeForm | ( | const Array< OneD, Array< OneD, NekDouble > > & | V, |
const Array< OneD, const NekDouble > & | u, | ||
Array< OneD, NekDouble > & | outarray, | ||
Array< OneD, NekDouble > & | wk = NullNekDouble1DArray |
||
) |
Compute the non-conservative advection.
Calculate the inner product
V | Fields. |
u | Fields. |
outarray | Storage for result. |
wk | Workspace. |
Definition at line 1517 of file EquationSystem.cpp.
References ASSERTL0, m_fields, Vmath::Vmul(), and Vmath::Vvtvp().
Referenced by Nektar::CFLtester::DoOdeRhs(), Nektar::EigenValuesAdvection::v_DoSolve(), and WeakAdvectionNonConservativeForm().
void Nektar::SolverUtils::EquationSystem::Checkpoint_Output | ( | const int | n | ) |
Write checkpoint file of m_fields.
Write the n-th checkpoint file.
n | The index of the checkpoint file. |
Definition at line 1857 of file EquationSystem.cpp.
References m_sessionName, and WriteFld().
Referenced by Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::CoupledLinearNS::v_DoSolve(), Nektar::NavierStokesCFE::v_SetInitialConditions(), Nektar::EulerCFE::v_SetInitialConditions(), Nektar::EulerADCFE::v_SetInitialConditions(), and v_SetInitialConditions().
void Nektar::SolverUtils::EquationSystem::Checkpoint_Output | ( | const int | n, |
MultiRegions::ExpListSharedPtr & | field, | ||
std::vector< Array< OneD, NekDouble > > & | fieldcoeffs, | ||
std::vector< std::string > & | variables | ||
) |
Write checkpoint file of custom data fields.
Write the n-th checkpoint file.
n | The index of the checkpoint file. |
Definition at line 1869 of file EquationSystem.cpp.
References m_sessionName, and WriteFld().
|
inline |
Definition at line 833 of file EquationSystem.h.
References m_fields, and Vmath::Vcopy().
|
inline |
Definition at line 839 of file EquationSystem.h.
References m_fields, and Vmath::Vcopy().
std::string Nektar::SolverUtils::EquationSystem::DescribeFunction | ( | std::string | pFieldName, |
const std::string & | pFunctionName, | ||
const int | domain | ||
) |
Provide a description of a function for a given field name.
pFieldName | Field name. |
pFunctionName | Function name. |
Definition at line 836 of file EquationSystem.cpp.
References ASSERTL0, Nektar::LibUtilities::eFunctionTypeExpression, Nektar::LibUtilities::eFunctionTypeFile, and m_session.
Referenced by v_SetInitialConditions().
|
inline |
Perform any initialisation necessary before solving the problem.
This allows initialisation of the solver which cannot be completed during object construction (such as setting of initial conditions).
Public interface routine to virtual function implementation.
Definition at line 613 of file EquationSystem.h.
References v_DoInitialise().
Solve the problem.
Performs the actual solve.
Public interface routine to virtual function implementation.
Definition at line 645 of file EquationSystem.h.
References v_DoSolve().
Array< OneD, NekDouble > Nektar::SolverUtils::EquationSystem::ErrorExtraPoints | ( | unsigned int | field | ) |
Compute error (L2 and L_inf) over an larger set of quadrature points return [L2 Linf].
Compute the error in the L2-norm, L-inf for a larger number of quadrature points.
field | The field to compare. |
Definition at line 996 of file EquationSystem.cpp.
References Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eGaussRadauMAlpha1Beta0, Nektar::LibUtilities::eModified_A, Nektar::LibUtilities::eModified_B, GetNumExpModes(), m_fields, m_graph, m_NumQuadPointsError, m_session, and m_time.
Referenced by v_L2Error(), and v_LinfError().
|
inline |
Evaluates an exact solution.
Definition at line 724 of file EquationSystem.h.
References v_EvaluateExactSolution().
void Nektar::SolverUtils::EquationSystem::EvaluateFunction | ( | Array< OneD, Array< OneD, NekDouble > > & | pArray, |
std::string | pFunctionName, | ||
const NekDouble | pTime = 0.0 , |
||
const int | domain = 0 |
||
) |
Evaluates a function as specified in the session file.
Evaluates a physical function at each quadrature point in the domain.
pArray | The array into which to write the values. |
pEqn | The equation to evaluate. |
Definition at line 674 of file EquationSystem.cpp.
References ASSERTL0, and m_session.
Referenced by Nektar::APE::AddSource(), Nektar::CoupledLinearNS::DefineForcingTerm(), Nektar::ShallowWaterSystem::EvaluateCoriolis(), EvaluateFunction(), Nektar::ShallowWaterSystem::EvaluateWaterDepth(), InitialiseBaseFlow(), Nektar::SteadyAdvectionDiffusion::v_DoInitialise(), Nektar::CoupledLinearNS::v_DoInitialise(), v_EvaluateExactSolution(), Nektar::APE::v_GetFluxVector(), Nektar::Poisson::v_InitObject(), Nektar::EigenValuesAdvection::v_InitObject(), Nektar::Monodomain::v_InitObject(), Nektar::UnsteadyAdvection::v_InitObject(), Nektar::CFLtester::v_InitObject(), Nektar::UnsteadyAdvectionDiffusion::v_InitObject(), Nektar::PulseWaveSystem::v_InitObject(), Nektar::PulseWaveSystem::v_L2Error(), v_L2Error(), Nektar::PulseWaveSystem::v_LinfError(), v_LinfError(), and v_SetInitialConditions().
void Nektar::SolverUtils::EquationSystem::EvaluateFunction | ( | std::vector< std::string > | pFieldNames, |
Array< OneD, Array< OneD, NekDouble > > & | pFields, | ||
const std::string & | pFunctionName, | ||
const int | domain = 0 |
||
) |
Populate given fields with the function from session.
Populates a forcing function for each of the dependent variables using the expression provided by the BoundaryConditions object.
force | Array of fields to assign forcing. |
Definition at line 697 of file EquationSystem.cpp.
References ASSERTL0, ASSERTL1, EvaluateFunction(), and m_session.
void Nektar::SolverUtils::EquationSystem::EvaluateFunction | ( | std::vector< std::string > | pFieldNames, |
Array< OneD, MultiRegions::ExpListSharedPtr > & | pFields, | ||
const std::string & | pFunctionName, | ||
const int | domain = 0 |
||
) |
Populate given fields with the function from session.
Populates a function for each of the dependent variables using the expression or filenames provided by the SessionReader object.
force | Array of fields to assign forcing. |
Definition at line 720 of file EquationSystem.cpp.
References ASSERTL0, EvaluateFunction(), and m_session.
void Nektar::SolverUtils::EquationSystem::EvaluateFunction | ( | std::string | pFieldName, |
Array< OneD, NekDouble > & | pArray, | ||
const std::string & | pFunctionName, | ||
const NekDouble & | pTime = 0.0 , |
||
const int | domain = 0 |
||
) |
Definition at line 742 of file EquationSystem.cpp.
References ASSERTL0, Nektar::LibUtilities::eFunctionTypeExpression, Nektar::LibUtilities::eFunctionTypeFile, GetNcoeffs(), m_fields, m_fld, m_session, Nektar::LibUtilities::NullFieldMetaDataMap, and Vmath::Zero().
|
inline |
Definition at line 793 of file EquationSystem.h.
References m_fields.
|
inline |
Definition at line 783 of file EquationSystem.h.
References m_fields.
|
inline |
|
inline |
Definition at line 845 of file EquationSystem.h.
References v_GetFluxVector().
Referenced by Nektar::APE::DoOdeRhs(), WeakDGAdvection(), and WeakDGDiffusion().
|
inline |
Definition at line 852 of file EquationSystem.h.
References v_GetFluxVector().
|
inline |
Definition at line 860 of file EquationSystem.h.
References v_GetFluxVector().
|
inline |
Definition at line 742 of file EquationSystem.h.
References m_fields.
Referenced by Nektar::NonlinearSWE::AddCoriolis(), Nektar::LinearSWE::AddCoriolis(), Nektar::NonlinearSWE::AddVariableDepth(), Nektar::NonlinearSWE::DoOdeProjection(), Nektar::LinearSWE::DoOdeProjection(), Nektar::UnsteadyInviscidBurger::DoOdeProjection(), Nektar::UnsteadyDiffusion::DoOdeProjection(), Nektar::APE::DoOdeProjection(), Nektar::UnsteadyAdvection::DoOdeProjection(), Nektar::UnsteadyAdvectionDiffusion::DoOdeProjection(), Nektar::CFLtester::DoOdeProjection(), Nektar::APE::DoOdeRhs(), EvaluateFunction(), ImportFld(), ImportFldToMultiDomains(), Nektar::CoupledLinearNS::SolveLinearNS(), Nektar::CoupledLinearNS::SolveUnsteadyStokesSystem(), Nektar::EigenValuesAdvection::v_DoSolve(), Nektar::Laplace::v_DoSolve(), Nektar::CoupledLinearNS::v_Output(), v_SetInitialConditions(), WeakDGAdvection(), WeakDGDiffusion(), and WriteFld().
|
inline |
Definition at line 747 of file EquationSystem.h.
References m_fields.
|
inline |
Definition at line 808 of file EquationSystem.h.
References m_fields.
Referenced by Nektar::ImageWarpingSystem::DoOdeProjection(), Nektar::NonlinearSWE::DoOdeProjection(), Nektar::LinearSWE::DoOdeProjection(), Nektar::UnsteadyInviscidBurger::DoOdeProjection(), Nektar::UnsteadyDiffusion::DoOdeProjection(), Nektar::NavierStokesCFE::DoOdeProjection(), Nektar::EulerCFE::DoOdeProjection(), Nektar::EulerADCFE::DoOdeProjection(), Nektar::UnsteadyAdvection::DoOdeProjection(), Nektar::UnsteadyAdvectionDiffusion::DoOdeProjection(), Nektar::CFLtester::DoOdeProjection(), Nektar::ImageWarpingSystem::DoOdeRhs(), Nektar::UnsteadyInviscidBurger::DoOdeRhs(), Nektar::NavierStokesCFE::DoOdeRhs(), Nektar::EulerCFE::DoOdeRhs(), Nektar::EulerADCFE::DoOdeRhs(), Nektar::UnsteadyAdvection::DoOdeRhs(), Nektar::UnsteadyAdvectionDiffusion::DoOdeRhs(), Nektar::CFLtester::DoOdeRhs(), Nektar::UnsteadyInviscidBurger::GetFluxVector(), Nektar::UnsteadyDiffusion::GetFluxVector(), Nektar::UnsteadyAdvectionDiffusion::GetFluxVectorDiff(), Nektar::UnsteadyInviscidBurger::GetNormalVelocity(), Nektar::SolverUtils::UnsteadySystem::v_AppendOutput1D(), Nektar::EigenValuesAdvection::v_DoSolve(), Nektar::EigenValuesAdvection::v_GetFluxVector(), Nektar::ImageWarpingSystem::v_GetFluxVector(), Nektar::CFLtester::v_GetFluxVector(), Nektar::IncNavierStokes::v_GetFluxVector(), Nektar::PulseWaveSystem::v_L2Error(), v_L2Error(), Nektar::PulseWaveSystem::v_LinfError(), v_LinfError(), WeakDGAdvection(), WeakDGDiffusion(), and ZeroPhysFields().
|
inline |
Definition at line 813 of file EquationSystem.h.
References m_fields.
|
inline |
Definition at line 752 of file EquationSystem.h.
References m_graph.
Referenced by ErrorExtraPoints().
Definition at line 758 of file EquationSystem.h.
References m_fields.
Referenced by Nektar::EulerADCFE::DoOdeRhs(), and Nektar::IncNavierStokes::GetElmtCFLVals().
|
inline |
Definition at line 763 of file EquationSystem.h.
References m_session.
Referenced by ImportFldToMultiDomains().
|
inline |
Definition at line 788 of file EquationSystem.h.
References m_fields.
Referenced by Nektar::ShallowWaterSystem::CopyBoundaryTrace(), Nektar::CompressibleFlowSystem::ExtrapOrder0BC(), Nektar::CompressibleFlowSystem::RiemannInvariantBC(), Nektar::IncNavierStokes::SetRadiationBoundaryForcing(), Nektar::CompressibleFlowSystem::SymmetryBC(), Nektar::CompressibleFlowSystem::WallBC(), Nektar::NonlinearSWE::WallBoundary(), Nektar::LinearSWE::WallBoundary(), Nektar::CompressibleFlowSystem::WallViscousBC(), Nektar::SolverUtils::UnsteadySystem::WeakPenaltyforScalar(), and Nektar::SolverUtils::UnsteadySystem::WeakPenaltyforVector().
|
inline |
Get pressure field if available.
Get Pressure field if available
Definition at line 680 of file EquationSystem.h.
References v_GetPressure().
Referenced by Nektar::NavierStokesCFE::DoOdeRhs(), Nektar::EulerADCFE::DoOdeRhs(), Nektar::CompressibleFlowSystem::GetFluxVector(), Nektar::CompressibleFlowSystem::GetFluxVectorDeAlias(), and Nektar::CompressibleFlowSystem::GetViscousFluxVectorDeAlias().
|
inline |
|
inline |
|
inline |
Definition at line 823 of file EquationSystem.h.
References m_timestep.
Referenced by Nektar::SolverUtils::UnsteadySystem::v_DoSolve().
|
inline |
Definition at line 798 of file EquationSystem.h.
References m_fields.
Referenced by Nektar::NonlinearSWE::AddCoriolis(), Nektar::LinearSWE::AddCoriolis(), Nektar::NonlinearSWE::AddVariableDepth(), Nektar::NonlinearSWE::ConservativeToPrimitive(), Nektar::LinearSWE::ConservativeToPrimitive(), Nektar::NonlinearSWE::DoOdeRhs(), Nektar::LinearSWE::DoOdeRhs(), Nektar::APE::DoOdeRhs(), Nektar::EulerCFE::GetExactIsentropicVortex(), Nektar::EulerCFE::GetExactRinglebFlow(), Nektar::CFLtester::GetStdVelocity(), Nektar::NonlinearSWE::PrimitiveToConservative(), Nektar::LinearSWE::PrimitiveToConservative(), Nektar::EulerCFE::SetInitialIsentropicVortex(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::NonlinearSWE::v_ConservativeToPrimitive(), Nektar::LinearSWE::v_ConservativeToPrimitive(), Nektar::ShallowWaterSystem::v_InitObject(), Nektar::NonlinearSWE::v_PrimitiveToConservative(), and Nektar::LinearSWE::v_PrimitiveToConservative().
|
inline |
Definition at line 803 of file EquationSystem.h.
References m_fields.
|
inline |
Definition at line 778 of file EquationSystem.h.
References m_fields.
Referenced by Nektar::UnsteadyInviscidBurger::GetNormalVelocity(), Nektar::UnsteadyAdvection::GetNormalVelocity(), Nektar::UnsteadyAdvectionDiffusion::GetNormalVelocity(), GetTraceTotPoints(), Nektar::APE::v_InitObject(), Nektar::UnsteadyInviscidBurger::v_InitObject(), Nektar::UnsteadyAdvection::v_InitObject(), v_InitObject(), Nektar::EigenValuesAdvection::v_NumericalFlux(), Nektar::ImageWarpingSystem::v_NumericalFlux(), Nektar::CFLtester::v_NumericalFlux(), Nektar::IncNavierStokes::v_NumericalFlux(), Nektar::SolverUtils::UnsteadySystem::v_NumFluxforScalar(), Nektar::SolverUtils::UnsteadySystem::v_NumFluxforVector(), WeakDGAdvection(), WeakDGDiffusion(), Nektar::SolverUtils::UnsteadySystem::WeakPenaltyforScalar(), and Nektar::SolverUtils::UnsteadySystem::WeakPenaltyforVector().
|
inline |
Definition at line 773 of file EquationSystem.h.
References GetTraceNpoints().
Referenced by Nektar::CompressibleFlowSystem::ExtrapOrder0BC(), Nektar::CompressibleFlowSystem::RiemannInvariantBC(), Nektar::EulerCFE::SetBoundaryIsentropicVortex(), Nektar::EulerCFE::SetBoundaryRinglebFlow(), Nektar::CompressibleFlowSystem::SymmetryBC(), Nektar::PulseWaveSystem::v_InitObject(), Nektar::PulseWavePropagation::v_NumericalFlux(), Nektar::APE::v_NumericalFlux(), Nektar::APE::WallBC(), Nektar::CompressibleFlowSystem::WallBC(), Nektar::NonlinearSWE::WallBoundary(), Nektar::LinearSWE::WallBoundary(), Nektar::NonlinearSWE::WallBoundary2D(), Nektar::LinearSWE::WallBoundary2D(), and Nektar::CompressibleFlowSystem::WallViscousBC().
|
inline |
Definition at line 768 of file EquationSystem.h.
References m_session.
void Nektar::SolverUtils::EquationSystem::ImportFld | ( | const std::string & | infile, |
Array< OneD, MultiRegions::ExpListSharedPtr > & | pFields | ||
) |
Input field data from the given file.
Import field from infile and load into m_fields. This routine will also perform a BwdTrans to ensure data is in both the physical and coefficient storage.
infile | Filename to read. |
Definition at line 1960 of file EquationSystem.cpp.
References ASSERTL1, GetNcoeffs(), m_fields, m_fld, m_session, and Vmath::Zero().
void Nektar::SolverUtils::EquationSystem::ImportFld | ( | const std::string & | infile, |
std::vector< std::string > & | fieldStr, | ||
Array< OneD, Array< OneD, NekDouble > > & | coeffs | ||
) |
Output a field. Input field data into array from the given file.
Import field from infile and load into the array coeffs.
infile | Filename to read. |
fieldStr | an array of string identifying fields to be imported |
coeffs | and array of array of coefficients to store imported data |
Definition at line 2083 of file EquationSystem.cpp.
References ASSERTL0, m_fields, m_fld, and Vmath::Zero().
void Nektar::SolverUtils::EquationSystem::ImportFld | ( | const std::string & | infile, |
MultiRegions::ExpListSharedPtr & | pField, | ||
std::string & | pFieldName | ||
) |
Output a field. Input field data into ExpList from the given file.
Import field from infile and load into pField. This routine will also perform a BwdTrans to ensure data is in both the physical and coefficient storage.
Definition at line 2044 of file EquationSystem.cpp.
References ASSERTL1, m_fields, m_fld, and Vmath::Zero().
|
protected |
Definition at line 1324 of file EquationSystem.cpp.
References ASSERTL1, m_base, m_fields, m_fld, and m_session.
void Nektar::SolverUtils::EquationSystem::ImportFldToMultiDomains | ( | const std::string & | infile, |
Array< OneD, MultiRegions::ExpListSharedPtr > & | pFields, | ||
const int | ndomains | ||
) |
Input field data from the given file to multiple domains.
Import field from infile and load into m_fields. This routine will also perform a BwdTrans to ensure data is in both the physical and coefficient storage.
infile | Filename to read. If optionan ndomains is specified it assumes we loop over nodmains for each nvariables. |
Definition at line 2001 of file EquationSystem.cpp.
References ASSERTL0, ASSERTL1, GetNcoeffs(), GetNvariables(), Nektar::LibUtilities::Import(), m_fields, m_session, and Vmath::Zero().
void Nektar::SolverUtils::EquationSystem::InitialiseBaseFlow | ( | Array< OneD, Array< OneD, NekDouble > > & | base | ) |
Perform initialisation of the base flow.
Definition at line 1144 of file EquationSystem.cpp.
References EvaluateFunction(), m_graph, m_spacedim, and SetUpBaseFields().
Referenced by Nektar::SteadyAdvectionDiffusion::v_InitObject().
|
inline |
Initialises the members of this object.
This is the second part of the two-phase initialisation process. Calls to virtual functions will correctly resolve to the derived class during this phase of the construction.
Definition at line 601 of file EquationSystem.h.
References v_InitObject().
|
inline |
Compute the L2 error between fields and a given exact solution.
L_2 Error computation Public interface routine to virtual function implementation.
Definition at line 672 of file EquationSystem.h.
References v_L2Error().
Referenced by L2Error().
|
inline |
Compute the L2 error of the fields.
Definition at line 183 of file EquationSystem.h.
References L2Error(), and Nektar::NullNekDouble1DArray.
|
inline |
Linf error computation.
L_inf Error computation Public interface routine to virtual function implementation.
Definition at line 663 of file EquationSystem.h.
References v_LinfError().
|
inlineprotected |
Definition at line 493 of file EquationSystem.h.
References NoCaseStringCompare().
int Nektar::SolverUtils::EquationSystem::NoCaseStringCompare | ( | const string & | s1, |
const string & | s2 | ||
) |
Perform a case-insensitive string comparison.
Performs a case-insensitive string comparison (from web).
s1 | First string to compare. |
s2 | Second string to compare. |
Definition at line 2187 of file EquationSystem.cpp.
Referenced by nocase_cmp(), and Nektar::NavierStokesCFE::v_InitObject().
|
inline |
Definition at line 867 of file EquationSystem.h.
References v_NumericalFlux().
Referenced by WeakDGAdvection().
|
inline |
Definition at line 873 of file EquationSystem.h.
References v_NumericalFlux().
|
inline |
Definition at line 880 of file EquationSystem.h.
References v_NumFluxforScalar().
Referenced by WeakDGDiffusion().
|
inline |
Definition at line 887 of file EquationSystem.h.
References v_NumFluxforVector().
Referenced by WeakDGDiffusion().
Perform output operations after solve.
Definition at line 654 of file EquationSystem.h.
References v_Output().
|
inline |
Print a summary of parameters and solver characteristics.
Prints a summary of variables and problem parameters.
Public interface routine to virtual function implementation.
out | The ostream object to write to. |
Definition at line 692 of file EquationSystem.h.
References m_session, and v_GenerateSummary().
|
inline |
SOLVER_UTILS_EXPORT void Nektar::SolverUtils::EquationSystem::ScanForHistoryPoints | ( | ) |
Builds map of which element holds each history point.
void Nektar::SolverUtils::EquationSystem::SessionSummary | ( | SummaryList & | s | ) |
Write out a session summary.
Write out a summary of the session data.
out | Output stream to write data to. |
Definition at line 2113 of file EquationSystem.cpp.
References Nektar::SolverUtils::AddSummaryItem(), Nektar::MultiRegions::eDiscontinuous, Nektar::MultiRegions::eGalerkin, eHomogeneous1D, eHomogeneous2D, Nektar::MultiRegions::eMixed_CG_Discontinuous, Nektar::SolverUtils::GetAdvectionFactory(), Nektar::SolverUtils::GetDiffusionFactory(), m_expdim, m_fields, m_HomogeneousType, m_MultipleModes, m_npointsY, m_npointsZ, m_NumMode, m_projectionType, m_session, m_sessionName, m_spacedim, and m_useFFT.
Referenced by Nektar::Laplace::v_GenerateSummary(), and v_GenerateSummary().
Evaluates the boundary conditions at the given time.
If boundary conditions are time-dependent, they will be evaluated at the time specified.
time | The time at which to evaluate the BCs |
Reimplemented in Nektar::IncNavierStokes.
Definition at line 869 of file EquationSystem.cpp.
References m_fields, and m_session.
Referenced by Nektar::UnsteadyAdvectionDiffusion::DoImplicitSolve(), Nektar::ImageWarpingSystem::DoOdeProjection(), Nektar::UnsteadyInviscidBurger::DoOdeProjection(), Nektar::UnsteadyDiffusion::DoOdeProjection(), Nektar::UnsteadyAdvection::DoOdeProjection(), Nektar::UnsteadyAdvectionDiffusion::DoOdeProjection(), Nektar::CFLtester::DoOdeProjection(), Nektar::PulseWavePropagation::SetPulseWaveBoundaryConditions(), and Nektar::SolverUtils::UnsteadySystem::v_DoInitialise().
|
inline |
Initialise the data in the dependent fields.
Definition at line 716 of file EquationSystem.h.
References v_SetInitialConditions().
Referenced by main(), Nektar::APE::v_DoInitialise(), Nektar::SolverUtils::UnsteadySystem::v_DoInitialise(), Nektar::PulseWaveSystem::v_DoInitialise(), and Nektar::CoupledLinearNS::v_DoInitialise().
|
inline |
|
protected |
Definition at line 1157 of file EquationSystem.cpp.
References ASSERTL0, Nektar::LibUtilities::eFourier, Nektar::LibUtilities::eFourierEvenlySpaced, Nektar::LibUtilities::eFourierHalfModeRe, Nektar::LibUtilities::eFourierSingleModeSpaced, Nektar::MultiRegions::eGalerkin, eHomogeneous1D, Nektar::MultiRegions::eMixed_CG_Discontinuous, m_base, m_expdim, m_graph, m_HalfMode, m_homogen_dealiasing, m_HomogeneousType, m_LhomZ, m_npointsZ, m_projectionType, m_session, m_SingleMode, and m_useFFT.
Referenced by InitialiseBaseFlow().
SOLVER_UTILS_EXPORT void Nektar::SolverUtils::EquationSystem::SetUpTraceNormals | ( | void | ) |
Transform from coefficient to physical space.
Performs the transformation from coefficient to physical space.
Public interface routine to virtual function implementation.
Definition at line 624 of file EquationSystem.h.
References v_TransCoeffToPhys().
Transform from physical to coefficient space.
Performs the transformation from physical to coefficient space.
Public interface routine to virtual function implementation.
Definition at line 634 of file EquationSystem.h.
References v_TransPhysToCoeff().
|
inline |
Get hold of FieldInfoMap so it can be updated.
|
inline |
Virtual function for initialisation implementation.
By default, nothing needs initialising at the EquationSystem level.
Reimplemented in Nektar::PulseWaveSystem, Nektar::SolverUtils::UnsteadySystem, Nektar::APE, Nektar::SteadyAdvectionDiffusion, and Nektar::EigenValuesAdvection.
Definition at line 1138 of file EquationSystem.cpp.
Referenced by DoInitialise().
Virtual function for solve implementation.
Reimplemented in Nektar::PulseWaveSystem, Nektar::SolverUtils::UnsteadySystem, Nektar::SteadyAdvectionDiffusion, Nektar::Laplace, and Nektar::EigenValuesAdvection.
Definition at line 1360 of file EquationSystem.cpp.
Referenced by DoSolve().
|
protectedvirtual |
Reimplemented in Nektar::EulerCFE.
Definition at line 1119 of file EquationSystem.cpp.
References ASSERTL0, EvaluateFunction(), m_fields, m_session, and Vmath::Zero().
Referenced by EvaluateExactSolution().
|
protectedvirtual |
Reimplemented in Nektar::CompressibleFlowSystem.
Definition at line 2297 of file EquationSystem.cpp.
Referenced by WriteFld().
|
protectedvirtual |
Virtual function for generating summary information.
Reimplemented in Nektar::CompressibleFlowSystem, Nektar::UnsteadyAdvectionDiffusion, Nektar::CFLtester, Nektar::UnsteadyAdvection, Nektar::SolverUtils::UnsteadySystem, Nektar::PulseWavePropagation, Nektar::Monodomain, Nektar::Bidomain, Nektar::ShallowWaterSystem, Nektar::LinearSWE, Nektar::EulerADCFE, Nektar::EulerCFE, Nektar::NonlinearSWE, Nektar::ImageWarpingSystem, Nektar::NavierStokesCFE, Nektar::Laplace, Nektar::SteadyAdvectionDiffusion, Nektar::UnsteadyDiffusion, Nektar::Helmholtz, Nektar::SteadyAdvectionDiffusionReaction, and Nektar::Poisson.
Definition at line 1383 of file EquationSystem.cpp.
References SessionSummary().
Referenced by PrintSummary().
|
privatevirtual |
Reimplemented in Nektar::IncNavierStokes, Nektar::CFLtester, Nektar::APE, Nektar::PulseWavePropagation, Nektar::ImageWarpingSystem, and Nektar::EigenValuesAdvection.
Definition at line 2228 of file EquationSystem.cpp.
References ASSERTL0.
Referenced by GetFluxVector().
|
privatevirtual |
Reimplemented in Nektar::APE.
Definition at line 2237 of file EquationSystem.cpp.
References ASSERTL0.
|
privatevirtual |
Definition at line 2246 of file EquationSystem.cpp.
References ASSERTL0.
|
protectedvirtual |
Reimplemented in Nektar::IncNavierStokes.
Definition at line 2290 of file EquationSystem.cpp.
References ASSERTL0.
Referenced by GetPressure().
|
privatevirtual |
Definition at line 2223 of file EquationSystem.cpp.
References m_session.
Referenced by v_InitObject().
|
protectedvirtual |
Initialisation object for EquationSystem.
Continuous field
Setting up the normals
Setting up the normals
Reimplemented in Nektar::CoupledLinearNS, Nektar::PulseWaveSystem, Nektar::CompressibleFlowSystem, Nektar::UnsteadyAdvectionDiffusion, Nektar::IncNavierStokes, Nektar::CFLtester, Nektar::UnsteadyAdvection, Nektar::UnsteadyInviscidBurger, Nektar::SolverUtils::UnsteadySystem, Nektar::ShallowWaterSystem, Nektar::EulerADCFE, Nektar::APE, Nektar::EulerCFE, Nektar::NavierStokesCFE, Nektar::PulseWavePropagation, Nektar::ImageWarpingSystem, Nektar::UnsteadyDiffusion, Nektar::Monodomain, Nektar::Bidomain, Nektar::LinearSWE, Nektar::NonlinearSWE, Nektar::PulseWaveSystemOutput, Nektar::Laplace, Nektar::SteadyAdvectionDiffusion, Nektar::EigenValuesAdvection, Nektar::Helmholtz, Nektar::VelocityCorrectionScheme, Nektar::SteadyAdvectionDiffusionReaction, and Nektar::Poisson.
Definition at line 105 of file EquationSystem.cpp.
References ASSERTL0, Nektar::MultiRegions::eDiscontinuous, Nektar::LibUtilities::eFourier, Nektar::LibUtilities::eFourierEvenlySpaced, Nektar::LibUtilities::eFourierHalfModeIm, Nektar::LibUtilities::eFourierHalfModeRe, Nektar::LibUtilities::eFourierSingleMode, Nektar::LibUtilities::eFourierSingleModeSpaced, Nektar::MultiRegions::eGalerkin, eHomogeneous1D, eHomogeneous2D, eHomogeneous3D, Nektar::MultiRegions::eMixed_CG_Discontinuous, eNotHomogeneous, GetTraceNpoints(), m_boundaryConditions, m_checkIfSystemSingular, m_checksteps, m_checktime, m_expdim, m_fields, m_filename, m_fintime, m_fld, m_graph, m_HalfMode, m_HomoDirec, m_homogen_dealiasing, m_HomogeneousType, m_LhomY, m_LhomZ, m_MultipleModes, m_npointsY, m_npointsZ, m_NumQuadPointsError, m_projectionType, m_session, m_sessionName, m_SingleMode, m_spacedim, m_specHP_dealiasing, m_steps, m_time, m_timestep, m_traceNormals, m_useFFT, Nektar::SpatialDomains::MeshGraph::Read(), v_GetSystemSingularChecks(), and ZeroPhysFields().
Referenced by InitObject().
|
protectedvirtual |
Virtual function for the L_2 error computation between fields and a given exact solution.
Compute the error in the L2-norm.
field | The field to compare. |
exactsoln | The exact solution to compare with. |
Normalised | Normalise L2-error. |
Reimplemented in Nektar::PulseWaveSystem.
Definition at line 887 of file EquationSystem.cpp.
References ErrorExtraPoints(), EvaluateFunction(), GetNpoints(), m_comm, m_fields, m_NumQuadPointsError, m_session, m_time, and Nektar::LibUtilities::ReduceSum.
Referenced by L2Error().
|
protectedvirtual |
Virtual function for the L_inf error computation between fields and a given exact solution.
Compute the error in the L_inf-norm
field | The field to compare. |
exactsoln | The exact solution to compare with. |
Reimplemented in Nektar::PulseWaveSystem.
Definition at line 947 of file EquationSystem.cpp.
References ErrorExtraPoints(), EvaluateFunction(), GetNpoints(), m_fields, m_NumQuadPointsError, m_session, and m_time.
Referenced by LinfError().
|
privatevirtual |
Reimplemented in Nektar::IncNavierStokes, Nektar::CFLtester, Nektar::SolverUtils::UnsteadySystem, Nektar::APE, Nektar::PulseWavePropagation, Nektar::ImageWarpingSystem, and Nektar::EigenValuesAdvection.
Definition at line 2256 of file EquationSystem.cpp.
References ASSERTL0.
Referenced by NumericalFlux().
|
privatevirtual |
Reimplemented in Nektar::SolverUtils::UnsteadySystem, and Nektar::APE.
Definition at line 2264 of file EquationSystem.cpp.
References ASSERTL0.
|
privatevirtual |
Reimplemented in Nektar::SolverUtils::UnsteadySystem.
Definition at line 2273 of file EquationSystem.cpp.
References ASSERTL0.
Referenced by NumFluxforScalar().
|
privatevirtual |
Reimplemented in Nektar::SolverUtils::UnsteadySystem.
Definition at line 2281 of file EquationSystem.cpp.
References ASSERTL0.
Referenced by NumFluxforVector().
Write the field data to file. The file is named according to the session name with the extension .fld appended.
Reimplemented in Nektar::PulseWaveSystem.
Definition at line 1392 of file EquationSystem.cpp.
References m_sessionName, and WriteFld().
Referenced by Output().
|
protectedvirtual |
Set the physical fields based on a restart file, or a function describing the initial condition given in the session.
initialtime | Time at which to evaluate the function. |
dumpInitialConditions | Write the initial condition to file? |
Reimplemented in Nektar::CompressibleFlowSystem, Nektar::EulerADCFE, Nektar::EulerCFE, Nektar::NavierStokesCFE, Nektar::Monodomain, and Nektar::Bidomain.
Definition at line 1068 of file EquationSystem.cpp.
References Checkpoint_Output(), DescribeFunction(), EvaluateFunction(), GetNcoeffs(), m_checksteps, m_fields, m_session, and Vmath::Zero().
Referenced by SetInitialConditions().
Virtual function for transformation to physical space.
Reimplemented in Nektar::IncNavierStokes.
Definition at line 1368 of file EquationSystem.cpp.
Referenced by TransCoeffToPhys().
Virtual function for transformation to coefficient space.
Reimplemented in Nektar::IncNavierStokes.
Definition at line 1376 of file EquationSystem.cpp.
Referenced by TransPhysToCoeff().
void Nektar::SolverUtils::EquationSystem::WeakAdvectionDivergenceForm | ( | const Array< OneD, Array< OneD, NekDouble > > & | F, |
Array< OneD, NekDouble > & | outarray | ||
) |
Compute the inner product .
Calculate Inner product of the divergence advection form , where for example .
F | Fields. |
outarray | Storage for result. |
Definition at line 1456 of file EquationSystem.cpp.
References Nektar::MultiRegions::DirCartesianMap, m_fields, and Vmath::Vadd().
void Nektar::SolverUtils::EquationSystem::WeakAdvectionGreensDivergenceForm | ( | const Array< OneD, Array< OneD, NekDouble > > & | F, |
Array< OneD, NekDouble > & | outarray | ||
) |
Compute the inner product .
Computes the weak Green form of advection terms (without boundary integral), i.e. where for example .
F | Fields. |
outarray | Storage for result. |
Definition at line 1432 of file EquationSystem.cpp.
References m_fields, Vmath::Vadd(), and Vmath::Zero().
Referenced by WeakDGAdvection(), and WeakDGDiffusion().
void Nektar::SolverUtils::EquationSystem::WeakAdvectionNonConservativeForm | ( | const Array< OneD, Array< OneD, NekDouble > > & | V, |
const Array< OneD, const NekDouble > & | u, | ||
Array< OneD, NekDouble > & | outarray, | ||
bool | UseContCoeffs = false |
||
) |
Compute the inner product .
Calculate Inner product of the divergence advection form
V | Fields. |
u | Fields. |
outarray | Storage for result. |
Definition at line 1484 of file EquationSystem.cpp.
References AdvectionNonConservativeForm(), Nektar::MultiRegions::eGlobal, and m_fields.
void Nektar::SolverUtils::EquationSystem::WeakDGAdvection | ( | const Array< OneD, Array< OneD, NekDouble > > & | InField, |
Array< OneD, Array< OneD, NekDouble > > & | OutField, | ||
bool | NumericalFluxIncludesNormal = true , |
||
bool | InFieldIsInPhysSpace = false , |
||
int | nvariables = 0 |
||
) |
Calculate the weak discontinuous Galerkin advection.
Calculate weak DG advection in the form .
InField | Fields. |
OutField | Storage for result. |
NumericalFluxIncludesNormal | Default: true. |
InFieldIsPhysSpace | Default: false. |
nvariables | Number of fields. |
Definition at line 1581 of file EquationSystem.cpp.
References GetFluxVector(), GetNcoeffs(), GetNpoints(), GetTraceNpoints(), m_expdim, m_fields, Vmath::Neg(), NumericalFlux(), and WeakAdvectionGreensDivergenceForm().
Referenced by Nektar::ImageWarpingSystem::DoOdeRhs(), Nektar::PulseWavePropagation::DoOdeRhs(), Nektar::APE::DoOdeRhs(), Nektar::CFLtester::DoOdeRhs(), and Nektar::EigenValuesAdvection::v_DoSolve().
void Nektar::SolverUtils::EquationSystem::WeakDGDiffusion | ( | const Array< OneD, Array< OneD, NekDouble > > & | InField, |
Array< OneD, Array< OneD, NekDouble > > & | OutField, | ||
bool | NumericalFluxIncludesNormal = true , |
||
bool | InFieldIsInPhysSpace = false |
||
) |
Calculate weak DG Diffusion in the LDG form.
Calculate weak DG Diffusion in the LDG form
Definition at line 1695 of file EquationSystem.cpp.
References GetFluxVector(), GetNcoeffs(), GetNpoints(), GetTraceNpoints(), m_fields, m_spacedim, m_tanbasis, Vmath::Neg(), NumFluxforScalar(), NumFluxforVector(), Vmath::Vadd(), Vmath::Vcopy(), Vmath::Vmul(), and WeakAdvectionGreensDivergenceForm().
void Nektar::SolverUtils::EquationSystem::WriteFld | ( | const std::string & | outname | ) |
Write field data to the given filename.
Writes the field data to a file with the given filename.
outname | Filename to write to. |
Definition at line 1885 of file EquationSystem.cpp.
References GetNcoeffs(), m_boundaryConditions, m_fields, and v_ExtraFldOutput().
Referenced by Checkpoint_Output(), Nektar::EulerCFE::SetInitialRinglebFlow(), Nektar::Monodomain::v_InitObject(), Nektar::CoupledLinearNS::v_Output(), and v_Output().
void Nektar::SolverUtils::EquationSystem::WriteFld | ( | const std::string & | outname, |
MultiRegions::ExpListSharedPtr & | field, | ||
std::vector< Array< OneD, NekDouble > > & | fieldcoeffs, | ||
std::vector< std::string > & | variables | ||
) |
Write input fields to the given filename.
Writes the field data to a file with the given filename.
outname | Filename to write to. |
field | ExpList on which data is based. |
fieldcoeffs | An array of array of expansion coefficients. |
variables | An array of variable names. |
Definition at line 1922 of file EquationSystem.cpp.
References m_fieldMetaDataMap, m_fld, and m_time.
SOLVER_UTILS_EXPORT void Nektar::SolverUtils::EquationSystem::WriteHistoryData | ( | std::ostream & | out | ) |
Probe each history point and write to file.
Zero the physical fields.
Definition at line 1400 of file EquationSystem.cpp.
References GetNpoints(), m_fields, and Vmath::Zero().
Referenced by Nektar::PulseWaveSystem::v_InitObject(), and v_InitObject().
|
protected |
Base fields.
Definition at line 400 of file EquationSystem.h.
Referenced by ImportFldBase(), and SetUpBaseFields().
|
protected |
Pointer to boundary conditions object.
Definition at line 404 of file EquationSystem.h.
Referenced by Nektar::CoupledLinearNS::DefineForcingTerm(), Nektar::CoupledLinearNS::v_DoInitialise(), Nektar::IncNavierStokes::v_InitObject(), Nektar::CoupledLinearNS::v_InitObject(), v_InitObject(), Nektar::CoupledLinearNS::v_Output(), and WriteFld().
|
protected |
Flag to indicate if the fields should be checked for singularity.
Definition at line 456 of file EquationSystem.h.
Referenced by v_InitObject().
|
protected |
Number of steps between checkpoints.
Definition at line 424 of file EquationSystem.h.
Referenced by Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::PulseWaveSystem::v_DoSolve(), Nektar::SolverUtils::UnsteadySystem::v_GenerateSummary(), Nektar::PulseWaveSystem::v_InitObject(), v_InitObject(), and v_SetInitialConditions().
|
protected |
Time between checkpoints.
Definition at line 420 of file EquationSystem.h.
Referenced by Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), and v_InitObject().
|
protected |
Communicator.
Definition at line 392 of file EquationSystem.h.
Referenced by Nektar::IncNavierStokes::GetCFLEstimate(), Nektar::PulseWaveSystem::v_L2Error(), v_L2Error(), Nektar::IncNavierStokes::v_PostIntegrate(), Nektar::NavierStokesCFE::v_SetInitialConditions(), and Nektar::EulerCFE::v_SetInitialConditions().
|
protected |
Array holding all dependent variables.
Definition at line 402 of file EquationSystem.h.
|
protected |
Expansion dimension.
Definition at line 428 of file EquationSystem.h.
Referenced by Nektar::UnsteadyAdvection::GetFluxVectorDeAlias(), Nektar::CFLtester::GetStdVelocity(), SessionSummary(), Nektar::EulerCFE::SetBoundaryRinglebFlow(), SetUpBaseFields(), v_InitObject(), Nektar::NonlinearSWE::WallBoundary2D(), Nektar::LinearSWE::WallBoundary2D(), and WeakDGAdvection().
|
protected |
Map to identify relevant solver info to dump in output fields.
Definition at line 458 of file EquationSystem.h.
Referenced by Nektar::SolverUtils::UnsteadySystem::CheckForRestartTime(), Nektar::VelocityCorrectionScheme::v_DoInitialise(), Nektar::SolverUtils::UnsteadySystem::v_InitObject(), Nektar::IncNavierStokes::v_InitObject(), WriteFld(), and Nektar::PulseWaveSystem::WriteVessels().
|
protected |
Array holding all dependent variables.
Definition at line 398 of file EquationSystem.h.
Referenced by Nektar::NonlinearSWE::AddCoriolis(), Nektar::LinearSWE::AddCoriolis(), Nektar::APE::AddSource(), Nektar::NonlinearSWE::AddVariableDepth(), AdvectionNonConservativeForm(), Nektar::IncNavierStokes::CalcSteadyState(), Nektar::SolverUtils::UnsteadySystem::CheckForRestartTime(), Nektar::CoupledLinearNS::Continuation(), Nektar::ShallowWaterSystem::CopyBoundaryTrace(), CopyFromPhysField(), CopyToPhysField(), Nektar::CoupledLinearNS::DefineForcingTerm(), Nektar::Bidomain::DoImplicitSolve(), Nektar::Monodomain::DoImplicitSolve(), Nektar::UnsteadyDiffusion::DoImplicitSolve(), Nektar::UnsteadyAdvectionDiffusion::DoImplicitSolve(), Nektar::NonlinearSWE::DoOdeProjection(), Nektar::LinearSWE::DoOdeProjection(), Nektar::UnsteadyInviscidBurger::DoOdeProjection(), Nektar::UnsteadyDiffusion::DoOdeProjection(), Nektar::APE::DoOdeProjection(), Nektar::UnsteadyAdvection::DoOdeProjection(), Nektar::UnsteadyAdvectionDiffusion::DoOdeProjection(), Nektar::CFLtester::DoOdeProjection(), Nektar::PulseWavePropagation::DoOdeRhs(), Nektar::ImageWarpingSystem::DoOdeRhs(), Nektar::NonlinearSWE::DoOdeRhs(), Nektar::LinearSWE::DoOdeRhs(), Nektar::UnsteadyInviscidBurger::DoOdeRhs(), Nektar::UnsteadyDiffusion::DoOdeRhs(), Nektar::Bidomain::DoOdeRhs(), Nektar::NavierStokesCFE::DoOdeRhs(), Nektar::APE::DoOdeRhs(), Nektar::EulerCFE::DoOdeRhs(), Nektar::EulerADCFE::DoOdeRhs(), Nektar::UnsteadyAdvection::DoOdeRhs(), Nektar::UnsteadyAdvectionDiffusion::DoOdeRhs(), Nektar::CFLtester::DoOdeRhs(), ErrorExtraPoints(), Nektar::CoupledLinearNS::EvaluateAdvection(), Nektar::VelocityCorrectionScheme::EvaluateAdvection_SetPressureBCs(), Nektar::IncNavierStokes::EvaluateAdvectionTerms(), EvaluateFunction(), Nektar::CoupledLinearNS::EvaluateNewtonRHS(), Nektar::CompressibleFlowSystem::ExtrapOrder0BC(), FwdTransFields(), Nektar::APE::GetBasefield(), Nektar::IncNavierStokes::GetCFLEstimate(), GetCoeff_Offset(), Nektar::IncNavierStokes::GetElmtCFLVals(), Nektar::EulerCFE::GetExactIsentropicVortex(), Nektar::EulerCFE::GetExactRinglebFlow(), GetExpSize(), Nektar::NonlinearSWE::GetFluxVector(), Nektar::LinearSWE::GetFluxVector(), Nektar::CompressibleFlowSystem::GetFluxVector(), Nektar::UnsteadyAdvectionDiffusion::GetFluxVectorAdv(), Nektar::UnsteadyAdvection::GetFluxVectorDeAlias(), Nektar::CompressibleFlowSystem::GetFluxVectorDeAlias(), GetNcoeffs(), Nektar::UnsteadyInviscidBurger::GetNormalVelocity(), Nektar::UnsteadyAdvection::GetNormalVelocity(), Nektar::UnsteadyAdvectionDiffusion::GetNormalVelocity(), GetNpoints(), GetNumElmVelocity(), GetNumExpModesPerExp(), GetPhys_Offset(), Nektar::CFLtester::GetStdVelocity(), GetTotPoints(), GetTraceNpoints(), Nektar::CompressibleFlowSystem::GetViscousFluxVector(), Nektar::CompressibleFlowSystem::GetViscousFluxVectorDeAlias(), ImportFld(), ImportFldBase(), ImportFldToMultiDomains(), Nektar::CompressibleFlowSystem::RiemannInvariantBC(), SessionSummary(), Nektar::NavierStokesCFE::SetBoundaryConditions(), Nektar::NonlinearSWE::SetBoundaryConditions(), Nektar::EulerADCFE::SetBoundaryConditions(), Nektar::EulerCFE::SetBoundaryConditions(), Nektar::LinearSWE::SetBoundaryConditions(), Nektar::APE::SetBoundaryConditions(), Nektar::IncNavierStokes::SetBoundaryConditions(), SetBoundaryConditions(), Nektar::EulerCFE::SetBoundaryIsentropicVortex(), Nektar::EulerCFE::SetBoundaryRinglebFlow(), Nektar::EulerCFE::SetInitialIsentropicVortex(), Nektar::EulerCFE::SetInitialRinglebFlow(), Nektar::IncNavierStokes::SetRadiationBoundaryForcing(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::VelocityCorrectionScheme::SetUpPressureForcing(), Nektar::VelocityCorrectionScheme::SetUpViscousForcing(), Nektar::CoupledLinearNS::Solve(), Nektar::CoupledLinearNS::SolveLinearNS(), Nektar::CoupledLinearNS::SolveSteadyNavierStokes(), Nektar::VelocityCorrectionScheme::SolveUnsteadyStokesSystem(), Nektar::CoupledLinearNS::SolveUnsteadyStokesSystem(), Nektar::CompressibleFlowSystem::SymmetryBC(), UpdateFields(), Nektar::SolverUtils::UnsteadySystem::v_AppendOutput1D(), Nektar::NonlinearSWE::v_ConservativeToPrimitive(), Nektar::LinearSWE::v_ConservativeToPrimitive(), Nektar::SteadyAdvectionDiffusion::v_DoInitialise(), Nektar::VelocityCorrectionScheme::v_DoInitialise(), Nektar::PulseWaveSystem::v_DoInitialise(), Nektar::CoupledLinearNS::v_DoInitialise(), Nektar::EigenValuesAdvection::v_DoSolve(), Nektar::Laplace::v_DoSolve(), Nektar::SteadyAdvectionDiffusion::v_DoSolve(), Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::PulseWaveSystem::v_DoSolve(), v_EvaluateExactSolution(), Nektar::Poisson::v_GenerateSummary(), Nektar::IncNavierStokes::v_GetFluxVector(), Nektar::CFLtester::v_GetTimeStep(), Nektar::Poisson::v_InitObject(), Nektar::VelocityCorrectionScheme::v_InitObject(), Nektar::LinearSWE::v_InitObject(), Nektar::NonlinearSWE::v_InitObject(), Nektar::Bidomain::v_InitObject(), Nektar::Monodomain::v_InitObject(), Nektar::UnsteadyDiffusion::v_InitObject(), Nektar::ImageWarpingSystem::v_InitObject(), Nektar::APE::v_InitObject(), Nektar::EulerADCFE::v_InitObject(), Nektar::ShallowWaterSystem::v_InitObject(), Nektar::UnsteadyInviscidBurger::v_InitObject(), Nektar::UnsteadyAdvection::v_InitObject(), Nektar::IncNavierStokes::v_InitObject(), Nektar::UnsteadyAdvectionDiffusion::v_InitObject(), Nektar::CompressibleFlowSystem::v_InitObject(), Nektar::PulseWaveSystem::v_InitObject(), Nektar::CoupledLinearNS::v_InitObject(), v_InitObject(), v_L2Error(), v_LinfError(), Nektar::EigenValuesAdvection::v_NumericalFlux(), Nektar::ImageWarpingSystem::v_NumericalFlux(), Nektar::APE::v_NumericalFlux(), Nektar::CFLtester::v_NumericalFlux(), Nektar::IncNavierStokes::v_NumericalFlux(), Nektar::SolverUtils::UnsteadySystem::v_NumFluxforScalar(), Nektar::SolverUtils::UnsteadySystem::v_NumFluxforVector(), Nektar::CoupledLinearNS::v_Output(), Nektar::NonlinearSWE::v_PrimitiveToConservative(), Nektar::LinearSWE::v_PrimitiveToConservative(), Nektar::NavierStokesCFE::v_SetInitialConditions(), Nektar::EulerCFE::v_SetInitialConditions(), v_SetInitialConditions(), Nektar::VelocityCorrectionScheme::v_TransCoeffToPhys(), Nektar::CoupledLinearNS::v_TransCoeffToPhys(), Nektar::VelocityCorrectionScheme::v_TransPhysToCoeff(), Nektar::CoupledLinearNS::v_TransPhysToCoeff(), Nektar::APE::WallBC(), Nektar::CompressibleFlowSystem::WallBC(), Nektar::NonlinearSWE::WallBoundary(), Nektar::LinearSWE::WallBoundary(), Nektar::NonlinearSWE::WallBoundary2D(), Nektar::LinearSWE::WallBoundary2D(), Nektar::CompressibleFlowSystem::WallViscousBC(), WeakAdvectionDivergenceForm(), WeakAdvectionGreensDivergenceForm(), WeakAdvectionNonConservativeForm(), WeakDGAdvection(), WeakDGDiffusion(), Nektar::SolverUtils::UnsteadySystem::WeakPenaltyforScalar(), Nektar::SolverUtils::UnsteadySystem::WeakPenaltyforVector(), WriteFld(), and ZeroPhysFields().
|
protected |
|
protected |
Finish time of the simulation.
Definition at line 414 of file EquationSystem.h.
Referenced by Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::PulseWaveSystem::v_InitObject(), and v_InitObject().
|
protected |
Field input/output.
Definition at line 396 of file EquationSystem.h.
Referenced by Nektar::SolverUtils::UnsteadySystem::CheckForRestartTime(), EvaluateFunction(), ImportFld(), ImportFldBase(), v_InitObject(), and WriteFld().
|
protected |
1 x nvariable x nq
Definition at line 452 of file EquationSystem.h.
|
protected |
Pointer to graph defining mesh.
Definition at line 406 of file EquationSystem.h.
Referenced by ErrorExtraPoints(), Nektar::CoupledLinearNS::GenPressureExp(), GetNumExpModes(), InitialiseBaseFlow(), SetUpBaseFields(), Nektar::ImageWarpingSystem::v_InitObject(), Nektar::IncNavierStokes::v_InitObject(), Nektar::PulseWaveSystem::v_InitObject(), Nektar::CoupledLinearNS::v_InitObject(), and v_InitObject().
|
protected |
Flag to determine if half homogeneous mode is used.
Definition at line 432 of file EquationSystem.h.
Referenced by SetUpBaseFields(), and v_InitObject().
|
protected |
number of homogenous directions
Definition at line 484 of file EquationSystem.h.
Referenced by v_InitObject().
|
protected |
Flag to determine if dealiasing is used for homogeneous simulations.
Definition at line 441 of file EquationSystem.h.
Referenced by SetUpBaseFields(), Nektar::VelocityCorrectionScheme::v_GenerateSummary(), Nektar::CoupledLinearNS::v_InitObject(), and v_InitObject().
|
protected |
Definition at line 474 of file EquationSystem.h.
Referenced by Nektar::IncNavierStokes::GetCFLEstimate(), Nektar::IncNavierStokes::GetElmtCFLVals(), SessionSummary(), Nektar::EulerCFE::SetBoundaryRinglebFlow(), SetUpBaseFields(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::CoupledLinearNS::Solve(), Nektar::CoupledLinearNS::SolveLinearNS(), Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::VelocityCorrectionScheme::v_InitObject(), Nektar::CoupledLinearNS::v_InitObject(), and v_InitObject().
|
protected |
Lambda constant in real system if one required.
Definition at line 418 of file EquationSystem.h.
Referenced by SetLambda(), and Nektar::CoupledLinearNS::v_DoInitialise().
|
protected |
physical length in X direction (if homogeneous)
Definition at line 476 of file EquationSystem.h.
|
protected |
physical length in Y direction (if homogeneous)
Definition at line 477 of file EquationSystem.h.
Referenced by v_InitObject().
|
protected |
physical length in Z direction (if homogeneous)
Definition at line 478 of file EquationSystem.h.
Referenced by SetUpBaseFields(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::CoupledLinearNS::v_InitObject(), and v_InitObject().
|
protected |
Flag to determine if use multiple homogenenous modes are used.
Definition at line 434 of file EquationSystem.h.
Referenced by SessionSummary(), and v_InitObject().
|
protected |
number of points in X direction (if homogeneous)
Definition at line 480 of file EquationSystem.h.
|
protected |
number of points in Y direction (if homogeneous)
Definition at line 481 of file EquationSystem.h.
Referenced by SessionSummary(), and v_InitObject().
|
protected |
number of points in Z direction (if homogeneous)
Definition at line 482 of file EquationSystem.h.
Referenced by SessionSummary(), SetUpBaseFields(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::CoupledLinearNS::SolveLinearNS(), Nektar::CoupledLinearNS::v_InitObject(), and v_InitObject().
|
protected |
Mode to use in case of single mode analysis.
Definition at line 486 of file EquationSystem.h.
Referenced by SessionSummary().
|
protected |
Number of Quadrature points used to work out the error.
Definition at line 461 of file EquationSystem.h.
Referenced by ErrorExtraPoints(), Nektar::PulseWaveSystem::v_InitObject(), v_InitObject(), Nektar::PulseWaveSystem::v_L2Error(), v_L2Error(), Nektar::PulseWaveSystem::v_LinfError(), and v_LinfError().
|
protected |
Type of projection; e.g continuous or discontinuous.
Definition at line 448 of file EquationSystem.h.
Referenced by Nektar::NonlinearSWE::AddCoriolis(), Nektar::LinearSWE::AddCoriolis(), Nektar::APE::AddSource(), Nektar::NonlinearSWE::AddVariableDepth(), Nektar::ImageWarpingSystem::DoOdeProjection(), Nektar::NonlinearSWE::DoOdeProjection(), Nektar::LinearSWE::DoOdeProjection(), Nektar::UnsteadyInviscidBurger::DoOdeProjection(), Nektar::UnsteadyDiffusion::DoOdeProjection(), Nektar::NavierStokesCFE::DoOdeProjection(), Nektar::APE::DoOdeProjection(), Nektar::EulerCFE::DoOdeProjection(), Nektar::EulerADCFE::DoOdeProjection(), Nektar::UnsteadyAdvection::DoOdeProjection(), Nektar::UnsteadyAdvectionDiffusion::DoOdeProjection(), Nektar::CFLtester::DoOdeProjection(), Nektar::ImageWarpingSystem::DoOdeRhs(), Nektar::NonlinearSWE::DoOdeRhs(), Nektar::LinearSWE::DoOdeRhs(), Nektar::APE::DoOdeRhs(), Nektar::UnsteadyAdvectionDiffusion::DoOdeRhs(), Nektar::CFLtester::DoOdeRhs(), SessionSummary(), SetUpBaseFields(), Nektar::EigenValuesAdvection::v_DoSolve(), Nektar::VelocityCorrectionScheme::v_InitObject(), Nektar::LinearSWE::v_InitObject(), Nektar::NonlinearSWE::v_InitObject(), Nektar::UnsteadyDiffusion::v_InitObject(), Nektar::APE::v_InitObject(), Nektar::ShallowWaterSystem::v_InitObject(), Nektar::UnsteadyInviscidBurger::v_InitObject(), Nektar::UnsteadyAdvection::v_InitObject(), Nektar::UnsteadyAdvectionDiffusion::v_InitObject(), Nektar::CompressibleFlowSystem::v_InitObject(), Nektar::PulseWaveSystem::v_InitObject(), and v_InitObject().
|
protected |
The session reader.
Definition at line 394 of file EquationSystem.h.
Referenced by Nektar::SolverUtils::UnsteadySystem::CheckForRestartTime(), Nektar::CoupledLinearNS::DefineForcingTerm(), DescribeFunction(), Nektar::Bidomain::DoImplicitSolve(), Nektar::ImageWarpingSystem::DoOdeRhs(), Nektar::Bidomain::DoOdeRhs(), ErrorExtraPoints(), EvaluateFunction(), GetNvariables(), GetSession(), GetVariable(), Nektar::Helmholtz::Helmholtz(), ImportFld(), ImportFldBase(), ImportFldToMultiDomains(), PrintSummary(), SessionSummary(), Nektar::NavierStokesCFE::SetBoundaryConditions(), Nektar::NonlinearSWE::SetBoundaryConditions(), Nektar::EulerADCFE::SetBoundaryConditions(), Nektar::EulerCFE::SetBoundaryConditions(), Nektar::LinearSWE::SetBoundaryConditions(), Nektar::APE::SetBoundaryConditions(), Nektar::IncNavierStokes::SetBoundaryConditions(), SetBoundaryConditions(), Nektar::EulerCFE::SetBoundaryRinglebFlow(), Nektar::PulseWavePropagation::SetPulseWaveBoundaryConditions(), SetUpBaseFields(), Nektar::CoupledLinearNS::SetUpCoupledMatrix(), Nektar::SteadyAdvectionDiffusion::v_DoInitialise(), Nektar::PulseWaveSystem::v_DoInitialise(), Nektar::CoupledLinearNS::v_DoInitialise(), Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::PulseWaveSystem::v_DoSolve(), v_EvaluateExactSolution(), Nektar::Poisson::v_GenerateSummary(), Nektar::LinearSWE::v_GenerateSummary(), Nektar::Monodomain::v_GenerateSummary(), Nektar::SolverUtils::UnsteadySystem::v_GenerateSummary(), Nektar::VelocityCorrectionScheme::v_GetForceDimension(), Nektar::CoupledLinearNS::v_GetForceDimension(), Nektar::Poisson::v_GetSystemSingularChecks(), Nektar::Helmholtz::v_GetSystemSingularChecks(), Nektar::Laplace::v_GetSystemSingularChecks(), Nektar::VelocityCorrectionScheme::v_GetSystemSingularChecks(), v_GetSystemSingularChecks(), Nektar::Poisson::v_InitObject(), Nektar::SteadyAdvectionDiffusionReaction::v_InitObject(), Nektar::VelocityCorrectionScheme::v_InitObject(), Nektar::PulseWaveSystemOutput::v_InitObject(), Nektar::LinearSWE::v_InitObject(), Nektar::NonlinearSWE::v_InitObject(), Nektar::Bidomain::v_InitObject(), Nektar::Monodomain::v_InitObject(), Nektar::UnsteadyDiffusion::v_InitObject(), Nektar::ImageWarpingSystem::v_InitObject(), Nektar::PulseWavePropagation::v_InitObject(), Nektar::APE::v_InitObject(), Nektar::EulerCFE::v_InitObject(), Nektar::NavierStokesCFE::v_InitObject(), Nektar::EulerADCFE::v_InitObject(), Nektar::ShallowWaterSystem::v_InitObject(), Nektar::SolverUtils::UnsteadySystem::v_InitObject(), Nektar::UnsteadyInviscidBurger::v_InitObject(), Nektar::UnsteadyAdvection::v_InitObject(), Nektar::IncNavierStokes::v_InitObject(), Nektar::UnsteadyAdvectionDiffusion::v_InitObject(), Nektar::CompressibleFlowSystem::v_InitObject(), Nektar::PulseWaveSystem::v_InitObject(), Nektar::CoupledLinearNS::v_InitObject(), v_InitObject(), Nektar::PulseWaveSystem::v_L2Error(), v_L2Error(), Nektar::PulseWaveSystem::v_LinfError(), v_LinfError(), Nektar::NavierStokesCFE::v_SetInitialConditions(), Nektar::EulerCFE::v_SetInitialConditions(), v_SetInitialConditions(), Nektar::SolverUtils::UnsteadySystem::WeakPenaltyforScalar(), Nektar::SolverUtils::UnsteadySystem::WeakPenaltyforVector(), and Nektar::PulseWaveSystem::WriteVessels().
|
protected |
Name of the session.
Definition at line 410 of file EquationSystem.h.
Referenced by Nektar::PulseWaveSystem::CheckPoint_Output(), Checkpoint_Output(), GetSessionName(), ResetSessionName(), SessionSummary(), Nektar::EulerCFE::SetInitialRinglebFlow(), v_InitObject(), Nektar::PulseWaveSystem::v_Output(), Nektar::CoupledLinearNS::v_Output(), and v_Output().
|
protected |
Flag to determine if single homogeneous mode is used.
Definition at line 430 of file EquationSystem.h.
Referenced by SetUpBaseFields(), and v_InitObject().
|
protected |
Spatial dimension (>= expansion dim).
Definition at line 426 of file EquationSystem.h.
Referenced by Nektar::NonlinearSWE::AddVariableDepth(), Nektar::Bidomain::DoImplicitSolve(), Nektar::NonlinearSWE::DoOdeRhs(), Nektar::LinearSWE::DoOdeRhs(), Nektar::NavierStokesCFE::DoOdeRhs(), Nektar::APE::DoOdeRhs(), Nektar::EulerCFE::DoOdeRhs(), Nektar::EulerCFE::EvaluateIsentropicVortex(), Nektar::CompressibleFlowSystem::ExtrapOrder0BC(), Nektar::APE::GetBasefield(), Nektar::EulerCFE::GetExactIsentropicVortex(), Nektar::NonlinearSWE::GetFluxVector(), Nektar::LinearSWE::GetFluxVector(), Nektar::CompressibleFlowSystem::GetFluxVector(), Nektar::UnsteadyAdvection::GetFluxVectorDeAlias(), Nektar::CompressibleFlowSystem::GetFluxVectorDeAlias(), Nektar::UnsteadyInviscidBurger::GetNormalVelocity(), Nektar::CompressibleFlowSystem::GetPressure(), Nektar::NonlinearSWE::GetVelocityVector(), Nektar::LinearSWE::GetVelocityVector(), Nektar::CompressibleFlowSystem::GetViscousFluxVector(), Nektar::CompressibleFlowSystem::GetViscousFluxVectorDeAlias(), InitialiseBaseFlow(), Nektar::CompressibleFlowSystem::RiemannInvariantBC(), SessionSummary(), Nektar::EulerCFE::SetInitialIsentropicVortex(), Nektar::CompressibleFlowSystem::SymmetryBC(), Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::EigenValuesAdvection::v_InitObject(), Nektar::SteadyAdvectionDiffusion::v_InitObject(), Nektar::Bidomain::v_InitObject(), Nektar::Monodomain::v_InitObject(), Nektar::ImageWarpingSystem::v_InitObject(), Nektar::APE::v_InitObject(), Nektar::EulerADCFE::v_InitObject(), Nektar::ShallowWaterSystem::v_InitObject(), Nektar::UnsteadyAdvection::v_InitObject(), Nektar::CFLtester::v_InitObject(), Nektar::IncNavierStokes::v_InitObject(), Nektar::UnsteadyAdvectionDiffusion::v_InitObject(), Nektar::CompressibleFlowSystem::v_InitObject(), v_InitObject(), Nektar::EigenValuesAdvection::v_NumericalFlux(), Nektar::ImageWarpingSystem::v_NumericalFlux(), Nektar::APE::v_NumericalFlux(), Nektar::CFLtester::v_NumericalFlux(), Nektar::IncNavierStokes::v_NumericalFlux(), Nektar::APE::WallBC(), Nektar::CompressibleFlowSystem::WallBC(), Nektar::NonlinearSWE::WallBoundary(), Nektar::LinearSWE::WallBoundary(), Nektar::CompressibleFlowSystem::WallViscousBC(), and WeakDGDiffusion().
|
protected |
Flag to determine if dealisising is usde for the Spectral/hp element discretisation.
Definition at line 446 of file EquationSystem.h.
Referenced by Nektar::UnsteadyAdvection::v_InitObject(), Nektar::CompressibleFlowSystem::v_InitObject(), and v_InitObject().
|
protected |
Number of steps to take.
Definition at line 422 of file EquationSystem.h.
Referenced by GetSteps(), SetStepsToOne(), Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::PulseWaveSystem::v_DoSolve(), Nektar::SolverUtils::UnsteadySystem::v_GenerateSummary(), Nektar::PulseWaveSystem::v_InitObject(), and v_InitObject().
|
protected |
2 x m_spacedim x nq
Definition at line 454 of file EquationSystem.h.
Referenced by WeakDGDiffusion().
|
protected |
Current time of simulation.
Definition at line 412 of file EquationSystem.h.
Referenced by Nektar::APE::AddSource(), ErrorExtraPoints(), Nektar::VelocityCorrectionScheme::EvaluateAdvection_SetPressureBCs(), Nektar::IncNavierStokes::EvaluateAdvectionTerms(), GetFinalTime(), Nektar::SolverUtils::UnsteadySystem::v_DoInitialise(), Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::PulseWaveSystem::v_DoSolve(), Nektar::SolverUtils::UnsteadySystem::v_InitObject(), Nektar::IncNavierStokes::v_InitObject(), Nektar::PulseWaveSystem::v_InitObject(), v_InitObject(), Nektar::PulseWaveSystem::v_L2Error(), v_L2Error(), Nektar::PulseWaveSystem::v_LinfError(), v_LinfError(), Nektar::IncNavierStokes::v_PreIntegrate(), WriteFld(), and Nektar::PulseWaveSystem::WriteVessels().
|
protected |
Time step size.
Definition at line 416 of file EquationSystem.h.
Referenced by Nektar::IncNavierStokes::GetElmtCFLVals(), GetTimeStep(), Nektar::VelocityCorrectionScheme::v_DoInitialise(), Nektar::SolverUtils::UnsteadySystem::v_DoSolve(), Nektar::PulseWaveSystem::v_DoSolve(), Nektar::SolverUtils::UnsteadySystem::v_GenerateSummary(), Nektar::IncNavierStokes::v_InitObject(), Nektar::PulseWaveSystem::v_InitObject(), and v_InitObject().
Array holding trace normals for DG simulations in the forwards direction.
Definition at line 450 of file EquationSystem.h.
Referenced by Nektar::APE::GetNormals(), Nektar::ShallowWaterSystem::GetNormals(), Nektar::CompressibleFlowSystem::GetNormals(), Nektar::UnsteadyInviscidBurger::GetNormalVelocity(), Nektar::UnsteadyAdvection::GetNormalVelocity(), Nektar::UnsteadyAdvectionDiffusion::GetNormalVelocity(), Nektar::CompressibleFlowSystem::RiemannInvariantBC(), Nektar::CompressibleFlowSystem::SymmetryBC(), v_InitObject(), Nektar::EigenValuesAdvection::v_NumericalFlux(), Nektar::ImageWarpingSystem::v_NumericalFlux(), Nektar::CFLtester::v_NumericalFlux(), Nektar::IncNavierStokes::v_NumericalFlux(), Nektar::SolverUtils::UnsteadySystem::v_NumFluxforScalar(), Nektar::SolverUtils::UnsteadySystem::v_NumFluxforVector(), Nektar::APE::WallBC(), Nektar::CompressibleFlowSystem::WallBC(), Nektar::NonlinearSWE::WallBoundary(), Nektar::LinearSWE::WallBoundary(), Nektar::NonlinearSWE::WallBoundary2D(), Nektar::LinearSWE::WallBoundary2D(), and Nektar::SolverUtils::UnsteadySystem::WeakPenaltyforVector().
|
protected |
Flag to determine if FFT is used for homogeneous transform.
Definition at line 436 of file EquationSystem.h.
Referenced by SessionSummary(), SetUpBaseFields(), Nektar::CoupledLinearNS::v_InitObject(), and v_InitObject().