%INTEGRATION_FLUX%

flux integration of a functional by counting the MESHFREE points that slip over a given control surface

begin_alias{} "AliasOmega" = " ... IDENT%IDENT_BlindAndEmpty% ... POSTPROCESS$PostprocessTag$ ... " # definition of AliasOmega end_alias INTEGRATION($IntInd$) = ( %INTEGRATION_FLUX%, ExpressionOfIntegrand, $PostprocessTag$ )
Warning: %INTEGRATION_FLUX% as well as %INTEGRATION_FLUX_TIME% work only for boundary elements marked with IDENT identifier %IDENT_BlindAndEmpty%. It computes the flux of a functional \( f\) (ExpressionOfIntegrand) across a control surface in the sense:
\begin{align} I_\text{Flux} = \int\limits_{\partial\Omega} f \cdot ({\bf v}^T {\bf n}) dA\end{align}
This integral is approximated by summing up the MESHFREE points which are currently penetrating through the control surface \( \partial\Omega\):
\begin{align} I_\text{Flux} \approx \sum_{i \in P_\text{slipped}} f_i \cdot \text{sgn}( {\bf v}_i^T \cdot {\bf n}_i ) \frac{V_i}{\Delta t}\end{align}
\( P_\text{slipped}\) is the set of all MESHFREE points which slipped over \( \partial\Omega\) in this time step. The term \( \text{sgn}( {\bf v}_i^T \cdot {\bf n}_i )\) accounts for the direction the MESHFREE point goes through the control surface. If the dependency from the direction should be ignored, the net value can be integrated by:
begin_alias{} "AliasOmega" = " ... IDENT%IDENT_BlindAndEmpty% ... POSTPROCESS$PostprocessTag$ ... " # definition of AliasOmega end_alias begin_construct{} "nOmega" = CONSTRUCT( %CONSTRUCT_Normal%, "AliasOmega" ) # definition of nOmega end_construct begin_equation{$LeftOrRight$} if ( Y%ind_v(1)%*&nOmega(1)& + Y%ind_v(2)%*&nOmega(2)& + Y%ind_v(3)%*&nOmega(3)& > 0 ) :: 1.0 else :: -1.0 endif end_equation INTEGRATION($IntInd$) = ( %INTEGRATION_FLUX%, [equn($LeftOrRight$)*(Functional)], $PostprocessTag$ )
Integration without dependency of the direction of passage through the control surface is given by %INTEGRATION_ABSFLUX% and %INTEGRATION_ABSFLUX_TIME%. Note:
  • Skip is not recommended for this type of integration statement.
  • This type of integration necessarily requires the movement of the point cloud, i.e. it is only applicable in case of LAGRANGE as MotionOfPointcloud.

DROPLETPHASE

For DROPLETPHASE points the same remarks as for %INTEGRATION_INT% apply and we obtain
\begin{align} I_\text{Flux} \approx \sum_{i \in P_\text{slipped}} f_i \cdot \text{sgn}( {\bf v}_i^T \cdot {\bf n}_i ) \frac{n_iV_i}{\Delta t}\end{align}
where \( n_i\) corresponds to the multiplicity stored in %ind_mult%.