Grid 0.7.0
MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type > Class Template Reference

#include <BiCGSTABMixedPrec.h>

Inheritance diagram for MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >:
LinearFunction< FieldD >

Public Member Functions

 MixedPrecisionBiCGSTAB (RealD tol, Integer maxinnerit, Integer maxouterit, GridBase *_sp_grid, LinearOperatorBase< FieldF > &_Linop_f, LinearOperatorBase< FieldD > &_Linop_d)
void useGuesser (LinearFunction< FieldF > &g)
void operator() (const FieldD &src_d_in, FieldD &sol_d)

Data Fields

RealD Tolerance
RealD InnerTolerance
Integer MaxInnerIterations
Integer MaxOuterIterations
GridBaseSinglePrecGrid
RealD OuterLoopNormMult
LinearOperatorBase< FieldF > & Linop_f
LinearOperatorBase< FieldD > & Linop_d
Integer TotalInnerIterations
Integer TotalOuterIterations
Integer TotalFinalStepIterations
LinearFunction< FieldF > * guesser

Detailed Description

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
class MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >

Definition at line 37 of file BiCGSTABMixedPrec.h.

Constructor & Destructor Documentation

◆ MixedPrecisionBiCGSTAB()

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::MixedPrecisionBiCGSTAB ( RealD tol,
Integer maxinnerit,
Integer maxouterit,
GridBase * _sp_grid,
LinearOperatorBase< FieldF > & _Linop_f,
LinearOperatorBase< FieldD > & _Linop_d )
inline

Member Function Documentation

◆ useGuesser()

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
void MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::useGuesser ( LinearFunction< FieldF > & g)
inline

Definition at line 62 of file BiCGSTABMixedPrec.h.

References guesser.

◆ operator()()

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
void MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::operator() ( const FieldD & src_d_in,
FieldD & sol_d )
inlinevirtual

Field Documentation

◆ Tolerance

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
RealD MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::Tolerance

Definition at line 41 of file BiCGSTABMixedPrec.h.

Referenced by MixedPrecisionBiCGSTAB(), and operator()().

◆ InnerTolerance

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
RealD MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::InnerTolerance

Definition at line 42 of file BiCGSTABMixedPrec.h.

Referenced by MixedPrecisionBiCGSTAB(), and operator()().

◆ MaxInnerIterations

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
Integer MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::MaxInnerIterations

Definition at line 43 of file BiCGSTABMixedPrec.h.

Referenced by MixedPrecisionBiCGSTAB(), and operator()().

◆ MaxOuterIterations

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
Integer MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::MaxOuterIterations

Definition at line 44 of file BiCGSTABMixedPrec.h.

Referenced by MixedPrecisionBiCGSTAB(), and operator()().

◆ SinglePrecGrid

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
GridBase* MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::SinglePrecGrid

Definition at line 45 of file BiCGSTABMixedPrec.h.

Referenced by MixedPrecisionBiCGSTAB(), and operator()().

◆ OuterLoopNormMult

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
RealD MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::OuterLoopNormMult

Definition at line 46 of file BiCGSTABMixedPrec.h.

Referenced by MixedPrecisionBiCGSTAB(), and operator()().

◆ Linop_f

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
LinearOperatorBase<FieldF>& MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::Linop_f

Definition at line 47 of file BiCGSTABMixedPrec.h.

Referenced by MixedPrecisionBiCGSTAB(), and operator()().

◆ Linop_d

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
LinearOperatorBase<FieldD>& MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::Linop_d

Definition at line 48 of file BiCGSTABMixedPrec.h.

Referenced by MixedPrecisionBiCGSTAB(), and operator()().

◆ TotalInnerIterations

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
Integer MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::TotalInnerIterations

Definition at line 50 of file BiCGSTABMixedPrec.h.

Referenced by operator()().

◆ TotalOuterIterations

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
Integer MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::TotalOuterIterations

Definition at line 51 of file BiCGSTABMixedPrec.h.

Referenced by operator()().

◆ TotalFinalStepIterations

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
Integer MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::TotalFinalStepIterations

Definition at line 52 of file BiCGSTABMixedPrec.h.

Referenced by operator()().

◆ guesser

template<class FieldD, class FieldF, typename std::enable_if< getPrecision< FieldD >::value==2, int >::type = 0, typename std::enable_if< getPrecision< FieldF >::value==1, int >::type = 0>
LinearFunction<FieldF>* MixedPrecisionBiCGSTAB< FieldD, FieldF, type, type >::guesser

Definition at line 55 of file BiCGSTABMixedPrec.h.

Referenced by MixedPrecisionBiCGSTAB(), operator()(), and useGuesser().


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