|
x |
|
|
|
\ No newline at end of file |
|
|
|
|
|
CONTENTS:
|
|
|
|
[Runtime data analysis](3.5-Data-analysis#runtime-data-analysis)
|
|
|
|
[Postprocessing and visualization](3.5-Data-analysis#postprocessing-and-visualization)
|
|
|
|
|
|
|
|
The data produced in a simulation can be analyzed during runtime or in a
|
|
|
|
postprocessing step on basis of the snapshot files. Runtime analysis is
|
|
|
|
often necessary when time series data are to be examined.
|
|
|
|
|
|
|
|
### Runtime data analysis
|
|
|
|
|
|
|
|
The interface `analysisUser.c` is thought as template for a
|
|
|
|
user-specific data analysis during runtime. The function
|
|
|
|
`analysisUser()` is called every `_C.freq_ana` timestep cycles as
|
|
|
|
specified by the user in `nirvana.par` under category SIMULATION I/O. In
|
|
|
|
the call of `analysisUser()` the only function argument is the master
|
|
|
|
mesh pointer `gm`:
|
|
|
|
|
|
|
|
analysisUser(gm);
|
|
|
|
|
|
|
|
The user can implement own code for data analysis in `analysisUser.c`.
|
|
|
|
In MPI simulations data must often be gathered which requires knowledge
|
|
|
|
in MPI programming.
|
|
|
|
|
|
|
|
*Note 1: Recall that in MPI simulations the master mesh pointer `gm`
|
|
|
|
passed to `analysisUser()` only represents the mesh portion of the
|
|
|
|
calling partition.*
|
|
|
|
|
|
|
|
*Note 2: The interface `analysisUser.c` can also be used to implement a
|
|
|
|
driver source if called every timestep (`_C.freq_ana`=1). An example for
|
|
|
|
such an application can be found in the testproblem
|
|
|
|
`/nirvana/testproblems/MHD/problem26`.*
|
|
|
|
|
|
|
|
*Note 3: The user may find the function *meshReduce()* in module
|
|
|
|
`util.c` useful in computing mesh-averaged quantities.*
|
|
|
|
|
|
|
|
### Postprocessing and visualization
|
|
|
|
|
|
|
|
NIRVANA permits a post-run data analysis of a snapshot with regard to
|
|
|
|
user code in `analysisUser.c`. This is enabled by setting the parameters
|
|
|
|
`mode` and `fname` in line 01 under category SIMULATION I/O in
|
|
|
|
`nirvana.par` accordingly. Namely, `mode` must be set to value `ANA` and
|
|
|
|
`fname` must specify the snapshot (cf. [Restarting a
|
|
|
|
simulation](3.4-Restarting-a-simulation)). In running mode `ANA` the
|
|
|
|
full simulation state stored in the snapshot is first recovered, the
|
|
|
|
user-analysis function `analysisUser()` called and the code quit
|
|
|
|
immediately hereafter.
|
|
|
|
|
|
|
|
Postprocessing and visualization of data can also be performed by
|
|
|
|
transforming snapshot files into output formats readable by
|
|
|
|
visualization tools like IDL or VisIt. The task of data conversion is
|
|
|
|
hereby taken over by CAIVS which offers a variety of output formats
|
|
|
|
(CSV, Silo, HDF5, etc.). For more details see the CAIVS user guide
|
|
|
|
([Wiki](https://gitlab.aip.de/ziegler/NIRVANA/-/wikis/4-CAIVS-user-guide),
|
|
|
|
[PDF](https://gitlab.aip.de/ziegler/NIRVANA/doc/pdf/4_CAIVS-user-guide.pdf)). |