Skip to content

Releases: tum-pbs/PhiFlow

1.5.1

Choose a tag to compare

@p-holl p-holl released this 10 Sep 08:33
2b7a73c

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

Choose a tag to compare

@p-holl p-holl released this 12 Aug 09:09
842c113

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

Choose a tag to compare

@p-holl p-holl released this 24 Apr 20:55
f3090a6

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

Choose a tag to compare

@p-holl p-holl released this 18 Feb 11:36
36f8020

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

PyTorch Integration

Choose a tag to compare

@p-holl p-holl released this 27 Jan 12:41
6d02565

Version Highlights:

  • Experimental support for PyTorch oprations
  • Add struct traits
  • Add ConstantVelocity

Breaking Changes: None

Deprecations:

  • TFApp: Use LearningApp instead
  • CollectiveState: Use StateCollection instead
  • Fan: Use Accelerator instead

Pull request #5

GUI-2.0

Choose a tag to compare

@p-holl p-holl released this 17 Dec 13:08
94c7f39

Version Highlights:

  • GUI-2.0: Improved web interface with multiple pages and experimental 3D WebGL renderer
  • Documentation: Google Colab notebooks and better demo descriptions

Breaking Changes: None

Deprecations:

  • App.stride: Use framerate instead of stride in App constructor
  • world.add: Explicitly create a Physics object when adding a state to the world.

Pull request #2

GitHub Release

Choose a tag to compare

@p-holl p-holl released this 16 Dec 11:27

This is the first public version of Φ-Flow.

Version Highlights:

  • MIT license
  • Travis-CI for automated testing

Φ-Flow 1.0.0 has built-in support for the following simulations:

  • Burgers' equation in 1D, 2D, 3D
  • Incompressible fluids in n-d
  • Heat equation in 1D, 2D, 3D
  • Schrödinger equation in 2D

Pre-release versions

Major refactoring was performed before release, renaming (among others): Smoke → Fluid, anytype → unsafe.

Version 0.4 introduced the Field API, bringing with it a new data layout for staggered grids.

Version 0.3 introduced structs and used them to split state and physics into different objects. It made the channel order (ZYX) consistent with the first dimension pointing upward.