OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::WellBalancedWallProcessor2D< T, DESCRIPTOR, xNormal, yNormal > Struct Template Reference

#include <phaseFieldCoupling.h>

+ Collaboration diagram for olb::WellBalancedWallProcessor2D< T, DESCRIPTOR, xNormal, yNormal >:

Public Types

using parameters = meta::list<descriptors::THETA,descriptors::INTERFACE_WIDTH>
 

Public Member Functions

int getPriority () const
 
template<typename 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 xNormal, int yNormal>
struct olb::WellBalancedWallProcessor2D< T, DESCRIPTOR, xNormal, yNormal >

Definition at line 700 of file phaseFieldCoupling.h.

Member Typedef Documentation

◆ parameters

template<typename T , typename DESCRIPTOR , int xNormal, int yNormal>
using olb::WellBalancedWallProcessor2D< T, DESCRIPTOR, xNormal, yNormal >::parameters = meta::list<descriptors::THETA,descriptors::INTERFACE_WIDTH>

Definition at line 702 of file phaseFieldCoupling.h.

Member Function Documentation

◆ apply()

template<typename T , typename DESCRIPTOR , int xNormal, int yNormal>
template<typename CELL , typename PARAMETERS >
void olb::WellBalancedWallProcessor2D< T, DESCRIPTOR, xNormal, yNormal >::apply ( CELL & cell,
PARAMETERS & parameters )
inline

Definition at line 709 of file phaseFieldCoupling.h.

710 {
711 auto theta = parameters.template get<descriptors::THETA>();
712 auto w = parameters.template get<descriptors::INTERFACE_WIDTH>();
713
714 auto phi_n = cell.template getField<descriptors::STATISTIC>();
715 phi_n[0] = cell.neighbor({-xNormal,-yNormal}).computeRho();
716 //auto phi_w = phi_n[0] + 5.*4./w * cos(theta) *phi_n[0]*(1-phi_n[0])*phi_n[0]*(1-phi_n[0]);
717 auto phi_w = phi_n[0] + 4./w * cos(theta) *phi_n[0]*(1-phi_n[0]);
718 //auto phi_w = phi_n[0] + 0.55662613315165*5.*4./w * cos(theta) *((0.2+phi_n[0])*(1.2-phi_n[0])*(0.2+phi_n[0])*(1.2-phi_n[0])*(0.2+phi_n[0])*(1.2-phi_n[0])-0.0138824);
719 cell.template setField<descriptors::PHIWETTING>(phi_w);
720
721 auto cp_n = cell.template getField<descriptors::CHEM_POTENTIAL>();
722 cp_n = cell.neighbor({-xNormal,-yNormal}).template getField<descriptors::CHEM_POTENTIAL>();
723 cell.template setField<descriptors::STATISTIC>(phi_n);
724 cell.template setField<descriptors::CHEM_POTENTIAL>(cp_n);
725 }
ADf< T, DIM > cos(const ADf< T, DIM > &a)
Definition aDiff.h:578
meta::list< descriptors::THETA, descriptors::INTERFACE_WIDTH > parameters

◆ getPriority()

template<typename T , typename DESCRIPTOR , int xNormal, int yNormal>
int olb::WellBalancedWallProcessor2D< T, DESCRIPTOR, xNormal, yNormal >::getPriority ( ) const
inline

Definition at line 704 of file phaseFieldCoupling.h.

704 {
705 return 1;
706 }

Member Data Documentation

◆ scope

template<typename T , typename DESCRIPTOR , int xNormal, int yNormal>
OperatorScope olb::WellBalancedWallProcessor2D< T, DESCRIPTOR, xNormal, yNormal >::scope = OperatorScope::PerCellWithParameters
staticconstexpr

Definition at line 701 of file phaseFieldCoupling.h.


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