Skip to main content

Compiler for the GeLB Description (GD) programming language

Project description

Introduction

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 your_gd_program.gd

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 setup.py test

To upload new version to PyPI:

$ cd ${GELB_ROOT}
$ # *manually* increment version @setup.py
$ ./utils/scripts_for_devs/cleanup_project.sh
$ python setup.py sdist
$ twine upload dist/*

Project details


Release history Release notifications | RSS feed

This version

0.11

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 details)

Uploaded Source

File details

Details for the file gelb-0.11.tar.gz.

File metadata

  • Download URL: gelb-0.11.tar.gz
  • Upload date:
  • Size: 2.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for gelb-0.11.tar.gz
Algorithm Hash digest
SHA256 28324f945129bab28ba4e4ce9b8768540c05f8bc31ae0733d041d762b8e60c4e
MD5 ba096f46f312bf7f5617b68f9e84fda4
BLAKE2b-256 f0a8be28be54b5ae2de183a6f432309758792fa5f154d98bfb5348718ccec3bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page