... | @@ -8,7 +8,7 @@ |
... | @@ -8,7 +8,7 @@ |
|
* Data is convenient for copying between computing systems.
|
|
* Data is convenient for copying between computing systems.
|
|
* It allows for easy extraction/copying of selected variables.
|
|
* It allows for easy extraction/copying of selected variables.
|
|
|
|
|
|
**W-data** format **is not a library**. It is only a **concept**. It specifies how the data should be saved or read. It means that you do not need to use any external libraries to be able to read or write. It is sufficient to use standard I/O functions to work with this format. We provide within this repository libraries written in C or in python just for convenience. The example code demonstrating this concept can be found here [
|
|
**W-data** format **is not a library**. It is only a **concept**. It specifies how the data should be saved or read. It means that you do not need to use any external libraries to be able to read or write. It is sufficient to use standard I/O functions to work with this format. We provide within this repository libraries written in C or in Python just for convenience. The example code demonstrating this concept can be found here [
|
|
c-examples
|
|
c-examples
|
|
/example-write-low-level.c](https://gitlab.fizyka.pw.edu.pl/wtools/wdata/-/blob/master/c-examples/example-write-low-level.c). The concept is described below.
|
|
/example-write-low-level.c](https://gitlab.fizyka.pw.edu.pl/wtools/wdata/-/blob/master/c-examples/example-write-low-level.c). The concept is described below.
|
|
|
|
|
... | @@ -31,11 +31,14 @@ nz 32 # lattice |
... | @@ -31,11 +31,14 @@ nz 32 # lattice |
|
dx 1 # spacing
|
|
dx 1 # spacing
|
|
dy 1 # spacing
|
|
dy 1 # spacing
|
|
dz 1 # spacing
|
|
dz 1 # spacing
|
|
|
|
x0 -12 # origin of x-axis
|
|
|
|
y0 -14 # origin of y-axis
|
|
|
|
z0 -16 # origin of z-axis
|
|
datadim 3 # dimension of block size: 1=nx, 2=nx*ny, 3=nx*ny*nz
|
|
datadim 3 # dimension of block size: 1=nx, 2=nx*ny, 3=nx*ny*nz
|
|
prefix test # prefix for files belonging to this data set, binary files have names `prefix_variable-name.format`
|
|
prefix test # prefix for files belonging to this data set`
|
|
cycles 10 # number of cycles (measurements)
|
|
cycles 10 # number of cycles (measurements)
|
|
t0 0 # time value for the first cycle
|
|
t0 0 # time value for the first cycle
|
|
dt 0.1 # time interval between cycles. If `dt` negative then time step is varying and is read from binary file `prefix__t.wdata`
|
|
dt 1 # time interval between cycles
|
|
|
|
|
|
# variables
|
|
# variables
|
|
# tag name type unit format
|
|
# tag name type unit format
|
... | @@ -53,7 +56,15 @@ link current_b current_a |
... | @@ -53,7 +56,15 @@ link current_b current_a |
|
const eF 0.5 MeV
|
|
const eF 0.5 MeV
|
|
const kF 1 1/fm
|
|
const kF 1 1/fm
|
|
```
|
|
```
|
|
According to our experience, three [types of variables](https://gitlab.fizyka.pw.edu.pl/wtools/wdata/-/wikis/Data%20types) (`real`, `complex`, `vector`) are sufficient and cover more than 90% of applications. However, we have implemented single-precision (`float` in C notation) types denoted as `real4`, `complex8`, and `vector4`. To be consistent with the notation, one can use `real8`, `complex16` or `vector8` exchangeable for `real`, `complex`, `vector`.
|
|
According to our experience, three types of variables (`real`, `complex`, `vector`) are sufficient and cover more than 90% of applications. The variables can be stored either in double or float precision.
|
|
|
|
|
|
|
|
| type | float | double |
|
|
|
|
|-----------|----------|-----------|
|
|
|
|
| real | `real4` | `real`, `real8` |
|
|
|
|
| complex | `complex8` | `complex`, `complex16` |
|
|
|
|
| vector | `vector4` | `vector`, `vector8` |
|
|
|
|
|
|
|
|
However, we have implemented single-precision (`float` in C notation) types denoted as `real4`, `complex8`, and `vector4`. To be consistent with the notation, one can use `real8`, `complex16` or `vector8` exchangeable for `real`, `complex`, `vector`.
|
|
|
|
|
|
Binary files store data as row arrays called `datablocks`:
|
|
Binary files store data as row arrays called `datablocks`:
|
|

|
|

|
... | | ... | |