Hi Gavin,

It's relatively easy to do: in addition to our own "Built-in" CAD engine and 
OpenCASCADE, we have done it for the proprietary Parasolid and ACIS CAD 
kernels, as well as for an experimental Fourier-based CAD description.

The main task is to derive concrete classes from the abstract GVertex, GEdge, 
GFace and GRegion classes, and add code to create instances of these concrete 
classes when importing a model. For OpenCASCADE, the concrete implementations 
are OCCVertex, OCCEdge, OCCFace and OCCRegion, with the import handled by 
GModelIO_OCC (all of those live in the gmsh/Geo directory).

The main difficulty I foresee for OpenMC is that Gmsh expects 1D and 2D 
geometrical entities to have a parametrization, and be bounded by entities of 
lower dimensions. Importing implicit surfaces will require a bit of work.

Christophe

> On 28 Feb 2019, at 21:19, Gavin Ridley <[email protected]> wrote:
> 
> Hi all,
> 
> I'm curious approximately how much effort would be required for creating 
> meshes in gmsh using other constructive solid geometry engines aside from 
> OpenCASCADE. It's typical for Monte Carlo radiation transport programs to 
> have built-in CSG which provides functions to calculate distance to nearest 
> cells, what geometry cell a point is in, etc.
> 
> What kind of functions are required for gmsh to program something like this? 
> Is an idea like this even remotely feasible? It would be incredibly 
> convenient for nuclear reactor assembly design work. An example of a program 
> like this is OpenMC.
> 
> -- 
> Thanks,
> Gavin Ridley
> _______________________________________________
> gmsh mailing list
> [email protected]
> http://onelab.info/mailman/listinfo/gmsh

— 
Prof. Christophe Geuzaine
University of Liege, Electrical Engineering and Computer Science 
http://www.montefiore.ulg.ac.be/~geuzaine




_______________________________________________
gmsh mailing list
[email protected]
http://onelab.info/mailman/listinfo/gmsh

Reply via email to