Metadata-Version: 2.1
Name: phiflow
Version: 1.1.2
Summary: Research-oriented differentiable fluid simulation framework
Home-page: https://github.com/tum-pbs/PhiFlow
Author: Philipp Holl
Author-email: philipp.holl@tum.de
License: MIT
Download-URL: https://github.com/tum-pbs/PhiFlow/archive/1.0.1.tar.gz
Description: # Î¦<sub>*Flow*</sub>
        
        [![Build Status](https://travis-ci.com/tum-pbs/PhiFlow.svg?token=8vG2QPsZzeswTApmkekH&branch=master)](https://travis-ci.com/tum-pbs/PhiFlow)
        [![PyPI pyversions](https://img.shields.io/pypi/pyversions/phiflow.svg)](https://pypi.org/project/phiflow/)
        [![PyPI license](https://img.shields.io/pypi/l/phiflow.svg)](https://pypi.org/project/phiflow/)
        [![image](https://www.tensorflow.org/images/colab_logo_32px.png) Run in Google Colab](https://colab.research.google.com/drive/1S21OY8hzh1oZK2wQyL3BNXvSlrMTtRbV#offline=true&sandboxMode=true)
        
        ![Gui](documentation/figures/WebInterface.png)
        
        Î¦<sub>*Flow*</sub> is a research-oriented, open-source fluid simulation toolkit.
        It is written mostly in Python and can use both NumPy and TensorFlow for execution.
        
        Having all functionality of a fluid simulation running in TensorFlow opens up the possibility of back-propagating gradients through the simulation as well as running the simulation on GPUs.
        
        ## Features
        
        - Support for a variety of differentiable simulation types, from Burgers over Navier-Stokes to the SchrÃ¶dinger equation.
        - Tight integration with [TensorFlow](https://www.tensorflow.org/) allowing for straightforward network training with fully differentiable simulations that run on the GPU.
        - Object-oriented architecture enabling concise and expressive code, designed for ease of use and extensibility.
        - Reusable simulation code, independent of backend and dimensionality, i.e. the exact same code can run a 2D fluid sim using NumPy and a 3D fluid sim on the GPU using TensorFlow.
        - Flexible, easy-to-use web interface featuring live visualizations and interactive controls that can affect simulations or network training on the fly.
        
        ## Installation
        
        The following commands will get you Î¦<sub>*Flow*</sub> + browser-GUI + NumPy execution:
        
        ```bash
        $ pip install phiflow[gui]
        ```
        
        See the [detailed installation instructions](documentation/Installation_Instructions.md) on how to install Î¦<sub>*Flow*</sub>
        with TensorFlow support.
        
        ## Documentation and Guides
        
        | [Index](documentation) | [Demos](demos) / [Tests](tests) | [Source](phi) | ![image](https://www.tensorflow.org/images/colab_logo_32px.png) [Fluids Tutorial](https://colab.research.google.com/drive/1S21OY8hzh1oZK2wQyL3BNXvSlrMTtRbV#offline=true&sandboxMode=true) / [Playground](https://colab.research.google.com/drive/1zBlQbmNguRt-Vt332YvdTqlV4DBcus2S#offline=true&sandboxMode=true) |
        |------------------------|---------------------------------|---------------| -----------------------------|
        
        If you would like to get right into it and have a look at some code, check out the
        [tutorial notebook on Google Colab](https://colab.research.google.com/drive/1S21OY8hzh1oZK2wQyL3BNXvSlrMTtRbV#offline=true&sandboxMode=true).
        It lets you run fluid simulations with Î¦<sub>*Flow*</sub> in the browser.
        
        The following introductory demos are also helpful to get started with writing your own app using Î¦<sub>*Flow*</sub>:
        
        - [simpleplume.py](./demos/simpleplume.py): Runs a fluid simulation and displays it in the browser
        - [optimize_pressure.py](./demos/optimize_pressure.py): Uses TensorFlow to optimize a velocity channel. TensorBoard can be started from the GUI and displays the loss.
        
        
        ### Running simulations
        
        The [simulation overview](documentation/Simulation_Overview.md) explains how to run predefined simulations using either the [NumPy or TensorFlow](documentation/NumPy_and_TensorFlow_Execution.md) backend. It also introduces the GUI.
        
        To learn how specific simulations are implemented, check out the documentation for [Fluids](documentation/Fluid_Simulation.md) or read about [staggered grids](documentation/Staggered_Grids.md) or [pressure solvers](documentation/Pressure_Solvers.md).
        
        [Writing a Î¦<sub>*Flow*</sub> Application](documentation/Web_Interface.md) introduces the high-level classes and explains how to use the Î¦<sub>*Flow*</sub> GUI for displaying a simulation.
        
        For I/O and data management, see the [data documentation](documentation/Reading_and_Writing_Data.md) or the [scene format specification](documentation/Scene_Format_Specification.md).
        
        
        ### Optimization and Learning
        
        For training machine learning models, [this document](documentation/Interactive_Training_Apps.md) gives an introduction into writing a GUI-enabled application.
        
        
        ### Architecture
        
        The [simulation code design documentation](documentation/Simulation_Architecture.md) provides a deeper look into the object-oriented code design of simulations.
        
        All simulations of continuous systems are based on the [Field API](documentation/Fields.md) and underlying all states is the [struct API](documentation/Structs.ipynb).
        
        The [software architecture documentation](documentation/Software_Architecture.md) shows the building blocks of Î¦<sub>*Flow*</sub> and the module dependencies.
        
        ## Version History
        
        The [Version history](documentation/Version_History.md) lists all major changes since release.
        
        ## Known Issues
        
        TensorBoard: Live supervision does not work when running a local app that writes to a remote directory.
        
        Resampling / Advection: NumPy interpolation handles the boundaries slightly differently than TensorFlow.
        
        ## Contributions
        
        Contributions are welcome! Check out [this document](documentation/Contributing.md) for some guidelines.
        
        ## Acknowledgements
        
        This work is supported by the ERC Starting Grant realFlow (StG-2015-637014) and the Intel Intelligent Systems Lab.
        
        
Keywords: Differentiable,Simulation,Fluid,Machine Learning,Deep Learning
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Description-Content-Type: text/markdown
Provides-Extra: gui
