Recommended Pre- and Post-Processing for MESHFREE
We have developed dedicated tools for pre- and post-processing MESHFREE simulations. We do not provide compiled executables for these tools. Instead, the source code for these tools is available at MESHFREE QuickTools for you to compile yourself. They require Qt version 4 or 5, which are available as open source.
QuickEdit: Dedicated editor for MESHFREE input files with quick access to the user manual.
QuickMonitor: Monitor MESHFREE INTEGRATION results during a simulation.
QuickView: View the current MESHFREE point cloud during a simulation.
Before being able to run a simulation, you need to prepare geometry files defining the boundaries to the simulation domain. This generally happens outside of MESHFREE, using your preferred CAD tool (for example FreeCAD). For details on requirements of the triangulation and supported file formats, see BoundaryElements, particularly BoundaryElements.include.
Alternatively, you can define PlainBoundaryElements directly in the MESHFREE input.
The simulation setups are defined via text InputFiles in a dedicated syntax. We recommend QuickEdit (see above), with automatic syntax hightlighting and quick access to the user manual. Alternatively, we suggest using a source code editor that supports Python code hightlighting, for example Visual Studio Code, Kate (Linux), Notepad++ (Windows), or whichever code editor you are already familiar with.
For postprocessing, the simulation results (MESHFREE point cloud as well as geometry elements) can be saved. Details on the available file formats and their usage can be found in SAVE, especially SAVE_format. To view and analyze the results, we recommend downloading and installing the open source tool ParaView. A brief introduction to ParaView as well as useful features for analyzing MESHFREE results can be found in 10_ParaViewForMESHFREE.pdf. Obviously, you may also use whichever other viewer for the chosen SAVE_format that you are most comfortable with.
To quickly view the current MESHFREE point cloud during a simulation, you can also use QuickView (see above).
ParaView Tips and TricksBy default, MESHFREE writes two types of result files, one for the boundary elements and one for the point cloud. Both can be visualized by ParaView with already implemented features:
Switching on the 'Animation View' produces a timeline. Jumping between time steps becomes much easier.
Switching on the 'Statistics Inspector' provides further information on the loaded data sets, e.g. the number of points.
For a boundary elements result file, the aliases are listed in the corresponding 'Multi-block Inspector' tab. By checking/unchecking the boxes, only the desired aliases can be visualized.
For a point cloud results file, it is common to change the representation from 'Surface' (default) to 'Points'.
The following 'Filters' are useful:
'Clip' with clip types 'Plane' and 'Box' (restrict the result geometrically)
'Threshold' (restrict the result with respect to a scalar quantity)
'Glyph' with glyph type 'Arrow' (visualization of vector fields) and 'Sphere' (visualization of simulation points as spheres, especially in case of DROPLETPHASE)
'Calculator' (compute quantities as a function of the loaded simulation data)
'Save State' can be used to save the executed commands. Using 'Load State', a previously saved state can be restored.
Furthermore, integrated simulation results can be saved in tabular form, see INTEGRATION for details. This data can be analyzed, e.g. with the help of QuickMonitor (see above), GNU Octave, gnuplot (see also 11_GnuplotForMESHFREE.pdf), or any spreadsheet tool (Microsoft Excel).
Each simulation run has a simulation ID.
All log files contain the simulation ID in their file name,
usually in the form ...___SIM_ID_<simid>...
This allows the user to distinguish log files from multiple runs in the same working directory.
The default simulation ID is computed by the epoch time since 2025-01-01.
If a different ID is required, it can be set by the user via the common_variables parameter iFPM_process_ID
or via the CommandLine option --simid.
The following log files may be created in the working directory:
| File | Contents |
|---|---|
events___SIM_ID_<simid>.log | Contains user defined messages, see EVENT, particularly EventMessage and %EVENT_Message%. |
ERROR___SIM_ID_<simid>.log | Contains the error message causing an abort. |
warnings___SIM_ID_<simid>.log | Contains numbered warnings indicating a problem with the setup that the user can and should fix. In addition, the MESHFREE version and the number of MPI processes are documented at the beginning of this file. |
info___SIM_ID_<simid>.log | Contains informational messages that might in some cases indicate a problem, but could also refer to expected behavior depending on the setup. |
At the startup of MESHFREE, the log directory log___SIM_ID_<simid>
is created and information on the values assigned to the variables is stored in the following files therein:
| File | Contents |
|---|---|
Acronyms.log | Contains the integer values for user-defined acronyms, ordered by usage: BCON, MOVE, MAT, SMOO (SmoothingLength), POSTBND (PostProcessing), ACTIVE, TOUCH, EQUN and CURV. |
Aliases.log | Contains the alias section. As nested definitions of alias section are also possible, this file contains the completely resolved definitions. |
Variables.log | Contains all identifiers of the form %...% (indices, constants and others). Can be used to decode the integer value Y%ind_kob% to a boundary flag like %IDENT_none% (interior point), %IDENT_wall% (wall), %IDENT_free% (free surface), ... |
Indices.log | Contains all indices that can be used to reference entries of the Y-array (point cloud). Some of these indices might be sharing an integer value if they belong to different solvers (due to memory reasons). |
GeometryNames.log | Contains the geometry names, the corresponding alias integer values, and associated integer values (e.g. for MOVE). |
MPI_config | Contains information on the MPI configuration of the simulation: MPI process id, number of MPI processes, MPI communicatior, shared MPI process id, number of shared MPI processes, shared MPI communicator |
RIGIDBODY_interaction.log | Contains information on the RIGIDBODY interaction. |
Version.log | Contains the MESHFREE version number used in the simulation run. |