OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::AbstractCollisionO< T, DESCRIPTOR > Struct Template Referenceabstract

Base of collision operations performed by BlockDynamicsMap. More...

#include <operator.h>

+ Inheritance diagram for olb::AbstractCollisionO< T, DESCRIPTOR >:
+ Collaboration diagram for olb::AbstractCollisionO< T, DESCRIPTOR >:

Public Member Functions

virtual Dynamics< T, DESCRIPTOR > * getDynamics ()=0
 
virtual std::size_t weight () const =0
 Returns number of assigned cells.
 
virtual void set (CellID iCell, bool state, bool overlap)=0
 Set whether iCell is covered by the present collision step.
 
- Public Member Functions inherited from olb::AbstractBlockO
virtual ~AbstractBlockO ()=default
 
virtual std::type_index id () const =0
 

Detailed Description

template<typename T, typename DESCRIPTOR>
struct olb::AbstractCollisionO< T, DESCRIPTOR >

Base of collision operations performed by BlockDynamicsMap.

Definition at line 62 of file operator.h.

Member Function Documentation

◆ getDynamics()

◆ set()

template<typename T , typename DESCRIPTOR >
virtual void olb::AbstractCollisionO< T, DESCRIPTOR >::set ( CellID iCell,
bool state,
bool overlap )
pure virtual

Set whether iCell is covered by the present collision step.

Parameters
iCellCell index
state(De)activate for this dynamics / collision
overlapCell index in overlap (set dynamics but do not collide)

Implemented in olb::ConcreteBlockCollisionO< T, DESCRIPTOR, Platform::CPU_SIMD, DYNAMICS >, olb::ConcreteBlockCollisionO< T, DESCRIPTOR, Platform::CPU_SISD, DYNAMICS >, and olb::ConcreteBlockCollisionO< T, DESCRIPTOR, Platform::GPU_CUDA, DYNAMICS >.

◆ weight()

template<typename T , typename DESCRIPTOR >
virtual std::size_t olb::AbstractCollisionO< T, DESCRIPTOR >::weight ( ) const
pure virtual

Returns number of assigned cells.

Used to determine the dominant dynamics to choose e.g. which collision operator to vectorize or to prefer in GPU kernels.

Implemented in olb::ConcreteBlockCollisionO< T, DESCRIPTOR, Platform::CPU_SIMD, DYNAMICS >, olb::ConcreteBlockCollisionO< T, DESCRIPTOR, Platform::CPU_SISD, DYNAMICS >, and olb::ConcreteBlockCollisionO< T, DESCRIPTOR, Platform::GPU_CUDA, DYNAMICS >.


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