Photo de Eduardo Soares sur Unsplash
The COOP team developed a lot of tools. Here is a non-exhaustive curated Alphabetical list of our creations with useful links.
If a link is broken, please send a message to coop@cerfacs.fr
ANUBIS: Git repository exploration
Licence : open-source , MIT
Built on top of Tucan, this package explores the Git repositories and can extract heaps of usefull dataviz to discuss with the team developpers.
- Documentation on ReadTheDocs (broken for now?)
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
ARNICA : Basic utilities
Licence : open-source , MIT
Arnica or “All the Recurrent No-brainers In CFD Applications” gather many utilities we use everywhere, from simple viscosity laws to dumpy numpy arrays as a XDMF file.
If it is tiny, generic and re-used everywhere, it goes up into Arnica.
- Documentation on ReadTheDocs
- Installable from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
CODE LSD : small applications with LLMs
Licence : open-source , MIT
CODE LSD gather some proof on concepts of Applications using LLMs to help code developments. This is where we store the Walking Prompt that can translate a full codebase (500M LOC) into natural language, recursively, making summaries for each folders.
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
- A toy loop for compilation fixing on Coop Blog
- The Code 2 natural language translation post on Coop BLog
CLOUD2CLOUD : interpolations without connectivity
Licence : open-source , MIT
CLOUD2CLOUD is a simple tool to interpolate N-dimensional data between two M-dimensional meshes as fast as possible using Radial Based Functions with Scipy CKDtrees. At any point of the target mesh the data is computed from K nearest neighbours in the source mesh.
- Documentation on ReadTheDocs
- Installable from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
KOKIY : A handler for cartesian meshes mapping curved surfaces
Licence : open-source , MIT
Kokiy contains utilities to work on 2D and 3D structured grids. Grids can be, among others, cartesian planes (CartShell) or axi-cylindrical extrusions from x-r splines (AxiShell). ThickShell are 3D shells built by extruding any of the available 2d objects. Check out the API reference for an extensive list of all available geometries.
- Documentation on ReadTheDocs
- Installable from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
H5CROSS : utilities for HDF5 files
Licence : open-source , MIT
This package provides basic utilities around hdf5 type files. This includes the computation of standard statistics on data arrays such as the mean, min, max, median and standard deviation. An interactive mode is enabled through the use of nobvisual (https://pypi.org/project/nobvisual/). Scatter plot comparative capability is enabled through seaborn and matplotlib.
- Installable from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
HIP : the mesh swiss army knife
Licence : open-source , MIT
Hip is an open source package for manipulating unstructured computational grids and their associated datasets.
- Installable from from PyPi
- Origin repository on Gitlab.com
- Full Documentation on Gitlab.com
- Fast how-to on Gitlab.com
KALPATARU : the parallel partitioner and remesher
A hierarchical graph/mesh partitioning tool and library capable of generating very high quality partitioning with complete support for a scalable running algorithm. It exploits the hierarchical structure of the parallel hardware resources and tries to optimise the partitioning and load-balancing. KalpaTARU comes in two flavours a callable external library and as standalone application. Refer to the documentation pages for more information.
Licence : open-source , MIT
- Origin repository on Gitlab.com
- Documentation on Gitlab.com
LEMMINGS: Portable HPC workflow builder
Licence : open-source , MIT
Lemmings is an open-source code designed to simplify the submission of multiple inter-dependent jobs on the schedulers of HPC clusters. While originally developed within the context of Computational Fluid Dynamics (CFD) applications, it is adapted to many recursive jobs. A farming mode is present to help the replication of these recursive jobs for a parametric study.
Principle : A job (heavy computation) followed by a post_job (observation). The post_job decides if a new iteration is needed. It aims at portability accross machines, complete log and debug clues, readability and control over simulatneous workflows.
- Documentation on ReadTheDocs
- Installable from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
MARAUDER’s MAP: Codebase Mapping
Licence : open-source , MIT
Built on top of Tucan, this package build the Static callgraph and can provide interactive rich vizualizations of complex coebases with the awesome Moonframe.
- A pitch on why on the Coop Blog
- A walkthrough on the Coop Blog
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
MOONFRAME : interactive datavizualization using D3.js
Licence : open-source , MIT
Moonframe is an open-source Python library that helps you create interactive graphs using D3.js without writing a single line of JavaScript. It’s built for quick data exploration and aims to be as simple and accessible as possible.
- Documentation on ReadTheDocs (not working)
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
MS-THERMO: Manipulating solution state as a NumPy array
Licence : open-source , MIT
This packages most used element is State, an object that kept the state of a fluid consistent.
You can change its temperature, or its composition, and all conservative and primitive variables are automatically updated.
- Documentation on ReadTheDocs
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
NOB the Nested OBject manipulator¶
Licence : open-source , MIT
Nob is used for smart intereaction with large and deeply nested information (dicts, lists, nested randomly).
- Documentation on ReadTheDocs
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
NOBVISUAL : circular packing
Licence : open-source , MIT
Nobvisual is a Tkinter canvas for Circular packing interactive figures;
- Documentation on ReadTheDocs
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
OPENTEA 3: GUI engine
Licence : open-source , MIT
OpenTEA 3 is a python/Tkinter GUI engine. The specification of the GUI are written using the SCHEMA santadard. The engine interpret this Schema as Forms with the correct widgets.
The memory of the generated app. is of course always satisfying the Schema provided.
OPENTEA3 also features a polyvalent 2D acquisition tool.
- Documentation on ReadTheDocs
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
- A tutorial on the coop blog
- A tutorial on the coop blog
PYAVBP : a python wrapper for the Solver AVBP
Licence : diffusion-limited , AVBP
PyAVBP is a wizard, i.e. a set of helper tools, for complex AVBP setups through Python.
Main High level features : Full setup scenario, Graphical user Interfaces Main Low level features : I/O for meshes, run.params, temporal solutions, spatial solutions.
- Documentation on Nitrox.pages
- Origin repository on Nitrox
- Post on solutbound edition on Coop blog
- Post on solution edition on Coop blog
- Post on temporal files on Coop blog
- Complex setups with pyavbp on Coop blog
SATIS
Licence : open-source , MIT
Satis is a python3 / scipy implementation of the Fourier Spectrums in Amplitude ans Power Spectral Density. It is particularly suited for CFD signals with the following characteristics:
Short sampling time,
Potentially short recording time,
Low signal-to-noise ratio,
Multiple measures available.
- Documentation on ReadTheDocs
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
SEED Worklolad analyser and simulator
Licence : open-source , MIT
Seed is a tool to analyze and model HPC scheduling traces. It provides frequentist or Markov-chain models for user behaviors, and mockup schedulers.
- Documentation on ReadTheDocs
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
SHOWY : Light dashboard for time-dependent traces
Licence : open-source , MIT
Designed to replace the BASH xg tool of AVBP, Showy is a python wrapper of matplotlib (and recently pyplot) to generate consistent graph arrays of time-dependent trags
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
TEKIGO: Mesh‑adaptation controller
Licence : open-source , MIT
Helpers to control refinement BEFORE adaptation.
- Documentation on ReadTheDocs.
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
TThe two important helpers:
evaluate_metric()estimates the final number of cells IF we adapt with the current fieldcalibrate_metric()adjust metric to reach a user-defined mesh size.
TINY 3D ENGINE: A very light Tkinter 3D renderer
Licence : open-source , MIT
A tiny 3D render in tkinter canvas, for light 3D feedback when nothing advanced is available.
- Documentation on ReadTheDocs.
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com
TUCAN: A python codebase parser
Licence : open-source , MIT
The Uncompromising Code Analyzer.
A lightweight code parser and static code analyser in Python, able to compute several code metrics for Python, Fortran and C/C++.
We had to replace the nice Lizard because it was failing on very old and modern fortran and was a hell to extend for our purposes.
- Documentation on ReadTheDocs.
- Installable from from PyPi
- Origin repository on Nitrox
- Mirror repository on Gitlab.com