Commit 126302bf authored by Cristian Lalescu's avatar Cristian Lalescu
Browse files

tweak documentation

parent c14be9dc
Pipeline #64961 passed with stage
in 4 minutes and 30 seconds
......@@ -8,44 +8,37 @@ General comments
The purpose of this code is to run pseudo-spectral DNS of turbulence,
and integrate particle trajectories in the resulting fields.
In brief, the main aim of the code is to simplify the launching of
An important aim of the code is to simplify the launching of
compute jobs and postprocessing, up to and including the generation of
publication-ready figures.
For research, people routinely write code from scratch because research
goals change to a point where modifying the previous code is too
expensive.
With bfps, the desire is to identify core functionality that should be
With TurTLE, the desire is to identify core functionality that should be
implemented in a library.
The core library can then be used by many problem-specific codes.
In this sense, the structuring of the code-base is non-standard.
The core functionality is implemented in C++ (classes useful for
describing working with fields or sets of particles), while a python
describing working with fields or sets of particles), while a Python3
wrapper is used for generating "main" programmes to be linked against
the core library.
The core library uses MPI for parallelization, and the python wrapper
The core library uses a hybrid MPI/OpenMP approach for parallelization, and the Python3 wrapper
compiles this core library when being installed.
The compilation environment can be configured for different
machines as required.
Python3 "wrapper"
-----------------
In principle, users of the code should only need to use python3 for
In principle, users of the code should only need to use Python3 for
launching jobs and postprocessing data.
While python2 compatibility should not be too hard to maintain, the
usage of strings makes it a bit cumbersome ---
the code makes extensive usage of strings for `HDF5` I/O.
Classes defined in the python package can be used to generate executable
Classes defined in the Python3 package can be used to generate executable
codes, compile/launch them, and then for accessing and postprocessing
data.
Obviously, postprocessing methods can be optimized with C extensions or
otherwise, as needed.
data with a full Python3 environment.
Code generation is quite straightforward, with C++ code snippets handled
as strings in the python code, such that they can be combined in
as strings in the Python3 code, such that they can be combined in
different ways.
Once a "main" file has been written, it is compiled and linked against
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment