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

#include <phaseFieldCoupling.h>

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

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, int zNormal>
struct olb::WellBalancedWallProcessor3D< T, DESCRIPTOR, xNormal, yNormal, zNormal >

Definition at line 729 of file phaseFieldCoupling.h.

Member Typedef Documentation

◆ parameters

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

Definition at line 731 of file phaseFieldCoupling.h.

Member Function Documentation

◆ apply()

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

Definition at line 738 of file phaseFieldCoupling.h.

739 {
740 auto theta = parameters.template get<descriptors::THETA>();
741 auto w = parameters.template get<descriptors::INTERFACE_WIDTH>();
742
743 auto phi_n = cell.template getField<descriptors::STATISTIC>();
744 phi_n[0] = cell.neighbor({-xNormal,-yNormal,-zNormal}).computeRho();
745 //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]);
746 auto phi_w = phi_n[0] + 4./w * cos(theta) *phi_n[0]*(1-phi_n[0]);
747 //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);
748 cell.template setField<descriptors::PHIWETTING>(phi_w);
749
750 auto cp_n = cell.template getField<descriptors::CHEM_POTENTIAL>();
751 cp_n = cell.neighbor({-xNormal,-yNormal,-zNormal}).template getField<descriptors::CHEM_POTENTIAL>();
752 cell.template setField<descriptors::STATISTIC>(phi_n);
753 cell.template setField<descriptors::CHEM_POTENTIAL>(cp_n);
754 }
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 zNormal>
int olb::WellBalancedWallProcessor3D< T, DESCRIPTOR, xNormal, yNormal, zNormal >::getPriority ( ) const
inline

Definition at line 733 of file phaseFieldCoupling.h.

733 {
734 return 1;
735 }

Member Data Documentation

◆ scope

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

Definition at line 730 of file phaseFieldCoupling.h.


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