OpenLB 1.7
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
olb::FreeEnergyWallProcessor2D< T, DESCRIPTOR, NORMAL_X, NORMAL_Y > Class Template Reference

PostProcessor for the wetting boundary condition in the free energy model. More...

#include <boundaryPostProcessors2D.h>

+ Collaboration diagram for olb::FreeEnergyWallProcessor2D< T, DESCRIPTOR, NORMAL_X, NORMAL_Y >:

Public Types

using parameters = meta::list<olb::descriptors::ADDEND>
 

Public Member Functions

int getPriority () const
 
template<CONCEPT(Cell) CELL, typename PARAMETERS >
void apply (CELL &cell, PARAMETERS &parameters) any_platform
 

Static Public Attributes

static constexpr OperatorScope scope = OperatorScope::PerCellWithParameters
 

Detailed Description

template<typename T, typename DESCRIPTOR, int NORMAL_X, int NORMAL_Y>
class olb::FreeEnergyWallProcessor2D< T, DESCRIPTOR, NORMAL_X, NORMAL_Y >

PostProcessor for the wetting boundary condition in the free energy model.

This is required to set rho on the boundary (using the denisty of the neighbouring cell in direction of inwards facing normal at the boundary), as the coupling between the lattices requires the calculation of a density gradient.

Definition at line 102 of file boundaryPostProcessors2D.h.

Member Typedef Documentation

◆ parameters

template<typename T , typename DESCRIPTOR , int NORMAL_X, int NORMAL_Y>
using olb::FreeEnergyWallProcessor2D< T, DESCRIPTOR, NORMAL_X, NORMAL_Y >::parameters = meta::list<olb::descriptors::ADDEND>

Definition at line 104 of file boundaryPostProcessors2D.h.

Member Function Documentation

◆ apply()

template<typename T , typename DESCRIPTOR , int NORMAL_X, int NORMAL_Y>
template<CONCEPT(Cell) CELL, typename PARAMETERS >
void olb::FreeEnergyWallProcessor2D< T, DESCRIPTOR, NORMAL_X, NORMAL_Y >::apply ( CELL & cell,
PARAMETERS & parameters )

Definition at line 454 of file boundaryPostProcessors2D.hh.

454 {
455
456 T addend = cell.template getField<descriptors::ADDEND>();
457
458 T rhoAvg = cell.neighbor({-NORMAL_X,-NORMAL_Y}).computeRho();
459 T rhoTmp = 0.;
460
461 for (int iPop = 1; iPop < DESCRIPTOR::q ; ++iPop) {
462 rhoTmp += cell[iPop];
463 }
464
465 T rho = rhoAvg + addend;
466 rho -= rhoTmp;
467
468 cell[0] = rho - 1.;
469}

◆ getPriority()

template<typename T , typename DESCRIPTOR , int NORMAL_X, int NORMAL_Y>
int olb::FreeEnergyWallProcessor2D< T, DESCRIPTOR, NORMAL_X, NORMAL_Y >::getPriority ( ) const
inline

Definition at line 108 of file boundaryPostProcessors2D.h.

108 {
109 return 0;
110 }

Member Data Documentation

◆ scope

template<typename T , typename DESCRIPTOR , int NORMAL_X, int NORMAL_Y>
constexpr OperatorScope olb::FreeEnergyWallProcessor2D< T, DESCRIPTOR, NORMAL_X, NORMAL_Y >::scope = OperatorScope::PerCellWithParameters
staticconstexpr

Definition at line 106 of file boundaryPostProcessors2D.h.


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