Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
TurTLE
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
TurTLE
TurTLE
Commits
126302bf
Commit
126302bf
authored
5 years ago
by
Cristian Lalescu
Browse files
Options
Downloads
Patches
Plain Diff
tweak documentation
parent
c14be9dc
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Pipeline
#64961
passed
5 years ago
Stage: build
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
documentation/chapters/overview.rst
+8
-15
8 additions, 15 deletions
documentation/chapters/overview.rst
with
8 additions
and
15 deletions
documentation/chapters/overview.rst
+
8
−
15
View file @
126302bf
...
@@ -8,44 +8,37 @@ General comments
...
@@ -8,44 +8,37 @@ General comments
The purpose of this code is to run pseudo-spectral DNS of turbulence,
The purpose of this code is to run pseudo-spectral DNS of turbulence,
and integrate particle trajectories in the resulting fields.
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
compute jobs and postprocessing, up to and including the generation of
publication-ready figures.
publication-ready figures.
For research, people routinely write code from scratch because research
For research, people routinely write code from scratch because research
goals change to a point where modifying the previous code is too
goals change to a point where modifying the previous code is too
expensive.
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.
implemented in a library.
The core library can then be used by many problem-specific codes.
The core library can then be used by many problem-specific codes.
In this sense, the structuring of the code-base is non-standard.
In this sense, the structuring of the code-base is non-standard.
The core functionality is implemented in C++ (classes useful for
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
wrapper is used for generating "main" programmes to be linked against
the core library.
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.
compiles this core library when being installed.
The compilation environment can be configured for different
machines as required.
Python3 "wrapper"
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.
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
codes, compile/launch them, and then for accessing and postprocessing
data.
data with a full Python3 environment.
Obviously, postprocessing methods can be optimized with C extensions or
otherwise, as needed.
Code generation is quite straightforward, with C++ code snippets handled
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.
different ways.
Once a "main" file has been written, it is compiled and linked against
Once a "main" file has been written, it is compiled and linked against
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment