CAD & Mesh-Tools

CAD and meshing software installed on viz, amp and both cluster nodes (green and gray).





FreeCAD


An easy to use open-source CAD software, that can use Gmsh or Netgen for meshing. It can also serve as a frontend for CalculiX and ElmerFEM, thus providing similar functionality as SolidWorks.

(Please don’t run simulations on viz) FreeCAD is best used within a VNC session.

See separate page on visualization.

On the green nodes use a SPACK module:

module load green-spack
module load openfoam

How to cite:

FreeCAD available from: https://www.freecadweb.org.





Gmsh


Gmsh meshes can be used with ElmerFEM and OpenFOAM. For OpenFOAM, make sure it is saved as version 2 and ASCII format. The GUI is available on viz, large meshes can be done as batch jobs on the cluster nodes green and gray, on the command-line run:

gmsh -3 -format msh2 -o outfilename.msh infilename.geo

this creates a volume mesh and saves as version 2 format suitable for OpenFOAM.

On the green nodes use a SPACK module:

module load green-spack
module load gmsh

How to cite:

If you use Gmsh please cite C. Geuzaine and J.-F. Remacle. Gmsh: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities. Int. J. Numer. Methods Eng., 79(11), pp. 1309-1331, 2009. You can also cite additional references for specific features and algorithms.





Salome


Salome is a multi-platform environment, allowing the realization of physics simulations. Salome is suitable for various stages of a study: from creation of the CAD model and the mesh to the post-processing and visualization of the results. Other functionalities such as uncertainty treatment, data assimilation are also implemented. Salome does not contain a physics solver but it provides the computing environment necessary for their integration.

Salome is installed on the cluster nodes green and gray.

module load green/all
module load salome

Salome has a python interface, so the meshing can be done as a batch-job on the cluster nodes.

The current state can be dumped into a script from the GUI by CTRL+D, the script can then be executed on the command-line by:

salome -t scriptname.py

It is therefore possible to prepare the geometry on your workstation or viz, dump the script, add the meshing command and run the script on the cluster in batch-mode.

On viz there is no module for Salome, just run salome or mesa_salome on the command-line, this is best done within a VNC session session (or X2GO session, here use vglrun salome).

See separate page on visualization.

How to cite:

Salome can be cited as DOI:10.13140/RG.2.2.12107.08485.





Netgen (NGsolve)


Netgen is a part of the NGsolve suite. Netgen is a automatic 3d tetrahedral mesh generator containing modules for mesh optimization and hierarchical mesh refinement. It accepts input from constructive solid geometry .csg or boundary representation (BRep) from .stl files, but also handles .brep, .step and .iges formats. Those meshes generated can be exported in several formats (e.g. neutral, Abaqus, Fluent, ElmerFEM Gmsh and OpenFOAM). Netgen has a GUI (e.g. use a X2GO session on viz), but can also be used through its Python interface.

A Python example using the OpenCASCADE kernel:

from netgen.NgOCC import *
geo = LoadOCCGeometry('screw.step')
geo.Heal()
mesh = geo.GenerateMesh()
# mesh.Save('screw.vol')
mesh.Export("export.msh","Gmsh Format")

from ngsolve import *
Draw(Mesh(mesh))

A Python example using the netgen STL:

 import netgen.stl as stl
 geo2 = stl.LoadSTLGeometry("input.stl")
 m2 = geo2.GenerateMesh (maxh=0.05)
 m2.Export("export.msh","Gmsh2 Format")

You can get a list of export formats from the GUI.

How to cite:

Netgen - J. Schöberl. NETGEN An advancing front 2D/3D-mesh generator based on abstract rules. Comput. Vis. Sci., 1(1):41–52, 1997. Netgen/NGSolve is open source and available at www.ngsolve.org.