|
1 |
| -*Current version of PaddleScience is v1.0 Beta.* |
| 1 | +# PaddleScience |
2 | 2 |
|
3 |
| -# Introduction |
| 3 | +> *Developed with [PaddlePaddle](https://www.paddlepaddle.org.cn/)* |
4 | 4 |
|
5 |
| -PaddleScience extends the PaddlePaddle framework with reusable |
6 |
| -software components for developing novel scientific computing applications. Such new |
7 |
| -applications include Physics-informed Machine Learning, neural network based PDE solvers, |
8 |
| -machine learning for CFD, and so on. PaddleScience is currently under active development. |
9 |
| -Its design is evolving and its APIs are subject to change. |
| 5 | +[](https://paddlescience-docs.readthedocs.io/zh/latest/) |
| 6 | +[](./LICENSE) |
10 | 7 |
|
11 |
| -# Core features and organization |
| 8 | +[**PaddleScience使用文档**](https://paddlescience-docs.readthedocs.io/zh/latest/) |
12 | 9 |
|
13 |
| -PaddleScience currently focuses on the PINNs model. The core components are as follows. |
| 10 | +## 简介 |
14 | 11 |
|
15 |
| -- PDE, delineating partial differential equations in symbolic forms. Specific PDEs derive the |
16 |
| - the base PDE class. |
| 12 | +PaddleScience 是一个基于深度学习框架 PaddlePaddle 开发的科学计算套件,利用深度神经网络的学习能力和 PaddlePaddle 框架的自动(高阶)微分机制,解决物理、化学、气象等领域的问题。支持物理机理驱动、数据驱动、数理融合三种求解方式,并提供了基础 API 和详尽文档供用户使用与二次开发。 |
17 | 13 |
|
18 |
| -- Geometry, a declarative interface for defining the geometric domain. Automatic |
19 |
| - discretization is supported |
| 14 | +<div align="center"> |
| 15 | + <img src="./docs/images/overview/panorama.png" width="80%" height="80%"> |
| 16 | +</div> |
20 | 17 |
|
21 |
| -- Neural net, currently supporting fully connected layers with customizable size and depth. |
| 18 | +## 特性 |
22 | 19 |
|
23 |
| -- Loss, defining what exact penalties are enforced during the training process. By default, |
24 |
| - the L2 loss is applied. In the current design, the total loss is a weighted sum of |
25 |
| - four parts, the equation loss, the boundary condition loss, the initial condition loss and the data loss. |
| 20 | +- 支持简单几何和复杂 STL 几何的采样与布尔运算。 |
| 21 | +- 支持包括 Dirichlet、Neumann、Robin 以及自定义边界条件。 |
| 22 | +- 支持物理机理驱动、数据驱动、数理融合三种问题求解方式。涵盖流体、结构、气象等领域 8+ 案例。 |
| 23 | +- 支持结果可视化输出与日志结构化保存。 |
| 24 | +- 完善的 type hints,用户使用和代码贡献全流程文档,经典案例 AI studio 快速体验,降低使用门槛,提高开发效率。 |
| 25 | +- 更多特性正在开发中... |
26 | 26 |
|
27 |
| -- Optimizer, specifying which optimizer to use for training. Adam is the default option. More |
28 |
| - optimizers, such as BFGS, will be available in the future. |
| 27 | +## 安装使用 |
29 | 28 |
|
30 |
| -- Solver, managing the training process given the training data in a batchly fashion. |
| 29 | +1. 执行以下命令,从 github 上克隆 PaddleScience 项目,进入 PaddleScience 目录,并将该目录添加到系统环境变量中 |
31 | 30 |
|
32 |
| -- Visualization, an easy access to the graph drawing utilities. |
| 31 | + ``` shell |
| 32 | + git clone https://github.com/PaddlePaddle/PaddleScience.git |
| 33 | + cd PaddleScience |
| 34 | + export PYTHONPATH=$PWD:$PYTHONPATH |
| 35 | + ``` |
33 | 36 |
|
34 |
| -# Getting started |
| 37 | +2. 安装必要的依赖包 |
35 | 38 |
|
36 |
| -## Prerequisites |
| 39 | + ``` shell |
| 40 | + pip install -r requirements.txt |
| 41 | + ``` |
37 | 42 |
|
38 |
| -Hardware requirements: NVIDIA GPU V100, NVIDIA GPU A100 |
| 43 | +3. 验证安装 |
39 | 44 |
|
40 |
| -Package dependencies: paddle, cuda (11.0 or higher), numpy, scipy, sympy, matplotlib, vtk, pyevtk, wget. |
| 45 | + ``` py |
| 46 | + python -c "import ppsci; ppsci.utils.run_check()" |
| 47 | + ``` |
41 | 48 |
|
42 |
| -PaddleScience currently relies on new features of the Paddle framework so please be advised to download the latest version of Paddle on GitHub or on Gitee. |
| 49 | +4. 开始使用 |
43 | 50 |
|
44 |
| -For more details on installation, please refer to the offical [PaddlePaddle repository on GitHub](https://github.com/PaddlePaddle/Paddle) or [PaddlePaddle repository on Gitee](https://gitee.com/paddlepaddle/Paddle). |
| 51 | + ``` py |
| 52 | + import ppsci |
45 | 53 |
|
46 |
| -## Download and environment setup |
| 54 | + # write your code here... |
| 55 | + ``` |
47 | 56 |
|
48 |
| -``` shell |
49 |
| -Download from GitHub: git clone https://github.com/PaddlePaddle/PaddleScience.git |
50 |
| -Download from Gitee: git clone https://gitee.com/PaddlePaddle/PaddleScience.git |
| 57 | +更多安装方式请参考 [**安装与使用**](https://paddlescience-docs.readthedocs.io/zh/latest/zh/install_setup/) |
51 | 58 |
|
52 |
| -cd PaddleScience |
53 |
| -export PYTHONPATH=$PWD:$PYTHONPATH |
| 59 | +## 快速开始 |
54 | 60 |
|
55 |
| -pip install -r requirements.txt |
56 |
| -``` |
| 61 | +请参考 [**快速开始**](https://paddlescience-docs.readthedocs.io/zh/latest/zh/quickstart/) |
57 | 62 |
|
58 |
| -## Run examples |
| 63 | +## 经典案例 |
59 | 64 |
|
60 |
| -Some examples are baked in for quick demonstration. Please find them in the `examples` directory. To run an example, just enter the subdirectory and run the demo code in Python commandline. |
| 65 | +请参考 [**经典案例**](https://paddlescience-docs.readthedocs.io/zh/latest/zh/examples/viv/) |
61 | 66 |
|
62 |
| -``` shell |
63 |
| -# Darcy flow (Poisson equation) |
64 |
| -cd examples/darcy |
65 |
| -python darcy2d.py |
| 67 | +## 支持 |
66 | 68 |
|
67 |
| -# LDC steady (Steady Navier-Stokes eqution) |
68 |
| -cd examples/ldc |
69 |
| -python ldc2d_steady_train.py |
| 69 | +如使用过程中遇到问题或想提出开发建议,欢迎在 [**Issue**](https://github.com/PaddlePaddle/PaddleScience/issues/new) 页面新建 issue。 |
70 | 70 |
|
71 |
| -# Lid Driven Cavity unsteady with continue-time method (Unsteady Navier-Stokes equation) |
72 |
| -cd examples/ldc |
73 |
| -python ldc2d_unsteady_t.py |
| 71 | +## 贡献代码 |
74 | 72 |
|
75 |
| -# Flow around a circular cylinder with discrete-time method (Unsteady Navier-Stokes equation) |
76 |
| -cd examples/cylinder/3d_unsteady_discrete/baseline |
77 |
| -python cylinder3d_unsteady.py |
| 73 | +PaddleScience 项目欢迎并依赖开发人员和开源社区中的用户,请参阅 [**贡献指南**](https://paddlescience-docs.readthedocs.io/zh/latest/zh/contribute/)。 |
78 | 74 |
|
79 |
| -``` |
| 75 | +## 证书 |
80 | 76 |
|
81 |
| -## Short tutorials on how to construct and solve a PINN model |
82 |
| - |
83 |
| -[A tutorial on Lid Driven Cavity flow](./examples/ldc/README.md) |
84 |
| - |
85 |
| -[A tutorial on Darcy flow in porous medium](./examples/darcy/README.md) |
| 77 | +[Apache License 2.0](https://github.com/PaddlePaddle/PaddleScience/blob/develop/LICENSE) |
0 commit comments