Skip to content

Output Formats

Ruben Horn edited this page Feb 10, 2025 · 5 revisions

Couette CSV

TODO

SimpleMD Checkpoints

SimpleMD checkpoints are plain ASCII files contianing $n+1$ lines for a scenario with $n$ molecules.
The first line contains the number of molecules and the dimensions of the simulation (2 or 3).
Checkpoints are being created using the filename pattern <filename>_<timestep>_<rank>.checkpoint.

Example:

<molecules> 3
<pos_x> <pos_y> <pos_z> <vel_x> <vel_y> <vel_z> <force_x> <force_y> <force_z>
<pos_x> <pos_y> <pos_z> <vel_x> <vel_y> <vel_z> <force_x> <force_y> <force_z>
...times <molecules>

couette.xml

VTK

VTK files are generated using the legacy ASCII format.

Macroscopic Solver

The coupling::solvers::NumericalSolver writes the macroscopic solver state to <solver>Couette_r<rank>_c<timestep>.vtk where <solver> may be either "LB" or "FD".
For $n$ lattice cells the dataset contains three attributes with $n$ values each:

  • Flag (s. below)
  • Density
  • Velocity (xyz)

Flags:

Value Flag Description
1 FLUID Normal fluid cell
2 NO_SLIP Cell on the no slip (non-moving) wall
3 MOVING_WALL Cell on the moving wall
4 PERIODIC Cell on a periodic boundary
5 MD_BOUNDARY Cell on the boundary to md
6 PARALLEL_BOUNDARY Cell on a inner boundary of a splitted

Example:

# vtk DataFile Version 2.0
MaMiCo NumericalSolver
ASCII

DATASET STRUCTURED_GRID
DIMENSIONS <x+3> <y+3> <z+3>
POINTS <points> float
<point_x> <point_y> <point_z>
...times <points>

CELL_DATA <cells>
SCALARS flag float 1
LOOKUP_TABLE default
<flag>
...times <cells>

SCALARS density float 1 
LOOKUP_TABLE default
<density>
...times <cells>

VECTORS velocity float
<vel_x> <vel_y> <vel_z>
...times <cells>

Note:

  • <cells> $=(x+2)\times (y+2)\times (z+2)$ includes two boundary cells in every dimension.
  • <points> $=(x+3)\times (y+3)\times (z+3)$ defines the grid where each cell has four corners.

couette.xml

Coupling Cell Plotter

To obtain macroscopic and microscopic solver data for the MaMiCo coupling cells, the coupling::CouplingCellPlotter can be used. The output file names follow the pattern <name>_<type>_{coupling cell service id}_<rank>_<timestep>.vtk where <type> may be "CouplingCells" (macroscopic) or "Molecules" (microscopic).

couette.xml

CouplingCells

TODO

Example:

# vtk DataFile Version 2.0
generated by MaMiCo (Philipp Neumann)
ASCII
DATASET STRUCTURED_POINTS
DIMENSIONS <cells_x> <cells_y> <cells_z>
ORIGIN <x> <y> <z>
SPACING <x> <y> <z>
POINT_DATA <cells>
SCALARS microscopicMassBuffer float 1
LOOKUP_TABLE DEFAULT
<microscopicMass>
...times <cells>

SCALARS macroscopicMassBuffer float 1
LOOKUP_TABLE DEFAULT
<macroscopicMass>
...times <cells>

SCALARS mass float 1
LOOKUP_TABLE DEFAULT
<mass>
...times <cells>

SCALARS meanPotentialEnergyBuffer float 1
LOOKUP_TABLE DEFAULT
<energy>
...times <cells>

SCALARS temperature float 1
LOOKUP_TABLE DEFAULT
<temperature>
...times <cells>

VECTORS microscopicMomentumBuffer float
<micro_moment_x> <micro_moment_y> <micro_moment_z>
...times <cells>

VECTORS macroscopicMomentumBuffer float
<macro_moment_x> <macro_moment_y> <macro_moment_z>
...times <cells>

VECTORS meanVelocity float
<mean_vel>
...times <cells>

Molecules

The microscopic output file of the coupling cell plotter contains two attributes with $n$ values for all $n$ molecules:

  • Molecule velocity (xyz)
  • Potential energy

The molecule positions define the unstructured grid.

Example:

# vtk DataFile Version 2.0
Generated by MaMiCo (Philipp Neumann)
ASCII
DATASET UNSTRUCTURED_GRID
POINTS <molecules> float
<pos_x> <pos_y> <pos_z>
...times <molecules>

POINT_DATA <molecules>
VECTORS velocity float;
<vel_x> <vel_y> <vel_z>
...times <molecules>

SCALARS potentialEnergy float 1;
LOOKUP_TABLE DEFAULT;
<potentialEnergy>
...times <molecules>

Clone this wiki locally