#include <TimeIntegrationScheme.h>
|
| TimeIntegrationSolution (const TimeIntegrationSchemeKey &key, const DoubleArray &y, const NekDouble time, const NekDouble timestep) |
|
| TimeIntegrationSolution (const TimeIntegrationSchemeKey &key, const TripleArray &y, const Array< OneD, NekDouble > &t) |
|
| TimeIntegrationSolution (const TimeIntegrationSchemeKey &key, unsigned int nvar, unsigned int npoints) |
|
| TimeIntegrationSolution (const TimeIntegrationSchemeKey &key) |
|
const TimeIntegrationSchemeSharedPtr & | GetIntegrationScheme () const |
|
const TimeIntegrationSchemeKey & | GetIntegrationSchemeKey () const |
|
TimeIntegrationMethod | GetIntegrationMethod () const |
|
const TripleArray & | GetSolutionVector () const |
|
TripleArray & | UpdateSolutionVector () |
|
const DoubleArray & | GetSolution () const |
|
DoubleArray & | UpdateSolution () |
|
const Array< OneD, const NekDouble > & | GetTimeVector () const |
|
Array< OneD, NekDouble > & | UpdateTimeVector () |
|
NekDouble | GetTime () const |
|
int | GetNsteps () |
|
int | GetFirstDim () const |
|
int | GetSecondDim () const |
|
unsigned int | GetNvalues (void) const |
|
unsigned int | GetNderivs (void) const |
|
const Array< OneD, const unsigned int > & | GetTimeLevelOffset () |
|
DoubleArray & | GetValue (const unsigned int timeLevelOffset) |
|
DoubleArray & | GetDerivative (const unsigned int timeLevelOffset) |
|
NekDouble | GetValueTime (const unsigned int timeLevelOffset) |
|
void | SetValue (const unsigned int timeLevelOffset, const DoubleArray &y, const NekDouble t) |
|
void | SetDerivative (const unsigned int timeLevelOffset, const DoubleArray &y, const NekDouble timestep) |
|
void | SetSolVector (const int Offset, const DoubleArray &y) |
|
void | RotateSolutionVector () |
|
Definition at line 637 of file TimeIntegrationScheme.h.
◆ DoubleArray
◆ TripleArray
◆ TimeIntegrationSolution() [1/4]
Definition at line 74 of file TimeIntegrationScheme.cpp.
References GetTimeLevelOffset(), m_scheme, m_solVector, and m_t.
86 int nvar = y.num_elements();
87 int npoints = y[0].num_elements();
88 int nMultiStepVals =
m_scheme->GetNmultiStepValues();
90 for(
int i = 1; i < nsteps; i++)
92 m_solVector[i] = Array<OneD, Array<OneD, NekDouble> >(nvar);
93 for(
int j = 0; j < nvar; j++)
95 m_solVector[i][j] = Array<OneD,NekDouble>(npoints,0.0);
97 if(i < nMultiStepVals)
99 m_t[i] = time - i*timestep*timeLevels[i];
TimeIntegrationSchemeManagerT & TimeIntegrationSchemeManager(void)
TimeIntegrationSchemeSharedPtr m_scheme
Array< OneD, NekDouble > m_t
const Array< OneD, const unsigned int > & GetTimeLevelOffset()
◆ TimeIntegrationSolution() [2/4]
Definition at line 108 of file TimeIntegrationScheme.cpp.
References ASSERTL1, and m_scheme.
115 ASSERTL1(y.num_elements()==
m_scheme->GetNsteps(),
"Amount of Entries does not match number of (multi-) steps");
TimeIntegrationSchemeManagerT & TimeIntegrationSchemeManager(void)
TimeIntegrationSchemeSharedPtr m_scheme
Array< OneD, NekDouble > m_t
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
◆ TimeIntegrationSolution() [3/4]
Nektar::LibUtilities::TimeIntegrationSolution::TimeIntegrationSolution |
( |
const TimeIntegrationSchemeKey & |
key, |
|
|
unsigned int |
nvar, |
|
|
unsigned int |
npoints |
|
) |
| |
Definition at line 118 of file TimeIntegrationScheme.cpp.
References m_scheme, and m_solVector.
125 for(
int i = 0; i <
m_scheme->GetNsteps(); i++)
127 m_solVector[i] = Array<OneD, Array<OneD, NekDouble> >(nvar);
128 for(
int j = 0; j < nvar; j++)
130 m_solVector[i][j] = Array<OneD,NekDouble>(npoints);
TimeIntegrationSchemeManagerT & TimeIntegrationSchemeManager(void)
TimeIntegrationSchemeSharedPtr m_scheme
Array< OneD, NekDouble > m_t
◆ TimeIntegrationSolution() [4/4]
Definition at line 135 of file TimeIntegrationScheme.cpp.
TimeIntegrationSchemeManagerT & TimeIntegrationSchemeManager(void)
TimeIntegrationSchemeSharedPtr m_scheme
Array< OneD, NekDouble > m_t
◆ GetDerivative()
DoubleArray& Nektar::LibUtilities::TimeIntegrationSolution::GetDerivative |
( |
const unsigned int |
timeLevelOffset | ) |
|
|
inline |
Definition at line 763 of file TimeIntegrationScheme.h.
References ASSERTL1.
765 int nMultiStepVals =
m_scheme->GetNmultiStepValues();
769 for(
int i = nMultiStepVals; i < size; i++)
771 if( timeLevelOffset == offsetvec[i] )
776 ASSERTL1(
false,
"The solution vector of this scheme does not contain a derivative at the requested time-level");
TimeIntegrationSchemeSharedPtr m_scheme
const Array< OneD, const unsigned int > & GetTimeLevelOffset()
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
◆ GetFirstDim()
int Nektar::LibUtilities::TimeIntegrationSolution::GetFirstDim |
( |
| ) |
const |
|
inline |
◆ GetIntegrationMethod()
◆ GetIntegrationScheme()
◆ GetIntegrationSchemeKey()
◆ GetNderivs()
unsigned int Nektar::LibUtilities::TimeIntegrationSolution::GetNderivs |
( |
void |
| ) |
const |
|
inline |
◆ GetNsteps()
int Nektar::LibUtilities::TimeIntegrationSolution::GetNsteps |
( |
void |
| ) |
|
|
inline |
◆ GetNvalues()
unsigned int Nektar::LibUtilities::TimeIntegrationSolution::GetNvalues |
( |
void |
| ) |
const |
|
inline |
◆ GetSecondDim()
int Nektar::LibUtilities::TimeIntegrationSolution::GetSecondDim |
( |
| ) |
const |
|
inline |
◆ GetSolution()
const DoubleArray& Nektar::LibUtilities::TimeIntegrationSolution::GetSolution |
( |
| ) |
const |
|
inline |
◆ GetSolutionVector()
const TripleArray& Nektar::LibUtilities::TimeIntegrationSolution::GetSolutionVector |
( |
| ) |
const |
|
inline |
◆ GetTime()
NekDouble Nektar::LibUtilities::TimeIntegrationSolution::GetTime |
( |
| ) |
const |
|
inline |
◆ GetTimeLevelOffset()
const Array<OneD, const unsigned int>& Nektar::LibUtilities::TimeIntegrationSolution::GetTimeLevelOffset |
( |
| ) |
|
|
inline |
◆ GetTimeVector()
const Array<OneD, const NekDouble>& Nektar::LibUtilities::TimeIntegrationSolution::GetTimeVector |
( |
| ) |
const |
|
inline |
◆ GetValue()
DoubleArray& Nektar::LibUtilities::TimeIntegrationSolution::GetValue |
( |
const unsigned int |
timeLevelOffset | ) |
|
|
inline |
Definition at line 745 of file TimeIntegrationScheme.h.
References ASSERTL1.
747 int nMultiStepVals =
m_scheme->GetNmultiStepValues();
750 for(
int i = 0; i < nMultiStepVals; i++)
752 if( timeLevelOffset == offsetvec[i] )
757 ASSERTL1(
false,
"The solution vector of this scheme does not contain a value at the requested time-level");
TimeIntegrationSchemeSharedPtr m_scheme
const Array< OneD, const unsigned int > & GetTimeLevelOffset()
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
◆ GetValueTime()
NekDouble Nektar::LibUtilities::TimeIntegrationSolution::GetValueTime |
( |
const unsigned int |
timeLevelOffset | ) |
|
|
inline |
Definition at line 782 of file TimeIntegrationScheme.h.
References ASSERTL1.
784 int nMultiStepVals =
m_scheme->GetNmultiStepValues();
787 for(
int i = 0; i < nMultiStepVals; i++)
789 if( timeLevelOffset == offsetvec[i] )
794 ASSERTL1(
false,
"The solution vector of this scheme does not contain a value at the requested time-level");
TimeIntegrationSchemeSharedPtr m_scheme
Array< OneD, NekDouble > m_t
const Array< OneD, const unsigned int > & GetTimeLevelOffset()
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
◆ RotateSolutionVector()
void Nektar::LibUtilities::TimeIntegrationSolution::RotateSolutionVector |
( |
| ) |
|
|
inline |
Definition at line 845 of file TimeIntegrationScheme.h.
848 int nMultiStepVals =
m_scheme->GetNmultiStepValues();
850 for(i = (nMultiStepVals-1); i > 0; i--)
855 for(i = (size-1); i > nMultiStepVals; i--)
TimeIntegrationSchemeSharedPtr m_scheme
◆ SetDerivative()
void Nektar::LibUtilities::TimeIntegrationSolution::SetDerivative |
( |
const unsigned int |
timeLevelOffset, |
|
|
const DoubleArray & |
y, |
|
|
const NekDouble |
timestep |
|
) |
| |
|
inline |
Definition at line 820 of file TimeIntegrationScheme.h.
822 int nMultiStepVals =
m_scheme->GetNmultiStepValues();
826 for(
int i = nMultiStepVals; i < size; i++)
828 if( timeLevelOffset == offsetvec[i] )
TimeIntegrationSchemeSharedPtr m_scheme
Array< OneD, NekDouble > m_t
const Array< OneD, const unsigned int > & GetTimeLevelOffset()
◆ SetSolVector()
void Nektar::LibUtilities::TimeIntegrationSolution::SetSolVector |
( |
const int |
Offset, |
|
|
const DoubleArray & |
y |
|
) |
| |
|
inline |
◆ SetValue()
void Nektar::LibUtilities::TimeIntegrationSolution::SetValue |
( |
const unsigned int |
timeLevelOffset, |
|
|
const DoubleArray & |
y, |
|
|
const NekDouble |
t |
|
) |
| |
|
inline |
Definition at line 801 of file TimeIntegrationScheme.h.
803 int nMultiStepVals =
m_scheme->GetNmultiStepValues();
806 for(
int i = 0; i < nMultiStepVals; i++)
808 if( timeLevelOffset == offsetvec[i] )
TimeIntegrationSchemeSharedPtr m_scheme
Array< OneD, NekDouble > m_t
const Array< OneD, const unsigned int > & GetTimeLevelOffset()
◆ UpdateSolution()
DoubleArray& Nektar::LibUtilities::TimeIntegrationSolution::UpdateSolution |
( |
| ) |
|
|
inline |
◆ UpdateSolutionVector()
TripleArray& Nektar::LibUtilities::TimeIntegrationSolution::UpdateSolutionVector |
( |
| ) |
|
|
inline |
◆ UpdateTimeVector()
Array<OneD, NekDouble>& Nektar::LibUtilities::TimeIntegrationSolution::UpdateTimeVector |
( |
| ) |
|
|
inline |
◆ m_scheme
◆ m_solVector
TripleArray Nektar::LibUtilities::TimeIntegrationSolution::m_solVector |
|
private |
◆ m_t