Motivation
Inherently,
MESHFREE points do not carry mass as they are information carriers only. That gives a lot of freedom regarding adaptive refinement and much more.
That also means that
MESHFREE is not inherently mass conservative, but we provide strategies for conserving mass that act locally.
Basic Idea
Within
MESHFREE, mass can only be produced at inflow boundaries or
DropletSource items. Mass can only be reduced at outflow boundary elements or by
EVENT statements.
Besides that, mass cannot be generated. That means that the total mass can be determined analytically by measuring the mass being brought into and out of the system.
The idea is to distribute mass packages among the
MESHFREE points. The sum of all masses shall represent the analytical mass to be in the system.
Mass can be re-distributed among points, which will become necessary in regions of local refinement/coarsening.
Parameters
The
RepresentativeMassAlgorithm is triggered by
common_variables parameter
RepresentativeMass_iData .
Algorithm
First, please see
DefinitionRepresentativeMass (
%ind_mi_rep%) and
DefinitionRepresentativeDensity (
%ind_r_rep%).
The algorithm is sketched here:
-
- algorithm DeletedOrInactivePoints is launched after point deletion in order to project back the representative masses of the vanishing points onto the active part of the boundary
After the end of point cloud organization
-
- launch DeletedOrInactivePoints for all recently deactivated boundary points onto the remaining active part of boundary
- launch NewPoints for all new points or newly activated boundary points
- launch FlowPenetrationBoundaries in order to update representative mass at inflow, outflow, or permeable walls
- iterate Smoothing for a given number of iteration loops (to be defined in RepresentativeMass_iData )
- finally, launch Repair in order to remove negative masses in active points, that might have occurred during the previous steps
Relevant Indices
%ind_mi_rep% ,
%ind_r_rep% ,
%ind_Vi% ,
%ind_BNDfree_defect%,
%ind_cluster%
Postprocessing - Options for mass measurement with MESHFREE
Mass measurements using the representative mass index
%ind_mi_rep% can be done via two distinct ways.
Volume-Based Integration Using Control Volumes
This is based on the
InDom() functionality.
Here, "cube" denotes the control volume, which is defined using
%IDENT_BlindAndEmpty%.
This method is straightforward and effective for simple geometries. However, in case of complex geometries, the control volume construction may not be feasible.
Flux-Based Measurement Across a Control Surface
This is based on
%INTEGRATION_FLUX_TIME%.
$FluxPlane$ represents the control surface across which the representative mass flux is evaluated.
This flux-based method mitigates potential inaccuracies arising from volume integration, particularly in regions with isolated or irregular free surface points.
Furthermore, this measurement can become unreliable near wall-adjacent regions, especially when no-slip boundary conditions are used.
Note: In regions where the flow is well-resolved, both the volume-based and flux-based methods are expected to yield approximately the same results for the representative mass calculations.