Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
TurTLE
TurTLE
Commits
126302bf
Commit
126302bf
authored
Dec 04, 2019
by
Cristian Lalescu
Browse files
tweak documentation
parent
c14be9dc
Pipeline
#64961
passed with stage
in 4 minutes and 30 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
documentation/chapters/overview.rst
View file @
126302bf
...
...
@@ -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.
I
n
brief, the main
aim of the code is to simplify the launching of
A
n
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
p
ython
describing working with fields or sets of particles), while a
P
ython
3
wrapper is used for generating "main" programmes to be linked against
the core library.
The core library uses
MPI
for parallelization, and the
p
ython wrapper
The core library uses
a hybrid MPI/OpenMP approach
for parallelization, and the
P
ython
3
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
p
ython3 for
In principle, users of the code should only need to use
P
ython3 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
p
ython package can be used to generate executable
Classes defined in the
P
ython
3
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
p
ython code, such that they can be combined in
as strings in the
P
ython
3
code, such that they can be combined in
different ways.
Once a "main" file has been written, it is compiled and linked against
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment