Skip to content

Releases: tum-pbs/PhiFlow

2.1.3

20 May 18:11
5f88cf3
Compare
Choose a tag to compare

See #62

PyPI Release

pip install phiflow==2.1.3

2.1.2

29 Apr 16:13
Compare
Choose a tag to compare

See #58

2.1.1

23 Apr 16:32
Compare
Choose a tag to compare

See #54

2.1.0

09 Apr 19:28
eccfffb
Compare
Choose a tag to compare

Version 2.1 introduces item names for dimensions, 3D plotting and much more.
See #52 for details.

2.0.1

04 Nov 12:09
Compare
Choose a tag to compare

Fixes for Jax and PyTorch due to breaking changes in newer versions of these libraries.
In particular https://github.com/google/jax/releases/tag/jax-v0.2.21

Pull request #46

2.0.0

22 Sep 15:25
4a85f8a
Compare
Choose a tag to compare

Version 2 introduces major changes. See #43 for details.

1.5.1

10 Sep 08:33
2b7a73c
Compare
Choose a tag to compare

New features

  • Add 1D support for u_net (TensorFlow only)
  • Bug fixes and minor additions

Pull request #20

The branch 1.5 will be kept as stable / LTS for Φ-Flow 1

FP Precision

12 Aug 09:09
842c113
Compare
Choose a tag to compare

New features:

  • Consistent floating point precision using math.set_precision
  • MacCormack advection scheme
  • Advanced demo scripts: rotating_bar.py, vortex_fit.py
  • Basic implementation of Broyden's method for root finding
  • Lots of convenience updates: CenteredGrid.sample(function), Domain.dx, general_grid_sample_nd, interpolate

Breaking changes:

  • Finite difference in gradient now uses central difference by default
  • Noise now only has a single channel unless otherwise specified

Pull request #18

This is the last major update of the ΦFlow 1.x series.

ICLR 2020 Update

24 Apr 20:55
f3090a6
Compare
Choose a tag to compare

New features:

  • TensorFlow: Seamless TensorFlow data pipeline integration, standard U-net architecture in phi.tf.standard_networks, CUDA resampling operator
  • Improved support for point clouds and sampled fields (SampledField), RK4 advection
  • Symbolic field math, Noise field to replace math.randfreq()
  • Support for STICKY / NO_SLIP domain boundaries and moving/rotating obstacles
  • Web interface: Quad view, improved color maps and more configuration settings, configurable axis order using physics_config.x_first()

Breaking changes:

  • Change in math.resample() for 'constant' boundaries. This affects only values sampled close to the boundary.
  • Inflows now use antialiased geometry by default.
  • (minor) Removed keyword arguments from Field.at() and Field.sample_at().
  • (minor) Scene.copy_calling_script() now has different keyword arguments.
  • (minor) GeometryMask only holds one Geometry and behaves in line with AnalyticField.
  • (minor) math.resample(): No longer accepts boundary 'zero' as an alias for 'constant'.

Deprecations:

  • load_state(): Use build_graph_input() instead.
  • buoyancy(): Use density * -gravity * factor in conjunction with Field.at() instead.
  • StaggeredGrid.from_scalar(): Use Field.at() instead.
  • world.add_all(): Use world.add() instead.
  • Dataset.add(), Dataset.remove(): Mutable datasets are not supported.
  • Geometry.value_at(): Use Geometry.lies_inside() instead.
  • union_mask(): Use mask(union()) instead.

This is the last official version with Python 2 and Python 3 support.

Periodic domains

18 Feb 11:36
36f8020
Compare
Choose a tag to compare

Version Highlights:

  • Periodic pressure solve
  • Improved structs: content_type, global item context, batched structs

Breaking Changes:

  • (minor) Removed item_condition argument from placeholder(). Use the context item condition instead.
  • (minor) CenteredGrid.dtype now returns a CenteredGrid. Same for StaggeredGrid.
  • (minor) Passing item_condition=None anywhere now uses the context item condition. Use item_condition=ALL_ITEMS to iterate over all items.
  • (minor) StructBackend now validates returned values by default. Replace it with StructBackend(target_content_type=struct.INVALID) to revert to old behavior.

Deprecations:

  • math.types: Use Struct.dtype instead.
  • StateCollection.default_physics
  • struct.unsafe(): Set content_type to non-data instead.

Pull request #10