OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::ConcreteBlockO< T, DESCRIPTOR, Platform::CPU_SIMD, OPERATOR, OperatorScope::PerBlock > Class Template Referencefinal

Application of a block-wise OPERATOR on a concrete vector CPU block. More...

#include <operator.h>

+ Inheritance diagram for olb::ConcreteBlockO< T, DESCRIPTOR, Platform::CPU_SIMD, OPERATOR, OperatorScope::PerBlock >:
+ Collaboration diagram for olb::ConcreteBlockO< T, DESCRIPTOR, Platform::CPU_SIMD, OPERATOR, OperatorScope::PerBlock >:

Public Member Functions

std::type_index id () const override
 
void set (CellID iCell, bool state) override
 Set whether iCell is covered by the operator (optional)
 
void setup (ConcreteBlockLattice< T, DESCRIPTOR, Platform::CPU_SIMD > &block) override
 
void apply (ConcreteBlockLattice< T, DESCRIPTOR, Platform::CPU_SIMD > &block) override
 
- Public Member Functions inherited from olb::BlockO< T, DESCRIPTOR, Platform::CPU_SIMD >
virtual void setup (ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > &block)=0
 Setup operator context.
 
virtual void apply (ConcreteBlockLattice< T, DESCRIPTOR, PLATFORM > &block)=0
 Apply operator on block.
 
- Public Member Functions inherited from olb::AbstractBlockO
virtual ~AbstractBlockO ()=default
 

Detailed Description

template<typename T, typename DESCRIPTOR, CONCEPT(BlockOperator) OPERATOR>
class olb::ConcreteBlockO< T, DESCRIPTOR, Platform::CPU_SIMD, OPERATOR, OperatorScope::PerBlock >

Application of a block-wise OPERATOR on a concrete vector CPU block.

e.g. StatisticsPostProcessor

Definition at line 564 of file operator.h.

Member Function Documentation

◆ apply()

template<typename T , typename DESCRIPTOR , CONCEPT(BlockOperator) OPERATOR>
void olb::ConcreteBlockO< T, DESCRIPTOR, Platform::CPU_SIMD, OPERATOR, OperatorScope::PerBlock >::apply ( ConcreteBlockLattice< T, DESCRIPTOR, Platform::CPU_SIMD > & block)
inlineoverride

Definition at line 582 of file operator.h.

583 {
584 OPERATOR().apply(block);
585 }

◆ id()

template<typename T , typename DESCRIPTOR , CONCEPT(BlockOperator) OPERATOR>
std::type_index olb::ConcreteBlockO< T, DESCRIPTOR, Platform::CPU_SIMD, OPERATOR, OperatorScope::PerBlock >::id ( ) const
inlineoverridevirtual

Implements olb::AbstractBlockO.

Definition at line 567 of file operator.h.

568 {
569 return typeid(OPERATOR);
570 }

◆ set()

template<typename T , typename DESCRIPTOR , CONCEPT(BlockOperator) OPERATOR>
void olb::ConcreteBlockO< T, DESCRIPTOR, Platform::CPU_SIMD, OPERATOR, OperatorScope::PerBlock >::set ( CellID iCell,
bool state )
inlineoverridevirtual

Set whether iCell is covered by the operator (optional)

Implements olb::BlockO< T, DESCRIPTOR, Platform::CPU_SIMD >.

Definition at line 572 of file operator.h.

573 {
574 throw std::logic_error("BlockO::set not supported for OperatorScope::PerBlock");
575 }

◆ setup()

template<typename T , typename DESCRIPTOR , CONCEPT(BlockOperator) OPERATOR>
void olb::ConcreteBlockO< T, DESCRIPTOR, Platform::CPU_SIMD, OPERATOR, OperatorScope::PerBlock >::setup ( ConcreteBlockLattice< T, DESCRIPTOR, Platform::CPU_SIMD > & block)
inlineoverride

Definition at line 577 of file operator.h.

578 {
579 OPERATOR().setup(block);
580 }

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