Releases: tum-pbs/PhiFlow
Releases · tum-pbs/PhiFlow
2.1.3
2.1.2
2.1.1
2.1.0
2.0.1
2.0.0
1.5.1
FP Precision
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
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