cooppakages

Photo Mildlee on Unsplash - COOP packages, a set of high quality python packages curated to support your scientific computing craft

COOP is working on an ecosystem of Python packages to ease different tasks in the field of scientific computations. Discover here how these packages are articulated. For more information on a specific package, type the name of a package in the Search field of the blog.

Due to some circumstances, this ecosystem is usually named the The Opentea3 ecosystem.

Short Description

Main packages with GUIs

COOP is developing pyAVBP, a set of python-based helpers for the AVBP solver. It features Graphical user interfaces for several families of AVBP setups, but also helper functions in python to rely on when developing custom-made AVBP tools. The license is “AVBP limited diffusion”, meaning you need an access to the Cerfacs Forge to install pyavbp.

outilsMetierSafran (in short oms) can be used on top of pyavbp to get the tools compatible with SAFRAN combustion studies. More advanced tools and GUIs are proposed. Contrarily to pyAVBP, this package is private to SAFRAN.

Finally hip is an open-source Swiss-army knife for meshes. It allows mesh conversions, corrections, adaptations and compositions. Mostly used with an interactive command-line, it also comes with pyhip a python Front-end with GUIs and terminal shortcuts.

Special purpose packages

The following packages written in a generic fashion to be of use in broader contexts, beyond AVBP. All are open-source.

  • ms_thermo is a helper tool to manage the thermodynamical state of a multi-species gas. Compatible with NASA polynomials as well as AVBP thermodynamical properties, it can be the basis for many custom-made pre and post-processing tools
  • opentea3 is a GUI engine using json-SCHEMA to build Tkinter Graphical User Interfaces. tiny3dengine is a subpart of opentea3 allowing a simple rendering of wireframes 3D scenes.
  • arnica is where we store, test, and document our smallest no-brainer functions (normalize a vector field, rotate it, create a .xmf & .h5 file from numpy arrays etc…)
  • h5cross is our set of hdf5-related recurrent functions. For example, go there to compare visually two hdf5 dataset from the command line.
  • nob helps to handle highly nested serialized datasets. nobvisual provides a good visualisation of these nested objects.
  • tekigo helps to generate mesh adaptations metrics satisfying both local (e.g. cell size) and global (e.g. nb. of cells) constraints. The work of mesh adaptation is then given to pyhip.
  • kokiy generates some 2D curvilinear I,J shells used in post-processing tools of our CFD fields.
  • cloud2cloud is a generic radial-based-function interpolator for point-clouds stored in Numpy arrays. As it uses SciPy cKDtree, the global interpolation speed is quite good.
  • calcifer is 2D finite difference solver working on 2D curvilinear grids. Not a revolution, but useful for a quick resolution of the heat equation.
  • lemmings helps to create a job chain portable from one HPC cluster to the other. Its most basic usage is “Re-submit this run until simulated time equals ***ms”, but one can add a lot more of smart logic in a LemmingJob.
  • showy use .yml configuration files to define plots layouts for the temporal monitoring of a code. Its backend is matplotlib, and uses a color-blind proof set of colors.
  • satis is where we store our temporal analysis functions such as Fourier transform of auto-correlations times.

Dependencies of packages

The following table shows that most of our packages are the basis for pyavbp. oms inherits from pyavbp dependencies.tekigo inherits from pyhip dependencies. However lemmings , kokiy, nob ,nobvisual , showy are all standalone packages.

oms pyavbp pyhip tekigo kokiy lemmings tekigo nob nobvisual showy
pyavbp O
pyhip O O
opentea O O
arnica O O O O
ms_thermo O
kokiy O
h5cross O
nobvisual O
showy O

Table of dependencies related to each package - to be read column-wise

Like this post? Share on: TwitterFacebookEmail


Antoine Dauptain is a research scientist focused on computer science and engineering topics for HPC.

Keep Reading


Published

Category

Our Creations

Tags

Stay in Touch