Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/inr-kit/McCAD-Library

a CAD to MC geometry conversion tool
https://github.com/inr-kit/McCAD-Library

boostcpp cmake cpluplus mcnp opencascade

Last synced: 3 months ago
JSON representation

a CAD to MC geometry conversion tool

Awesome Lists containing this project

README

        

McCAD: a CAD to Monte Carlo conversion library
----------------------------------------------
McCAD is a library for the conversion of CAD solid models into the input syntax of a variety of Monte Carlo codes; from Boundary Representation "BREP" to Constructive Solid Geometry "CSG".
The library is written in C++ and consists of two main algorithms:

1- Decompostion:
* carries out tasks pertinent to the simplification of complex solids by means of decomposition into their primitive convex subsolids.
2- Void generation & Conversion:
* carries out tasks pertinent to the generation of void cells and conversion of the primitive solids into MCNP input syntax, and later on to other MC codes.

Useful links:
-------------
* [Older version] McCAD-SALOME: McCAD library integrated with the `Salome `_ platform:
* `docs `_
* `source `_
* `binaries `_

* [Older version] McCAD-FreeCAD: an improved McCAD library integrated with the opensource CAD software `FreeCAD `_:
* `source `_

* csg2csg: a tool for the translation between a variety of Monte Carlo code formats:
* `source `_.

Dependencies:
--------------
1- CMake (version `3.25.2 `_):
* the standard build system for McCAD library.

2- Boost C++ Libraries (version `1.81.0 `_):
* used for multiprocessing.

3- Open CASCADE Technology (version `7.7.0 `_):
* the geometry engine used for manipulating and decomposing solids.

Installation:
-------------
Please refer to the "Installation from Source" section in the `manual `_.

General notes on Usage:
-----------------------
1- The library assumes a clean CAD model, one with no intersections/overlapping.
* while in theory the library won't report an error with intersections/overlapping as solids are processed individually, it will cause issue for void generation and conversion!
2- There are known bugs with the decomposition algorithm which are currently being investigated.
* a list of bugs and proposed workaround can be found in the "Known issues" section in the `manual `_.

Reporting issues:
-----------------
Please don't hesitate to report any issues with running the code or errors in the manual by:
* raising issues in the github repo.
* sending an email to [email protected] & [email protected].

Citation:
---------
Please use the citation below to reference the code in published articles:
Harb, M.; Leichtle, D.; Fischer, U. A Novel Algorithm for CAD to CSG Conversion in McCAD. J. Nucl. Eng. 2023, 4, 436-447. https://doi.org/10.3390/jne4020031