Skip to main content

Compiler for the GeLB Description (GD) programming language

Project description


GeLB is a tool for quickly developing simulations based on the lattice Boltzmann (LB) approach. At its core lies the GeLB Description (GD) domain-specific programming language (DSL), which allows LB (or similar) algorithms to be expressed in a convenient manner (i.e. as close to the mathematical notation as possible).

This Python package provides the gelbc program, which is the reference implementation of a compiler for the GD language.

The intended audience is the community of researchers (or PhD students) who develop new LB algorithms.

Installation (for GeLB users)

$ pip3 install gelb

Usage (warning: not yet functional!)

$ gelbc

Information for GeLB developers (currently, only for Dragos)

Technically-speaking, gelbc is only a “transpiler” (rather than a normal compiler), because currently it only generates high-level language (C or Fortran) code, instead of machine code. This might change in future releases.

To run tests, use:

$ python3 test

To upload new version to PyPI:

$ cd ${GELB_ROOT}
$ # *manually* increment version
$ ./utils/scripts_for_devs/
$ python sdist
$ twine upload dist/*

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gelb-0.11.tar.gz (2.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page