INTEGRATION

integration of the simulation results

With the help of INTEGRATION statements in USER_common_variables, simulation quantities can be further analyzed. Application examples are monitoring conservation quantities such as the total mass in the simulation model or evaluating a quantity like pressure at a certain position corresponding to a sensor in experiments.

The result of an INTEGRATION statement is a scalar value. For each timestep, the INTEGRATION statement is evaluated and written to a so-called TimestepFile, that can be found in the result folder.

Optionally, each INTEGRATION statement can be supplemented with an %INTEGRATION_Header% to provide the column headers, see HeaderInfoOrComments.

Integration types

The following types of integrations are available:
  • Volume and boundary integrals with respect to the point cloud
  • Maximum, minimum, summation, average with respect to the point cloud
  • Maximum, minimum, summation, average with respect to non-irreducible monitor points
  • Values and approximation for a BND_point
  • Public values of the MESHFREE simulation
  • Boundary integrals with respect to the boundary elements
  • Maximum and minimum with respect to the boundary elements
  • Assignment of function values to points (alternative to CODI and EVENT)

Volume and boundary integrals with respect to the point cloud

INTEGRATION($IntInd1$) = ( %INTEGRATION_INT%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd2$) = ( %INTEGRATION_INT_TIME%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd3$) = ( %INTEGRATION_BND_DIRECT%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd4$) = ( %INTEGRATION_BND_DIRECT_TIME%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd5$) = ( %INTEGRATION_FS_DIRECT%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd6$) = ( %INTEGRATION_FS_DIRECT_TIME%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd7$) = ( %INTEGRATION_BND%, ExpressionOfIntegrand, ExpressionOfIntegrand, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd8$) = ( %INTEGRATION_BND_TIME%, ExpressionOfIntegrand, ExpressionOfIntegrand, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd9$) = ( %INTEGRATION_FS%, ExpressionOfIntegrand, ExpressionOfIntegrand, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd10$) = ( %INTEGRATION_FS_TIME%, ExpressionOfIntegrand, ExpressionOfIntegrand, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd11$) = ( %INTEGRATION_FLUX%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd12$) = ( %INTEGRATION_FLUX_TIME%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd13$) = ( %INTEGRATION_FLUX_IN%, ExpressionOfIntegrand ) INTEGRATION($IntInd14$) = ( %INTEGRATION_ABSFLUX%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd15$) = ( %INTEGRATION_ABSFLUX_TIME%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) )
Application example: Monitoring conservation quantities such as mass or energy.

Maximum, minimum, summation, average with respect to the point cloud

INTEGRATION($IntInd17$) = ( %MAXIMUM_INT%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd18$) = ( %MINIMUM_INT%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd18$) = ( %SUMMATION_INT%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd19$) = ( %AVERAGE_INT%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd20$) = ( %MAXIMUM_BND%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd21$) = ( %MINIMUM_BND%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd21$) = ( %SUMMATION_BND%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd22$) = ( %AVERAGE_BND%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd23$) = ( %MAXIMUM_FS%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd24$) = ( %MINIMUM_FS%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd25$) = ( %AVERAGE_FS%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... )
Application example: Monitoring the range of quantities like pressure.

Maximum, minimum, summation, average with respect to non-irreducible monitor points

INTEGRATION($IntInd26$) = ( %MAXIMUM_MP%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd27$) = ( %MINIMUM_MP%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd28$) = ( %SUMMATION_MP%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... ) INTEGRATION($IntInd29$) = ( %AVERAGE_MP%, ExpressionOfIntegrand, $MaterialTag1$, $MaterialTag2$, ... )
Application example: Monitoring the range of quantities like pressure for the non-irreducible monitor points.

Values and approximation for a BND_point

INTEGRATION($IntInd30$) = ( %POINT_DIRECT%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd31$) = ( %POINT_APPROXIMATE%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd32$) = ( %POINT_APPROXIMATE_ProjBNDOnly%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... )
Application example: Evaluating quantities in the simulation at the position where they are also measured in experiment.

Public values of the MESHFREE simulation

INTEGRATION($IntInd33$) = ( %PUBLICVALUE%, Functional ) INTEGRATION($IntInd34$) = ( %PUBLICVALUE_TIME%, Functional ) INTEGRATION($IntInd35$) = ( %PUBLICVALUE_SUM%, Functional ) INTEGRATION($IntInd36$) = ( %PUBLICVALUE_CLOCKstatistics%, iArgument, "NameOfStopWatch" ) INTEGRATION($IntInd37$) = ( %PUBLICVALUE_CPUstatistics%, iArgument, "NameOfStopWatch" ) INTEGRATION($IntInd38$) = ( %PUBLICVALUE_MP%, Functional )
Application example: Monitor the total number of points or other internal quantities.

Boundary integrals with respect to the boundary elements

INTEGRATION($IntInd39$) = ( %INTEGRATION_BE_DIRECT%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd40$) = ( %INTEGRATION_BE_DIRECT_TIME%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... )

Maximum, minimum, summation with respect to the boundary elements

INTEGRATION($IntInd41$) = ( %MAXIMUM_BE%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd42$) = ( %MINIMUM_BE%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd43$) = ( %SUMMATION_BE%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... )

Maximum, minimum, summation with respect to the boundary nodes (experimental)

INTEGRATION($IntInd44$) = ( %MAXIMUM_BENP%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd45$) = ( %MINIMUM_BENP%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... ) INTEGRATION($IntInd46$) = ( %SUMMATION_BENP%, ExpressionOfIntegrand, $PostprocessTag1$, $PostprocessTag2$, ... )
$IntInd...$: The user can (uniquely) choose these soft variables at will. There is no need for any further definition in USER_common_variables. They can be used to incorporate the result of the corresponding integration statement into an equation with the help of the integ()-function.

Assign function values to points

INTEGRATION($IntInd47$) = ( %ASSIGN_FUNCTIONVALUE%, %ind_f%, [AssignedFunctionValue], $MaterialTag1$, $MaterialTag2$, ... )
Good to know:
  • The soft variables are optional. If none is given, then MESHFREE counts the number of integration statements by their appearance in USER_common_variables. Warning: The syntax with and without soft variables must not be mixed.
  • Instead of a soft variable $IntInd$ also the legacy syntax with natural number n is possible. In this case all integration statements in USER_common_variables have to be numbered consecutively to prevent overwriting.
  • Example for setting the $PostprocessTag$ can be found under POSTPROCESS.
  • Example for setting the $MaterialTag$ can be found under MAT.
  • The scalar ExpressionOfIntegrand is a typical RightHandSideExpression.
  • The evaluated statement can be also incorporated into equations by using the function integ().
For details on the specific statements, the SelectionFeatures, and HeaderInfoOrComments see below.
List of members:
%INTEGRATION_INT% volume integration of a functional with respect to a given material
%INTEGRATION_INT_TIME% volume and time integration of a functional with respect to a given material
%INTEGRATION_BND_DIRECT% surface integration of a scalar value along pieces of boundary
%INTEGRATION_BND_DIRECT_TIME% surface and time integration of a scalar value along pieces of boundary
%INTEGRATION_FS_DIRECT% surface integration of a scalar value along the free surface
%INTEGRATION_FS_DIRECT_TIME% surface and time integration of a scalar value along the free surface
%INTEGRATION_BND% surface integration of a vector valued function along pieces of boundary
%INTEGRATION_BND_TIME% surface and time integration of a vector valued function along pieces of boundary
%INTEGRATION_FS% surface integration of a vector valued function along the free surface
%INTEGRATION_FS_TIME% surface and time integration of a vector valued function along the free surface
%INTEGRATION_FLUX% flux integration of a functional by counting the MESHFREE points that slip over a given control surface
%INTEGRATION_FLUX_TIME% time and flux integration of a functional by counting the MESHFREE points that slip over a given control surface
%INTEGRATION_FLUX_IN% flux integration of a functional by counting the newly injected MESHFREE points
%INTEGRATION_ABSFLUX% flux integration of a functional by counting the MESHFREE points that slip over a given control surface independent of the direction
%INTEGRATION_ABSFLUX_TIME% time and flux integration of a functional by counting the MESHFREE points that slip over a given control surface independent of the direction
%MAXIMUM_INT% maximum of a functional based on all MESHFREE points with respect to given material flags
%MINIMUM_INT% minimum of a functional based on all MESHFREE points with respect to given material flags
%SUMMATION_INT% summation of given function values based on all MESHFREE points with respect to given material flags
%AVERAGE_INT% average of a functional based on all MESHFREE points with respect to given material flags
%MAXIMUM_BND% maximum of a functional based on all MESHFREE boundary points with respect to given boundary elements
%MINIMUM_BND% minimum of a functional based on all MESHFREE boundary points with respect to given boundary elements
%SUMMATION_BND% summation of given function values based on all MESHFREE boundary points with respect to given boundary elements
%AVERAGE_BND% average of a functional based on all MESHFREE boundary points with respect to given boundary elements
%MAXIMUM_FS% maximum of a functional based on all MESHFREE free surface points with respect to given material flags
%MINIMUM_FS% minimum of a functional based on all MESHFREE free surface points with respect to given material flags
%AVERAGE_FS% average of a functional based on all MESHFREE free surface points with respect to given material flags
%MAXIMUM_MP% maximum of a functional based on all non-irreducible monitor points with respect to given material flags
%MINIMUM_MP% minimum of a functional based on all non-irreducible monitor points with respect to given material flags
%SUMMATION_MP% summation of a functional based on all non-irreducible monitor points with respect to given material flags
%AVERAGE_MP% average of a functional based on all non-irreducible monitor points with respect to given material flags
%POINT_DIRECT% write simple values like position, chamber index etc. of a BND_point to file
%POINT_APPROXIMATE% approximation of a functional at a BND_point by MESHFREE interpolation
%POINT_APPROXIMATE_ProjBNDOnly% approximation of a functional at a BND_point by MESHFREE interpolation with respect to neighboring boundary points
%PUBLICVALUE% public value of MESHFREE simulation
%PUBLICVALUE_TIME% time-integrated public value of MESHFREE simulation
%PUBLICVALUE_SUM% summed public value of MESHFREE simulation
%PUBLICVALUE_CLOCKstatistics% CLOCK value of given stop watch
%PUBLICVALUE_CPUstatistics% CPU value of given stop watch
%PUBLICVALUE_MP% public value of MESHFREE simulation derived from non-irreducible monitor points (experimental)
%MINIMUM_BENP% (experimental) minimum of a scalar value with respect to boundary node points
%MAXIMUM_BENP% (experimental) maximum of a scalar value with respect to boundary node points
%SUMMATION_BENP% (experimental) summation of a scalar value with respect to boundary node points
ExpressionOfIntegrand scalar expression to integrate with respect to a given region
Skip additional options to skip computation of integrations
TimestepFile Results of INTEGRATION statements per timestep
SequentialFiltering generate writeout to timestep files due to simple sequential filters
SelectionFeatures additional options to further select MESHFREE integration points for integration
HeaderInfoOrComments add comments for integration
AppendDataToExistingFiles append the INTEGRATION data to an existing .timestep file of the same structure
%ASSIGN_FUNCTIONVALUE% assign a function value to selected MESHFREE points
%INTEGRATION_BE_DIRECT% surface integration of a scalar value on boundary elements
%INTEGRATION_BE_DIRECT_TIME% surface and time integration of a scalar value on boundary elements
%MINIMUM_BE% minimum of a scalar value with respect to boundary elements
%MAXIMUM_BE% maximum of a scalar value with respect to boundary elements
%SUMMATION_BE% summation of a scalar value with respect to boundary elements