You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### FOAM like Python code for High-order Finite Volume Method
3
3
4
-
__HoPyFOAM__ is an OpenFOAM-like Python package written for a high-order finite volume method.
5
-
The code is intended to solve solid mechanics problems on 2D and 3D unstructured meshes.
6
-
It is based on [numpy](https://numpy.org/) and [petsc4py](https://petsc.org/release/petsc4py/) packages while the coding style and code structure
4
+
__HoPyFOAM__ is an OpenFOAM-like Python package written for a high-order finite volume method.
5
+
The code is intended to solve solid mechanics problems on 2D unstructured meshes.
6
+
It is based on [numpy](https://numpy.org/) and [petsc4py](https://petsc.org/release/petsc4py/) packages while the coding style and code structure
7
7
is similar to one from the [OpenFOAM](https://www.openfoam.com/) library.
8
8
9
9
### Authors and Contributors
@@ -13,7 +13,7 @@ is similar to one from the [OpenFOAM](https://www.openfoam.com/) library.
13
13
### Installation
14
14
15
15
1. Clone the directory with `git clone git@github.com:iBatistic/HoPyFoam.git`
16
-
2. Required python are listed in `requirements.txt` and can be installed easily with `venv`:
16
+
2. Required python are listed in `requirements.txt` and can be installed easily with `venv`:
17
17
```
18
18
virtualenv venv-HoPyFoam
19
19
source venv-HoPyFoam/bin/activate
@@ -27,47 +27,51 @@ is similar to one from the [OpenFOAM](https://www.openfoam.com/) library.
27
27
openfoam2312
28
28
source venv-HoPyFoam/bin/activate
29
29
```
30
-
All tutorial cases have a corresponding `./Allrun` script to run them.
30
+
All tutorial cases have a corresponding `./Allrun` script to run them.
31
31
32
32
### License
33
33
34
-
This toolkit is released under the GNU General Public License (version 3).
34
+
This toolkit is released under the GNU General Public License (version 3).
35
35
More details can be found in the [LICENSE](./LICENSE.txt) file.
36
36
37
37
### Disclaimer
38
-
This offering is not approved or endorsed by OpenCFD Limited,
39
-
producer and distributor of the OpenFOAM software via [www.openfoam.com](https://www.openfoam.com/),
38
+
This offering is not approved or endorsed by OpenCFD Limited,
39
+
producer and distributor of the OpenFOAM software via [www.openfoam.com](https://www.openfoam.com/),
40
40
and owner of the OPENFOAM® and OpenCFD® trade marks.
41
41
42
42
### Tutorials
43
43
44
44
- __`laplacianFoam1D`__
45
45
46
-
- __`heatConduction.py`__
46
+
- __`heatConduction.py`__
47
47
Python script for 1D heat conduction with linear temperature profile.
48
48
49
-
- __`heatConductionMMS.py`__
49
+
- __`heatConductionMMS.py`__
50
50
Python script for 1D heat conduction with variable source term obtained using MMS.
51
51
52
52
- __`laplacianFoam`__
53
53
54
-
- __`squareBlock2D `__
55
-
Laplace equation solved on 2D square domain ($1 x 1$ m), left and right patches have values of $0$ and $1$, top and bottom patches are zero gradient.
54
+
- __`squareBlock`__
55
+
Laplace equation solved on 2D square domain ($1 x 1$ m), left and right patches have fixed values, top and bottom patches are zero gradient.
56
+
57
+
- __`squareBlockSource `__
58
+
Laplace equation solved on 2D square domain ($1 x 1$ m), left and right patches have fixed values, top and bottom patches are zero gradient and source term is added.
59
+
56
60
57
61
- __`elasticSolidFoam`__
58
62
59
-
- __`cantilever2D`__
63
+
- __`cantilever2D`__
60
64
Rectangular beam $50$ x $2$ m with a Young’s modulus of $30000$ Pa and a Poisson’s ration of $0.3$. The beam is fixed on the left boundary,
61
65
and a uniform distributed traction of $(0,-2,0)$ Pa is applied to the right boundary; the top and bottom boundaries are traction-free.
62
66
Example is taken from: _Demirdžić, I. "A fourth-order finite volume method for structural analysis." Applied Mathematical Modelling, 2016._
63
-
64
-
- __`squareBlock2D`__
67
+
68
+
- __`squareBlock2D`__
65
69
2D square domain ($1$ x $1$ m), left patch fixed, top and bottom are traction-free. The right patch have prescribed traction in $x$ direction. Poisson's value is $0$ resulting in linear distribution of displacement field.
66
-
67
-
- __`squareBlock2DMMS`__
68
-
2D square domain ($1$ x $1$ m), all patches have zero displacement. Body force calculated according to expected solution. Example is taken from:
70
+
71
+
- __`squareBlock2DMMS`__
72
+
2D square domain ($1$ x $1$ m), all patches have zero displacement. Body force calculated according to expected solution. Example is taken from:
69
73
_Aycock, Kenneth I., Nuno Rebelo, and Brent A. Craven. "Method of manufactured solutions code verification of elastostatic solid mechanics problems in a commercial finite element solver." Computers & Structures, 2020._
70
-
71
-
74
+
75
+
72
76
### Contact, support, and contribution information
73
77
To contact the authors about __HoPyFOAM__, please use the issue tracker of the GitHub project. Bug reports and contributions to new features are welcome.
0 commit comments