Nektar++
|
Base class for the development of solvers. More...
#include <DriverSteadyState.h>
Public Member Functions | |
void | ConvergenceHistory (const Array< OneD, const Array< OneD, NekDouble > > &qBar1, const Array< OneD, const Array< OneD, NekDouble > > &q0, NekDouble &MaxNormDiff_q_qBar, NekDouble &MaxNormDiff_q1_q0) |
void | EvaluateNextSFDVariables (const int i, const Array< OneD, const Array< OneD, NekDouble > > &q0, const Array< OneD, const Array< OneD, NekDouble > > &qBar0, Array< OneD, Array< OneD, NekDouble > > &q1, Array< OneD, Array< OneD, NekDouble > > &qBar1) |
void | RunBDF2 (const int i, const Array< OneD, const Array< OneD, NekDouble > > &qMinus1, const Array< OneD, const Array< OneD, NekDouble > > &qBarMinus1, const Array< OneD, const Array< OneD, NekDouble > > &q0, const Array< OneD, const Array< OneD, NekDouble > > &qBar0, Array< OneD, Array< OneD, NekDouble > > &q1, Array< OneD, Array< OneD, NekDouble > > &qBar1) |
void | RunBDF1 (const int i, const Array< OneD, const Array< OneD, NekDouble > > &q0, const Array< OneD, const Array< OneD, NekDouble > > &qBar0, Array< OneD, Array< OneD, NekDouble > > &q1, Array< OneD, Array< OneD, NekDouble > > &qBar1) |
void | ExactFilters (const int i, const Array< OneD, const Array< OneD, NekDouble > > &q0, const Array< OneD, const Array< OneD, NekDouble > > &qBar0, Array< OneD, Array< OneD, NekDouble > > &q1, Array< OneD, Array< OneD, NekDouble > > &qBar1) |
void | SecondOrderFilter (const int i, const Array< OneD, const Array< OneD, NekDouble > > &qBarMinus1, const Array< OneD, const Array< OneD, NekDouble > > &q0, const Array< OneD, const Array< OneD, NekDouble > > &qBar0, Array< OneD, Array< OneD, NekDouble > > &q1, Array< OneD, Array< OneD, NekDouble > > &qBar1) |
Public Member Functions inherited from Nektar::SolverUtils::Driver | |
virtual | ~Driver () |
Destructor. | |
SOLVER_UTILS_EXPORT void | InitObject (ostream &out=cout) |
Initialise Object. | |
SOLVER_UTILS_EXPORT void | Execute (ostream &out=cout) |
Execute driver. | |
SOLVER_UTILS_EXPORT Array < OneD, EquationSystemSharedPtr > | GetEqu () |
SOLVER_UTILS_EXPORT Array < OneD, NekDouble > | GetRealEvl (void) |
SOLVER_UTILS_EXPORT Array < OneD, NekDouble > | GetImagEvl (void) |
Static Public Member Functions | |
static DriverSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession) |
Creates an instance of this class. |
Static Public Attributes | |
static std::string | className = GetDriverFactory().RegisterCreatorFunction("SteadyState", DriverSteadyState::create) |
Name of the class. |
Protected Member Functions | |
SOLVER_UTILS_EXPORT | DriverSteadyState (const LibUtilities::SessionReaderSharedPtr pSession) |
Constructor. | |
virtual SOLVER_UTILS_EXPORT | ~DriverSteadyState () |
Destructor. | |
virtual SOLVER_UTILS_EXPORT void | v_InitObject (ostream &out=cout) |
Second-stage initialisation. | |
virtual SOLVER_UTILS_EXPORT void | v_Execute (ostream &out=cout) |
Virtual function for solve implementation. | |
Protected Member Functions inherited from Nektar::SolverUtils::Driver | |
Driver (const LibUtilities::SessionReaderSharedPtr pSession) | |
Initialises EquationSystem class members. | |
virtual SOLVER_UTILS_EXPORT Array< OneD, NekDouble > | v_GetRealEvl (void) |
virtual SOLVER_UTILS_EXPORT Array< OneD, NekDouble > | v_GetImagEvl (void) |
Static Protected Attributes | |
static std::string | driverLookupId = LibUtilities::SessionReader::RegisterEnumValue("Driver","SteadyState",0) |
Static Protected Attributes inherited from Nektar::SolverUtils::Driver | |
static std::string | evolutionOperatorLookupIds [] |
static std::string | evolutionOperatorDef = LibUtilities::SessionReader::RegisterDefaultSolverInfo("EvolutionOperator","Nonlinear") |
static std::string | driverDefault = LibUtilities::SessionReader::RegisterDefaultSolverInfo("Driver","Standard") |
Private Attributes | |
NekDouble | m_Delta |
NekDouble | m_Delta0 |
NekDouble | m_X |
NekDouble | m_X0 |
NekDouble | m_dt |
NekDouble | c1 |
NekDouble | F11 |
NekDouble | F12 |
NekDouble | F21 |
NekDouble | F22 |
int | m_n |
int | m_Check |
int | m_infosteps |
int | m_checksteps |
NekDouble | m_MinNormDiff_q_qBar |
NekDouble | m_MaxNormDiff_q_qBar |
NekDouble | m_First_MinNormDiff_q_qBar |
int | NumVar_SFD |
int | MPIrank |
NekDouble | MaxNormDiff_q_qBar |
NekDouble | MaxNormDiff_q1_q0 |
NekDouble | Min_MaxNormDiff_q_qBar |
std::ofstream | m_file |
Friends | |
class | MemoryManager< DriverSteadyState > |
Additional Inherited Members | |
Protected Attributes inherited from Nektar::SolverUtils::Driver | |
LibUtilities::CommSharedPtr | m_comm |
Communication object. | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session reader object. | |
Array< OneD, EquationSystemSharedPtr > | m_equ |
Equation system to solve. | |
int | m_nequ |
number of equations | |
enum EvolutionOperatorType | m_EvolutionOperator |
Evolution Operator. |
Base class for the development of solvers.
Definition at line 46 of file DriverSteadyState.h.
|
protected |
|
protectedvirtual |
void Nektar::SolverUtils::DriverSteadyState::ConvergenceHistory | ( | const Array< OneD, const Array< OneD, NekDouble > > & | qBar1, |
const Array< OneD, const Array< OneD, NekDouble > > & | q0, | ||
NekDouble & | MaxNormDiff_q_qBar, | ||
NekDouble & | MaxNormDiff_q1_q0 | ||
) |
Definition at line 213 of file DriverSteadyState.cpp.
References m_Delta0, Nektar::SolverUtils::Driver::m_equ, m_file, m_n, m_X0, MPIrank, and NumVar_SFD.
Referenced by v_Execute().
|
inlinestatic |
Creates an instance of this class.
Definition at line 52 of file DriverSteadyState.h.
void Nektar::SolverUtils::DriverSteadyState::EvaluateNextSFDVariables | ( | const int | i, |
const Array< OneD, const Array< OneD, NekDouble > > & | q0, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | qBar0, | ||
Array< OneD, Array< OneD, NekDouble > > & | q1, | ||
Array< OneD, Array< OneD, NekDouble > > & | qBar1 | ||
) |
void Nektar::SolverUtils::DriverSteadyState::ExactFilters | ( | const int | i, |
const Array< OneD, const Array< OneD, NekDouble > > & | q0, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | qBar0, | ||
Array< OneD, Array< OneD, NekDouble > > & | q1, | ||
Array< OneD, Array< OneD, NekDouble > > & | qBar1 | ||
) |
Definition at line 195 of file DriverSteadyState.cpp.
References F11, F12, F21, F22, Nektar::SolverUtils::Driver::m_equ, and Vmath::Svtvp().
Referenced by v_Execute().
void Nektar::SolverUtils::DriverSteadyState::RunBDF1 | ( | const int | i, |
const Array< OneD, const Array< OneD, NekDouble > > & | q0, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | qBar0, | ||
Array< OneD, Array< OneD, NekDouble > > & | q1, | ||
Array< OneD, Array< OneD, NekDouble > > & | qBar1 | ||
) |
void Nektar::SolverUtils::DriverSteadyState::RunBDF2 | ( | const int | i, |
const Array< OneD, const Array< OneD, NekDouble > > & | qMinus1, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | qBarMinus1, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | q0, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | qBar0, | ||
Array< OneD, Array< OneD, NekDouble > > & | q1, | ||
Array< OneD, Array< OneD, NekDouble > > & | qBar1 | ||
) |
void Nektar::SolverUtils::DriverSteadyState::SecondOrderFilter | ( | const int | i, |
const Array< OneD, const Array< OneD, NekDouble > > & | qBarMinus1, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | q0, | ||
const Array< OneD, const Array< OneD, NekDouble > > & | qBar0, | ||
Array< OneD, Array< OneD, NekDouble > > & | q1, | ||
Array< OneD, Array< OneD, NekDouble > > & | qBar1 | ||
) |
|
protectedvirtual |
Virtual function for solve implementation.
Implements Nektar::SolverUtils::Driver.
Definition at line 72 of file DriverSteadyState.cpp.
References c1, ConvergenceHistory(), ExactFilters(), F11, F12, F21, F22, m_Check, m_checksteps, Nektar::SolverUtils::Driver::m_comm, m_Delta, m_Delta0, m_dt, Nektar::SolverUtils::Driver::m_equ, m_file, m_infosteps, m_n, Nektar::SolverUtils::Driver::m_session, m_X, m_X0, MaxNormDiff_q1_q0, MaxNormDiff_q_qBar, Min_MaxNormDiff_q_qBar, NumVar_SFD, and TOL.
|
protectedvirtual |
Second-stage initialisation.
Reimplemented from Nektar::SolverUtils::Driver.
Definition at line 66 of file DriverSteadyState.cpp.
|
friend |
Definition at line 49 of file DriverSteadyState.h.
|
private |
Definition at line 124 of file DriverSteadyState.h.
Referenced by v_Execute().
|
static |
Name of the class.
Definition at line 59 of file DriverSteadyState.h.
|
staticprotected |
Definition at line 113 of file DriverSteadyState.h.
|
private |
Definition at line 125 of file DriverSteadyState.h.
Referenced by ExactFilters(), and v_Execute().
|
private |
Definition at line 126 of file DriverSteadyState.h.
Referenced by ExactFilters(), and v_Execute().
|
private |
Definition at line 127 of file DriverSteadyState.h.
Referenced by ExactFilters(), and v_Execute().
|
private |
Definition at line 128 of file DriverSteadyState.h.
Referenced by ExactFilters(), and v_Execute().
|
private |
Definition at line 131 of file DriverSteadyState.h.
Referenced by v_Execute().
|
private |
Definition at line 134 of file DriverSteadyState.h.
Referenced by v_Execute().
|
private |
Definition at line 117 of file DriverSteadyState.h.
Referenced by v_Execute().
|
private |
Definition at line 118 of file DriverSteadyState.h.
Referenced by ConvergenceHistory(), and v_Execute().
|
private |
Definition at line 121 of file DriverSteadyState.h.
Referenced by v_Execute().
|
private |
Definition at line 149 of file DriverSteadyState.h.
Referenced by ConvergenceHistory(), and v_Execute().
|
private |
Definition at line 138 of file DriverSteadyState.h.
|
private |
Definition at line 133 of file DriverSteadyState.h.
Referenced by v_Execute().
|
private |
Definition at line 137 of file DriverSteadyState.h.
|
private |
Definition at line 136 of file DriverSteadyState.h.
|
private |
Definition at line 130 of file DriverSteadyState.h.
Referenced by ConvergenceHistory(), and v_Execute().
|
private |
Definition at line 119 of file DriverSteadyState.h.
Referenced by v_Execute().
|
private |
Definition at line 120 of file DriverSteadyState.h.
Referenced by ConvergenceHistory(), and v_Execute().
|
private |
Definition at line 145 of file DriverSteadyState.h.
Referenced by v_Execute().
|
private |
Definition at line 144 of file DriverSteadyState.h.
Referenced by v_Execute().
|
private |
Definition at line 147 of file DriverSteadyState.h.
Referenced by v_Execute().
|
private |
Definition at line 142 of file DriverSteadyState.h.
Referenced by ConvergenceHistory().
|
private |
Definition at line 140 of file DriverSteadyState.h.
Referenced by ConvergenceHistory(), and v_Execute().