OpenLB 1.7
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
olb::GenericF< T, S > Class Template Referenceabstract

GenericF is a base class, that can represent continuous as well as discrete functions. More...

#include <genericF.h>

+ Inheritance diagram for olb::GenericF< T, S >:
+ Collaboration diagram for olb::GenericF< T, S >:

Public Types

using targetType = T
 
using sourceType = S
 

Public Member Functions

virtual ~GenericF ()=default
 
int getSourceDim () const
 read only access to member variable _m
 
int getTargetDim () const
 read only access to member variable _n
 
std::string & getName ()
 read and write access to name
 
std::string const & getName () const
 read only access to name
 
virtual bool operator() (T output[], const S input[])=0
 has to be implemented for 'every' derived class
 
bool operator() (T output[])
 wrapper that call the pure virtual operator() (T output[], const S input[]) from above
 
bool operator() (T output[], S input0)
 
bool operator() (T output[], S input0, S input1)
 
bool operator() (T output[], S input0, S input1, S input2)
 
bool operator() (T output[], S input0, S input1, S input2, S input3)
 

Public Attributes

std::shared_ptr< GenericF< T, S > > _ptrCalcC
 memory management, frees resouces (calcClass)
 

Protected Member Functions

 GenericF (int targetDim, int sourceDim)
 

Detailed Description

template<typename T, typename S>
class olb::GenericF< T, S >

GenericF is a base class, that can represent continuous as well as discrete functions.

Please take care about the source and target dimensions in the constructor. F: S^m -> T^n (S=source, T=target)

Parameters
_msource dimension
_ntarget dimension
_nameis functor name e.g. velocity, pressure
_ptrCalcCstores arithmeticClasses

Definition at line 50 of file genericF.h.

Member Typedef Documentation

◆ sourceType

template<typename T , typename S >
using olb::GenericF< T, S >::sourceType = S

Definition at line 67 of file genericF.h.

◆ targetType

template<typename T , typename S >
using olb::GenericF< T, S >::targetType = T

Definition at line 66 of file genericF.h.

Constructor & Destructor Documentation

◆ GenericF()

template<typename T , typename S >
olb::GenericF< T, S >::GenericF ( int targetDim,
int sourceDim )
inlineprotected

Definition at line 53 of file genericF.h.

53 :
54 _n(targetDim), _m(sourceDim) { };

◆ ~GenericF()

template<typename T , typename S >
virtual olb::GenericF< T, S >::~GenericF ( )
virtualdefault

Member Function Documentation

◆ getName() [1/2]

template<typename T , typename S >
std::string & olb::GenericF< T, S >::getName ( )

read and write access to name

Definition at line 51 of file genericF.hh.

52{
53 return _name;
54}

◆ getName() [2/2]

template<typename T , typename S >
std::string const & olb::GenericF< T, S >::getName ( ) const

read only access to name

Definition at line 57 of file genericF.hh.

58{
59 return _name;
60}

◆ getSourceDim()

template<typename T , typename S >
int olb::GenericF< T, S >::getSourceDim ( ) const

read only access to member variable _m

Definition at line 39 of file genericF.hh.

40{
41 return _m;
42}
+ Here is the caller graph for this function:

◆ getTargetDim()

template<typename T , typename S >
int olb::GenericF< T, S >::getTargetDim ( ) const

read only access to member variable _n

Definition at line 45 of file genericF.hh.

46{
47 return _n;
48}
+ Here is the caller graph for this function:

◆ operator()() [1/6]

template<typename T , typename S >
bool olb::GenericF< T, S >::operator() ( T output[])

wrapper that call the pure virtual operator() (T output[], const S input[]) from above

Definition at line 63 of file genericF.hh.

64{
65 S tmp[0];
66 return operator()(output,tmp);
67}
virtual bool operator()(T output[], const S input[])=0
has to be implemented for 'every' derived class

◆ operator()() [2/6]

template<typename T , typename S >
virtual bool olb::GenericF< T, S >::operator() ( T output[],
const S input[] )
pure virtual

has to be implemented for 'every' derived class

Implemented in olb::IndicatorCuboidRotate3D< S >, olb::IndicatorF2DfromIndicatorF3D< S >, olb::IndicatorCuboid2D< S >, olb::IndicatorCircle2D< S >, olb::IndicatorTriangle2D< S >, olb::IndicatorEquiTriangle2D< S >, olb::IndicatorLayer2D< S >, olb::IndicatorTranslate3D< S >, olb::IndicatorCircle3D< S >, olb::IndicatorLayer3D< S >, olb::IndicatorInternal3D< S >, olb::IndicatorCylinder3D< S >, olb::IndicatorCone3D< S >, olb::IndicatorSuperEllipsoid3D< S >, olb::IndicatorCuboid3D< S >, olb::IndicatorBlockData3D< S >, olb::IndicPlus1D< S >, olb::IndicMinus1D< S >, olb::IndicMultiplication1D< S >, olb::BlockExtractComponentF2D< T >, olb::BlockExtractIndicatorF2D< T >, olb::BlockExtractComponentF3D< T >, olb::BlockExtractIndicatorF3D< T >, olb::BlockTypecastF3D< T, T2 >, olb::BlockDiscretizationF2D< T >, olb::BlockDiscretizationF3D< T >, olb::BlockRoundingF2D< T >, olb::BlockRoundingF3D< T >, olb::BlockLatticeExternalVelocity3D< T, DESCRIPTOR >, olb::BlockLatticeField2D< T, DESCRIPTOR, FIELD >, olb::BlockLatticePhysCroppedPermeability3D< T, DESCRIPTOR >, olb::BlockLatticePhysDarcyForce3D< T, DESCRIPTOR >, olb::BlockLatticePhysExternalParticleVelocity2D< T, DESCRIPTOR >, olb::BlockLatticePhysExternalParticleVelocity3D< T, DESCRIPTOR >, olb::BlockLatticePhysExternalVelocity2D< T, DESCRIPTOR >, olb::BlockLatticePhysExternalVelocity3D< T, DESCRIPTOR >, olb::BlockLatticePhysExternalZeta2D< T, DESCRIPTOR >, olb::BlockLatticePhysPermeability3D< T, DESCRIPTOR >, olb::BlockLatticePhysShearRateMag3D< T, DESCRIPTOR >, olb::BlockLatticePorosity3D< T, DESCRIPTOR >, olb::BlockLatticeStrainRate2D< T, DESCRIPTOR >, olb::BlockLatticeThermalComfort3D< T, DESCRIPTOR, TDESCRIPTOR >, olb::BlockLatticeVolumeFractionApproximation2D< T, DESCRIPTOR >, olb::BlockLatticeVolumeFractionApproximation3D< T, DESCRIPTOR >, olb::BlockLatticeVolumeFractionPolygonApproximation2D< T, DESCRIPTOR >, olb::BlockLatticeVelocityGradientFD3D< T, DESCRIPTOR >, olb::BlockLatticeExternalVelocityGradientFD3D< T, DESCRIPTOR >, olb::BlockLatticeStrainRateFD3D< T, DESCRIPTOR >, olb::BlockLatticePhysStrainRateFD3D< T, DESCRIPTOR >, olb::BlockLatticeDissipationFD3D< T, DESCRIPTOR >, olb::BlockLatticeVorticityFD3D< T, DESCRIPTOR >, olb::BlockLatticePhysVorticityFD3D< T, DESCRIPTOR >, olb::BlockLatticePhysEnstrophyFD3D< T, DESCRIPTOR >, olb::BlockLatticePhysStressFD3D< T, DESCRIPTOR >, olb::BlockIsotropicHomogeneousTKE3D< T, DESCRIPTOR >, olb::opti::BlockLatticeDphysDissipationDf3D< T, DESCRIPTOR >, olb::opti::BlockLatticeDphysVelocityDf3D< T, DESCRIPTOR >, olb::opti::BlockDdifferenceObjectiveDf3D< T, DESCRIPTOR >, olb::opti::BlockDrelativeDifferenceObjectiveDf3D< T, DESCRIPTOR >, olb::opti::BlockDrelativeDifferenceObjectiveComponentDf3D< T, DESCRIPTOR >, olb::BlockIdentity2D< T >, olb::BlockExtractComponentIndicatorF2D< T >, olb::BlockLatticeIdentity2D< T, DESCRIPTOR >, olb::BlockIdentity3D< T >, olb::BlockExtractComponentIndicatorF3D< T >, olb::BlockLatticeIdentity3D< T, DESCRIPTOR >, olb::BlockCalcF2D< T, F >, olb::BlockCalcF3D< T, F >, olb::BlockGeometryFaces2D< T >, olb::BlockGeometryFacesIndicator2D< T, HLBM >, olb::BlockGeometryFaces3D< T >, olb::BlockGeometryFacesIndicator3D< T, HLBM >, olb::BlockL1Norm2D< T, DESCRIPTOR >, olb::BlockL222D< T, DESCRIPTOR >, olb::BlockLatticePhysDrag2D< T, DESCRIPTOR >, olb::BlockLatticePhysCorrDrag2D< T, DESCRIPTOR >, olb::BlockL1Norm3D< T, DESCRIPTOR >, olb::BlockL223D< T, DESCRIPTOR >, olb::BlockLatticePhysDrag3D< T, DESCRIPTOR >, olb::BlockLatticePhysCorrDrag3D< T, DESCRIPTOR >, olb::BlockLatticeKnudsen2D< T, DESCRIPTOR >, olb::BlockLatticeRefinementMetricKnudsen2D< T, DESCRIPTOR >, olb::BlockLatticeKnudsen3D< T, DESCRIPTOR >, olb::BlockLatticeRefinementMetricKnudsen3D< T, DESCRIPTOR >, olb::BlockLatticeHighOrderKnudsen3D< T, DESCRIPTOR >, olb::BlockEuklidNorm2D< T, DESCRIPTOR >, olb::BlockEuklidNorm3D< T >, olb::BlockLatticeAverage2D< T, DESCRIPTOR >, olb::BlockLatticeCoords2D< T, DESCRIPTOR >, olb::BlockLatticeCoords3D< T, DESCRIPTOR >, olb::BlockLatticeCuboid2D< T, DESCRIPTOR >, olb::BlockLatticeCuboid3D< T, DESCRIPTOR >, olb::BlockLatticeDensity2D< T, DESCRIPTOR >, olb::BlockLatticeDensity3D< T, DESCRIPTOR >, olb::BlockFiniteDifference3D< T >, olb::BlockPhysFiniteDifference3D< T, DESCRIPTOR >, olb::BlockLaplacian3D< T >, olb::BlockPhysLaplacian3D< T, DESCRIPTOR >, olb::BlockLatticeDiscreteNormal2D< T, DESCRIPTOR >, olb::BlockLatticeDiscreteNormal3D< T, DESCRIPTOR >, olb::BlockLatticeDissipation3D< T, DESCRIPTOR >, olb::BlockLatticeExternal2D< T, DESCRIPTOR, FIELD >, olb::BlockLatticeExternal3D< T, DESCRIPTOR, FIELD >, olb::BlockLatticeExternalScalarField2D< T, DESCRIPTOR, FIELD >, olb::BlockLatticeExternalScalarField3D< T, DESCRIPTOR, FIELD >, olb::BlockLatticeField3D< T, DESCRIPTOR, FIELD >, olb::BlockLatticeFlux3D< T, DESCRIPTOR >, olb::BlockLatticeFpop3D< T, DESCRIPTOR >, olb::BlockLatticeGeometry2D< T, DESCRIPTOR >, olb::BlockLatticeGeometry3D< T, DESCRIPTOR >, olb::BlockLatticeIndicatorSmoothIndicatorIntersection2D< T, DESCRIPTOR, HLBM >, olb::BlockLatticeIndicatorSmoothIndicatorIntersection3D< T, DESCRIPTOR, HLBM >, olb::BlockLatticeKineticEnergy3D< T, DESCRIPTOR >, olb::BlockLatticePhysBoundaryDistance3D< T, DESCRIPTOR >, olb::BlockLatticePhysBoundaryForce2D< T, DESCRIPTOR >, olb::BlockLatticePhysBoundaryForce3D< T, DESCRIPTOR >, olb::BlockLatticePhysCorrBoundaryForce2D< T, DESCRIPTOR >, olb::BlockLatticePhysCorrBoundaryForce3D< T, DESCRIPTOR >, olb::BlockLatticePhysDarcyForce2D< T, DESCRIPTOR >, olb::BlockLatticePhysDissipation2D< T, DESCRIPTOR >, olb::BlockLatticePhysDissipation3D< T, DESCRIPTOR >, olb::BlockLatticePhysEffectiveDissipation3D< T, DESCRIPTOR >, olb::BlockLatticePhysExternalPorosity2D< T, DESCRIPTOR >, olb::BlockLatticePhysExternalPorosity3D< T, DESCRIPTOR >, olb::BlockLatticePhysExternalScalar2D< T, DESCRIPTOR, FIELD >, olb::BlockLatticePhysExternalScalar3D< T, DESCRIPTOR, FIELD >, olb::BlockLatticePhysHeatFlux2D< T, DESCRIPTOR, TDESCRIPTOR >, olb::BlockLatticePhysHeatFlux3D< T, DESCRIPTOR, TDESCRIPTOR >, olb::BlockLatticePhysHeatFluxBoundary3D< T, DESCRIPTOR, TDESCRIPTOR >, olb::BlockLatticePhysPermeability2D< T, DESCRIPTOR >, olb::BlockLatticePhysPoreSizeDistribution3D< T, DESCRIPTOR >, olb::BlockLatticePhysPressure2D< T, DESCRIPTOR >, olb::BlockLatticePhysPressure3D< T, DESCRIPTOR >, olb::BlockLatticePhysStrainRate2D< T, DESCRIPTOR >, olb::BlockLatticePhysStrainRate3D< T, DESCRIPTOR >, olb::BlockLatticePhysTauFromBoundaryDistance3D< T, DESCRIPTOR, TDESCRIPTOR >, olb::BlockLatticePhysTemperature2D< T, DESCRIPTOR, TDESCRIPTOR >, olb::BlockLatticePhysTemperature3D< T, DESCRIPTOR, TDESCRIPTOR >, olb::BlockLatticePhysVelocity2D< T, DESCRIPTOR >, olb::BlockLatticePhysVelocity3D< T, DESCRIPTOR >, olb::BlockLatticePhysViscosity2D< T, DESCRIPTOR >, olb::BlockLatticePhysViscosity3D< T, DESCRIPTOR >, olb::BlockLatticePhysWallShearStress2D< T, DESCRIPTOR >, olb::BlockLatticePhysWallShearStress3D< T, DESCRIPTOR >, olb::BlockLatticePorosity2D< T, DESCRIPTOR >, olb::BlockLatticePSMPhysForce2D< T, DESCRIPTOR >, olb::BlockLatticePSMPhysForce2DMod< T, DESCRIPTOR >, olb::BlockLatticePSMPhysForce3D< T, DESCRIPTOR >, olb::BlockLatticeRank2D< T, DESCRIPTOR >, olb::BlockLatticeRank3D< T, DESCRIPTOR >, olb::BlockLatticeStrainRate3D< T, DESCRIPTOR >, olb::BlockLatticePhysTauFromBoundaryDistance3D< T, DESCRIPTOR, TDESCRIPTOR >, olb::BlockLatticeTimeStepScale3D< T, DESCRIPTOR >, olb::BlockLatticeVelocity2D< T, DESCRIPTOR >, olb::BlockLatticeVelocity3D< T, DESCRIPTOR >, olb::BlockLatticeVelocityDenominator3D< T, DESCRIPTOR >, olb::BlockLatticeFfromAnalyticalF2D< T, DESCRIPTOR >, olb::BlockLatticeFfromAnalyticalF3D< T, DESCRIPTOR >, olb::BlockLatticeInterpPhysVelocity3Degree3D< T, DESCRIPTOR >, olb::BlockLatticeInterpDensity3Degree3D< T, DESCRIPTOR >, olb::BlockLatticeSmoothDiracDelta3D< T, DESCRIPTOR >, olb::SuperGeometryFacesIndicator2D< T, HLBM >, olb::SuperGeometryFacesIndicator3D< T, HLBM >, olb::BlockLatticePhysVelocityGradientFD3D< T, DESCRIPTOR >, olb::BlockLatticePhysDissipationFD3D< T, DESCRIPTOR >, olb::BlockLatticePhysEffectiveDissipationFD3D< T, DESCRIPTOR >, olb::BlockLatticeEul2LagrDensity3D< T, DESCRIPTOR >, olb::SmoothIndicatorF2D< T, S, false >, olb::SmoothIndicatorF2D< T, S, true >, olb::SmoothIndicatorF3D< T, S, false >, olb::SmoothIndicatorF3D< T, S, true >, olb::AnalyticalIdentity< D, T, S >, olb::AnalyticalFfromIndicatorF3D< T, S >, olb::EccentricVelocityField< T, S, DESCRIPTOR >, olb::EccentricLatticeVelocityField< T, S, DESCRIPTOR >, olb::AnalyticalCuboidwiseConst< D, T, S >, olb::AnalyticCalcF< D, T, S, F >, olb::AnalyticalDerivativeAD1D< D, T, S >, olb::AnalyticalDerivativeAD< F, T, S, sourceDIM, ARGS >, olb::PoiseuilleStrainRate2D< T, S, DESCRIPTOR >, olb::SmoothIndicatorIdentity2D< T, S >, olb::SmoothIndicatorIdentity3D< T, S >, olb::Musker< T, S >, olb::PowerLawProfile< T, S >, olb::AnalyticalParticleAdsorptionLinear2D< T, S >, olb::AnalyticalComposed< D, T, S >, olb::AnalyticalConst< D, T, S >, olb::AnalyticalNormal< D, T, S >, olb::AnalyticalRandomUniform< D, T, S >, olb::AnalyticalRandomNormal< D, T, S >, olb::AnalyticalRandomSeededNormal< D, T, S, seed >, olb::AnalyticalRandomTruncatedNormal< D, T, S >, olb::AnalyticalRandomOld< D, T, S >, olb::AnalyticalSquareWave< D, T, S >, olb::AnalyticalSmoothedSquareWave< D, T, S >, olb::AnalyticalLinear1D< T, S >, olb::AnalyticalSquare1D< T, S >, olb::SinusStartScale< T, S >, olb::PolynomialStartScale< T, S >, olb::Sinus< T, S >, olb::Cosinus< T, S >, olb::CosinusComposite< T, S >, olb::AnalyticalLinear2D< T, S >, olb::AnalyticalLinear3D< T, S >, olb::AnalyticalScaled3D< T, S >, olb::PolarToCartesian2D< T, S >, olb::CartesianToPolar2D< T, S >, olb::AngleBetweenVectors3D< T, S >, olb::RotationRoundAxis3D< T, S >, olb::CylinderToCartesian3D< T, S >, olb::CartesianToCylinder3D< T, S >, olb::SphericalToCartesian3D< T, S >, olb::CartesianToSpherical3D< T, S >, olb::MagneticForceFromCylinder3D< T, S >, olb::MagneticFieldFromCylinder3D< T, S >, olb::util::ExponentialMovingAverage< T, S >, olb::AnalyticalRandomNormal< 3, T, T >, olb::AnalyticalRandomNormal< D, T, T >, olb::AnalyticalRandomTruncatedNormal< 3, T, T >, olb::ShanChen93< T, S >, olb::PengRobinson< T, S >, olb::Krause< T, S >, olb::WeisbrodKrause< T, S >, olb::Normal< T, S >, olb::PsiEqualsRho< T, S >, olb::ShanChen94< T, S >, olb::CarnahanStarling< T, S >, olb::SuperF3D< T, W >, olb::SuperTypecastF3D< T, W, W2 >, olb::SuperLpNorm2D< T, W, P >, olb::SuperLpNorm3D< T, W, P >, olb::SuperF2D< T, W >, olb::SuperIdentity2D< T, W >, olb::SuperIdentity3D< T, W >, olb::SuperCalcF2D< T, W, F >, and olb::SuperCalcF3D< T, W, F >.

◆ operator()() [3/6]

template<typename T , typename S >
bool olb::GenericF< T, S >::operator() ( T output[],
S input0 )

Definition at line 70 of file genericF.hh.

71{
72 S tmp[1] = {input0};
73 return operator()(output,tmp);
74}

◆ operator()() [4/6]

template<typename T , typename S >
bool olb::GenericF< T, S >::operator() ( T output[],
S input0,
S input1 )

Definition at line 77 of file genericF.hh.

78{
79 S tmp[2] = {input0,input1};
80 return operator()(output,tmp);
81}

◆ operator()() [5/6]

template<typename T , typename S >
bool olb::GenericF< T, S >::operator() ( T output[],
S input0,
S input1,
S input2 )

Definition at line 84 of file genericF.hh.

85{
86 S tmp[3] = {input0,input1,input2};
87 return operator()(output,tmp);
88}

◆ operator()() [6/6]

template<typename T , typename S >
bool olb::GenericF< T, S >::operator() ( T output[],
S input0,
S input1,
S input2,
S input3 )

Definition at line 91 of file genericF.hh.

92{
93 S tmp[4] = {input0,input1,input2,input3};
94 return operator()(output,tmp);
95}

Member Data Documentation

◆ _ptrCalcC

template<typename T , typename S >
std::shared_ptr< GenericF<T,S> > olb::GenericF< T, S >::_ptrCalcC

memory management, frees resouces (calcClass)

Definition at line 71 of file genericF.h.


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