romanzes637 / gmsh_scripts

Mixed (structured/unstructured) 3D mesh generator based on curved cuboid elements (primitives)
Other
18 stars 7 forks source link
3d-mesh 3d-meshing gmsh hexahedral-mesh mesh mesh-generation mesh-generator meshing mixed-meshes multi-block python structured-mesh tetrahedral-meshing unstructured-meshes
Readme

gmsh_scripts

3D structured/unstructured/tetrahedral/hexahedral multi-block mesh generator with boolean operations based on gmsh

Documentation

Installation

Pip

  1. Download and install Python
  2. Install gmsh_scripts
    pip install gmsh-scripts
  3. Create or download input file
    {
    "metadata": {
    "run": {
      "factory": "occ"
    }
    },
    "data": {
    "class": "block.Matrix",
    "matrix": [
      [-1, 0, 1],
      [-2, 0, 2],
      [-3, 0, 3]
    ]
    }
    }
  4. Create mesh
    python -m gmsh_scripts matrix.json

Github

  1. Download and install Python
  2. Download gmsh_scripts
  3. Install requirements
    pip install -r requirements/prod.txt
  4. Create or download input file
  5. Create mesh
    python gmsh_scripts/run.py matrix.json

Result

Matrix

Complex mesh from examples

Create mesh

python -m gmsh_scripts all_heater_plug.json
Experiment

Plot tree

pin install gmsh_scripts[viz]
python -m gmsh_scripts all_heater_plug.json --plot
Experiment tree

Examples Click them!

Multilayerd Cylinder

Simple Torus

Simple Tokamak

Simple Stellarator

Wells

Cross section 1

Cross section 2

Core

Quarter layer

Quarter layer with holes

Examples album

Video tutorials (In Russian)

Cite

gmsh

Geuzaine and J.-F. Remacle. Gmsh: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities. International Journal for Numerical Methods in Engineering 79(11), pp. 1309-1331, 2009

gmsh scripts

Butov R.A., Drobyishevsky N.I., Moiseenko E.V., Tokarev Yu. N. Mesh generation for radioactive waste management tasks. Radioactive Waste, 2021, no. 1 (14), pp. 87—95. DOI: 10.25283/2587-9707-2021-1-87-95. (In Russian)

Contacts

Roman Pashkovsky

https://github.com/romanzes637

romapasky@gmail.com

Made in Nuclear Safety Institute of the Russian Academy of Sciences (IBRAE RAN)