Skip to content

Releases: tum-pbs/PhiFlow

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

PyTorch Integration

27 Jan 12:41
6d02565
Compare
Choose a tag to compare

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

17 Dec 13:08
94c7f39
Compare
Choose a tag to compare

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

16 Dec 11:27
Compare
Choose a tag to compare

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.