![]() |
OpenLB 1.8.1
|
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 |
Base of collision operations performed by BlockDynamicsMap.
Definition at line 62 of file operator.h.
|
pure virtual |
|
pure virtual |
Set whether iCell is covered by the present collision step.
| iCell | Cell index |
| state | (De)activate for this dynamics / collision |
| overlap | Cell 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 >.
|
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 >.