Tutorials and Doc (#191)

* Tutorial doc update
* update doc tutorial
* doc not compiling

---------

Co-authored-by: Dario Coscia <dcoscia@euclide.maths.sissa.it>
Co-authored-by: Dario Coscia <dariocoscia@Dario-Coscia.local>
This commit is contained in:
Nicola Demo
2023-10-23 12:48:09 +02:00
parent ac829aece9
commit 0c8072274e
93 changed files with 2306 additions and 1685 deletions

View File

@@ -8,13 +8,23 @@ Welcome to PINA's documentation!
|
PINA is a Python package providing an easy interface to deal with
physics-informed neural networks (PINN) for the approximation of (differential,
nonlinear, ...) functions. Based on Pytorch, PINA offers a simple and intuitive
way to formalize a specific problem and solve it using PINN. The approximated
solution of a differential equation can be implemented using PINA in a few lines
of code thanks to the intuitive and user-friendly interface.
Physics Informed Neural network for Advanced modeling (**PINA**) is
an open-source Python library providing an intuitive interface for
solving differential equations using PINNs, NOs or both together.
Based on `PyTorch <https://pytorch.org/>`_ and `PyTorchLightning <https://lightning.ai/docs/pytorch/stable/>`_,
PINA offers a simple and intuitive way to formalize a specific (differential) problem
and solve it using neural networks . The approximated solution of a differential equation
can be implemented using PINA in a few lines of code thanks to the intuitive and user-friendly interface.
`PyTorchLightning <https://lightning.ai/docs/pytorch/stable/>`_ as backhand is done to offer
professional AI researchers and machine learning engineers the possibility of using advancement
training strategies provided by the library, such as multiple device training, modern model compression techniques,
gradient accumulation, and so on. In addition, it provides the possibility to add arbitrary
self-contained routines (callbacks) to the training for easy extensions without the need to touch the
underlying code.
The high-level structure of the package is depicted in our API. The pipeline to solve differential equations
with PINA follows just five steps: problem definition, model selection, data generation, solver selection, and training.
.. figure:: index_files/API_color.png
:alt: PINA application program interface
@@ -26,22 +36,30 @@ of code thanks to the intuitive and user-friendly interface.
Physics-informed neural network
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PINN is a novel approach that involves neural networks to solve supervised
learning tasks while respecting any given law of physics described by general
nonlinear differential equations. Proposed in "Physics-informed neural
`PINN <https://www.sciencedirect.com/science/article/abs/pii/S0021999118307125>`_ is a novel approach that
involves neural networks to solve differential equations in an unsupervised manner, while respecting
any given law of physics described by general differential equations. Proposed in "*Physics-informed neural
networks: A deep learning framework for solving forward and inverse problems
involving nonlinear partial differential equations", such framework aims to
solve problems in a continuous and nonlinear settings. :py:class:`pina.pinn.PINN`
involving nonlinear partial differential equations*", such framework aims to
solve problems in a continuous and nonlinear settings.
Neural operator learning
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`Neural Operators <https://www.jmlr.org/papers/v24/21-1524.html>`_ is a novel approach involving neural networks
to learn differential operators using supervised learning strategies. By learning the differential operator, the
neural network is able to generalize across different instances of the differential equations (e.g. different forcing
terms), without the need of re-training.
.. toctree::
:maxdepth: 2
:caption: Package Documentation:
Installation <_rst/installation>
API <_rst/code>
Contributing <_rst/contributing>
License <LICENSE.rst>
API <_rst/_code>
Contributing <_rst/_contributing>
License <_LICENSE.rst>
.. the following is demo content intended to showcase some of the features you can invoke in reStructuredText
.. this can be safely deleted or commented out
@@ -50,20 +68,7 @@ solve problems in a continuous and nonlinear settings. :py:class:`pina.pinn.PINN
.. toctree::
:maxdepth: 1
:numbered:
:caption: Tutorials:
:caption: Getting Started:
Getting start with PINA <_rst/tutorial1/tutorial.rst>
Poisson problem <_rst/tutorial2/tutorial.rst>
Wave equation <_rst/tutorial3/tutorial.rst>
Continuous Convolutional Filter <_rst/tutorial4/tutorial.rst>
Fourier Neural Operator <_rst/tutorial5/tutorial.rst>
Geometry Usage <_rst/tutorial6/tutorial.rst>
.. ........................................................................................
.. toctree::
:maxdepth: 2
:numbered:
:caption: Download
.. ........................................................................................
Installation <_rst/_installation>
Tutorials <_rst/_tutorials>