DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU > Class Template Reference

#include <ODE.hpp>

Inheritance diagram for DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >:
[legend]
Collaboration diagram for DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >:
[legend]

Public Types

using tBase = ImplicitDualTimeStep< TDATA, TDTAU >
 
using Frhs = typename tBase::Frhs
 
using Fdt = typename tBase::Fdt
 
using Fsolve = typename tBase::Fsolve
 
using Fstop = typename tBase::Fstop
 
using Fincrement = typename tBase::Fincrement
 
using FsolveNest = std::function< void(TDATA &, TDATA &, TDATA &, TDTAU &, const std::vector< real > &, real, real, TDATA &, int, int)>
 
- Public Types inherited from DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >
using Frhs = std::function< void(TDATA &, TDATA &, TDTAU &, int, real, int)>
 
using Fdt = std::function< void(TDATA &, TDTAU &, real, int)>
 
using Fsolve = std::function< void(TDATA &, TDATA &, TDATA &, TDTAU &, real, real, TDATA &, int, real, int)>
 
using Fstop = std::function< bool(int, TDATA &, int)>
 
using Fincrement = std::function< void(TDATA &, TDATA &, real, int)>
 

Public Member Functions

template<class Finit , class FinitDtau >
 ImplicitHermite3SimpleJacobianDualStep (index NDOF, Finit &&finit=[](TDATA &) {}, FinitDtau &&finitDtau=[](TDTAU &) {}, real alpha=0.55, int nCurSolveMethod=0, int nnStartIter=0, real thetaM1n=0.9146, real thetaM2n=0.0, int mask=0, int nMGn=4)
 mind that NDOF is the dof of dt finit(TDATA& data)
 
virtual void SetExtraParams (const nlohmann::ordered_json &j) override
 
void SetCoefs (real hR1=1)
 
virtual void Step (TDATA &x, TDATA &xinc, const Frhs &frhs, const Fdt &fdt, const Fsolve &fsolve, int maxIter, const Fstop &fstop, const Fincrement &fincrement, real dt) override
 frhs(TDATA &rhs, TDATA &x) fdt(TDTAU& dTau) fsolve(TDATA &x, TDATA &rhs, TDTAU& dTau, real dt, real alphaDiag, TDATA &xinc) bool fstop(int iter, TDATA &xinc, int iInternal)
 
void StepNested (TDATA &x, TDATA &xinc, const Frhs &frhs, const Fdt &fdt, const Fsolve &fsolve, const FsolveNest &fsolveN, int maxIter, const Fstop &fstop, const Fincrement &fincrement, real dt)
 
virtual TDATA & getLatestRHS () override
 
TDATA & getRHS (int i) override
 
TDATA & getRES (int i) override
 
virtual ~ImplicitHermite3SimpleJacobianDualStep ()=default
 
- Public Member Functions inherited from DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >
virtual ~ImplicitDualTimeStep ()=default
 

Public Attributes

TDTAU dTau
 
TDTAU dTauMid
 
TDATA xMid
 
TDATA rhsMid
 
TDATA rhsFull
 
TDATA resOther
 
std::vector< TDATA > rhsbuf
 
TDATA xLast
 
TDATA xMG0
 
TDATA xMG
 
TDATA xIncPrev
 
index DOF
 
index cnPrev
 
TDATA xIncDamper
 
TDATA xIncDamper2
 
Eigen::Vector< real, 4 > cInter
 
Eigen::Vector< real, 3 > wInteg
 
int curSolveMethod = 0
 
int nStartIter = 0
 
real thetaM1 = 0.9146
 
real thetaM2 = 0.0
 
real thetaMMG = 1.0
 
real coefIncMidMG = 1.0
 
real alphaHM3 = 0.5
 
int maskHM3 = 0
 
int maskHM3Exe = 0
 
int nMG = 0
 
TDATA xPrev
 
real dtPrev = 0
 
int prevSize = 0
 

Detailed Description

template<class TDATA, class TDTAU>
class DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >

Definition at line 917 of file ODE.hpp.

Member Typedef Documentation

◆ Fdt

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::Fdt = typename tBase::Fdt

Definition at line 924 of file ODE.hpp.

◆ Fincrement

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::Fincrement = typename tBase::Fincrement

Definition at line 927 of file ODE.hpp.

◆ Frhs

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::Frhs = typename tBase::Frhs

Definition at line 923 of file ODE.hpp.

◆ Fsolve

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::Fsolve = typename tBase::Fsolve

Definition at line 925 of file ODE.hpp.

◆ FsolveNest

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::FsolveNest = std::function<void( TDATA &, TDATA &, TDATA &, TDTAU &, const std::vector<real> &, real, real, TDATA &, int, int)>

Definition at line 928 of file ODE.hpp.

◆ Fstop

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::Fstop = typename tBase::Fstop

Definition at line 926 of file ODE.hpp.

◆ tBase

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::tBase = ImplicitDualTimeStep<TDATA, TDTAU>

Definition at line 922 of file ODE.hpp.

Constructor & Destructor Documentation

◆ ImplicitHermite3SimpleJacobianDualStep()

template<class TDATA , class TDTAU >
template<class Finit , class FinitDtau >
DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::ImplicitHermite3SimpleJacobianDualStep ( index  NDOF,
Finit &&  finit = [](TDATA &) {},
FinitDtau &&  finitDtau = [](TDTAU &) {},
real  alpha = 0.55,
int  nCurSolveMethod = 0,
int  nnStartIter = 0,
real  thetaM1n = 0.9146,
real  thetaM2n = 0.0,
int  mask = 0,
int  nMGn = 4 
)
inline

mind that NDOF is the dof of dt finit(TDATA& data)

Definition at line 966 of file ODE.hpp.

◆ ~ImplicitHermite3SimpleJacobianDualStep()

template<class TDATA , class TDTAU >
virtual DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::~ImplicitHermite3SimpleJacobianDualStep ( )
virtualdefault

Member Function Documentation

◆ getLatestRHS()

template<class TDATA , class TDTAU >
virtual TDATA & DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::getLatestRHS ( )
inlineoverridevirtual

Implements DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >.

Definition at line 1409 of file ODE.hpp.

◆ getRES()

template<class TDATA , class TDTAU >
TDATA & DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::getRES ( int  i)
inlineoverridevirtual

Implements DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >.

Definition at line 1421 of file ODE.hpp.

◆ getRHS()

template<class TDATA , class TDTAU >
TDATA & DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::getRHS ( int  i)
inlineoverridevirtual

Implements DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >.

Definition at line 1414 of file ODE.hpp.

◆ SetCoefs()

template<class TDATA , class TDTAU >
void DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::SetCoefs ( real  hR1 = 1)
inline

Definition at line 1029 of file ODE.hpp.

Here is the caller graph for this function:

◆ SetExtraParams()

template<class TDATA , class TDTAU >
virtual void DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::SetExtraParams ( const nlohmann::ordered_json &  j)
inlineoverridevirtual

Reimplemented from DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >.

Definition at line 1003 of file ODE.hpp.

◆ Step()

template<class TDATA , class TDTAU >
virtual void DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::Step ( TDATA &  x,
TDATA &  xinc,
const Frhs frhs,
const Fdt fdt,
const Fsolve fsolve,
int  maxIter,
const Fstop fstop,
const Fincrement fincrement,
real  dt 
)
inlineoverridevirtual

frhs(TDATA &rhs, TDATA &x) fdt(TDTAU& dTau) fsolve(TDATA &x, TDATA &rhs, TDTAU& dTau, real dt, real alphaDiag, TDATA &xinc) bool fstop(int iter, TDATA &xinc, int iInternal)

Implements DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >.

Definition at line 1092 of file ODE.hpp.

Here is the call graph for this function:

◆ StepNested()

template<class TDATA , class TDTAU >
void DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::StepNested ( TDATA &  x,
TDATA &  xinc,
const Frhs frhs,
const Fdt fdt,
const Fsolve fsolve,
const FsolveNest fsolveN,
int  maxIter,
const Fstop fstop,
const Fincrement fincrement,
real  dt 
)
inline

Definition at line 1301 of file ODE.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ alphaHM3

template<class TDATA , class TDTAU >
real DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::alphaHM3 = 0.5

Definition at line 951 of file ODE.hpp.

◆ cInter

template<class TDATA , class TDTAU >
Eigen::Vector<real, 4> DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::cInter

Definition at line 943 of file ODE.hpp.

◆ cnPrev

template<class TDATA , class TDTAU >
index DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::cnPrev

Definition at line 939 of file ODE.hpp.

◆ coefIncMidMG

template<class TDATA , class TDTAU >
real DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::coefIncMidMG = 1.0

Definition at line 950 of file ODE.hpp.

◆ curSolveMethod

template<class TDATA , class TDTAU >
int DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::curSolveMethod = 0

Definition at line 945 of file ODE.hpp.

◆ DOF

template<class TDATA , class TDTAU >
index DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::DOF

Definition at line 938 of file ODE.hpp.

◆ dTau

template<class TDATA , class TDTAU >
TDTAU DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::dTau

Definition at line 933 of file ODE.hpp.

◆ dTauMid

template<class TDATA , class TDTAU >
TDTAU DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::dTauMid

Definition at line 933 of file ODE.hpp.

◆ dtPrev

template<class TDATA , class TDTAU >
real DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::dtPrev = 0

Definition at line 958 of file ODE.hpp.

◆ maskHM3

template<class TDATA , class TDTAU >
int DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::maskHM3 = 0

Definition at line 952 of file ODE.hpp.

◆ maskHM3Exe

template<class TDATA , class TDTAU >
int DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::maskHM3Exe = 0

Definition at line 953 of file ODE.hpp.

◆ nMG

template<class TDATA , class TDTAU >
int DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::nMG = 0

Definition at line 955 of file ODE.hpp.

◆ nStartIter

template<class TDATA , class TDTAU >
int DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::nStartIter = 0

Definition at line 946 of file ODE.hpp.

◆ prevSize

template<class TDATA , class TDTAU >
int DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::prevSize = 0

Definition at line 959 of file ODE.hpp.

◆ resOther

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::resOther

Definition at line 934 of file ODE.hpp.

◆ rhsbuf

template<class TDATA , class TDTAU >
std::vector<TDATA> DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::rhsbuf

Definition at line 935 of file ODE.hpp.

◆ rhsFull

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::rhsFull

Definition at line 934 of file ODE.hpp.

◆ rhsMid

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::rhsMid

Definition at line 934 of file ODE.hpp.

◆ thetaM1

template<class TDATA , class TDTAU >
real DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::thetaM1 = 0.9146

Definition at line 947 of file ODE.hpp.

◆ thetaM2

template<class TDATA , class TDTAU >
real DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::thetaM2 = 0.0

Definition at line 948 of file ODE.hpp.

◆ thetaMMG

template<class TDATA , class TDTAU >
real DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::thetaMMG = 1.0

Definition at line 949 of file ODE.hpp.

◆ wInteg

template<class TDATA , class TDTAU >
Eigen::Vector<real, 3> DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::wInteg

Definition at line 944 of file ODE.hpp.

◆ xIncDamper

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::xIncDamper

Definition at line 940 of file ODE.hpp.

◆ xIncDamper2

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::xIncDamper2

Definition at line 941 of file ODE.hpp.

◆ xIncPrev

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::xIncPrev

Definition at line 937 of file ODE.hpp.

◆ xLast

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::xLast

Definition at line 936 of file ODE.hpp.

◆ xMG

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::xMG

Definition at line 936 of file ODE.hpp.

◆ xMG0

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::xMG0

Definition at line 936 of file ODE.hpp.

◆ xMid

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::xMid

Definition at line 934 of file ODE.hpp.

◆ xPrev

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitHermite3SimpleJacobianDualStep< TDATA, TDTAU >::xPrev

Definition at line 957 of file ODE.hpp.


The documentation for this class was generated from the following file: