36#ifndef NEKTAR_LIB_UTILITIES_TIME_INTEGRATION_TIME_INTEGRATION_SOLUTION_GLM 
   37#define NEKTAR_LIB_UTILITIES_TIME_INTEGRATION_TIME_INTEGRATION_SOLUTION_GLM 
   39#define LUE LIB_UTILITIES_EXPORT 
   55        const size_t npoints);
 
  156        for (
size_t i = 0; i < nMultiStepVals; i++)
 
  158            if (timeLevelOffset == offsetvec[i])
 
  161                         "Solution vector is not set at this time level");
 
  165        ASSERTL1(
false, 
"The solution vector of this scheme does not contain a " 
  166                        "value at the requested time-level");
 
  175        size_t nMultiStepImplicitDerivs =
 
  180        for (
size_t i = nMultiStepVals;
 
  181             i < nMultiStepVals + nMultiStepImplicitDerivs; i++)
 
  183            if (timeLevelOffset == offsetvec[i])
 
  186                         "Implicit derivative solution vector is not set at " 
  191        ASSERTL1(
false, 
"The solution vector of this scheme does not contain a " 
  192                        "derivative at the requested time-level");
 
  201        size_t nMultiStepImplicitDerivs =
 
  207        for (
size_t i = nMultiStepVals + nMultiStepImplicitDerivs; i < size;
 
  210            if (timeLevelOffset == offsetvec[i])
 
  213                         "Explicit derivative solution vector is not set at " 
  218        ASSERTL1(
false, 
"The solution vector of this scheme does not contain a " 
  219                        "derivative at the requested time-level");
 
  231        for (
size_t i = 0; i < nMultiStepVals; i++)
 
  233            if (timeLevelOffset == offsetvec[i])
 
  238        ASSERTL1(
false, 
"The solution vector of this scheme does not contain a " 
  239                        "value at the requested time-level");
 
  252        for (
size_t i = 0; i < nMultiStepVals; i++)
 
  254            if (timeLevelOffset == offsetvec[i])
 
  272        size_t nMultiStepImplicitDerivs =
 
  277        for (
size_t i = nMultiStepVals;
 
  278             i < nMultiStepVals + nMultiStepImplicitDerivs; i++)
 
  280            if (timeLevelOffset == offsetvec[i])
 
  298        size_t nMultiStepImplicitDerivs =
 
  304        for (
size_t i = nMultiStepVals + nMultiStepImplicitDerivs; i < size;
 
  307            if (timeLevelOffset == offsetvec[i])
 
  322        size_t nMultiStepImpDerivs =
 
  325        for (
size_t i = (nMultiStepVals - 1); i > 0; i--)
 
  331        for (
size_t i = (nMultiStepVals + nMultiStepImpDerivs - 1);
 
  332             i > nMultiStepVals; i--)
 
  338        for (
size_t i = (size - 1); i > nMultiStepVals + nMultiStepImpDerivs;
 
#define ASSERTL0(condition, msg)
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....
size_t GetNmultiStepExplicitDerivs() const
size_t GetNmultiStepImplicitDerivs() const
size_t GetNmultiStepValues() const
const Array< OneD, const size_t > & GetTimeLevelOffset() const
const Array< OneD, const NekDouble > & GetTimeVector() const
size_t GetSecondDim() const
const TimeIntegrationAlgorithmGLM * GetIntegrationSchemeData() const
NekDouble GetTime() const
void SetExplicitDerivative(const size_t timeLevelOffset, const DoubleArray &y, const NekDouble timestep)
const TripleArray & GetSolutionVector() const
LUE TimeIntegrationSolutionGLM(const TimeIntegrationAlgorithmGLM *schemeAlgorithm, const DoubleArray &y, const NekDouble time, const NekDouble timestep)
Array< OneD, NekDouble > m_t
void SetSolutionVector(const size_t Offset, const DoubleArray &y)
void RotateSolutionVector()
void SetImplicitDerivative(const size_t timeLevelOffset, const DoubleArray &y, const NekDouble timestep)
const Array< OneD, const size_t > & GetTimeLevelOffset()
void SetValue(const size_t timeLevelOffset, const DoubleArray &y, const NekDouble t)
Array< OneD, NekDouble > & UpdateTimeVector()
NekDouble GetValueTime(const size_t timeLevelOffset)
DoubleArray & UpdateSolution()
size_t GetNexplicitderivs() const
DoubleArray & GetExplicitDerivative(const size_t timeLevelOffset)
const TimeIntegrationAlgorithmGLM * m_schemeAlgorithm
size_t GetNimplicitderivs() const
size_t GetNvalues() const
DoubleArray & GetValue(const size_t timeLevelOffset)
DoubleArray & GetImplicitDerivative(const size_t timeLevelOffset)
Array< OneD, bool > m_setflag
const DoubleArray & GetSolution() const
TripleArray & UpdateSolutionVector()
size_t GetFirstDim() const