Skip to content
This repository has been archived by the owner on May 21, 2022. It is now read-only.

Triflow v0.5.0

Latest
Compare
Choose a tag to compare
@celliern celliern released this 02 May 11:49
· 19 commits to master since this release

The aim of this library is to have a (relatively) easy way to write
transient dynamic systems with 1D finite difference discretization, with
fast temporal solvers.

Triflow, PDE solver framework

Quick description

The main two parts of the library are:

  • symbolic tools defining the spatial discretization, with boundary
    taking into account in a separated part
  • a fast temporal solver written in order to use the sparsity of the
    finite difference method to reduce the memory and CPU usage during
    the solving

Moreover, extra tools are provided and the library is written in a
modular way, allowing an easy extension of these different parts (see
the plug-in module of the library.)

The library fits well with an interactive usage (in a jupyter notebook).
The dependency list is actually larger, but on-going work target a
reduction of the stack complexity.

Changelog

v0.5.0

  • WARNING: some part of the API has changed:
    • Simulation signature has changed. t arg is now optional (with t=0) as default and physical_parameters is now parameters.
    • The displays have been completely rewritten, and the previous API is depreciated. Users are encouraged to modify their scripts or to stick to the ^0.4 triflow versions.
  • move schemes from plugins to core
  • compilers: remove tensorflow, add numpy which is way slower but has no compilation overhead.
  • displays and containers are connected to the simulation via streamz
  • add post-processing.
  • real-time display is now based on Holoviews. Backward compatibility for display is broken and users are encouraged to modify their scripts or to stick to the ^0.4 triflow versions.
  • use poetry to manage dependencies.
  • use tqdm to display simulation update.

v0.4.12:

  • give user choice of compiler
    • get out tensorflow compiler (not really efficient, lot of maintenance trouble)
    • give access to theano and numpy compiler
  • upwind scheme support
  • using xarray as fields backend, allowing easy post process and save
  • update display and containers
  • adding repr string to all major classes