Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/inr-kit/McCAD-Library
- Owner: inr-kit
- License: lgpl-2.1
- Created: 2022-06-17T08:34:01.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-04T14:30:18.000Z (10 months ago)
- Last Synced: 2024-08-02T15:10:56.671Z (6 months ago)
- Topics: boostcpp, cmake, cpluplus, mcnp, opencascade
- Language: C++
- Homepage:
- Size: 47.8 MB
- Stars: 41
- Watchers: 2
- Forks: 7
- Open Issues: 7
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
- awesome-nuclear - McCAD
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