template<typename T, typename DESCRIPTOR, int xNormal, int yNormal>
struct olb::IsoPhaseFieldCurvedWallProcessor2D< T, DESCRIPTOR, xNormal, yNormal >
Definition at line 816 of file phaseFieldCoupling.h.
template<typename T , typename DESCRIPTOR , int xNormal, int yNormal>
template<typename CELL , typename PARAMETERS >
Definition at line 825 of file phaseFieldCoupling.h.
826 {
827 auto phi_s = cell.template getField<descriptors::STATISTIC>();
828 auto phi_b = cell.neighbor({-xNormal,-yNormal}).template getFieldComponent<descriptors::STATISTIC>(0);
829 if (phi_b >= 0.995) {
830 phi_s[0] = 1.;
831 }
832 else if (phi_b <= 0.005) {
833 phi_s[0] = 0.;
834 }
835 else {
836 auto theta = cell.template getField<descriptors::THETA>();
837 auto w =
parameters.template get<descriptors::INTERFACE_WIDTH>();
841 Vector<T,DESCRIPTOR::d>
c{cx,cy};
842 Vector<T,DESCRIPTOR::d> n{T(xNormal),T(yNormal)};
844 T
d =
c[0]*n[0]+
c[1]*n[1];
846 }
847 cell.template setField<descriptors::STATISTIC>(phi_s);
848 }
platform_constant int c[Q][D]
constexpr int d() any_platform
ADf< T, DIM > sin(const ADf< T, DIM > &a)
Vector< T, D > normalize(const Vector< T, D > &a)
ADf< T, DIM > tanh(const ADf< T, DIM > &a)
ADf< T, DIM > atanh(const ADf< T, DIM > &a)
ADf< T, DIM > cos(const ADf< T, DIM > &a)
meta::list< descriptors::INTERFACE_WIDTH > parameters
References olb::util::atanh(), olb::util::cos(), olb::util::normalize(), olb::util::sin(), and olb::util::tanh().