iBatistic / HoPyFoam

Python code for High-order Finite Volume Method
GNU General Public License v3.0
4 stars 1 forks source link
finite-volume-method high-order-methods openfoam python3

-

FOAM like Python code for High-order Finite Volume Method

HoPyFOAM is an OpenFOAM-like Python package written for a high-order finite volume method.
The code is intended to solve solid mechanics problems on 2D and 3D unstructured meshes.
It is based on numpy and petsc4py packages while the coding style and code structure is similar to one from the OpenFOAM library.

Authors and Contributors

Installation

  1. Clone the directory with git clone git@github.com:iBatistic/HoPyFoam.git

  2. Required python are listed in requirements.txt and can be installed easily with venv:

    virtualenv venv-HoPyFoam
    source venv-HoPyFoam/bin/activate
    pip install -r requirements.txt
  3. Install some of the OpenFOAM.COM distribution using the instructions on this link. OpenFOAM is required for mesh generation and post-processing functionalities.

  4. To run cases, first source OpenFOAM shell session and then activate Python environment:

    openfoam2312
    source venv-HoPyFoam/bin/activate

    All tutorial cases have a corresponding ./Allrun script to run them.

License

This toolkit is released under the GNU General Public License (version 3). More details can be found in the LICENSE file.

Disclaimer

This offering is not approved or endorsed by OpenCFD Limited, producer and distributor of the OpenFOAM software via www.openfoam.com, and owner of the OPENFOAM® and OpenCFD® trade marks.

Tutorials

Contact, support, and contribution information

To contact the authors about HoPyFOAM, please use the issue tracker of the GitHub project. Bug reports and contributions to new features are welcome.