OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::AnalyticalCuboidwiseConst< D, T, S > Class Template Referencefinal

Returns a constant value on every cuboids. More...

#include <analyticalF.h>

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

Public Member Functions

 AnalyticalCuboidwiseConst (SuperGeometry< T, D > &sGeometry, const std::vector< T > &values, unsigned targetDim=D)
 
bool operator() (T output[], const S input[]) override
 has to be implemented for 'every' derived class
 
- Public Member Functions inherited from olb::AnalyticalF< D, T, S >
AnalyticalF< D, T, S > & operator- (AnalyticalF< D, T, S > &rhs)
 
AnalyticalF< D, T, S > & operator+ (AnalyticalF< D, T, S > &rhs)
 
AnalyticalF< D, T, S > & operator* (AnalyticalF< D, T, S > &rhs)
 
AnalyticalF< D, T, S > & operator/ (AnalyticalF< D, T, S > &rhs)
 
- Public Member Functions inherited from olb::GenericF< T, S >
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
 
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)
 

Additional Inherited Members

- Public Types inherited from olb::AnalyticalF< D, T, S >
using identity_functor_type = AnalyticalIdentity<D,T,S>
 
- Public Types inherited from olb::GenericF< T, S >
using targetType = T
 
using sourceType = S
 
- Public Attributes inherited from olb::GenericF< T, S >
std::shared_ptr< GenericF< T, S > > _ptrCalcC
 memory management, frees resouces (calcClass)
 
- Static Public Attributes inherited from olb::AnalyticalF< D, T, S >
static constexpr unsigned dim = D
 
- Protected Member Functions inherited from olb::AnalyticalF< D, T, S >
 AnalyticalF (int n)
 
- Protected Member Functions inherited from olb::GenericF< T, S >
 GenericF (int targetDim, int sourceDim)
 

Detailed Description

template<unsigned D, typename T, typename S>
class olb::AnalyticalCuboidwiseConst< D, T, S >

Returns a constant value on every cuboids.

The cuboid decomposition is independent of the simulation geometry. SuperStructure etc. are only needed because our functor stucture requires this. Scaling of this functor is problematic because of a primitive underlying search algorithm. Hence, this functor should not be applied in any performance critical context.

Definition at line 630 of file analyticalF.h.

Constructor & Destructor Documentation

◆ AnalyticalCuboidwiseConst()

template<unsigned D, typename T , typename S >
olb::AnalyticalCuboidwiseConst< D, T, S >::AnalyticalCuboidwiseConst ( SuperGeometry< T, D > & sGeometry,
const std::vector< T > & values,
unsigned targetDim = D )
inline

Definition at line 638 of file analyticalF.h.

640 : AnalyticalF<D,T,S>(targetDim),
641 _numberOfCuboids(values.size()),
642 _cuboids(std::make_shared<CuboidGeometry<T,D>>(
643 sGeometry.getCuboidGeometry().getMotherCuboid(),
644 _numberOfCuboids)),
645 _values(values)
646 {
647 this->getName() = "cuboidwiseConst";
648 }
std::string & getName()
read and write access to name
Definition genericF.hh:51

References olb::GenericF< T, S >::getName().

+ Here is the call graph for this function:

Member Function Documentation

◆ operator()()

template<unsigned D, typename T , typename S >
bool olb::AnalyticalCuboidwiseConst< D, T, S >::operator() ( T output[],
const S input[] )
inlineoverridevirtual

has to be implemented for 'every' derived class

Implements olb::GenericF< T, S >.

Definition at line 650 of file analyticalF.h.

650 {
651 const auto index = _cuboids->get_iC(input[0], input[1], input[2]);
652 for (int i = 0; i < this->getTargetDim(); ++i) {
653 output[i] = _values[index];
654 }
655 return true;
656 }
int getTargetDim() const
read only access to member variable _n
Definition genericF.hh:45

References olb::GenericF< T, S >::getTargetDim().

+ Here is the call graph for this function:

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