OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics > Struct Template Reference

#include <zouHeVelocity2D.h>

+ Collaboration diagram for olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >:

Public Types

using value_t = T
 
using descriptor_t = DESCRIPTOR
 

Public Member Functions

CellDistance getNeighborhoodRadius ()
 
std::optional< DynamicsPromise< T, DESCRIPTOR > > getDynamics (DiscreteNormalType type, DiscreteNormal< DESCRIPTOR > n)
 
std::optional< PostProcessorPromise< T, DESCRIPTOR > > getPostProcessor (DiscreteNormalType type, DiscreteNormal< DESCRIPTOR > n)
 
CellDistance getNeighborhoodRadius ()
 
std::optional< DynamicsPromise< T, DESCRIPTOR > > getDynamics (DiscreteNormalType type, DiscreteNormal< DESCRIPTOR > n)
 
std::optional< PostProcessorPromise< T, DESCRIPTOR > > getPostProcessor (DiscreteNormalType type, DiscreteNormal< DESCRIPTOR > n)
 

Detailed Description

template<concepts::BaseType T, concepts::LatticeDescriptor DESCRIPTOR, typename MixinDynamics>
requires (DESCRIPTOR::d == 3)
struct olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >

Definition at line 41 of file zouHeVelocity3D.h.

Member Typedef Documentation

◆ descriptor_t

template<concepts::BaseType T, concepts::LatticeDescriptor DESCRIPTOR, typename MixinDynamics >
typedef DESCRIPTOR olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >::descriptor_t = DESCRIPTOR

Definition at line 44 of file zouHeVelocity2D.h.

◆ value_t

template<concepts::BaseType T, concepts::LatticeDescriptor DESCRIPTOR, typename MixinDynamics >
typedef T olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >::value_t = T

Definition at line 43 of file zouHeVelocity2D.h.

Member Function Documentation

◆ getDynamics() [1/2]

template<concepts::BaseType T, concepts::LatticeDescriptor DESCRIPTOR, typename MixinDynamics >
std::optional< DynamicsPromise< T, DESCRIPTOR > > olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >::getDynamics ( DiscreteNormalType type,
DiscreteNormal< DESCRIPTOR > n )
inline

Definition at line 50 of file zouHeVelocity2D.h.

51 {
52 switch (type) {
54 return boundaryhelper::DirectionOrientationMixinDynamicsForDirectionOrientationMomenta
55 <T,DESCRIPTOR,ZouHeDynamics,MixinDynamics,momenta::BasicDirichletVelocityBoundaryTuple>::construct(n);
56
58 return meta::id<typename MixinDynamics::template exchange_momenta<
60 >>();
61
63 return boundaryhelper::PlainMixinDynamicsForNormalMomenta<T,DESCRIPTOR,
64 CombinedRLBdynamics,MixinDynamics,momenta::InnerCornerVelocityTuple2D
65 >::construct(n);
66
67 default:
68 return std::nullopt;
69 }
70}
Tuple< InnerCornerDensity2D< Normal... >, FixedVelocityMomentumGeneric, InnerCornerStress2D< Normal... >, DefineSeparately > InnerCornerVelocityTuple2D
Definition aliases.h:196
Tuple< BulkDensity, FixedVelocityMomentumGeneric, BulkStress, DefineUSeparatelyTrace > FixedVelocityBoundaryTuple
In this class, the velocity is fixed As opposed to VelocityBM, the pressure is however not computed f...
Definition aliases.h:188
Tuple< VelocityBoundaryDensity< direction, orientation >, FixedVelocityMomentumGeneric, BulkStress, DefineSeparately > BasicDirichletVelocityBoundaryTuple
Velocity boundary node.
Definition aliases.h:146
@ ExternalCorner
Normal detected as flat plane.
@ InternalCorner
Normal detected as external corner.

References olb::ExternalCorner, olb::Flat, and olb::InternalCorner.

◆ getDynamics() [2/2]

template<concepts::BaseType T, concepts::LatticeDescriptor DESCRIPTOR, typename MixinDynamics >
std::optional< DynamicsPromise< T, DESCRIPTOR > > olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >::getDynamics ( DiscreteNormalType type,
DiscreteNormal< DESCRIPTOR > n )
inline

Definition at line 50 of file zouHeVelocity3D.h.

51 {
52 switch (type) {
54 return boundaryhelper::DirectionOrientationMixinDynamicsForDirectionOrientationMomenta
55 <T,DESCRIPTOR,ZouHeDynamics,MixinDynamics,momenta::BasicDirichletVelocityBoundaryTuple>::construct(n);
56
58 return meta::id<typename MixinDynamics::template exchange_momenta<
60 >>();
61
63 return boundaryhelper::PlainMixinDynamicsForNormalMomenta<T,DESCRIPTOR,
64 CombinedRLBdynamics,MixinDynamics,momenta::InnerCornerVelocityTuple3D
65 >::construct(n);
66
68 return meta::id<typename MixinDynamics::template exchange_momenta<
70 >>();
71
73 return boundaryhelper::PlainMixinDynamicsForNormalSpecialMomenta<T,DESCRIPTOR,
74 CombinedRLBdynamics,MixinDynamics,momenta::InnerEdgeVelocityTuple3D
75 >::construct(n);
76
77 default:
78 return std::nullopt;
79 }
80}
Tuple< InnerEdgeDensity3D< PlaneAndNormal... >, FixedVelocityMomentumGeneric, InnerEdgeStress3D< PlaneAndNormal... >, DefineSeparately > InnerEdgeVelocityTuple3D
Definition aliases.h:204
Tuple< InnerCornerDensity3D< Normal... >, FixedVelocityMomentumGeneric, InnerCornerStress3D< Normal... >, DefineSeparately > InnerCornerVelocityTuple3D
Definition aliases.h:212
@ ExternalEdge
Normal detected as internal corner.
@ InternalEdge
Normal detected as external edge (only 3D)

References olb::ExternalCorner, olb::ExternalEdge, olb::Flat, olb::InternalCorner, and olb::InternalEdge.

◆ getNeighborhoodRadius() [1/2]

template<concepts::BaseType T, concepts::LatticeDescriptor DESCRIPTOR, typename MixinDynamics >
CellDistance olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >::getNeighborhoodRadius ( )
inline

Definition at line 46 of file zouHeVelocity2D.h.

46 {
47 return 1;
48}

◆ getNeighborhoodRadius() [2/2]

template<concepts::BaseType T, concepts::LatticeDescriptor DESCRIPTOR, typename MixinDynamics >
CellDistance olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >::getNeighborhoodRadius ( )
inline

Definition at line 46 of file zouHeVelocity3D.h.

46 {
47 return 1;
48}

◆ getPostProcessor() [1/2]

template<concepts::BaseType T, concepts::LatticeDescriptor DESCRIPTOR, typename MixinDynamics >
std::optional< PostProcessorPromise< T, DESCRIPTOR > > olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >::getPostProcessor ( DiscreteNormalType type,
DiscreteNormal< DESCRIPTOR > n )
inline

Definition at line 73 of file zouHeVelocity2D.h.

74 {
75 switch (type) {
78
79 default:
80 return std::nullopt;
81 }
82}
PostProcessorPromise< T, DESCRIPTOR > promisePostProcessorForNormal(Vector< int, 2 > n)

References olb::ExternalCorner, and olb::boundaryhelper::promisePostProcessorForNormal().

+ Here is the call graph for this function:

◆ getPostProcessor() [2/2]

template<concepts::BaseType T, concepts::LatticeDescriptor DESCRIPTOR, typename MixinDynamics >
std::optional< PostProcessorPromise< T, DESCRIPTOR > > olb::boundary::ZouHeVelocity< T, DESCRIPTOR, MixinDynamics >::getPostProcessor ( DiscreteNormalType type,
DiscreteNormal< DESCRIPTOR > n )
inline

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