Skip to main content

TransiFlow

TransiFlow is a Python package that implements several standard test cases in computational fluid dynamics using the finite volume method. We provide an interface to compute a right-hand side, Jacobian matrix, and mass matrix for these problems, which allows us to perform time integration, or a continuation to compute a bifurcation diagram for the problem at hand.

Continuation

We provide a pseudo-arclength continuation method with adaptive arclength step size. Given a continuation parameters and a target value, the continuation can be called as follows

    # Define the problem
    parameters = {'Reynolds Number': 0, 'Problem Type': 'Lid-driven cavity'}
    interface = Interface(parameters, nx, ny, nz)

    # Instantiate the continuation
    continuation = Continuation(interface)

    # Compute an initial guess
    x0 = interface.vector()
    x0 = continuation.newton(x0)

    # Perform the continuation. x will be the state at the target Reynolds number.
    x, mu = continuation.continuation(x0, 'Reynolds Number', start, target, ds)

Eigenvalue computation

For the computation of eigenvalues, which can be used for the detection of bifurcation points, we provide an interface to JaDaPy. JaDaPy has to be installed or included in the PYTHONPATH to use it. An example of how to perform a continuation and compute eigenvalues can be found in examples/ldc.py.

Installation

TransiFlow is available on PyPi, and can be installed by running

pip install transiflow

TransiFlow is best installed in a virtual environment. We state the most common steps for creating and using a virtual environment here. Refer to the documentation for more details.

To create a virtual environment run

python3 -m venv /path/to/new/virtual/environment

and to activate the virtual environment, run

source /path/to/new/virtual/environment/bin/activate

After this, we can install TransiFlow from PyPi as described above, or from this source repository, to allow for easy modifications of the code. To clone the TransiFlow git repository and install TransiFlow in editable mode from the transiflow source directory, one can perform the following commands

git clone https://github.com/BIMAU/transiflow.git
cd transiflow
pip install -e .

This will also install all of the dependencies. The same can be done for JaDaPy in the same virtual environment.

Now one should be able to run an example.

python examples/ldc.py

If the example fails with

ldc.py:64: UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
  plt.show()

this means that tkinter is not available. You can either just save the image to the disk, or install e.g. python3-tk or python3-matplotlib on Debian-based Linux distributions.

Optional dependencies

To use the optional computational backends, you can install the following:

  • HYMLS: Install Trilinos with PyTrilinos enabled, then install HYMLS.
  • Epetra: Install Trilinos with PyTrilinos enabled. This is enough to use the backend, but since there is no preconditioner, this may not be very useful.
  • PETSc: Run PETSC_CONFIGURE_OPTIONS='--download-mumps --download-scalapack' pip install mpi4py petsc4py. This is enough to use the backend, but since there is no preconditioner yet, this may not be very useful.

Metadata

Release files for transiflow 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for transiflow 1.0.1
File Size Uploaded
transiflow-1.0.1.tar.gz 63.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for transiflow 1.0.1
File Interpreter ABI Platform
transiflow-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 120.3 kB

Release files / transiflow-1.0.1.tar.gz

Download URL transiflow-1.0.1.tar.gz
Size 63.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b5722fd48d4f420e9defc8e9adec8a4b9ae5ee934c29b721e334d65dfa6416cc
BLAKE2b-256 checksum
How to use checksums
ecf7848e84c76f9e5b4256ff722adffccbed7b1d1a1b021f10c3b65015cf3c7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 9, 2026.

Transparency log

Release files / transiflow-1.0.1-py3-none-any.whl

Download URL transiflow-1.0.1-py3-none-any.whl
Size 56.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6e8f26f603ae72916c38bc1c03ceb0e33c4cf3feef7115eede7fb1eec935856c
BLAKE2b-256 checksum
How to use checksums
16035cdcb3d2278ccd8b071824a2dde3818c873e244c28a8839e43ddf0237c0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page