Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,8 @@ list(APPEND libopenmc_SOURCES
src/geometry_aux.cpp
src/hdf5_interface.cpp
src/ifp.cpp
src/implicit.cpp
src/implicit_solvers.cpp
src/initialize.cpp
src/lattice.cpp
src/material.cpp
Expand Down
35 changes: 35 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,38 @@
# For Implicit Function development
This branch aims to develop a framework to create any surface defined by an implicit function. A dedicated solver and architecture is proposed.

Developer cross sections : https://anl.box.com/shared/static/teaup95cqv8s9nn56hfn7ku8mmelr95p.xz

## Quick install

```sh
conda create -n openmc-IF compilers=1.9.0 cmake hdf5 python libpng
git clone --recurse-submodules https://github.com/pferney05/openmc-dev.git
cd openmc
git checkout ImplicitFunction
mkdir build
cd build
cmake -DOPENMC_ENABLE_STRICT_FP=on -DOPENMC_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX ..
make -j 12
make install
cd ..
python -m pip install .[test]
```
To get git-clang-format:
```sh
conda install clang-format=18.1.8 wget
curl -L \
https://raw.githubusercontent.com/llvm/llvm-project/llvmorg-18.1.8/clang/tools/clang-format/git-clang-format \
-o "$CONDA_PREFIX/bin/git-clang-format"
chmod +x "$CONDA_PREFIX/bin/git-clang-format"
./tools/dev/install-commit-hooks.sh
```

## Local Notes:
- TPMS: max event particles, to be checked
- TPMS: Particle could not be located after crossing a boundary of lattice
- SolidRayTracing, aliasing effect, to be checked

# OpenMC Monte Carlo Particle Transport Code

[![License](https://img.shields.io/badge/license-MIT-green)](https://docs.openmc.org/en/latest/license.html)
Expand Down
11 changes: 11 additions & 0 deletions docs/source/pythonapi/base.rst
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,8 @@ Building geometry
openmc.XTorus
openmc.YTorus
openmc.ZTorus
openmc.ImplicitSurface
openmc.TPMS
openmc.Halfspace
openmc.Intersection
openmc.Union
Expand All @@ -106,6 +108,15 @@ Many of the above classes are derived from several abstract classes:
openmc.Region
openmc.Lattice

Implicit surfaces are defined with a

.. autosummary::
:toctree: generated
:nosignatures:
:template: myclass.rst

openmc.ImplicitFunction

.. _pythonapi_tallies:

Constructing Tallies
Expand Down
32 changes: 32 additions & 0 deletions docs/source/pythonapi/implicit.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
.. _pythonapi_implicit:

--------------------------------------------
:mod:`openmc.implicit` -- Implicit Functions
--------------------------------------------

.. autosummary::
:toctree: generated
:nosignatures:
:template: myclass.rst

openmc.implicit.ImplicitFunction
openmc.implicit.X
openmc.implicit.Y
openmc.implicit.Z
openmc.implicit.Constant
openmc.implicit.Add
openmc.implicit.Sub
openmc.implicit.Neg
openmc.implicit.Scale
openmc.implicit.Mul
openmc.implicit.Div
openmc.implicit.Pow
openmc.implicit.Sin
openmc.implicit.Cos
openmc.implicit.Sqrt
openmc.implicit.Exp
openmc.implicit.Log
openmc.implicit.Abs
openmc.implicit.Min
openmc.implicit.Max
openmc.implicit.Cached
1 change: 1 addition & 0 deletions docs/source/pythonapi/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ or class.
model
examples
deplete
implicit
mgxs
stats
data
Expand Down
Loading
Loading