GeoMop / bgem

geometry and meshing tools
GNU General Public License v3.0
4 stars 3 forks source link

B-spline GEometry Modeling package

Goal: Robust open source tool for creation of parametric geometries and computational meshes via. Python code. Primary focus are hydrogeological applications with geometries including both random fractures and deterministic natural or antropogenic features.

Rationale

GMSH is a mature meshing tool providing a minimalistic API common for several languages. For Python the GMSH library and its Python API is accessible through the 'gmsh' package. However usage for practical applications is nontrivial partly due to intrinsic limitations of the underlaying OpenCASCADE library and partly due to generic API lacking the Python idioms. In particular, we have identified following sort of problems:

BGEM tries to overcome these difficulties by two approaches:

Features:

bgem.bspline

Longterm goal to have own CAD like library producing only compatible geometries (indepdent of OCC).

bgem.gmsh

Wrapping 'gmsh-sdk' meat and bones into enjoyable being.

bgem.polygons

Decomposition of the plane into disjoint polygons by line segments.

bgem.stochastic

Stochastic discrete fracture network.

Installation

Installation from PYPI

System-wide installation of a last version from PYPI. Need root/admin access (or sudo).

pip install bgem

Installation from PYPI into the user's directory, no admin access necessary. E.g. on a cluster. However prefered is usage of a virtual environment.

pip install --user bgem

Instalation from sources

Installation from sources located in DIR (copy of sources is performed).

pip install DIR

Installation from sources located in DIR. It uses links to the editable sources (usefull for debugging).

pip install -e DIR

Authors

Jan Březina, Jiří Kopal, Radek Srb, Jana Ehlerová, Jiří Hnídek

Dependencies

Theory references

Patrikalakis-Maekawa-Cho

Similar libraries (for B-splines)