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

#include <ODE.hpp>

Inheritance diagram for DNDS::ODE::ImplicitEulerDualTimeStep< TDATA, TDTAU >:
[legend]
Collaboration diagram for DNDS::ODE::ImplicitEulerDualTimeStep< 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
 
- 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 >
 ImplicitEulerDualTimeStep (index NDOF, Finit &&finit=[](TDATA &) {}, FinitDtau &&finitDtau=[](TDTAU &) {})
 mind that NDOF is the dof of dt finit(TDATA& data)
 
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)
 
virtual ~ImplicitEulerDualTimeStep ()=default
 
virtual TDATA & getLatestRHS () override
 
TDATA & getRHS (int i) override
 
TDATA & getRES (int i) override
 
- Public Member Functions inherited from DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >
virtual ~ImplicitDualTimeStep ()=default
 
virtual void SetExtraParams (const nlohmann::ordered_json &j)
 

Public Attributes

TDTAU dTau
 
std::vector< TDATA > rhsbuf
 
TDATA rhs
 
TDATA resOther
 
TDATA xLast
 
TDATA xInc
 
index DOF
 

Detailed Description

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

Definition at line 38 of file ODE.hpp.

Member Typedef Documentation

◆ Fdt

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

Definition at line 43 of file ODE.hpp.

◆ Fincrement

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

Definition at line 46 of file ODE.hpp.

◆ Frhs

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

Definition at line 42 of file ODE.hpp.

◆ Fsolve

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

Definition at line 44 of file ODE.hpp.

◆ Fstop

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

Definition at line 45 of file ODE.hpp.

◆ tBase

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

Definition at line 41 of file ODE.hpp.

Constructor & Destructor Documentation

◆ ImplicitEulerDualTimeStep()

template<class TDATA , class TDTAU >
template<class Finit , class FinitDtau >
DNDS::ODE::ImplicitEulerDualTimeStep< TDATA, TDTAU >::ImplicitEulerDualTimeStep ( index  NDOF,
Finit &&  finit = [](TDATA &) {},
FinitDtau &&  finitDtau = [](TDTAU &) {} 
)
inline

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

Definition at line 61 of file ODE.hpp.

◆ ~ImplicitEulerDualTimeStep()

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

Member Function Documentation

◆ getLatestRHS()

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

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

Definition at line 106 of file ODE.hpp.

◆ getRES()

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

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

Definition at line 116 of file ODE.hpp.

◆ getRHS()

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

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

Definition at line 111 of file ODE.hpp.

◆ Step()

template<class TDATA , class TDTAU >
virtual void DNDS::ODE::ImplicitEulerDualTimeStep< 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 81 of file ODE.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ DOF

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

Definition at line 54 of file ODE.hpp.

◆ dTau

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

Definition at line 48 of file ODE.hpp.

◆ resOther

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

Definition at line 51 of file ODE.hpp.

◆ rhs

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitEulerDualTimeStep< TDATA, TDTAU >::rhs

Definition at line 50 of file ODE.hpp.

◆ rhsbuf

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

Definition at line 49 of file ODE.hpp.

◆ xInc

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitEulerDualTimeStep< TDATA, TDTAU >::xInc

Definition at line 53 of file ODE.hpp.

◆ xLast

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

Definition at line 52 of file ODE.hpp.


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