Releases: tum-pbs/PhiFlow
ICLR 2020 Update
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 replacemath.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()
andField.sample_at()
. - (minor)
Scene.copy_calling_script()
now has different keyword arguments. - (minor)
GeometryMask
only holds oneGeometry
and behaves in line withAnalyticField
. - (minor)
math.resample()
: No longer accepts boundary'zero'
as an alias for'constant'
.
Deprecations:
load_state()
: Usebuild_graph_input()
instead.buoyancy()
: Usedensity * -gravity * factor
in conjunction withField.at()
instead.StaggeredGrid.from_scalar()
: UseField.at()
instead.world.add_all()
: Useworld.add()
instead.Dataset.add(), Dataset.remove()
: Mutable datasets are not supported.Geometry.value_at()
: UseGeometry.lies_inside()
instead.union_mask()
: Usemask(union())
instead.
This is the last official version with Python 2 and Python 3 support.
Periodic domains
Version Highlights:
- Periodic pressure solve
- Improved structs:
content_type
, global item context, batched structs
Breaking Changes:
- (minor) Removed
item_condition
argument fromplaceholder()
. Use the context item condition instead. - (minor)
CenteredGrid.dtype
now returns aCenteredGrid
. Same forStaggeredGrid
. - (minor) Passing
item_condition=None
anywhere now uses the context item condition. Useitem_condition=ALL_ITEMS
to iterate over all items. - (minor)
StructBackend
now validates returned values by default. Replace it withStructBackend(target_content_type=struct.INVALID)
to revert to old behavior.
Deprecations:
math.types
: UseStruct.dtype
instead.StateCollection.default_physics
struct.unsafe()
: Setcontent_type
to non-data instead.
Pull request #10
PyTorch Integration
Version Highlights:
- Experimental support for PyTorch oprations
- Add struct traits
- Add ConstantVelocity
Breaking Changes: None
Deprecations:
TFApp
: UseLearningApp
insteadCollectiveState
: UseStateCollection
insteadFan
: UseAccelerator
instead
Pull request #5
GUI-2.0
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 constructorworld.add
: Explicitly create a Physics object when adding a state to the world.
Pull request #2
GitHub Release
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.