OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
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 69 of file operator.h.

Member Function Documentation

◆ getDynamics()

template<typename T , typename DESCRIPTOR >
virtual Dynamics< T, DESCRIPTOR > * olb::AbstractCollisionO< T, DESCRIPTOR >::getDynamics ( )
pure virtual

◆ 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::LegacyBlockCollisionO< T, DESCRIPTOR, PLATFORM >, 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::LegacyBlockCollisionO< T, DESCRIPTOR, PLATFORM >, 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 >.

+ Here is the caller graph for this function:

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