diff --git a/README.md b/README.md index af3472e..ff118d7 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,14 @@ * [License](#license) ## Description -**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. +**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. + +

+ + PINA interface for solving problems. + +

+ #### 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 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. diff --git a/docs/source/index.rst b/docs/source/index.rst index f911de7..174d5ba 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,10 +1,27 @@ Welcome to PINA's documentation! =================================================== +.. figure:: index_files/pina_logo.png + :align: center + :width: 150 + +| + + 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. +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. + + +.. figure:: index_files/API_color.png + :alt: PINA application program interface + :align: center + :width: 500 + +| Physics-informed neural network ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/joss/API_color.png b/docs/source/index_files/API_color.png similarity index 100% rename from joss/API_color.png rename to docs/source/index_files/API_color.png diff --git a/docs/source/index_files/pina_logo.png b/docs/source/index_files/pina_logo.png new file mode 100644 index 0000000..53bef16 Binary files /dev/null and b/docs/source/index_files/pina_logo.png differ diff --git a/joss/API_color.pdf b/joss/API_color.pdf deleted file mode 100644 index e69de29..0000000 diff --git a/joss/paper.md b/joss/paper.md index 75112cd..cc28599 100644 --- a/joss/paper.md +++ b/joss/paper.md @@ -62,12 +62,11 @@ Among all these frameworks, PINA wants to emerge for its easiness of usage, allo Built over PyTorch --- in order to inherit the \verb+autograd+ module and all the other features already implemented --- PINA provides indeed documented API to explain usage and capabilities of the different classes. We have built several abstract interfaces not only for better structure of the source code but especially to give the final user an easy entry point to implement their own extensions, like new loss functions, new training procedures, and so on. This aspect, together with the capability to use all the PyTorch models, makes it possible to incorporate almost any existing architecture into the PINA framework. We have decided to build it on top of PyTorch in order to exploit the \verb+autograd+ module, as well as all the other features implemented in this framework. The final outcome is then a library with incremental complexity, capable of being used by the new users to perform the first investigation using PINNs, but also as a core framework to actively develop new features to improve the discussed methodology. -The high-level structure of the package is illustrated in Figure \ref{API_visual}; 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. +The high-level structure of the package is depicted in our [API](https://github.com/mathLab/PINA/tree/master/readme/API_color.png); 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. Besides the user-friendly interface, PINA also offers several examples and tutorials, aiming to guide new users toward an easy exploration of the software features. The online documentation is released at \url{https://mathlab.github.io/PINA/}, while the robustness of the package is continuously monitored by unit tests. -The API visualization in Figure \ref{API_visual} shows that a complete workflow in PINA is characterized by 3 main steps: the problem formulation, the model definition, i.e. the structure of the neural network used, and the training, eventually followed by the data visualization. +PINA workflow is characterized by 3 main steps: the problem formulation, the model definition, i.e. the structure of the neural network used, and the training, eventually followed by the data visualization. -![High-level structure of the library.\label{API_visual}](API_color.png){ width=70% } ## Problem definition in PINA The first step is the formalization of the problem. diff --git a/readme/API_color.png b/readme/API_color.png new file mode 100644 index 0000000..c0fe9ea Binary files /dev/null and b/readme/API_color.png differ