Compare commits

...

3616 commits

Author SHA1 Message Date
Satoshi Misumi
852f92780c
Fix M_PI being unavailable where _USE_MATH_DEFINES comes too late (#4023)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-21 15:45:41 +00:00
GuySten
61c8a59cff
Override NJOY default damage energy threshold (#4022)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-20 14:52:30 +00:00
Mazeyar Moeini Feizabadi
05d01274a7
Add analytic tests for ray-traced intersection distances (#4014)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
2026-07-19 14:49:48 -05:00
Joffrey Dorville
db673b9acb
Automatic C++ doc generation (#3950)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-17 15:47:40 +00:00
GuySten
796ae384b8
Fix not reseting filter_matches corrupt pulse height results (#4019)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-17 13:18:53 +00:00
GuySten
d3bc1669d3
Access element subshell map data only if it has atomic relaxation data (#4020) 2026-07-17 07:40:16 -05:00
Paul Romano
f1fb6721f0
Performance optimizations for shared secondary bank (#4011)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
2026-07-17 01:25:18 +00:00
Ethan Peterson
c55c578812
Native parametric tokamak source (#3999)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-16 09:54:56 -05:00
Paul Romano
16cde42ff4
Enable parent-nuclide tally breakdowns in R2S calculations (#4013)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
2026-07-16 00:00:42 +03:00
Lewis Gross
243c249533
normalize new_u after periodic crossing to prevent unnormalized direction (#4015)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
2026-07-15 08:57:53 -05:00
Eden
e783e01471
Add chain parameter to Material.get_activity for half-life data (#3957)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-11 06:18:26 +00:00
Jonathan Shimwell
7256d5046a
extra checks for pixels (#4009)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
Co-authored-by: Jonathan Shimwell <jon@proximafusion.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-10 15:02:14 +00:00
Paul Romano
216651b69e
Shared secondary bank performance optimizations (#3995) 2026-07-10 09:22:16 -05:00
Paul Romano
7c408f6a10
Replace Ben Forget with John Tramm on technical committee (#4008)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
2026-07-10 09:48:11 +02:00
Paul Romano
3c3ebba98b
Turn on weight windows if weight_windows_file is specified (#4007)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
2026-07-09 23:59:33 +00:00
GuySten
e73d8048da
Support cell densities per instances in plots (#4006)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-09 22:45:09 +00:00
Jonathan Shimwell
5203640549
Further input validation for plot methods (#4004) 2026-07-09 16:55:32 -05:00
Paul Romano
3cdb67e50d
Store slice overlap indices in cell ID field (#4002)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
2026-07-09 11:47:55 +02:00
Paul Romano
8b15ee3915
Add Jon Shimwell to technical committee (#4001)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
2026-07-08 11:25:21 -05:00
Andrew Davis
8684506269
This fixes compile isuees found with GCC 16.1.1 and FMT version (#4000)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-07 14:58:19 +00:00
viktormai
0c6b3fb835
Overlap detection for plotter (#3969)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-06 17:47:22 +00:00
Paul Romano
3fcb9692be
Make sure output is treated consistently in R2SManager (#3994)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
2026-07-04 22:20:03 -05:00
Matteo Zammataro
e3bc615172
Fix numerical cancellation in RectLattice::distance for large pitch values (#3853)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
Co-authored-by: matteo.zammataro <matteo.zammataro@newcleo.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-03 21:39:17 +00:00
Paul Romano
66359e5dd8
Fix surface tally crash on lattice crossings (#3993)
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
2026-07-03 15:52:19 -05:00
Matteo Zammataro
97e04c464a
Add ambient dose coefficients (H*(10)) from ICRP74 (#3256)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
Co-authored-by: matteo.zammataro <matteo.zammataro@newcleo.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-02 23:51:10 +00:00
Jon Shimwell
df6f94300f
Turn the weight window game off for a zero or negative lower bound (#3990)
Co-authored-by: John Tramm <john.tramm@gmail.com>
Co-authored-by: shimwell <mail@jshimwell.com>
2026-07-02 13:04:02 -05:00
Paul Romano
3247587d49
Ensure photon cross sections are loaded when FileSource contains photons (#3988)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
2026-07-02 11:54:12 -05:00
John Tramm
24fdb84edc
Tally 32-bit Overflow Fix (#3960)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-07-02 11:53:49 -05:00
John Tramm
f01852411d
Random Ray Forward Flux Save in Adjoint Mode (#3962)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 22:35:27 +02:00
Jonathan Shimwell
d06fdee93a
Preserve user material names in convert_to_multigroup and avoid overwriting material with same name bug fix (#3984)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
2026-06-30 09:38:09 -05:00
GuySten
4d6244d93c
Fix for numpy 2.5.0 (#3981)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
2026-06-24 16:09:16 -05:00
Paul Romano
608a1c3386
Fix several issues related to independent operator depletion (#3977)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
2026-06-23 09:00:47 +02:00
stetsonschott
09ee8308d0
Replaced 'C0' by elemental carbon in `openmc/examples.py'. (#3974)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
2026-06-17 20:33:40 -05:00
GuySten
02eb999af1
fix tmate start only on successful tests (#3954)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
2026-06-08 22:09:25 -05:00
Logan Harbour
998565808e
Use non-deprecated methods for getting libMesh node points (#3963) 2026-06-08 22:07:21 -05:00
Patrick Shriwise
ea6ba328c9
Fix collision track feature for photon transport (#3946)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-06-08 23:37:34 +00:00
Paul Romano
4f6a25e00a
Introduce new C API function for slice plots (#3806)
Some checks are pending
Tests and Coverage / filter-changes (push) Waiting to run
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Blocked by required conditions
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Blocked by required conditions
Tests and Coverage / coverage (push) Blocked by required conditions
Tests and Coverage / Check CI status (push) Blocked by required conditions
dockerhub-publish-develop / main (push) Waiting to run
dockerhub-publish-develop-dagmc-libmesh / main (push) Waiting to run
dockerhub-publish-develop-dagmc / main (push) Waiting to run
dockerhub-publish-develop-libmesh / main (push) Waiting to run
2026-06-08 21:08:08 +00:00
Paul Romano
db322f2c5d
Add section in depletion user's guide about comparing to other codes (#3955) 2026-06-08 18:22:32 +00:00
EdenRochmanSharabi
111eb77066
Implement SphericalMesh.get_indices_at_coords (#3919)
Some checks failed
Tests and Coverage / filter-changes (push) Has been cancelled
Tests and Coverage / Python 3.13 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14 (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.14t (omp=n, mpi=n, dagmc=, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=n, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=n, libmesh=n, event=n (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=n, dagmc=, libmesh=, event=y (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=y, libmesh=, event= (push) Has been cancelled
Tests and Coverage / Python 3.12 (omp=y, mpi=y, dagmc=, libmesh=y, event= (push) Has been cancelled
Tests and Coverage / coverage (push) Has been cancelled
Tests and Coverage / Check CI status (push) Has been cancelled
dockerhub-publish-develop / main (push) Has been cancelled
dockerhub-publish-develop-dagmc-libmesh / main (push) Has been cancelled
dockerhub-publish-develop-dagmc / main (push) Has been cancelled
dockerhub-publish-develop-libmesh / main (push) Has been cancelled
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-05-30 06:18:09 +00:00
Jonathan Shimwell
219d82726f
Allow tracklength estimator for neutron heating (#3915)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-05-30 06:10:05 +00:00
hugo-barthod
2dd5322fee
Fix undefined variable in openmc.mgxs.library (scatt_mgxs) (#3943)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-05-30 05:35:31 +00:00
Bor Kos
46d8896132
Pulsed Height Tally in mixed neutron-gamma fields (#3937)
Co-authored-by: Bor Kos <bor.kos@bakerhughes.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-05-30 03:25:38 +00:00
Jon Shimwell
ddabe1c8c5
Avoid storing inconsistent sum/sum_sq on summed D1S tallies (#3949)
Co-authored-by: shimwell <mail@jshimwell.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-05-30 03:25:22 +00:00
Paul Romano
1914e3eefa
Support endf.Material in from_endf methods (#3932) 2026-05-29 21:53:45 -05:00
Ahnaf Tahmid Chowdhury
dfb6c5699c
Modernize CMake packaging (#3653)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-05-21 20:33:56 +00:00
Patrick Shriwise
7d09a12606
DAGMC Cell Override Updates (#3888)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-05-20 21:43:21 +00:00
Patrick Shriwise
66497e76b1
Support writing of hex elements to VTKHDF format. (#3623)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-05-20 14:01:21 -05:00
Hridoy Kabiraj
3c7a030d43
Guard average molar mass and validate materials depletion inputs (#3941) 2026-05-20 13:49:00 -05:00
John Tramm
0169fd9226
Shared Secondary Particle Bank (#3863)
Co-authored-by: John Tramm <jtramm@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: Copilot <copilot@github.com>
2026-05-19 23:23:10 -05:00
charliesheh
beed56e6ee
Check for missing thread count argument for -s/--threads (#3940) 2026-05-18 13:35:56 -05:00
Hridoy Kabiraj
195dff6d1d
Fix missing volume checks in material activity/decay heat (#3939) 2026-05-18 09:20:59 -05:00
Paul Romano
d56cda2544
Implement DecaySpectrum distribution type and utilize in R2S (#3930)
Co-authored-by: Copilot <copilot@github.com>
2026-05-08 20:53:12 -05:00
Paul Romano
f3e1066d46
Include mass_attenuation.h5 in package data (#3936) 2026-05-07 23:50:23 +00:00
Jonathan Shimwell
e542b2f035
Allow Mesh.volumes property for 1D and 2D RegularMesh (#3914) 2026-05-06 10:07:35 -05:00
Jack Fletcher
368ea069ca
Local adjoint source for Random Ray (#3717) 2026-04-28 16:10:03 -05:00
Paul Romano
1116c4bdc0
Support multiple meshes in R2S calculations (#3860) 2026-04-28 10:02:08 -04:00
Travis L.
806fb4ce77
Clean up MCPL references (#3927) 2026-04-27 09:40:44 -05:00
Perry
2d5c50080c
Allow the use of substeps for CRAM (#3908)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-22 18:24:34 -05:00
Perry
1f7ac4215f
Clip negative atom densities that result from CRAM (#3879)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-21 20:24:53 +00:00
Ethan Peterson
a1df5842e0
Remove self loops from spontaneous fission decay mode (#3907)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-21 16:47:40 +00:00
Lorenzo Chierici
e431d49bec
Add reactivity control to coupled transport-depletion analyses (#2693)
Co-authored-by: Andrew Johnson <drewejohnson@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-20 07:13:53 -05:00
Luke Labrie-Cleary
36e70d8efc
Add Arch Linux User Repository (AUR) installation instructions to documentation (#3921)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-18 16:01:09 +00:00
Paul Romano
fd1bc26af0
Pin NJOY version in Dockerfile (#3920) 2026-04-09 23:13:18 +03:00
Paul Romano
1eb368bbd2
Pin NJOY version in CI to 2016.78 (#3917) 2026-04-09 09:31:27 +02:00
Paul Romano
23e8a11102
Update versions of several GHA Actions (#3913) 2026-04-05 14:04:34 -05:00
Jonathan Shimwell
542f949fa0
Use local variable to avoid attribute lookup in form_rxn_matrix loop (#3884)
Co-authored-by: Perry <yrrepy@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-04 20:53:50 +00:00
GuySten
efc542825e
Add the ability to tally microscopic cross sections in void materials with tracklength estimator (#3771)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-04 20:32:51 +00:00
Ethan Peterson
60d1dfba7f
Refactor form_matrix method on depletion chain class (#3892)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-03 21:27:39 +00:00
John Tramm
b215f13218
RAG search tool for agents (#3861)
Co-authored-by: John Tramm <jtramm@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-03 16:18:19 -05:00
Jonathan Shimwell
9ff50499e1
Adding per m3 to material functions (#3912)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-03 00:00:02 +00:00
bessemoa
df985e10b3
Add from_bounding_box classmethod to structured mesh classes (#3903)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-02 22:51:33 +00:00
Jonathan Shimwell
ca22a5174a
adding pdf to read the docs (#3893) 2026-04-02 17:01:30 -05:00
GuySten
d9b30bbbd5
Approximate multigroup velocity (#3766)
Co-authored-by: Adam Nelson <1037107+nelsonag@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-04-02 16:59:02 +00:00
Md. Ariful Islam
97d9a839c2
Fix MPI depletion hang (#3910) 2026-04-02 11:30:09 -05:00
April Novak
8223099ed9
All reduce to print correct number of surface source particles (#3901) 2026-03-26 12:35:12 -05:00
GuySten
6cd39073b3
Fix surface tally when crossing lattice (#3895) 2026-03-23 10:16:59 -05:00
Paul Romano
3ce6cbfdda
Add fusion_neutron_spectrum to openmc.stats module (#3862) 2026-03-17 22:10:18 +01:00
itay-space
1578698129
Implement angular PDF evaluation for angle-energy distributions (#3550)
Co-authored-by: Your Name <you@example.com>
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
Co-authored-by: Eliezer214 <110336440+Eliezer214@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-14 23:58:17 +02:00
Marco De Pietri
bc9c31e0f9
get indices for rectilinear meshes (#3876)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-14 04:19:51 +00:00
Paul Wilson
dd6d31bfae
Add properties to settings w/ documentation, c++ loading of filename, and python round-trip test (#3808)
Co-authored-by: Patrick C Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-13 21:40:52 +00:00
AlvaroCubi
4bda85f17e
Allow StepResult.get_material to accept integer material ID (#3872)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-12 15:04:42 -05:00
Christopher Ashe
c44d2f0b43
Allow groups to be passed as sequence of floats in convert_to_multigroup (#3873)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-12 19:47:47 +00:00
Paul Romano
27522fe851
Improve review skill instructions for determining PR context (#3875) 2026-03-12 14:27:00 -05:00
CoronelBuendia
387b41ab65
Change plotting docstring to specify integer RGB values (#3868) 2026-03-12 12:35:10 -05:00
Eshed Magali
ba94c58230
Closing the stdout file descriptor when finished (#3864) 2026-03-11 16:50:58 +00:00
Amanda Lund
1dc4aa9882
Add setting to optionally disable atomic relaxation (#3855)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-10 04:00:10 +00:00
Paul Romano
908e63115a
Add reusable reviewing-openmc-code skill and Copilot Review agent (#3842)
Co-authored-by: John Tramm <john.tramm@gmail.com>
2026-03-05 21:40:36 -06:00
GuySten
be4148ad0d
Refactor Ray class into its own file (#3845)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-06 01:07:42 +00:00
Paul Romano
6f72619729
Fix include guard in output.h (#3856) 2026-03-05 23:29:36 +00:00
John Tramm
533f09defd
Enable CMake "compile_commands.json" Output (#3854)
Co-authored-by: John Tramm <jtramm@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-05 23:20:54 +00:00
Paul Romano
dbfd6387b2
Fix two docstrings that should have r prefix (#3851) 2026-03-05 07:37:47 +02:00
Ethan Peterson
2bd06660c5
Parallelize sampling external sources and threadsafe rejection counters (#3830)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-04 14:36:43 -06:00
GuySten
0ab46dfa35
Fix cell data parsing (#3848) 2026-03-04 06:56:49 -06:00
GuySten
70be650003
Implement surface flux tallies (#3742)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-04 14:17:48 +02:00
Patrick Shriwise
b796afb591
Correction to surface normal determination in SolidRayTrace plots (#3846) 2026-03-04 14:10:54 +02:00
Marco De Pietri
53d98ce71a
Add method on Material for computing photon contact dose rate (#3700)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-03-03 15:48:56 +00:00
Paul Romano
49b896b0eb
Enable "hybrid" tallies in get_microxs_and_flux (#3831) 2026-03-02 22:06:52 -05:00
GuySten
823b4c96c9
Speed up depletion with transfer rates (#3839) 2026-03-02 06:53:20 -06:00
Paul Romano
83a7b36add
Speed up Docker build (#3841)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2026-03-01 21:52:51 +02:00
Paul Romano
b3788f11e1
Use clang-format version 18 for CI format checks (#3840) 2026-02-27 13:56:00 +02:00
Micah Gale
1d9a8f542b
Add Python 3.14 to testing matrix and drop Python 3.11 (#3642)
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-26 18:18:04 -06:00
Paul Romano
3b5ac08bfb
Skip DAGMC lost particles test (#3836) 2026-02-26 11:26:39 -06:00
Paul Romano
17d4164242
Update copyright to 2026 (#3834) 2026-02-26 08:14:28 +00:00
GuySten
322b741fde
Support Mixture distributions in combine_distributions (#3784)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-26 07:30:08 +00:00
Jonathan Shimwell
6050c789ca
making use of endf.get_evaluations (#3819)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-26 03:14:44 +00:00
GuySten
3ba8a9f078
Correctly score pulse height tally when no cell filter is present (#3821)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-26 02:44:17 +00:00
Jonathan Shimwell
8081815b99
Add RegularMesh.get_indices_at_coords method (#3824)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-26 02:19:02 +00:00
John Tramm
54c8e3d6eb
Speedup CI and Improve Reproducibility Across Compilers (#3823)
Co-authored-by: John Tramm <jtramm@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-25 17:12:18 -06:00
GuySten
2a38dc11ec
Do not fail CI when coveralls.io is not available. (#3835) 2026-02-25 15:04:00 -06:00
GuySten
c0427dd40a
Resolve conflict with weight windows and global russian roulette (#3751)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2026-02-25 14:01:33 -06:00
Patrick Shriwise
5a85bd92f2
C++ formatting suggestions on PRs (#3829) 2026-02-25 11:08:04 -06:00
Jonathan Shimwell
3ff6b59a49
Allow Mesh.from_domain to use bounding boxes directly (#3828) 2026-02-24 23:44:30 -06:00
Paul Romano
e130701f10
Fix MeshFilter.get_pandas_dataframe to handle all mesh types (#3817) 2026-02-24 07:35:23 +00:00
Vitaly Mogulian
8c24c1c064
Modify the plotter ray tracing for its utilization in estimators (#3816)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-24 06:46:21 +00:00
GuySten
83a30f6860
Support arbitrary symmetry axis for CylindricalIndependent class (#3474)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-21 20:00:36 +00:00
Paul Romano
139907c955
Implement tally filter for filtering by reaction (#3809) 2026-02-21 10:17:12 -06:00
Jonathan Shimwell
153281a490
Remove unused class Tabulated2D (#3818) 2026-02-21 15:00:22 +00:00
John Tramm
53ce1910f9
Fix S2 Random Ray Casting Issue (#3825) 2026-02-19 18:25:31 +00:00
Kevin Sawatzky
efefdb17b1
Add more operator overloads in the new Tensor class (#3822) 2026-02-19 11:03:19 -06:00
Kevin Sawatzky
417343c920
Implement S2 directional sampling in the random ray solver (#3811) 2026-02-19 14:25:19 +02:00
GuySten
f007c85a50
Check for positive radii (#3813) 2026-02-19 08:36:12 +00:00
Jonathan Shimwell
6d6b051507
avoid need to set particles and batches for dagmc models when calling convert_to_multigroup (#3801)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
2026-02-18 11:18:05 -06:00
GuySten
d4dc089618
Remove redundant check (#3812) 2026-02-18 09:09:39 -06:00
John Tramm
977ade79a1
Replace xtensor with internal Tensor/View classes (#3805)
Co-authored-by: John Tramm <jtramm@gmail.com>
2026-02-17 09:50:38 -06:00
Kevin Sawatzky
c6ef84d1d5
Set upper and lower interpolation bounds for MGXS data. (#3803) 2026-02-15 23:59:08 +02:00
Paul Romano
a35927aad3
Extend ParticleProductionFilter to support multiple particle types (#3780) 2026-02-13 22:18:29 -06:00
GuySten
7fc5b94877
Store atomic mass in ParticleType. (#3765)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-14 03:14:03 +00:00
Kevin Sawatzky
19c0aafdc6
Fix None values appearing in cross section data generated with Model.autoconvert (#3802) 2026-02-13 18:52:10 +02:00
Patrick Shriwise
bcb9395207
SolidRayTracePlot CAPI (#3789)
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
2026-02-13 07:54:27 +02:00
GuySten
b145fdd999
Improve radial crossing checks in SphericalMesh and CylindricalMesh (#3792)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-13 05:10:20 +00:00
Jonathan Shimwell
4e5deed0cc
Using ``_LIBRARY` and `_SUBLIBRARY`` from endf package (#3804) 2026-02-13 03:25:49 +00:00
Paul Romano
8198e6021d
Add truncated normal distribution support (#3761) 2026-02-12 18:25:56 +02:00
Patrick Shriwise
a3426cf833
Fix weight windows regression test (#3798) 2026-02-12 06:30:31 -06:00
Jonathan Shimwell
8d0fe6c71d
making use of sum_rules in endf package (#3799) 2026-02-12 10:11:28 +00:00
Jonathan Shimwell
26b13083f3
Use gnds_name and zam from endf package (#3796) 2026-02-12 05:58:00 +00:00
GuySten
96383fcb2b
More interpolation types in Tabular. (#3413)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-11 21:05:07 +00:00
azim-givron
360ec24b41
Implement vector fitting to replace external vectfit package (#3493)
Co-authored-by: azim_givron <a.givron@naarea.fr>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
2026-02-11 10:00:18 -06:00
Matthew Feickert
44da7022b8
FIX: Remove setuptools from run dependencies (#3794) 2026-02-11 09:21:13 -06:00
Jonathan Shimwell
3f20a5e228
Use several data variables from endf package (#3787) 2026-02-10 06:41:04 -06:00
Jonathan Shimwell
8053111f2d
making use of endf-python package more (#3786)
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
2026-02-10 02:08:25 +00:00
Kevin Sawatzky
4f4930b633
Temperature feedback support in the random ray solver. (#3737) 2026-02-09 16:54:59 -06:00
Paul Romano
d0346e94ac
Install parallel h5py with no build isolation (#3782) 2026-02-08 22:22:39 +00:00
Patrick Shriwise
6efc9db7b3
Modifications to C++ plots for interactive raytrace plots (#3776) 2026-02-08 12:11:19 -06:00
GuySten
04bee9c49f
Check that Surface IDs are at least 1 (#3772)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-06 18:44:16 +00:00
Lewis Gross
a632429267
Move distrib (mat, temp, dens) from XML attribute to subelement for better compatibility with very large instance lists (#3774) 2026-02-06 19:32:32 +02:00
Kevin Sawatzky
14acc762bc
C-API bindings for key random ray functions (#3749) 2026-02-06 10:42:32 -06:00
Jonathan Shimwell
8a62a97115
openmc.Tally creation from constructor (#3777) 2026-02-06 10:23:11 -06:00
Jonathan Shimwell
6f625f3dea
Precompute offsets in random ray source update (#3775) 2026-02-06 09:25:14 -06:00
Gavin Ridley
f2c936cf5b
Implement filter for secondary particle production binned by energy (#3453)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-02-05 18:00:03 -06:00
Jonathan Shimwell
1039b5d9ff
Parallelize transpose of scattering matrix for random ray adjoints (#3768) 2026-02-05 10:43:16 -06:00
Paul Romano
3b619d6904
Fix use of length multiplier in several LibMesh methods (#3773) 2026-02-04 22:29:30 -06:00
David Andrs
a22238e069
Fixing compiler warning about VLA (Clang extension) (#3769) 2026-02-04 14:50:38 -06:00
Paul Romano
b41e22f68b
Refactor ParticleType to use PDG Monte Carlo numbering scheme (#3756)
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
Co-authored-by: Amanda Lund <alund1187@gmail.com>
2026-02-03 07:23:24 +00:00
Ethan Peterson
fc0d9eec65
Ignore all source build directories that match build* pattern (#3762) 2026-02-02 09:55:45 -06:00
David Andrs
6041ee6ae3
SpatialBox can be constructed via ctor with parameters (#3760) 2026-01-31 17:02:39 -06:00
GuySten
7b4617affb
Fix for plotting model with multi-group cross sections (#3748)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-30 06:10:16 +00:00
Paul Romano
f7a734189a
Optionally compute bounding boxes in Mesh.material_volumes (#3731) 2026-01-29 09:20:48 +02:00
GuySten
008d584607
Warn users when setting undefined attributes in ``openmc.Settings`` (#3746)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-28 08:02:02 +00:00
Jonathan Shimwell
db426b66ca
Materials name persist when running depletion simulation (#3738)
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-27 06:06:36 +00:00
Paul Romano
5c502ddb3e
Do not add radioactive Ta180 when calling add_element('Ta') (#3750) 2026-01-26 19:09:58 +02:00
Kevin Sawatzky
3e2f1f521a
Enable fission heating tallies in the random ray solver (#3714) 2026-01-23 10:23:05 -06:00
Olek
73a98b2cc6
Add random_ray_pincell() example model (#3735)
Co-authored-by: John Tramm <john.tramm@gmail.com>
2026-01-23 10:20:25 -06:00
Olek
049a852e52
Random Ray main function and autosetup refactoring (#3733) 2026-01-22 15:21:47 -06:00
GuySten
6b43a298f4
Add n_elements to the MeshBase protocol and deprecate num_mesh_cells (#3745) 2026-01-22 15:04:30 +00:00
GuySten
c5df2bf621
Fix for pandas version 3 (#3743) 2026-01-21 21:57:40 -06:00
GuySten
2691ff8a0f
Fix type hinting and simplify implementation of combine_distributions (#3445)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-21 14:33:30 +00:00
Kevin Sawatzky
5847b0de23
Block restriction of libMesh unstructured mesh tallies (#3694) 2026-01-17 04:01:37 +00:00
Paul Romano
51ea89ccc8
Implement depth-awareness when enforcing precedence between union/intersection operators (#3730)
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
2026-01-15 22:23:35 -06:00
GuySten
179048b801
Skip tests on documentation-only changes (#3727)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-14 23:24:07 -06:00
Paul Romano
7861adf53b
Add git branching information to AGENTS.md (#3726) 2026-01-14 13:29:24 -06:00
Kevin Sawatzky
5bce5adabc
Support cell densities in the random ray solver (#3720) 2026-01-14 20:02:17 +02:00
GuySten
7106958e00
Simplify IFP message passing (#3719)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-13 23:25:33 +00:00
GuySten
65e19c1d53
Fix settings io_format documentation. (#3718)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-13 21:31:01 +00:00
Jonathan Shimwell
84a413b130
Speed up reaction rate lookup for FluxCollapseHelper (#3724) 2026-01-13 15:34:07 -05:00
Jack Fletcher
0486e433d2
Source biasing capabilities (#3460)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-12 09:51:12 -06:00
Perry
37e2feb34b
Flux Energy Group Conversion using lethargy-weighted redistribution (#3705)
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
2026-01-10 22:04:47 +02:00
Paul Romano
8c8867ea1c
Add --merge-mode-functions=separate to gcovr call in CI (#3716) 2026-01-09 20:05:51 +00:00
GuySten
551bf0730b
Simplify translational periodic boundary conditions (#3697) 2026-01-09 07:56:40 -06:00
Jonathan Shimwell
dfc80c7069
fixing temperatures setting for mgxs (#3712) 2026-01-07 10:54:57 +00:00
Paul Romano
830f075b5c
Update documentation describing HexLattice orientation (#3709) 2026-01-06 22:59:58 +00:00
Jonathan Shimwell
7dceb1d80a
closing mgxs h5py file with context manager (#3707)
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
2026-01-06 22:59:38 +00:00
Jonathan Shimwell
10f2b7534c
Fixing group names in MGXS HDF5 file (#3708) 2026-01-06 20:18:23 +00:00
GuySten
c7d7fa4613
Fix a bug in rotational periodic boundary conditions (#3692)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-06 13:29:40 +00:00
GuySten
818fd11b18
Simplify rectangular lattice crossing and correctly handle corner checks (#3703)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2026-01-06 09:29:46 +00:00
Jonathan Shimwell
60ddafa9b3
Open dagmc model file within a context manager (#3706) 2026-01-05 22:57:05 +02:00
Paul Romano
9c91bddf04
Migrate to SciPy sparse arrays (#3613) 2026-01-02 13:43:25 +02:00
Paul Romano
932f36f411
Add recognized thermal scattering names for JEFF 4.0 and JENDL 5 (#3693) 2026-01-02 12:31:46 +02:00
GuySten
f08326a9ac
Cache cross sections according to the hash of download-xs.sh script (#3701) 2026-01-01 13:30:09 +02:00
Paul Romano
92d7fdb199
Use min/max position members in C++ BoundingBox class (#3699) 2025-12-30 21:31:53 -06:00
GuySten
3f06a42abb
Refactor get_energy_index to prevent repetition (#3686) 2025-12-23 14:18:59 -06:00
Zoe Prieto
a2fd6cc57e
Support rotation in MeshFilter (#3176)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-12-19 22:56:13 -06:00
GuySten
a230b86128
Fix mcpl dependency in test (#3691) 2025-12-18 15:56:43 +00:00
Jonathan Shimwell
e0eb91b955
using id_map in model.plot for more efficient plotting (#3678) 2025-12-17 22:44:53 +02:00
Patrick Shriwise
d118356638
Use MeshBase method to check replicated. Add header for replicated mesh (#3689) 2025-12-17 06:10:07 +00:00
Kevin Sawatzky
bbfa18d72c
Add a command-line argument for output verbosity (#3680)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-12-12 09:29:43 +00:00
GuySten
1b5033dab4
IFP creates fatal error in all run modes except eigenvalue. (#3681) 2025-12-12 00:21:46 -06:00
GuySten
5c4121efd2
Fix hdf5 source_bank struct size. (#3676) 2025-12-11 22:01:10 -06:00
pranav
a62e754bbb
Add user documentation for DAGMCUniverse synchronization (#3674)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-12-10 21:54:28 -06:00
John Tramm
d09fbc61b5
Copilot Bot File (#3651)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-12-10 09:26:26 -06:00
Lewis Gross
bc1348579f
Generalize RotationalPeriodicBC for X-, Y-, or Z-axis (#3591)
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
2025-12-10 12:16:04 +02:00
Jonathan Shimwell
a9dc84f75a
Allowing material making from class constructor (#3649)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-12-08 19:43:30 +00:00
Jonathan Shimwell
8e06ed8998
Allowing model.id_map to return overlap ID values (#3669)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-12-08 15:54:37 +00:00
GuySten
9b40ea008e
Read IFP settings only in source/eigenvalue run mode (#3673) 2025-12-08 05:39:48 -06:00
Paul Romano
f70febb05f
Update CITATION.cff file (#3671) 2025-12-06 21:54:30 +00:00
Boris Polania
9b675adda5
Introduce SlicePlot and VoxelPlot to replace the Plot class (#3528)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-12-05 20:17:09 +00:00
Jonathan Shimwell
f28139250a
Fixed plotting issue by scaling source locations with axis units (#3668) 2025-12-05 11:02:26 -06:00
Paul Romano
db8d462738
Allow DistribcellFilter to work with apply_tally_results=True (#3667) 2025-12-04 06:53:04 -06:00
John Tramm
ad5a876bee
Improved automatic MGXS generation for random ray (#3658)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-12-03 07:48:38 +00:00
John Tramm
10706510bf
Random Ray Eigenvalue Flux Normalization Change (#3595)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-02 22:00:32 -06:00
Paul Romano
9e9ab84833
Update C++/CMake policy based on Ubuntu 22.04 (#3666) 2025-12-02 16:11:56 +00:00
GuySten
ef22558f4a
fix a bug in borated_water temperature assignment (#3662) 2025-11-29 16:28:18 +01:00
Paul Romano
7ab92ec142
Fix typo in description of distance_inactive for random ray setting (#3663) 2025-11-28 15:39:08 +00:00
Jonathan Shimwell
dcb7443711
added test to check dagmc name is in xml (#3657) 2025-11-27 10:03:38 -06:00
Paul Romano
27e38e8946
Add release notes for 0.15.3 (#3644) 2025-11-22 23:06:17 +01:00
Paul Romano
d217efa007
Add two MPI barriers in R2S workflow (#3646) 2025-11-20 12:10:04 -06:00
Paul Romano
f544d02e49
Don't write reaction rates in depletion results by default, remove per-stage data for multistage integrators (#3609) 2025-11-19 12:26:57 -05:00
Paul Romano
028f440448
Support MPI parallelism in R2SManager (#3632) 2025-11-19 11:19:27 -06:00
Paul Romano
5c63e0df21
Fix a few warnings, rename add_to_tallies_file (#3639) 2025-11-18 17:57:12 -06:00
Patrick Shriwise
7815d3a680
Fix typo in DAGMC lost particle test (#3634) 2025-11-14 05:27:17 +00:00
Paul Romano
8d618716b5
Avoid multiprocessing Pool when running depletion tests with MPI (#3633) 2025-11-13 17:14:39 -06:00
Michel Saliba
cd5cd35ad9
Addition of a collision tracking feature (#3417)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-11-13 20:35:33 +00:00
Lorenzo Chierici
50bb0df191
depletion-thermochemistry: Redox control transfer rates (#2783)
Co-authored-by: Gavin Ridley <gavin.keith.ridley@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-11-12 16:45:48 -06:00
April Novak
4e24c2d933
Update documentation for particle tracks (#3627)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-11-12 21:59:45 +00:00
Gregoire Biot
2d77544b0c
Adding variance of variance and normality tests for tally statistics (#3454)
Co-authored-by: Ethan Peterson <eepeterson3@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-11-12 11:41:37 -05:00
Marco De Pietri
e5348d3f62
Avoid divide-by-zero in from_multigroup_flux when flux is zero (#3624)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-11-12 10:35:07 +00:00
Patrick Shriwise
5c2bfe771e
Write particle states as separate lines in track VTK files. (#3628) 2025-11-12 00:29:19 -06:00
Patrick Shriwise
8cd3911cbe
Reset DAGMC history when reviving from source. (#3601)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-11-12 06:01:18 +00:00
Perry
c0f302db68
Add energy group structure: SCALE-999 (#3564) 2025-11-07 10:58:40 -06:00
Jon Shimwell
e5c7d0ca88
Adding vtkhdf option to write vtk data (#3252)
Co-authored-by: shimwell <mail@jshimwell.com>
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: rherrero-pf <156206440+rherrero-pf@users.noreply.github.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-11-05 16:03:20 +00:00
Paul Romano
bd76fc0566
Fix bug in normalization of tally results with no_reduce (#3619) 2025-11-03 11:11:57 -06:00
Perry
2d8e006c3d
Enable nuclide filters with get_decay_photon_energy (#3614)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-11-03 11:10:30 -06:00
GuySten
fd964bc9b0
Enable specifying reference direction for azimuthal angle in PolarAzimuthal distribution (#3582)
Co-authored-by: shimwell <mail@jshimwell.com>
2025-11-03 09:42:59 +02:00
Paul Romano
5fc289b99d
Automate workflow for mesh- or cell-based R2S calculations (#3508)
Co-authored-by: Ethan Peterson <eepeterson3@gmail.com>
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2025-11-01 00:15:25 +00:00
Paul Romano
4c41766611
Criticality search method on the Model class (#3569) 2025-10-28 11:36:03 -05:00
Makarand More
a74c1424a8
Update check_type calls to accept both str and os.PathLike objects. (#3618)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-10-28 14:50:11 +00:00
Paul Romano
f10d7d9f67
Speed up apply_time_correction by reducing file I/O and deepcopies (#3617) 2025-10-28 09:23:16 +01:00
John Tramm
230db28d39
FW-CADIS Disregard Max Realizations Setting (#3616) 2025-10-28 09:22:37 +01:00
John Tramm
70b5254662
Random Ray Geometry Debug Mode Fix (#3615) 2025-10-27 09:30:54 +01:00
GuySten
c31032cf25
load mesh objects from weight_windows.h5 file (#3598)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-10-21 23:03:27 +00:00
Jonathan Shimwell
3ac5d6f8f5
Allow Path objects in MGXSLibrary.export_to_hdf5 (#3608)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-10-20 16:45:14 +00:00
Paul Romano
055ea15a2d
Clip mixture distributions based on mean times integral (#3603) 2025-10-17 18:09:37 -05:00
GuySten
b94b496113
Ability to source electron/positrons directly (#3404)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-10-15 23:51:59 +00:00
jiankai-yu
e9077b1372
Allow V0 in atomic_mass function (for ENDF/B-VII.0 data) (#3607) 2025-10-14 20:21:11 +00:00
Paul Romano
58c7fbeac6
Re-run flaky tests when needed (#3604) 2025-10-14 07:47:26 -05:00
Paul Romano
3dfa34d2c6
Switch to using coveralls github action for reporting (#3594) 2025-10-07 05:14:37 +03:00
Paul Romano
2c15480cc9
Add user setting for free gas threshold (#3593) 2025-10-06 15:45:26 +03:00
Jonathan Shimwell
50071aa3bd
Speed up time correction factors (#3592)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-10-03 15:09:57 +00:00
Thomas Kittelmann
8a62e7e323
Fix caching issue when using NCrystal materials (#3538)
Co-authored-by: Jose Ignacio Marquez Damian <22483345+marquezj@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-10-02 23:27:36 +00:00
Copilot
7806703c26
Fix random ray source region mesh export when using model.export_to_xml() (#3579)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jtramm <1009059+jtramm@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-10-02 22:52:39 +00:00
Perry
91a19cf220
Ensure weight_windows_file information is read from XML (#3587)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-10-02 21:50:42 +00:00
Patrick Shriwise
1dacf4fd2b
Add missing documentation on <source> in depletion chain file format (#3590)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: April Novak <novak@berkeley.edu>
2025-10-02 16:48:02 +00:00
John Tramm
3ac64d9a01
Random Ray Base Source Region Refactor (#3576) 2025-10-02 11:02:43 -05:00
Jonathan Shimwell
feefcc6713
Adding tally filter type option to statepoint get_tally (#3584)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
2025-09-30 22:09:15 +00:00
Perry
4011b7a551
Optional separation of mesh-material-volume calc from get_homogenized_materials (#3581)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-09-26 16:46:23 +00:00
Alex Nellis
781dbf9c12
Multi-group capability for kinetics parameter calculations with Iterated Fission Probability (#3425)
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-09-26 16:27:05 +00:00
Joffrey Dorville
767db7e6a0
Fix IFP implementation (#3580) 2025-09-25 14:58:29 -05:00
GuySten
66e7d8634c
Remove several TODOs related to C++17 support (#3574)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-09-24 09:02:19 +00:00
Kevin Sawatzky
ed433fe1cd
Fix performance regression in libMesh unstructured mesh tallies (#3577) 2025-09-23 11:31:14 -05:00
Paul Romano
8f36ff2b3a
Update find_package calls in OpenMCConfig.cmake (#3572) 2025-09-23 10:06:29 -05:00
Patrick Shriwise
ca63da91b9
Ensure n_dimension_ attribute is set for unstructured meshes. (#3575) 2025-09-19 20:00:51 +00:00
Ilham Variansyah
ecb0a3361f
Combing for fission site sampling, and delayed neutron emission time (#2992)
Co-authored-by: Gavin Ridley <gavin.keith.ridley@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-09-19 08:10:08 +00:00
Paul Romano
007ac8148b
Allow newer Sphinx version and fix docbuild warnings (#3571) 2025-09-19 07:27:41 +03:00
Kevin Sawatzky
607f6babe5
Add distributed cell densities (#3546)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-09-19 04:11:06 +00:00
GuySten
afd9d06074
Fixed a bug when combining TimeFilter, MeshFilter, and tracklength estimator (#3525)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-09-12 20:23:17 +00:00
Jack Fletcher
c7175289eb
PowerLaw raises an error if sampling interval contains negative values (#3542) 2025-09-11 15:57:02 +03:00
Robert Carlsen
ca4295748d
depletion: fix performance of chain matrix construction (#3567)
Co-authored-by: GuySten <62616591+GuySten@users.noreply.github.com>
2025-09-11 02:13:28 +00:00
Patrick Shriwise
3665090513
Do not apply boundary conditions when initialized in volume calculation mode (#3562) 2025-09-05 11:34:49 +00:00
Paul Romano
5918564727
Bump up tolerance for flaky activation test (#3560) 2025-09-03 16:35:11 +00:00
GuySten
eaed400987
Fixed a bug in plotting cross sections with S(a,b) data (#3558) 2025-09-02 22:52:27 -05:00
GuySten
00edc77691
Change test order to run unit tests first. (#3533)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-08-30 03:39:46 +00:00
Jonathan Shimwell
ec15803d41
adding ecco 33 (#3556) 2025-08-30 04:39:45 +03:00
GuySten
5529731e2f
Refactor endf_data to be a fixture (#3539) 2025-08-29 07:06:33 -05:00
GuySten
2a278c93a6
Revert "fix broken CI" (#3554) 2025-08-27 23:18:06 +00:00
GuySten
b14eff4760
fix broken CI (#3551) 2025-08-27 19:28:11 +00:00
GuySten
d1df80a210
Leverage particle.move_distance in event advance (#3544) 2025-08-22 09:58:39 -05:00
GuySten
5e3249f006
fix tests that accidentaly got broken (#3543) 2025-08-21 21:13:50 +00:00
Jonathan Shimwell
e878aeb82f
not printing nuclides with 0 percent to terminal (option 2 ) (#3448) 2025-08-21 11:14:21 +02:00
GuySten
68e894c4b0
Fix a bug in time cutoff behavior (#3526) 2025-08-18 09:40:54 -05:00
Rémi Delaporte-Mathurin
c5a7173864
Avoid duplicate materials written to XML (#3536)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-08-18 14:34:12 +00:00
GuySten
75b5813012
Use cached property for openmc.data.Decay.sources (#3535)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-08-18 13:42:38 +00:00
Jonathan Shimwell
14d51e0eba
more helpful error message for dose_coefficients (#3534) 2025-08-14 21:26:27 +03:00
Jonathan Shimwell
f8fa751da0
Adding 616 group structure (#3531) 2025-08-13 16:41:39 +03:00
GuySten
a34365396e
Remove unused special accessors for tallies (#3527) 2025-08-11 10:51:45 -05:00
GuySten
a11021cd07
Consistent XML parsing using functions from _xml module (#3517)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-08-08 17:47:55 +00:00
Boris Polania
e36c0aef2f
Add stat:sum field to MCPL files for proper weight normalization (#3522)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-08-08 14:09:24 +00:00
GuySten
4500f07b44
Remove reorder_attributes from openmc._xml (#3519) 2025-08-08 16:59:22 +07:00
GuySten
4fabed542d
fixed a bug in MeshMaterialFilter.from_volumes (#3520)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-08-08 00:53:33 +00:00
GuySten
a64cc96ed5
Fixed a bug in distribcell offsets logic (#3424) 2025-07-30 12:10:34 -05:00
Jonathan Shimwell
6f5e1347d4
Add test for FW-CADIS based WW generation on a DAGMC model (#3504)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-29 11:17:51 +00:00
John Tramm
4cce6ee6c0
Fix for Weight Window Scaling Bug (#3511)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-29 10:15:40 +00:00
Rémi Delaporte-Mathurin
836bc487cf
Fix: materials, plots, and tallies cannot be passed as lists (#3513)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-29 09:34:03 +00:00
Paul Romano
6b672f772f
Allow already-initialized openmc.lib in TemporarySession (#3505) 2025-07-26 16:42:33 -05:00
Patrick Shriwise
9d9dcc26c5
Update DAGMC and libMesh precompiler definitions (#3510) 2025-07-22 11:10:08 +07:00
Jonathan Shimwell
a649d7bc69
Avoid adding ParentNuclideFilter twice when calling prepare_tallies (#3506)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-18 16:23:02 +00:00
Jonathan Shimwell
8be65513b7
Adding material depletion function (#3420)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Micah Gale <mgale@fastmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-18 14:37:57 +00:00
Joffrey Dorville
659e43af7d
Enabling MCPL source files to be read when using surf_source_read (#3472)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-18 08:47:08 +00:00
Patrick Shriwise
637e04a9ba
Boundary info accessors (#3496)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-18 07:51:30 +00:00
Jonathan Shimwell
4483583ddd
automatically finding appropriate dimension when making regular mesh from domain (#3468) 2025-07-18 13:46:13 +07:00
Patrick Shriwise
bca818ced6
Add accessor methods for LocalCoord (#3494)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-17 03:29:41 +00:00
Ahnaf Tahmid Chowdhury
5318ea6e2b
Make MCPL a Runtime Optional Dependency (#3429)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-17 02:46:39 +00:00
Perry
24f78e6e92
Use auto-chunking for StepResult HDF5 writing (#3498) 2025-07-17 08:40:02 +08:00
Patrick Shriwise
6372c29cfa
Provide a way to get ID maps from plot parameters on the Model class (#3481)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-16 08:31:49 -05:00
Shikhar Kumar
58ee8d825d
Update OSX install instructions to point to x64 platform (#3501) 2025-07-15 15:53:52 -05:00
Paul Romano
d700d395de
Update conda install instructions for macOS Apple silicon (#3488) 2025-07-03 22:59:40 +00:00
April Novak
dd8d621f0b
Only show warning if in restart mode. Refs #3477 (#3478) 2025-07-03 10:10:12 -05:00
Nathan Glaser
b6c6ac078b
Add flag to CMakeLists to use submodules instead of searching (#3480)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-07-03 14:49:25 +00:00
Micah Gale
efcf8f649e
Added citation metadata file (#3409) 2025-07-03 10:32:43 +02:00
GuySten
6636b7e32b
fix zam parsing (#3484) 2025-07-02 22:52:39 -05:00
Paul Romano
eb74d497d2
Introduce openmc.lib.TemporarySession context manager (#3475) 2025-07-01 12:43:45 -05:00
Paul Romano
ecfb666db7
Allow spatial constraints on element sources within MeshSource (#3431) 2025-07-01 09:03:28 -05:00
Paul Romano
dab8af5672
Support flux collapse method in get_microxs_and_flux (#3466)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2025-07-01 12:43:28 +02:00
John Tramm
b939f9003b
Stabilize Adjoint Source (#3476) 2025-06-30 10:33:22 +02:00
Ahnaf Tahmid Chowdhury
25d64c9b26
Refactor and Harden Configuration Management (#3461)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-27 00:49:55 +00:00
John Tramm
c116288ea3
Updated Docs to Not Give Specific Python Version Requirement (#3473) 2025-06-26 23:50:26 +00:00
Jonathan Shimwell
5c10214465
added openmc.Material.mean_free_path function (#3469) 2025-06-25 20:29:45 -05:00
Paul Romano
01fa8056d1
Introduce WeightWindowsList class that enables export to HDF5 (#3456) 2025-06-25 13:44:53 -05:00
John Tramm
a6db05ac8b
Optimize Mapping of Random Ray Source Regions to Tallies (#3465) 2025-06-25 08:47:23 -05:00
John Tramm
15dfe7e8b9
Parallelization of Weight Window Update (#3467) 2025-06-25 08:46:40 -05:00
John Tramm
2a0299aec7
Limit Random Ray Weight Window Generation to Final Batch (#3464) 2025-06-24 15:20:26 -05:00
Paul Romano
3a8894c3f8
Fix Dockerfile DAGMC build (#3463) 2025-06-24 11:29:16 +02:00
John Tramm
7c6aaf7204
Fix Weight Window Infinite Loop Bug (#3457)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-23 22:20:36 +00:00
John Tramm
eaef13b9bc
Weight Window Birth Scaling (#3459)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-23 20:53:27 +00:00
Jonathan Shimwell
3d16d4b100
Adding checks to geometry.plot to avoid material name overlaps (#3458)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-06-19 20:43:45 +00:00
Jonathan Shimwell
3e32aed2da
Fixing crash when calling Geometry.plot when DAGMCUniverse in geometry (#3455)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-18 18:34:07 +00:00
GuySten
1c5aa6559b
fixing expansion of elemental Ta bug (#3443)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-18 15:10:03 +00:00
John Tramm
f31130d367
Prevent Adjoint Sources from Trending towards Infinity (#3449) 2025-06-18 06:34:56 -05:00
Jonathan Shimwell
7a1cafa6c1
adding plot function to DAGMCUnvierse (#3451)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-17 22:36:35 +00:00
Jan Malec
23eab2c89b
Allow specifying number of equiprobable angles for thermal scattering data generation (#3346)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-14 06:39:31 +00:00
Paul Romano
b11eb02655
Change Dockerfile from debian:bookworm-slim to ubuntu:24.04 (#3442) 2025-06-13 20:38:16 +00:00
John Tramm
aeb1052c19
Fix Resetting of Auto IDs When Generating MGXS (#3437) 2025-06-13 00:54:35 +00:00
Jonathan Shimwell
f81962c960
Allowing chain_file to be chain object to save reloading time (#3436)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-12 21:02:35 +00:00
April Novak
6c9c69628c
update units for flux (#3441) 2025-06-12 16:49:59 +00:00
GuySten
e678b1a057
Fix raytrace infinite loop. (#3423)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-11 22:54:04 +00:00
John Tramm
2eeba89992
Apply Max Number of Events Check to Random Rays (#3438)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2025-06-11 12:41:38 -05:00
Paul Romano
f571be87c5
Add user setting for source rejection fraction (#3433) 2025-06-10 22:51:51 -05:00
Patrick Shriwise
f796fa04e0
Adding fix and tests for spherical mesh as spatial distribution (#3428)
Co-authored-by: Paul Wilson <paul.wilson@wisc.edu>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-10 10:01:28 -05:00
John Tramm
56b44aa4e8
Random Ray Missed Cell Policy Change for Adjoint Mode (#3434) 2025-06-10 09:13:08 -05:00
Paul Romano
7fda3eb846
Implement a new MeshMaterialFilter (#3406)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-06-06 16:30:50 -05:00
John Tramm
67aa0def9d
Random Ray External Source Plotting Fix (#3430) 2025-06-06 14:51:39 -05:00
Paul Romano
4943fa3630
Avoid negative heating values during pair production and bremsstrahlung (#3426)
Co-authored-by: GuySten <guyste@post.bgu.ac.il>
2025-06-05 10:45:49 -05:00
GuySten
dadc4fe418
Fix no serialization of periodic_surface_id bug (#3421)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-05 00:07:59 +00:00
Lewis Gross
e14bb884eb
Update _get_start_data to always grab the beginning of timestep time (#3414)
Co-authored-by: Paul Wilson <paul.wilson@wisc.edu>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-04 23:40:55 +00:00
GuySten
ace73ab5de
Fixed a bug in charged particle energy deposition. (#3416)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-06-03 18:02:20 +00:00
GuySten
cb95c784b7
Fix bug where the same mesh is written multiple times to settings.xml (#3418) 2025-05-27 11:04:16 -05:00
Alberto P
a7d1ceba3f
small typo - spelling of Debian (#3411) 2025-05-18 20:28:00 +03:00
Jonathan Shimwell
757617be50
added test for dagmc geometry plot (#3375)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-16 13:55:41 +00:00
Lorenzo Chierici
7382b5d1c8
External transfer rates source term (#3088)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-12 15:48:21 -05:00
John Tramm
f615441f06
Random Ray Misc Memory Error Fixes (#3405)
Co-authored-by: Hunter Belanger <hunter.belanger@gmail.com>
2025-05-09 22:10:25 -05:00
Jonathan Shimwell
ba834be5c2
added type hints to model file (#3399)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-08 06:10:33 +00:00
Patrick Shriwise
c1c5c0b93e
Apply resolve paths to path values in config (#3400) 2025-05-08 00:51:40 +00:00
GuySten
f9dca9a458
Fixing an incorrect computation of CDF of bremsstrahlung photons (#3396)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-06 00:04:47 +00:00
Paul Romano
e4f55a57b6
Fix weight modification for uniform source sampling (#3395)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-05-05 20:59:11 +00:00
Gregoire Biot
dc619eac17
Filter weight implementation (#3345)
Co-authored-by: Grego01-biot <grego01@pc-neutronic-06.psfc.mit.edu>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-05 15:33:12 -05:00
Patrick Shriwise
9942269a91
Updates to VTK data checks (#3371)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-05 18:55:14 +00:00
Amanda Lund
57dc71f530
Map Compton subshell data to atomic relaxation data (#3392)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-05 18:05:48 +00:00
Gregoire Biot
1e7d8324ee
Figure of Merit implementation (#3363)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-03 08:19:10 -04:00
Amanda Lund
512df2f4ff
Skip atomic relaxation if binding energy is larger than photon energy (#3391)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-03 05:46:14 +00:00
Hunter Belanger
a921280fa9
Fix extremely large yields from Bremsstrahlung (#3386)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-03 05:10:18 +00:00
Jonathan Shimwell
d0354dbd71
corrected tally name in D1S example (#3383)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-05-03 04:38:23 +00:00
Paul Romano
4138bc34e0
Add option to determine waste disposal rating by nuclide (#3376) 2025-05-02 20:07:43 -04:00
Paul Romano
c17908f24c
Install MCPL using same build type as OpenMC in CI (#3388) 2025-05-02 18:38:10 -05:00
Jonathan Shimwell
820648daee
using reduce chain level to remove need for reduce chain (#3377)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-04-23 06:44:46 +00:00
Patrick Shriwise
5dd6ff6527
Fix negative distances from bins_crossed for CylindricalMesh (#3370) 2025-04-22 23:00:44 -05:00
John Tramm
a113440986
Small Fixes to Allow Random Ray to Work with DAGMC (#3374)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-04-22 17:17:04 +00:00
Joffrey Dorville
47ca2916aa
Kinetics parameters using Iterated Fission Probability (#3133)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-04-14 14:07:48 +00:00
Paul Romano
c1a4d43da8
Add methods on Material class for waste disposal rating / classification (#3366)
Co-authored-by: Ethan Peterson <eepeterson3@gmail.com>
2025-04-11 23:43:27 +00:00
Jonathan Shimwell
bd95b52f4d
Add check for equal value bins in an EnergyFilter (#3372) 2025-04-11 16:35:30 -05:00
John Tramm
cdc254ccf4
Fix for Issue Loading MGXS Data Files with LLVM 20 or Newer (#3368)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-04-10 17:31:33 +00:00
John Tramm
07f5334616
Random Ray Point Source Locator (#3360)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-04-02 05:40:07 +00:00
John Tramm
b67771a3d0
Random Ray AutoMagic Setup (#3351)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-04-01 21:47:49 -05:00
Patrick Shriwise
24655dfd5d
Report plot ID instead of index for unsupported plot types in random ray mode (#3361) 2025-03-31 09:29:30 -05:00
Ahnaf Tahmid Chowdhury
3f3649da08
Handle Missing Tags in Versioning by Setting Default to 0 (#3359)
Co-authored-by: Micah Gale <mgale@fastmail.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-03-21 21:33:28 +00:00
Jonathan Shimwell
277390b220
added kg units to doc string in results class (#3358) 2025-03-20 07:00:34 -05:00
Paul Romano
e23760b026
Add release notes for 0.15.2 (#3357) 2025-03-19 09:09:47 -05:00
Joffrey Dorville
18d9f97551
Correcting the size of the displacement list in the SourceSite MPI interface object (#3356) 2025-03-18 21:25:48 +00:00
Kevin Sawatzky
08e7043f8d
Throw an error if a spherical harmonics order larger than 10 is provided. (#3354) 2025-03-18 16:19:15 -05:00
Adam Nelson
58f2a21771
Hotfix: Remove errant openmc.Settings.random_ray check and removed of not useful warning in MG mode (#3344) 2025-03-14 11:57:33 -05:00
Paul Romano
906548db20
Release notes for 0.15.1 (#3340)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-03-07 14:49:36 -06:00
John Tramm
9b5678b5f0
Random Ray Source Region Mesh Subdivision (Cell-Under-Voxel Geometry) (#3333)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-03-07 02:48:31 +00:00
Perry
e8c9134ff6
Add option for survival biasing source normalization (#3070)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-03-06 18:00:29 -06:00
Stefano Segantin
9bfce4ee1c
Determine nuclides correctly for DAGMC models in d1s.get_radionuclides (#3335)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-03-06 21:33:26 +00:00
Jonathan Shimwell
e360cb467e
added stable and unstable nuclides to the Chain object (#3338)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-03-06 16:39:05 +00:00
Stefano Segantin
e12c65dff9
openmc.Material.mix_materials() allows for **kwargs (#3336) 2025-03-06 07:44:10 -06:00
Paul Romano
e878933b90
Fix bug in Mesh::material_volumes for void materials (#3337) 2025-03-06 05:48:04 +00:00
Lewis Gross
557b714d87
add continue feature for depletion (#3272)
Co-authored-by: Connor Moreno <camoreno@wisc.edu>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Lewis Gross <ligross@cnerg-docker-04.neep.wisc.edu>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-03-06 01:07:50 +00:00
Thomas Kittelmann
ced8929128
NCrystal becomes runtime rather than buildtime dependency (#3328)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-03-05 15:45:27 -06:00
ahman24
239f7fed5e
Implement user-configurable random number stride (#3067)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-03-04 17:26:38 -06:00
Paul Romano
e2557bbe22
Update pugixml to v1.15 (#3332) 2025-03-01 02:04:27 +00:00
Paul Romano
39ad29d82e
Fix reading of horizontal field of view for ray-traced plots (#3330)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-02-28 19:50:35 +00:00
rzehumat
8fb48f125f
Manually fix broken links (#3331) 2025-02-28 16:38:31 +00:00
Jonathan Shimwell
c26fde6665
Adding per kg as unit option on material functions (#3329)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
2025-02-28 08:00:40 -06:00
Paul Romano
e060534ff1
Compute material volumes in mesh elements based on raytracing (#3129)
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-02-26 08:14:53 -06:00
Olek
865c80a5f9
Reflect multigroup MicroXS in IndependentOperator docstrings (#3327)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-25 19:50:00 +00:00
John Tramm
27258c009c
Random Ray Adjoint Source Logic Improvement (#3325) 2025-02-25 10:34:28 -06:00
Paul Romano
1729b3bf91
Fixes for problems encountered with version determination (#3320) 2025-02-25 03:49:47 +00:00
Micah Gale
fed4b28616
Mark a canonical URL for docs (#3324) 2025-02-25 03:49:12 +00:00
Paul Romano
244d630fd2
Clarify effect of CMAKE_BUILD_TYPE in docs (#3321) 2025-02-24 23:25:33 +00:00
John Tramm
cba132c4b4
Random Ray Linear Source Stability Improvement (#3322) 2025-02-24 23:25:11 +00:00
Patrick Shriwise
c794065d46
Fix access order issues after applying tally results from Model.run. (#3313)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-24 22:11:18 +00:00
John Tramm
53066768de
Random Ray Void Accuracy Fix (#3316) 2025-02-24 09:49:51 -06:00
Ahnaf Tahmid Chowdhury
a2a5c2af19
Add Versioning Support from version.txt (#3140)
Co-authored-by: Jonathan Shimwell <mail@jshimwell.com>
Co-authored-by: Paul Wilson <paul.wilson@wisc.edu>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-21 17:48:11 -06:00
Paul Romano
fefe825e65
Handle reflex angles in CylinderSector (#3303) 2025-02-21 17:44:09 -06:00
Patrick Shriwise
6ae2001400
Enable overlap plotting from Python API (#3310)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-21 20:58:37 +00:00
Paul Romano
d643ad0c41
Simulation of decay photons through the D1S method (#3235)
D1S FTW!
2025-02-21 12:47:38 -05:00
Zoe Prieto
2b788ea6e0
Streamline use of CompositeSurface with SurfaceFilter (#3167)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-20 19:51:05 -06:00
Paul Romano
7638661fad
Add nuclides_to_ignore argument on Model export methods (#3309)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2025-02-20 19:07:07 +00:00
Gavin Ridley
aa4de82258
remove gsl-lite dependency (#3225)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-20 01:03:20 +00:00
Gavin Ridley
bcc2a4c5f0
simplify mechanism to detect if geometry entity is DAG (#3269) 2025-02-19 15:58:14 -06:00
Paul Romano
06a88526cf
Relax requirement on polar/azimuthal axis for wwinp conversion (#3307) 2025-02-19 07:48:39 -06:00
Sam Pasmann
d96e6860e6
Randomized Quasi-Monte Carlo Sampling in The Random Ray Method (#3268)
Co-authored-by: John Tramm <john.tramm@gmail.com>
2025-02-19 03:44:15 +00:00
John Tramm
3011a14a13
Random Ray Explicit Void Treatment (#3299)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-18 23:38:59 +00:00
Gavin Ridley
81b7388624
Raytrace plots (#2655)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-18 03:11:54 +00:00
Olek
a5b26de041
Random ray consistency changes (#3298) 2025-02-17 11:02:51 -06:00
Jonathan Shimwell
11587786e0
removed old command line scripts (#3300)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-14 22:58:30 -06:00
Jonathan Shimwell
be4396c12b
adding non elastic MT number (#3285)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-14 16:39:09 +00:00
Jonathan Shimwell
02e225b8f6
Avoid end of life ubuntu 20.04 in ReadTheDocs runner (#3301)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
2025-02-13 22:03:19 -06:00
Paul Romano
0ceb49bc5c
Avoid error in CI from newlines in commit message (#3302) 2025-02-14 00:04:04 +00:00
rherrero-pf
78bf4cf145
Add VTU export for Unstructured meshes (#3290)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-13 21:26:36 +00:00
Patrick Shriwise
18c3112415
Adding tmate action to CI for debugging (#3138) 2025-02-12 07:03:17 -06:00
Jose Ignacio Marquez Damian
e9ddf885e7
Correct normalization of thermal elastic in non standard ENDF-6 files (#3234)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-02-12 00:12:52 +00:00
John Tramm
04393200cc
Random Ray Source Region Refactor (#3288) 2025-02-11 11:23:26 -06:00
Thomas Kittelmann
27ce2ceee3
Updates for building with NCrystal support (and fix CI) (#3274) 2025-02-11 14:18:27 +00:00
Jonathan Shimwell
7e033b25ad
added terminal output showing compile options selected (#3291)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
2025-02-11 09:15:43 +01:00
Paul Romano
6e0f156d33
Fix Tabular.from_xml_element for histogram case (#3287) 2025-02-04 10:38:37 -06:00
Paul Romano
59c398be84
Consolidate plotting capabilities in Model.plot (#3282)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2025-01-31 10:12:24 -06:00
Skywalker
d9c8e594c7
fix the bug in function differentiate_mats() (#3277)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-28 19:44:04 +00:00
Jonathan Shimwell
860d739f4c
Doc typo fix for rand ray mgxs (#3280)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
2025-01-28 10:44:32 -06:00
Skywalker
27f3afefa4
Fix the bug in the Material.from_xml_element function (#3278)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-28 07:57:27 +00:00
Andrew Johnson
8626ce5c43
Rely on std::filesystem for file_utils (#3042)
Co-authored-by: Andrew Johnson <git.vyveu@simplelogin.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-28 07:31:59 +00:00
John Tramm
a8768b7845
FW-CADIS Weight Window Generation with Random Ray (#3273)
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-27 22:54:32 -06:00
Andrew Davis
2bea7f338b
Added missing documentation (#3275)
Co-authored-by: Jonathan Shimwell <mail@jshimwell.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-25 01:59:52 +00:00
Patrick Shriwise
7a18108724
Adjust for secondary particle energy directly in heating scores (#3227)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-25 00:06:15 +00:00
Patrick Shriwise
f207d4220a
Adding methods to automatically apply results to existing Tally objects. (#2671)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-24 22:49:58 +00:00
Patrick Shriwise
7089780026
Add test for flux bias with weight windows in multigroup mode (#3202)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-24 20:29:00 +00:00
John Tramm
560bd22bce
Tweak To Sphinx Install Documentation (#3271) 2025-01-21 16:27:01 -06:00
Paul Romano
9170bf34ad
Update recognized thermal scattering materials for ENDF/B-VIII.1 (#3267) 2025-01-20 14:51:13 +01:00
Paul Romano
3bf1486f49
Fix bug in Surface.normalize (#3270) 2025-01-20 20:18:50 +07:00
Joshua Einstein-Curtis
bd874f1b3e
Update plots.py for PathLike to string handling error (#3261)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-16 09:38:19 -06:00
Patrick Shriwise
32662b409a
Add constant for invalid surface tokens. (#3260)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-16 09:36:13 -06:00
Paul Romano
6d731934f4
Fix bug in WeightWindowGenerator for empty energy bounds (#3263) 2025-01-15 06:35:37 -06:00
Adam Nelson
549cc0973c
Enable the LegendreFilter filter to be used in photon tallies for orders greater than P0. (#3245)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-14 15:51:47 +00:00
azimG
d39a414011
Set Model attributes only if needed (#3209)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-13 06:19:07 +00:00
Patrick Shriwise
cf3f0201a0
Update to a consistent definition of the r2 parameter for cones (#3254)
Co-authored-by: Matthew Nyberg <mnyberg@wisc.edu>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-12 23:50:48 +00:00
Jan Malec
d2edf0ce4e
Fix path handling for thermal ACE generation (#3171)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-11 01:23:35 +00:00
Ethan Peterson
c226c783c4
Bug fix for Polygon 'yz' basis (#3259) 2025-01-10 22:20:00 +00:00
Paul Romano
51f0e6f350
Add Patrick Shriwise to technical committee (#3255) 2025-01-10 15:11:32 -06:00
Joseph F. Specht IV
7c142a361f
Change Zernike documentation in polynomial.py (#3258) 2025-01-10 19:18:03 +00:00
Patrick Shriwise
1eca46f536
Write mesh type as a dataset always (#3253) 2025-01-08 22:15:00 -06:00
Paul Romano
0d4a85d3a8
Remove top-level import of openmc.lib (#3250) 2025-01-08 20:00:57 +00:00
Adam Nelson
8ba66f9fe3
Fix for erroneously non-zero tally results of photon threshold reactions (#3242)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-08 13:58:59 -06:00
Andrew Davis
4492f9db10
Fix type comparison (#3244) 2025-01-08 12:16:01 -06:00
Micah Gale
10a63bbd27
Move to support python 3.13 (#3165) 2025-01-08 11:47:25 -06:00
Jonathan Shimwell
6a5d80efd6
updated docker file to latest DAGMC (#3251) 2025-01-08 16:27:09 +00:00
Patrick Shriwise
8c7200fad3
Enable UWUW library when building with DAGMC in CI (#3246) 2025-01-07 17:31:25 -06:00
Baptiste Mouginot
5ad1a4aa1e
Differentiate materials in DAGMC universes (#3056)
Co-authored-by: Baptiste Mouginot <bam.git.not.reply@gmail.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: azimG <azimgivron@yahoo.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-07 21:50:02 +00:00
Masoud
393334829d
Adding '#define _USE_MATH_DEFINES' to make M_PI declared in Intel and MSVC compilers (#3238)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2025-01-07 06:32:05 +00:00
Jonathan Shimwell
3a001d3de2
updated link to log mapping technique (#3241) 2025-01-06 06:40:13 -06:00
Patrick Shriwise
775c415122
Write and read mesh name attribute (#3221) 2024-12-16 15:40:02 +01:00
Jonathan Shimwell
de8132a5a4
adding unstrucutred mesh file suffix to docstring (#3211)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-12-03 07:22:46 +00:00
Kevin Sawatzky
a940216d3a
Ensure libMesh::ReplicatedMesh is used for LibMesh tallies (#3208) 2024-12-02 22:41:41 -06:00
Kevin Sawatzky
a9fe2a05c1
Fix bin index to DoF ID mapping bug in adaptive libMesh meshes (#3206) 2024-11-26 21:23:29 -06:00
Ebny Walid Ahammed
2d988a69a1
External sources alias sampler (#3201)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-11-23 19:10:39 +00:00
Kevin Sawatzky
dd01c40ae1
Enable adaptive mesh support on libMesh tallies (#3185)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2024-11-23 08:09:47 -06:00
Zoe Prieto
ae37d6c0da
Statistical weights in IndependentSource (#3195)
Co-authored-by: Paul Wilson <paul.wilson@wisc.edu>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-11-22 09:16:49 -06:00
John Tramm
172867b1df
Random Ray Adjoint Mode (#3191)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-11-20 20:15:41 +00:00
Patrick Shriwise
fbb115921c
Apply weight windows at collisions in multigroup transport mode. (#3199) 2024-11-18 08:52:59 -06:00
Paul Romano
d30b2e8014
Fix docstring for Model.plot (#3198) 2024-11-13 21:58:22 +00:00
Paul Wilson
58400cbf10
Add PointCloud spatial distribution (#3161)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-11-13 15:39:41 -06:00
Seda Yilmaz
0ecd45c906
Add a vessel composite surface with ellipsoids on top and bottom. (#3168)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-11-12 23:11:59 +00:00
Patrick Shriwise
3e2a042eb1
Fix documentation typo in boundary_type (#3196) 2024-11-12 14:58:15 -06:00
Paul Romano
c9207795d8
Fixes in MicroXS.from_multigroup_flux (#3192) 2024-11-11 16:03:31 -06:00
Nicolas Linden
c05132cb0d
add export_model_xml arguments to Model.plot_geometry and Model.calculate_volumes (#3190)
Co-authored-by: Nicolas Linden <n.linde@naarea.fr>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-11-09 19:33:14 +00:00
azimG
70807b146f
Update surface_composite.py (#3189) 2024-11-09 10:56:37 -06:00
Jonathan Shimwell
9983ee1a7e
allowing varible offsets for polygon.offset (#3120)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-11-08 23:52:40 +00:00
Patrick Shriwise
754f6fa44a
Reset values of lattice offset tables when allocated (#3188) 2024-11-08 15:18:15 -06:00
Paul Romano
339d78c5fa
Fix plot_xs type hint (#3184) 2024-11-06 12:59:25 +01:00
Jonathan Shimwell
7552123c76
added list to doc string arg for plot_xs (#3178) 2024-10-29 17:05:40 +00:00
Rayan HADDAD
9c9a13c48e
enable polymorphisme for mix_materials (#3180)
Co-authored-by: r.haddad <r.haddad@naarea.fr>
2024-10-28 11:28:59 -05:00
Ahnaf Tahmid Chowdhury
82a6f9e40b
Update fmt Formatters for Compatibility with Versions below 11 (#3172) 2024-10-18 18:18:16 -05:00
Jonathan Shimwell
c19b9b1beb
added subfolders to txt search command in pyproject (#3174) 2024-10-18 18:12:18 -05:00
Lorenzo Chierici
dcb25575ca
avoid zero division if source rate of previous result is zero (#3169) 2024-10-14 14:47:22 -05:00
Soha
8263f05e7e
Update quickinstall instructions for macOS (#3130)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-10-11 23:11:27 -05:00
Paul Romano
fc3de1cbef
Add ConicalFrustum composite surface (#3151)
Co-authored-by: Ethan Peterson <eepeterson3@gmail.com>
2024-10-11 07:15:15 -04:00
Paul Romano
04ecf54907
Improve clipping of Mixture distributions (#3154)
Co-authored-by: Ethan Peterson <eepeterson3@gmail.com>
2024-10-11 07:13:10 -04:00
Paul Romano
b4a796e9b4
Avoid writing subnormal nuclide densities to XML (#3144) 2024-10-10 13:39:16 -05:00
Paul Romano
91fd60be69
Immediately resolve complement operators for regions (#3145) 2024-10-10 12:58:15 -05:00
Paul Romano
579777a3e5
Consistency in treatment of paths for files specified within the Model class (#3153) 2024-10-10 12:17:40 -05:00
Ahnaf Tahmid Chowdhury
fb3aaa46ac
Improve Detection of libMesh Installation via LIBMESH_ROOT and CMake's PkgConfig (#3149) 2024-10-10 11:05:32 -05:00
Ahnaf Tahmid Chowdhury
e047138833
Fix for UWUW Macro Conflict (#3150)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2024-10-08 20:57:14 -05:00
Matteo Zammataro
c0acc28038
Add dose coefficients from ICRP 74 (#3020)
Co-authored-by: matteo.zammataro <matteo.zammataro@newcleo.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-10-08 18:29:55 +00:00
Paul Romano
34f04267a5
Update fmt submodule to version 11.0.2 (#3162) 2024-10-05 17:28:22 +00:00
Zoe Prieto
2450eef424
Introduce ParticleList class for manipulating a list of source particles (#3148)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-10-05 06:51:56 +00:00
Patrick Shriwise
9070b8b220
Prepare point query data structures on meshes when applying Weight Windows (#3157)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-10-04 22:59:41 -05:00
Zoe Prieto
c285a2c4ce
Implement filter for cosine of angle of surface crossing (#2768)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-10-04 05:07:03 +00:00
Jonathan Shimwell
1a520c9f4d
Adding material.get_element_atom_densities (#3103)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-10-04 01:37:51 +00:00
rzehumat
836428666d
[docs] theory on PCG random number generator (#3134)
Co-authored-by: Matej Rzehulka <matej.rzehulka@suro.cz>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-10-04 00:51:12 +00:00
Rayan HADDAD
3a5b218728
adapt the openmc-update-inputs script for surfaces (#3131)
Co-authored-by: r.haddad <r.haddad@naarea.fr>
2024-10-03 23:13:18 +00:00
Zoe Prieto
9686851e7a
Write surface source files per batch (#3124)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-10-03 22:32:03 +00:00
Paul Romano
b54de4d761
Fix check for trigger score name (#3155) 2024-10-02 12:12:44 -05:00
azimG
1645e3bb87
Mat ids reset (#3125)
Co-authored-by: azimgivron <azimgivron@gmail.com>
Co-authored-by: azim_givron <a.givron@naarea.fr>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-09-27 00:31:59 +00:00
Jonathan Shimwell
8b77a8dd3b
Adding source option to plot (#2863)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-09-26 22:20:40 +00:00
Patrick Shriwise
890cab5242
Correct failure due to progress bar values (#3143) 2024-09-26 06:45:13 -05:00
Paul Romano
57816e6b8c
Fix a typo in feature request template (#3128) 2024-09-07 22:50:38 +00:00
Patrick Shriwise
bd43d75163
Tweaking title of feature issue template (#3127) 2024-09-05 19:00:08 +00:00
John Tramm
5bc04b5d78
Alternative Random Ray Volume Estimators (#3060)
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
2024-08-23 11:56:26 -05:00
Paul Romano
86fc40a645
Add OrthogonalBox composite surface (#3118) 2024-08-19 10:07:28 -05:00
Paul Romano
39a2d46e26
Implement bounding_box operation for meshes (#3119) 2024-08-18 23:09:32 -05:00
Paul Romano
4ef1faf766
Add delta_function convenience function (#3090) 2024-08-16 11:33:59 -05:00
Lorenzo Chierici
54c28b7705
run microxs with mpi (#3028) 2024-08-16 06:57:32 -05:00
John Tramm
b22656e57f
Fix random ray solver to correctly simulate fixed source problems with fissionable materials (#3106)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-08-16 01:47:05 +00:00
Youssef Badr
e7bc9ba23c
Added error if cross sections path is a folder (#3115) 2024-08-15 16:56:22 -05:00
Zoe Prieto
10c511a0e2
Nuclide temperatures - solution to issue #3102 (#3110) 2024-08-15 15:10:26 +00:00
Jon Shimwell
9483cce0bc
Remove resonance reconstruction and Cython dependency (#3111)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-08-14 14:34:17 +00:00
pitkajuh
ae245e0fb7
Ensure RegularMesh repr shows value for width of the mesh (#3100)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-08-14 06:52:15 +00:00
Jonathan Shimwell
3ef54ec349
Replacing endf c functions with package (#3101) 2024-08-13 23:43:44 -05:00
John Vincent Cauilan
346f751deb
Adjust decay data reader to better handle non-normalized branching ratios (#3080)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-08-13 21:51:30 +00:00
Juan M. Valderrama
9d9b2daceb
Improve description of probabilities for openmc.stats.Tabular class (#3099)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-07-30 19:47:00 +00:00
John Vincent Cauilan
467b8e99ab
Fix ParticleFilter to work with set inputs (#3092) 2024-07-30 07:27:35 -05:00
Jonathan Shimwell
0ad003307a
packages used for testing moved to tests section of pyprojects.tom (#3094) 2024-07-24 07:27:39 -05:00
Jonathan Shimwell
e5cc925db3
removed unused which function in CI scripts (#3095) 2024-07-23 21:42:03 -05:00
John Vincent Cauilan
4c0e08bae8
Replace all deprecated Python typing imports and syntax with updated forms (#3085)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-07-18 17:40:42 +00:00
Paul Romano
32440ad203
Remove use of pkg_resources package (#3069) 2024-07-18 16:54:06 +00:00
Rufus
fd47df4bb2
Linear Source Random Ray (#3072)
Co-authored-by: John Tramm <john.tramm@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-07-16 19:53:40 -05:00
John Vincent Cauilan
58f9092a68
Include batch statistics discussion in methodology introduction (#3076)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-07-16 21:59:16 +00:00
Jonathan Shimwell
2107af5e2f
Moving most of setup.py to pyproject.toml (#3074)
Co-authored-by: Jon Shimwell <jon@proximafusion.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-07-12 18:17:25 +00:00
John Vincent Cauilan
cbec1ab035
Correct openmc.Geometry initializer to accept iterables of openmc.Cell (#3081) 2024-07-10 22:04:09 +00:00
Nicolas Linden
a5a26bb749
Add -DCMAKE_BUILD_TYPE=Release flag for MOAB in Dockerfile (#3077)
Co-authored-by: Nicolas Linden <n.linden@naarea.fr>
2024-07-09 17:30:09 +00:00
John Vincent Cauilan
e74dc5037e
Enforce non-negative percents for material.add_nuclide to prevent unintended ao/wo flipping (#3075) 2024-07-08 16:29:49 -05:00
John Vincent Cauilan
b11f8b73ca
Enforce sequence type when setting Setting.track (#3071) 2024-07-08 09:37:17 -05:00
John Tramm
1b22dd28d4
Random Ray Testing Simplification (#3061)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-07-03 18:28:06 +00:00
John Vincent Cauilan
653d8835dc
Add missing show_overlaps option to plots.xml input file documentation (#3068) 2024-07-03 17:44:20 +00:00
John Tramm
391450ce01
Random Ray Normalization Improvements (#3051)
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
2024-06-28 12:41:20 -04:00
Olek
ac0ad0bac2
Fix hyperlinks in random_ray.rst (#3064) 2024-06-28 09:18:17 -05:00
Ethan Krammer
a8171cbd4e
Implementation of Shannon Entropy for Random Ray (#3030)
Co-authored-by: Ethan Krammer <ethan@DESKTOP-MGFGK9N>
Co-authored-by: John Tramm <john.tramm@gmail.com>
2024-06-27 09:22:10 -05:00
Paul Romano
8ce81d132a
Change version number to 0.15.1-dev (#3058) 2024-06-24 16:29:51 +00:00
Paul Romano
55b52b7ef3
Release of version 0.15.0 (#3050) 2024-06-22 01:28:56 +00:00
Patrick Shriwise
00faa7d698
Set DAGMC cell instances on surface crossing (#3052) 2024-06-21 23:21:13 +00:00
Ethan Peterson
4bd0b09e60
Avoiding more numpy 2.0 deprecation warnings (#3049) 2024-06-20 18:14:55 +00:00
Paul Romano
78ee851990
Determine whether nuclides are fissionable in volume calc mode (#3047)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2024-06-20 09:27:49 -05:00
Paul Romano
390005e841
Make sure time boundary doesn't prevent secondary particle creation (#3043) 2024-06-20 09:26:53 -05:00
Paul Romano
3dff03f824
Resolve warnings related to numpy 2.0 (#3044) 2024-06-19 15:47:08 -05:00
lhchg
3bedd043d0
update math function unit test with catch2 (#2955)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-19 15:56:02 +00:00
Joffrey Dorville
ddc9526966
Storing surface source points using a cell ID (#2888)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-19 10:11:58 -05:00
Jonathan Shimwell
84f561c1ed
sets used instead of lists when membership testing (#3021) 2024-06-19 14:48:34 +00:00
ybadr16
f6d3ee7a26
Update IsogonalOctagon to use xz basis and update tests (#3045) 2024-06-18 22:56:08 +00:00
pitkajuh
e33e66aa88
Fix #2994, non-existent path causes segmentation fault when saving plot (#3038)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-18 06:56:51 -05:00
Lorenzo Chierici
b0732cb6b3
add dagmc fill materials to homogenized materials method (#3026)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-18 06:31:07 -05:00
vanessalulla
97537d5e9a
Rename max_splits to max_history_splits, set default value to 1.0e7 (#2954)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-18 03:31:34 +00:00
Patrick Shriwise
ce4176deb5
Hexagonal lattice iterators (#2921)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-17 21:14:12 +00:00
Paul Romano
89d4dafa5a
Implement policy for Python, C++, and CMake versions (#3035) 2024-06-17 16:00:45 -05:00
Paul Romano
8be35cd7b5
Fix bug with invalidated iterators when enforcing precedence in region expressions (#2950) 2024-06-17 14:25:05 -05:00
John Tramm
5222b343a4
Fixed Source Random Ray (#2988)
Co-authored-by: Gavin Ridley <gavin.keith.ridley@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-17 11:02:20 -05:00
Sigfrid Stjärnholm
b1b8a4c328
Set OpenMCOperator materials to the model materials when diff_burnable_mats = True (#2877) 2024-06-12 22:46:18 -05:00
Gavin Ridley
3e16c038fe
only add png or h5 extension if not present in plots.py (#3036)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-12 22:33:55 +00:00
Paul Romano
dcb80338c5
Eliminate deprecation warnings from scipy and pandas (#2951) 2024-06-11 22:56:31 -04:00
Paul Romano
1f3280461f
Make sure skewed dataset is cast to bool properly (#3001) 2024-06-11 22:49:01 -04:00
Isaac Meyer
8b33615ac2
fix shannon entropy broken link (#3034) 2024-06-11 21:37:28 -05:00
hsameer481
e971bd1213
added error checking on cylindrical mesh (#2977)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-10 21:31:00 +00:00
kmeag
12a278b1ac
Enforce lower_left in lattice geometry (#2982)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-06-10 19:54:59 +00:00
Paul Romano
88f3e4d21f
Allow mesh material homogenization to include or exclude voids (#3000) 2024-06-10 12:19:46 -05:00
Jonathan Shimwell
e6c5f56ee2
Fixing plot xs for when plotting element string reaction (#3029) 2024-06-10 12:18:04 -05:00
Paul Romano
2a53aba1c1
Make sure direction is set when checking source spatial constraints (#3022) 2024-06-03 11:34:37 -05:00
Olek
3420199718
Fix CylinderSector and IsogonalOctagon translations (#3018)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-05-28 16:14:38 +00:00
Patrick Shriwise
0b686e365e
Correction for histogram interpolation of Tabular distributions (#2981)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-05-25 14:11:21 -05:00
Chris Wagner
18cd81a6aa
added extra error checking on spherical mesh creation (#2973)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-05-25 03:27:37 +00:00
Patrick Shriwise
12ecc17997
Hexagonal Lattice Roundtrip (#3003)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-05-25 00:50:59 +00:00
Patrick Shriwise
25e47dea9b
Apply memoization in get_all_universes (#2995)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-05-24 23:56:20 +00:00
Erik B Knudsen
1702b4554b
Restricted file source (#2916)
Co-authored-by: church89 <l.chierici89@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-05-15 15:49:04 -05:00
April Novak
a7d6939c11
Fixes reordering in random ray. Refs #2997 (#2998)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-05-14 06:47:11 +00:00
Paul Romano
cfe210da22
Allow MeshSource to take a 1D array of sources (#2980) 2024-05-03 14:30:49 -04:00
Paul Romano
6e57f1dc72
Compute homogenized materials over mesh elements (#2971) 2024-05-02 13:47:10 -04:00
Travis L
c976653abf
Allow zero bins in tally triggers (#2928)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-05-02 14:00:22 +00:00
Gavin Ridley
d1366c0545
Update random_dist.h comment to be less specific (#2991) 2024-05-02 06:52:39 -05:00
Jonathan Shimwell
5d2b352025
f strings instead of .format for string editing (#2987) 2024-04-29 16:45:37 -05:00
Paul Romano
e8ae7063af
Update CODEOWNERS file (#2974) 2024-04-26 17:54:38 -05:00
Paul Romano
d1d37a5b99
Allow MOAB k-d tree to be configured (#2976) 2024-04-26 05:57:02 -05:00
Jonathan Shimwell
95b15f9522
moved apt get to optional ci parts (#2970)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-25 00:39:51 +00:00
Gavin Ridley
ff50afb19f
Allow pure decay IndependentOperator (#2966)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-24 22:14:37 +00:00
Patrick Shriwise
7936b8a59c
Support track file writing for particle restart runs. (#2957)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-24 22:14:17 +00:00
Patrick Shriwise
f543c007a3
Statepoint file loading refactor and CAPI function (#2886)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-24 17:09:56 -05:00
Catherine Yu
3370ce1978
Print warning if no natural isotopes when using add_element and wrote unit test (#2938)
Co-authored-by: Catherine Yu <cathyy@umich.edu>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-24 21:05:10 +00:00
Jonathan Shimwell
1d56adbc3d
added damage-energy as optional reaction for micro (#2903) 2024-04-24 13:07:36 -05:00
Luke Labrie-Cleary
6b08f75065
make uwuw optional (#2965) 2024-04-24 11:05:11 -05:00
Paul Romano
b54b1e975c
Update bounding_box docstrings (#2972) 2024-04-24 08:02:05 -05:00
Paul Romano
cddb3be139
Add C to list of cmake project languages (#2969) 2024-04-20 15:45:16 +00:00
Gavin Ridley
b53b601edc
Tiny updates from experience building on Mac (#2894)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-20 05:44:40 +00:00
John Tramm
5111aa2621
Random Ray Transport (#2823)
Co-authored-by: Gavin Ridley <gavin.keith.ridley@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-18 22:10:16 +00:00
Aidan Crilly
d53155d234
Added fix to cfloat_endf for length 11 endf floats (#2967)
Co-authored-by: aidancrilly <a.crilly16@imperial.ac.uk>
2024-04-18 16:46:18 +00:00
Paul Romano
2974d53b3c
Update minimum Python version to 3.8 (#2958) 2024-04-15 09:25:32 -05:00
Patrick Shriwise
e77a5247b6
Support UnstructuredMesh for IndependentSource (#2949)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-12 12:14:13 -05:00
Patrick Shriwise
4ba053ca47
Generate Region Plots Directly (#2895)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-12 16:03:19 +00:00
Patrick Shriwise
9fd096b843
Add a max_events setting. (#2945)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-11 17:09:23 +00:00
Jonathan Shimwell
cfebe16127
added check for length of value passed into EnergyFilter (#2887) 2024-04-11 17:35:29 +02:00
Patrick Shriwise
26280bc9d5
Add MPI calls to DAGMC external test. (#2948) 2024-04-11 15:10:45 +02:00
Paul Romano
256150f567
Ensure that two surfaces with different boundary type are not considered redundant (#2942) 2024-04-11 15:00:41 +02:00
Lorenzo Chierici
569c087597
Depletion restart with mpi (#2778)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-09 12:26:03 -07:00
Jonathan Shimwell
fea90e0926
updated package versions in Dockerfile (#2946) 2024-04-08 15:08:15 +00:00
Hunter Belanger
70ba23a367
Update xtl and xtensor submodules (#2941) 2024-04-08 16:08:18 +02:00
Ethan Peterson
463299d04a
Polygon fix to better handle colinear points (#2935)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-08 15:45:01 +02:00
Patrick Shriwise
c85ba93040
Fix distribcell labels for lattices used as fill in multiple cells (#2813)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-08 10:46:59 +00:00
Jonathan Shimwell
db3b6f3e9e
added missing functions and classes to openmc.lib docs (#2847)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-07 16:50:44 +00:00
Jonathan Shimwell
704cfbf1af
Updating docker file base to bookworm (#2890) 2024-04-07 17:27:51 +02:00
Jonathan Shimwell
27bd315f0f
changing y axis label for heating plots (#2859)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-05 09:37:46 +00:00
Ethan Peterson
0aad22d541
Allow get_microxs_and_flux to use OPENMC_CHAIN_FILE environment variable (#2934) 2024-04-05 08:35:15 +02:00
Joffrey Dorville
cc848effe7
Meshborn filter (#2925)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-04-04 21:32:21 +00:00
Paul Romano
1a34ddf121
Fix CMFD to work with scipy 1.13 (#2936) 2024-04-03 20:54:13 -04:00
Paul Romano
9fee6534b6
Prepare for NumPy 2.0 (#2845) 2024-03-26 12:00:06 -04:00
Paul Romano
ce7efa415e
Fix Chain.form_matrix to work with scipy 1.12 (#2922) 2024-03-23 15:29:09 -07:00
Micah Gale
23f19a0310
Implemented contains for BoundingBox containing other BoundingBox (#2906)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2024-03-21 14:22:35 -05:00
Jonathan Shimwell
231fcb651b
Mkdir to always allow parents and exist ok (#2914) 2024-03-17 10:23:24 -05:00
Micah Gale
d10e128e76
Fixed small sphinx typo (#2915) 2024-03-13 23:13:02 +00:00
Micah Gale
539f58d3b1
Changed CI to use latest actions to get away from the Node 16 deprecation. (#2912)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-03-13 11:08:13 -05:00
Yue JIN
0f07420af2
docs: add missing max_splits in settings specification (#2910) 2024-03-12 07:31:34 -05:00
Paul Romano
c4a75f7062
Ensure that Model.run() works when specifying a custom XML path (#2889) 2024-03-11 22:35:32 -05:00
Micah Gale
7ed12788df
Clarifying documentation for Cones (#2892) 2024-03-09 12:49:28 -06:00
Gavin Ridley
aa0516f06b
abort on cmake config if openmp requested but not found (#2893) 2024-03-06 04:55:45 +00:00
Jonathan Shimwell
b75ccd598e
Adding energy axis units to plot xs (#2876)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-02-29 01:31:54 +00:00
Gavin Ridley
02c0a09281
fix expansion filter merging (#2882)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-02-29 00:11:52 +00:00
Jonathan Shimwell
a8f7a61acb
removed unused step_index arg from restart (#2867) 2024-02-28 22:13:45 +00:00
rlbarker
b3a2456f2b
Added checks that tolerance value is between 0 and 1 (#2884) 2024-02-26 16:15:50 -06:00
Jonathan Shimwell
e8f68a0159
adding resulting nuclide to cross section plot legend (#2851)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-02-17 18:21:52 +00:00
Patrick Shriwise
3b575a4daa
Adding openmc.read_source_file (#2858)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-02-16 21:16:36 +00:00
Jonathan Shimwell
5005c3cdc6
type hinting openmc.deplete.abc.py (#2866)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-02-15 07:30:46 +00:00
John Tramm
33c910ddd3
Fix issue with Cell::get_contained_cells() utility function (#2873) 2024-02-14 23:19:10 -06:00
Paul Romano
bf33a9e11b
Add openmc_mesh_get_volumes C API function (#2869) 2024-02-13 06:44:05 -06:00
Paul Romano
f14fc55e60
Add bounding_box property to RectilinearMesh and UnstructuredMesh (#2861) 2024-01-30 21:24:30 -06:00
Patrick Shriwise
cb7ef009b9
Setting surf_source_ attribute for DAGMC surfaces. (#2857)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-01-30 00:59:16 +00:00
Davide Mancusi
09eb33ac21
Fix compilation on CentOS 7 (missing link to libdl) (#2849)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-01-23 09:48:21 -06:00
Paul Romano
e6a36ff796
Add C API function for getting mesh bins for rasterized plot (#2854) 2024-01-23 06:54:08 -06:00
Gavin Ridley
fca4da4bda
Export model.tallies to XML in CoupledOperator (#2840) 2024-01-23 06:53:11 -06:00
Jonathan Shimwell
b97149ddf8
removed error raising when calling warn (#2853) 2024-01-20 13:06:45 -06:00
Patrick Shriwise
0785500bc4
Updating file extension for Excel files when exporting MGXS data (#2852) 2024-01-19 21:32:43 +00:00
Paul Romano
187160d082
Ability to compute material volume fractions over mesh elements (#2802) 2024-01-19 09:01:18 -06:00
Paul Romano
2c5b740738
Update copyright to 2024 (#2846) 2024-01-17 16:10:39 -06:00
Patrick Shriwise
057c33a48e
Expose Material::depletable in the CAPI (#2843)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-01-17 20:46:37 +00:00
Patrick Shriwise
4fa3fbcb19
Make creation of spatial trees based on usage for unstructured mesh. (#2815) 2024-01-17 12:32:05 -06:00
yrrepy
63916067ee
Use huge_tree=True in lxml parsing (#2791)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2024-01-17 06:54:03 +00:00
Paul Romano
d7d2230e5f
Fix locating h5m files references in DAGMC universes (#2842) 2024-01-16 11:12:44 -06:00
Gavin Ridley
5549b58e1f
Geometron (#2744) 2024-01-16 10:35:57 -06:00
Paul Romano
971c5f77a5
Ensure that implicit complement cells appear last in DAGMC universes (#2838) 2024-01-15 20:33:56 +00:00
Gavin Ridley
d8e9d58c5e
Reset timers at correct place in deplete (#2821) 2024-01-11 08:56:44 -06:00
Gavin Ridley
cc15f5e5df
Fix config change not propagating through to decay energies (#2825) 2024-01-11 08:52:33 -06:00
Jonathan Shimwell
63cb7c23a6
added missing meshes to lib docs (#2820) 2024-01-04 19:12:09 +00:00
Paul Romano
b0926ea22c
Prevent underflow in calculation of speed (#2811) 2024-01-03 08:25:33 -06:00
Paul Romano
2e4811b26b
Ensure particle direction is normalized for plotting / volume calculations (#2816) 2023-12-28 14:37:21 -06:00
Patrick Shriwise
411656668f
Provide error message if a cell path can't be determined (#2812) 2023-12-27 08:44:48 -06:00
Jin Whan Bae
f5900293fa
microxs from mg flux and chain file (#2755)
Co-authored-by: Jin Whan Bae <baej@ornl.gov>
Co-authored-by: shimwell <mail@jshimwell.com>
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-12-21 21:21:14 -06:00
Patrick Shriwise
53363da3cc
Consolidating number of threads and thread number queries into the openmp interface header (#2809) 2023-12-19 03:31:29 +00:00
Paul Romano
fb65dfd53c
Avoid high memory use when writing unstructured mesh VTK files (#2806) 2023-12-14 10:49:59 -06:00
Paul Romano
3efd24289d
Fix creation of meshes when from loading settings from XML (#2805) 2023-12-13 08:41:51 -06:00
Paul Romano
85c963e223
Move 'import lxml' to third-party block of imports (#2803) 2023-12-13 14:11:32 +00:00
Jonathan Shimwell
552adc005c
added check to length of input args for IndependantOperator (#2799)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-12-12 23:37:53 +00:00
Jonathan Shimwell
15a2199c0d
adding get_all_nuclides method to geometry class (#2796)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-12-12 22:58:17 +00:00
Jonathan Shimwell
124e62fc58
added path arg to integrator.integrate (#2784) 2023-12-12 13:32:09 -06:00
Jonathan Shimwell
a833c176ab
Adding get cylindrical mesh index at specified coordinates (#2782)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-12-12 13:29:43 -06:00
John Tramm
fe07c54bc6
Pytest Update Documentation (#2801) 2023-12-12 13:26:18 -06:00
Paul Romano
3901709141
Do not link against several transitive dependencies of HDF5 (#2797) 2023-12-06 12:35:10 -06:00
John Tramm
ec8850deac
OpenMPMutex "Copying" (#2794) 2023-12-04 12:08:47 -06:00
Patrick Shriwise
e0d03812b9
Mesh Source Class (#2759)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2023-12-02 17:35:23 +00:00
nplinden
47c37f506d
Correctly apply volumes to materials when using DAGMC geometries (#2787)
Co-authored-by: Nicolas Linden <n.linden@naarea.fr>
2023-11-29 05:44:14 -06:00
Paul Romano
87e00f76ed
Add inline to openmc::interpolate (#2789) 2023-11-29 11:20:01 +00:00
John Tramm
1d4cd9b0aa
F90_NONE Removal (MGMC tallying optimization) (#2785) 2023-11-28 15:20:54 -06:00
Patrick Shriwise
e8faccdc93
Call simulation_finalize if needed when finalizing OpenMC (#2790) 2023-11-28 19:56:21 +00:00
Ethan Peterson
8b2698f5c0
Change matrix format to CSC in depletion (#2764) 2023-11-28 07:34:02 -06:00
Paul Romano
b66c6d47f2
In volume calculation mode, only load atomic weight ratio from data files (#2741) 2023-11-28 08:32:25 +00:00
Ethan Peterson
cad9fdc338
Modifications to deplete_with_transfer_rates regression test suite (#2779) 2023-11-27 13:16:34 -06:00
Ethan Peterson
9830efaf2a
change identity matrix format to csr in cram (#2771) 2023-11-21 14:22:42 -08:00
Patrick Shriwise
24e1c95161
Fix lagrangian interpolation (#2775) 2023-11-15 09:49:53 +00:00
Baptiste Mouginot
a3695c784e
Filter material from (#2750)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-11-09 16:05:42 +00:00
nplinden
910d1df1c9
fix unit conversion in openmc.deplete.Results.get_mass (#2761)
Co-authored-by: Nicolas Linden <n.linden@naarea.fr>
2023-11-09 07:13:30 -06:00
Paul Romano
7c14603312
Change version number to 0.14.1-dev (#2760) 2023-11-07 03:04:19 +00:00
Paul Romano
fa2330103d
Release of version 0.14.0 (#2754) 2023-11-06 14:50:16 -06:00
Jonathan Shimwell
847e9b56af
added check for group name (#2752) 2023-11-02 02:30:36 +00:00
Paul Romano
7aaccbbeee
Fix loop over particle coordinate levels for source domain rejection (#2751) 2023-11-01 19:56:28 -05:00
Patrick Shriwise
19f121a45a
Python mesh coordinates reorder (#2730)
Co-authored-by: Ethan Peterson <eepeterson3@gmail.com>
2023-11-01 11:19:27 -06:00
Paul Romano
ac941f79e0
Add RectangularPrism and HexagonalPrism composite surfaces (#2739)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2023-11-01 09:13:40 -05:00
Paul Romano
94f02ae10b
Bump version to 0.14.0-dev (#2740) 2023-10-31 16:55:19 -05:00
Yuvraj Jain
693314d097
Leaky and Albedo Boundary Conditions Implementation (#2724)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-10-30 16:51:31 -04:00
Paul Romano
2c1e304892
Fix bug in selecting data temperatures to read with temperature interpolation (#2734) 2023-10-30 07:30:04 -05:00
Paul Romano
02bd680965
Fix type hint in Materials class (#2745) 2023-10-30 07:29:28 -05:00
Patrick Shriwise
751ea98074
Adding info on clang-format version used in CI (#2748) 2023-10-24 19:24:28 +00:00
Patrick Shriwise
b465a83806
Skip BC check for volume calculations (#2743) 2023-10-23 22:50:21 +00:00
Paul Romano
079629b828
Add section in developer's guide about possible reasons for failing tests (#2738) 2023-10-23 13:48:50 -05:00
Paul Romano
979c164801
Check for invalid domain IDs in volume calculations (#2742) 2023-10-23 13:20:05 -05:00
Patrick Shriwise
e851c57b7b
Correct cylindrical/spherical centroids. (#2736) 2023-10-20 10:14:11 -05:00
Paul Romano
f82bdaa718
Bug fix in Region.from_expression during tokenization (#2733) 2023-10-20 10:04:05 -04:00
Patrick Shriwise
55a682d44d
Property name swap for points in local mesh coordinates (#2732) 2023-10-19 16:29:50 -05:00
ecasglez
7fe80e1490
Fix parsing xml files when running openmc-plotter in regions with comma decimal separator (#2723)
Co-authored-by: ecasglez <emilio.castro@upm.es>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-10-18 06:43:18 -05:00
Patrick Shriwise
bd1c2286f8
Make BoundingBox a mutable type and add convenience methods. (#2717)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-10-17 17:51:05 +00:00
Patrick Shriwise
4d3a198c52
Updates to mesh vertices and centroids (#2711) 2023-10-17 11:21:57 -04:00
Jonathan Shimwell
03c1c6a1f3
moved diff_burnable_mat to model (#2718)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-10-17 07:14:55 -05:00
Patrick Shriwise
00104ce954
Correct openmc.lib wrapper for evaluate_legendre. (#2729) 2023-10-13 00:18:26 +00:00
Baptiste Mouginot
ca49d8167f
disable cross section loading on plot mode (#2690)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-10-07 09:11:03 -05:00
Paul Romano
61c43527e6
Clip low-importance points from discrete distributions (#2715)
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2023-09-29 21:13:19 -04:00
Jonathan Shimwell
eb3eec8e71
added padding arg to bounding_region (#2701)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-29 15:30:46 +00:00
Paul Romano
fd9172927c
Fix volume calculation IO format docs and sample_external_source bug (#2713) 2023-09-27 15:44:37 -04:00
Patrick Shriwise
f7bb27e0d9
Making z-grid relative to the mesh origin in from_domain. (#2710) 2023-09-27 18:46:53 +00:00
Jonathan Shimwell
d4b989ab7c
ci badge on readme points to develop status (#2712) 2023-09-27 13:31:04 +00:00
John Vincent Cauilan
972dd73ae9
add cross section data caching (#2706) 2023-09-27 06:15:28 -05:00
Paul Romano
0c6da383b6
Ensure that property setters are used in CylindricalMesh and SphericalMesh (#2709) 2023-09-26 22:17:49 -05:00
Ethan Peterson
11a4638849
Faster indexing in MicroXS object (#2702)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-26 07:49:46 +00:00
Xinyan Wang
9cf2f22f24
Apply Weight Window Upon Surface Crossing (#2670)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-26 05:03:49 +00:00
Jonathan Shimwell
9b7b33c7fa
Ruff comments on code (#2696)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-26 03:37:19 +00:00
Erik B Knudsen
d765bd031f
Limit number of lost particles written to disk. (#2688)
Co-authored-by: John Tramm <john.tramm@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-25 20:12:04 -05:00
Jonathan Shimwell
989875b070
allowing different volume methods for diff mat (#2691)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-26 00:37:25 +00:00
Ethan Peterson
0f429e7ea7
simplifying LEQI docstring math and removing unnecessary operations (#2705) 2023-09-25 16:25:37 -05:00
Ethan Peterson
f4183b0fe3
fixed typo in CF4Integrator docstring (#2704) 2023-09-24 18:49:47 +00:00
Paul Romano
7fdda4aa06
Allow mesh domain in get_microxs_and_flux (#2700) 2023-09-22 08:35:30 -05:00
Gavin Ridley
d4c40aa355
remove meaningless const qualifiers from plot.h (#2695) 2023-09-15 21:46:54 +00:00
Paul Romano
98fe64dd5a
Make sure FluxCollapseHelper loads missing nuclide data (#2694) 2023-09-15 13:19:11 -04:00
Paul Romano
7b0eb9d402
Avoid warning due to bounding box calculation in Universe.plot (#2681) 2023-09-14 05:04:25 +00:00
Patrick Shriwise
ccb76b3dbf
Refactor of translation from mesh handle to index for DAGMC geometry. (#2687) 2023-09-14 02:28:11 +00:00
Jonathan Shimwell
c8c5afaad9
Allowing WeightWindowGenerator to be fully made via constructor (#2686)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-14 02:27:48 +00:00
Olek
bbd7756930
Allow decay only nuclides to be specified in Material for a depletion simulation (#2616)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-14 01:00:52 +00:00
Paul Romano
0cf29f1459
Add type checks on Intersection, Union, Complement (#2685) 2023-09-13 12:49:38 -05:00
Lorenzo Chierici
1c82dfcc1c
Transfer rates multiple destination (#2626)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-13 12:15:44 -05:00
John Tramm
f46d3ee37c
Streamlined URR PRNG stream selection to avoid unneeded store/load ops (#2689) 2023-09-11 12:26:46 -05:00
Hunter Belanger
7505f61b22
Warn users about bad equiprobable angles in S(a,b) (#2675)
Co-authored-by: Gavin Ridley <gavin.keith.ridley@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-06 10:11:24 -04:00
Jonathan Shimwell
be7a9c375a
cylindrical mesh lower left Z value corrected (#2684) 2023-09-05 22:25:47 -05:00
Jonathan Shimwell
a125f81500
fix docker image building for openmc+dagmc combination (#2678) 2023-09-04 23:39:02 -05:00
Jonathan Shimwell
a42b9ba4f9
cy mesh origin from start of z_grid and _r_grid (#2680) 2023-09-04 16:08:47 -05:00
Jonathan Shimwell
2de2023c05
Adding missing origin to CylindricalMesh.from_domain (#2676)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-04 08:52:23 +01:00
Paul Romano
7a13bf6f0f
Update documentation around use of source classes (#2679) 2023-09-02 02:43:19 +00:00
Jonathan Shimwell
20877c61a1
Adding helpful info to keyerror for StepResults.get_material (#2674)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-01 19:32:08 +00:00
Patrick Shriwise
27540c5b8a
Releasing ID after creating dummy universe for cell plotting (#2663)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-09-01 19:31:37 +00:00
Paul Romano
1cae2f712a
Prevent segfault in distance to boundary calculation (#2659) 2023-09-01 09:52:51 -04:00
Paul Romano
d21b653d32
Refactor MicroXS class and usage in IndependentOperator (#2595)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
2023-08-31 10:55:21 -04:00
Paul Romano
c93feed91f
Account for integral of underlying distributions when sampling Mixture (#2658) 2023-08-31 10:52:24 -04:00
Paul Romano
eea52238da
Always set html_theme in readthedocs configuration (#2667) 2023-08-25 19:04:16 +01:00
Patrick Shriwise
06d64370c8
Tweaks to Universe::find_cell (#2662) 2023-08-24 17:08:15 -05:00
Jonathan Shimwell
ffbf1b9917
Expose universe plotting for the geometry class (#2661) 2023-08-22 08:45:40 -05:00
Jonathan Shimwell
d687ce419f
added cell name to vol calc print out (#2656) 2023-08-20 20:29:20 +00:00
Patrick Shriwise
8e77a1ffb6
Expose universe plotting for the cell class (#2648)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-20 01:35:20 +00:00
Christopher Fichtlscherer
03f98e8f82
time-cutoff version 2.0 (#2631) 2023-08-19 15:20:33 -05:00
Jonathan Shimwell
457bea6f0b
replaced ordereddict with {} (#2641)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-19 12:15:11 +00:00
Patrick Shriwise
fa245b0087
Fixing Universe.plot seed. (#2647)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-19 05:51:08 +00:00
Jonathan Shimwell
0964024442
added universe plot tests to catch color=None and axis values (#2637)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-19 05:20:43 +00:00
rlbarker
b62b62ac31
Added inf check in VolumeCalculation. (#2634)
Co-authored-by: Rosie Barker <rbarker@FL000139.firstlightfusion.local>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-19 05:20:22 +00:00
Josh May
471caa5810
Set cross_sections for element expansion in Material.add_element() (#2633)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-19 05:20:00 +00:00
Jonathan Shimwell
e8de4c18b8
Improved get step where value error msg (#2654) 2023-08-18 18:35:12 -05:00
Baptiste Mouginot
e332861aac
adding cell name to volume calculation when possible (#2652) 2023-08-18 17:43:59 -05:00
Jonathan Shimwell
1d29adc080
added missing Depletable to __repr__ (#2639) 2023-08-12 11:15:27 -05:00
Paul Romano
46866cb33a
Check for zero fission cross section before sampling fission reaction (#2600) 2023-08-09 02:07:38 -05:00
Christopher Billingham
75a5d84a5b
Cylindrical bb (#2621)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-06 09:26:48 +00:00
kevinm387
c340d4b8ec
Add get_decay_heat() function to deplete.Results (#2625)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-06 01:51:09 +00:00
Christopher Billingham
cce80fe7da
Spherical bb (#2620)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-06 00:31:38 +00:00
Patrick Shriwise
f9c17dd82f
Improving documentation on the return array of openmc.lib.id_map (#2630) 2023-08-05 16:54:09 -04:00
Jonathan Shimwell
557880aefc
Allowing CylindricalMesh and SphericalMesh to be fully made via constructor+ type hints (#2619)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-08-05 16:16:42 -04:00
bscollin
cd13d3471d
Adds MPACT library group structures and documentation to mgxs collection (#2614) 2023-07-25 16:13:00 -05:00
kevinm387
e7d1a13f33
Add get_activity() function to deplete.Results class (#2617)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-07-25 16:11:21 -05:00
Paul Romano
77aedc5b42
Fix mention of cmake flag in troubleshooting guide (#2622) 2023-07-25 14:48:00 +01:00
Paul Romano
3152a2efad
XML read fixes in Plot classes (#2623) 2023-07-25 09:40:52 -04:00
Jonathan Shimwell
d47e9a1092
allowing geometry to be fully made via constructor (#2602)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-07-23 22:26:13 +00:00
Patrick Shriwise
afa6ceb7d7
Adding ability to set additional ww attrs from openmc.lib (#2609)
Co-authored-by: Jonathan Shimwell <mail@jshimwell.com>
2023-07-22 21:18:46 +01:00
Jonathan Shimwell
7397dae12d
Mesh dimension doc string to include order details (#2610) 2023-07-22 01:45:13 +00:00
Jonathan Shimwell
6de37ebc0b
updated docs to use IndependentSource (#2604)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-07-21 23:37:26 +00:00
Jonathan Shimwell
50c3103ca3
Adding type hints to meshes (#2601)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-07-21 17:08:02 +00:00
John Tramm
b5001ee12a
Multigroup Per-Thread Cache Conversion (#2591)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-07-21 07:53:32 +00:00
Paul Romano
8101328d96
Build h5py against Cython < 3.0 in CI (#2613) 2023-07-20 09:23:42 -04:00
Olek
922b3f9de6
Cylindrical prism with optional filleted edges (#2309)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Wilson <paul.wilson@wisc.edu>
2023-07-18 12:11:06 -05:00
Egor Afanasenko
3f9cd0d7cb
Fix R < r torus intersection bug (#2589)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-07-14 21:20:30 +00:00
Paul Romano
c5f551103f
Bank surface source particles in all active cycles (#2592)
Co-authored-by: Jose Ignacio Marquez Damian <22483345+marquezj@users.noreply.github.com>
2023-07-14 18:43:47 +00:00
Patrick Shriwise
0666e3a4f6
Fix for muir std. dev. (#2598) 2023-07-13 20:16:27 -05:00
Nicola Rizzi
3e1a5a552a
Support for NCrystal material in from_xml_element (#2496)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-07-09 23:51:43 -05:00
Christopher Fichtlscherer
e3cd406a9b
Pulse height tally for photons (#2452)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-07-09 22:50:08 -05:00
Paul Romano
97414699fd
Update variable names for depletion 'n' vectors (#2583) 2023-07-06 14:48:36 -05:00
Christopher Billingham
21d88473c8
Simplify infinity check (#2587) 2023-07-05 08:21:36 -05:00
Patrick Shriwise
382bcb2e8e
Updates to object lifecycle for WeightWindows and WeightWindowGenerators (#2582) 2023-06-30 23:29:47 -04:00
Paul Romano
36f229eb01
Remove initial dilute nuclides in MicroXS (#2579) 2023-06-29 11:06:35 +02:00
Jack Fletcher
b6c621f9b4
Change "update_params" to "update_parameters" in test suite: test_ww_gen.py (#2577) 2023-06-28 18:57:44 -04:00
Olek
51cf475723
Add get_mass() function to openmc.deplete.Results (#2565)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-06-26 08:11:41 -05:00
Olek
f200e446aa
Allow transfer rates with nuclides. (#2564)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: Lorenzo Chierici <l.chierici89@gmail.com>
2023-06-26 07:23:32 -05:00
Paul Romano
19e4c370e5
Remove use of mgxs module in MicroXS.from_model (#2572)
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
2023-06-25 13:59:47 -05:00
Patrick Shriwise
b5e54468a9
Weight window update method fixes (#2578) 2023-06-25 01:27:54 -04:00
Jonathan Shimwell
b489023340
Option units for geometry plot (#2575)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-06-24 18:03:56 -05:00
Paul Romano
e94d59c0fb
Remove use of sscanf for reading surface coefficients (#2574) 2023-06-24 18:03:23 -05:00
Patrick Shriwise
8cc1c33463
Updating source definitions in examples (#2571) 2023-06-22 21:36:33 -05:00
Paul Romano
93a0855c7f
Fix test error and deprecation warnings from numpy 1.25 (#2573) 2023-06-22 14:26:22 -04:00
Paul Romano
8ce5c7366c
Remove initial dilute nuclides in depletion (#2568) 2023-06-21 14:45:59 +02:00
Jonathan Shimwell
2536cae11b
allowing stepresult to save to a path (#2567)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-06-21 12:07:15 +00:00
Patrick Shriwise
eda39ad9ca
Python source class refactor (#2524)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-06-20 21:27:55 -05:00
Jonathan Shimwell
ee7b95245a
Static errors continuation (#2557)
Co-authored-by: Christina Cai <chrsitinacai48933@gmail.com>
Co-authored-by: christinacai123 <63215816+christinacai123@users.noreply.github.com>
2023-06-16 22:34:02 -05:00
Patrick Shriwise
3eeb131713
Add support for import of wwinp files using cylindrical and spherical meshes. (#2556)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-06-16 15:18:12 -05:00
Patrick Shriwise
0fcb174b2a
Add support for curvilinear elements when exporting cylindrical and spherical meshes to VTK (#2533)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-06-16 15:17:33 -05:00
Patrick Shriwise
96d150a64e
Add C++ format check to GitHub Actions (#2554) 2023-06-15 23:03:46 -05:00
Lorenzo Chierici
c5bc2302eb
Transfer rates mpi (#2551)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-06-15 23:00:20 -05:00
Paul Romano
787b3e0308
Use multiply_density in depletion reaction rate helper classes (#2559)
Co-authored-by: Andrew Johnson <drewejohnson@users.noreply.github.com>
2023-06-14 22:15:22 -07:00
Paul Romano
98c4eb2a2c
Several small documentation updates (#2558) 2023-06-13 07:19:10 -04:00
Paul Romano
6693ff3229
Add issue and pull request templates (#2560) 2023-06-12 10:35:12 -04:00
Paul Romano
bc4e95127c
Fix potential out-of-bounds access in TimeFilter (#2532) 2023-06-11 15:05:16 -05:00
Patrick Shriwise
610a5d8c34
Global Weight Window Generation via CAPI (#2359)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-06-09 10:47:27 -05:00
Paul Romano
c123ce0fa0
New multiply_density option on tallies (#2539) 2023-06-09 08:24:00 -04:00
Jonathan Shimwell
a288e42a06
corrected pixel index for axis height (#2553) 2023-06-08 17:29:55 +00:00
Patrick Shriwise
7479a9022a
Fix spherical coords again. (#2538) 2023-06-06 12:01:59 -04:00
Lorenzo Chierici
19282cb088
Remove misleading warn message from deplete.chain.py (#2544) 2023-06-04 17:10:47 -05:00
Jonathan Shimwell
74fb2801c2
creating parent dirs for output_dir (#2543) 2023-06-02 11:44:43 -05:00
Paul Romano
4c69d913bb
Add virtual destructor on PlottableInterface (#2541) 2023-06-01 01:13:52 +00:00
Paul Romano
16b955f690
Fix docstring for MicroXS class (#2540) 2023-06-01 00:25:26 +00:00
Jonathan Shimwell
6c7f857e1e
Auto pixel calc for universe plot (#2513) 2023-05-23 06:28:16 -05:00
Jonathan Shimwell
d6eac669c8
added mkdir to cwd argument in run (#2523) 2023-05-23 04:25:24 +00:00
Jonathan Shimwell
3a939299ea
adding BoundingBox.extent and RegularMesh.bounding_box (#2507) 2023-05-22 16:32:19 -05:00
Luke Labrie-Cleary
d6ebf26ca6
update catch2 submodule to latest commit (#2522) 2023-05-20 23:05:46 -04:00
Jonathan Shimwell
ec220fa989
updated doc string type for tally.nuclide (#2526) 2023-05-17 19:45:04 +00:00
Jonathan Shimwell
d8dbd9bfca
auto width and origin for edge cases (#2512)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-05-15 22:48:45 +00:00
Lewis Gross
65618384c9
reordered list initialization of constructor in plot.cpp to respect header declaration order (#2519) 2023-05-13 00:44:27 +00:00
Paul Wilson
eeb8a1f451
skip test that fails if VTK is missing (#2517) 2023-05-12 18:22:22 +00:00
Patrick Myers
1cb22075ef
Changed xml to lxml (#2489) 2023-05-09 10:41:04 -05:00
Yue JIN
e3d8982bb9
docs: typo fix (#2514)
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2023-05-04 13:13:00 +00:00
Paul Romano
45006584ca
Fix meaning of "masking" for plots (#2510) 2023-05-03 09:52:40 -05:00
Jonathan Shimwell
4248beff1b
Auto origin and width for plots (#2492)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-05-02 16:41:25 +00:00
Patrick Shriwise
0a950eb623
Reworking Tally::add_filter a bit (#2501) 2023-05-01 22:00:45 -05:00
Huw Rhys Jones
dea5e46c3c
Update neutron_physics.rst (#2504) 2023-05-01 23:51:34 +00:00
Jonathan Shimwell
4cadcbcf02
more flexible cross section plotting (#2478)
---------

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-27 22:26:21 -05:00
Lorenzo Chierici
43437e9410
TransferRates (old msr continuous capabilities) (#2358)
---------

Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
Co-authored-by: yardasol <yardasol@grinnell.edu>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: Gavin Ridley <gavin.keith.ridley@gmail.com>
2023-04-27 22:11:17 -05:00
Paul Romano
ad5dc57a96
Merge pull request #2497 from eepeterson/docs_typo
clarify track-length flux estimator
2023-04-27 14:56:28 -05:00
Paul Romano
6dde8af940
Merge pull request #2464 from shimwell/moving_voxel_plot_code
moved voxel plot to api accessible function
2023-04-27 09:36:22 -05:00
Patrick Shriwise
96915c6091
Merge pull request #2498 from paulromano/gcc5-fixes
Fix compilation with gcc 5
2023-04-27 07:27:32 -05:00
Jonathan Shimwell
01a4acdc65
Merge pull request #2487 from gridley/legend_color_fix
pass 0-1 RGB value to matplotlib in universe plot legend
2023-04-27 09:35:46 +01:00
Jonathan Shimwell
4a1ff3350d
Merge pull request #2488 from paulromano/lazy-import-matplotlib
Defer import of matplotlib in multipole.py
2023-04-27 09:35:30 +01:00
Paul Romano
f3969daa4a Ensure compilation with gcc 5 works (refs #2474) 2023-04-26 15:48:23 -05:00
Jonathan Shimwell
15890538a6
Apply suggestions from code review by @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-26 20:08:34 +01:00
Paul Romano
3565cbf5d6
Merge pull request #2494 from aprilnovak/delete-tally
Correct index check for remove_tally.
2023-04-26 13:33:40 -05:00
Jonathan Shimwell
d0e6c8c542
Merge pull request #29 from paulromano/moving_voxel_plot_code
Name change (to_vtk), use pathlib consistently
2023-04-26 19:05:07 +01:00
Paul Romano
dbf33775a6 Name change (to_vtk), use pathlib consistently 2023-04-26 12:34:05 -05:00
Ethan Peterson
7c5b8e2dad clarify track-length flux estimator 2023-04-26 12:57:07 -04:00
Gavin Ridley
b4a6c0419d
Merge pull request #2 from shimwell/adding_legend_test
plt test includes legend with rgb color
2023-04-26 11:46:53 -04:00
Jonathan Shimwell
af5596b6cf plt test includes legend with rgb color 2023-04-26 16:14:14 +01:00
Paul Romano
f2549c9470 Defer a few more matplotlib imports 2023-04-26 09:48:05 -05:00
Jonathan Shimwell
664ae00cdc test to check matplotlib is deferred import 2023-04-26 14:23:44 +01:00
Paul Romano
ec883f0fd8
Merge pull request #2451 from gridley/refactor_write_source_bank
refactor particle source import/export
2023-04-26 06:36:50 -05:00
April Novak
646ef6d322 Correct index check for remove_tally. Refs #2493 2023-04-25 15:40:29 -07:00
Patrick Shriwise
a12480400b
Merge pull request #2475 from shimwell/adding_bounding_box_class
Adding bounding box class
2023-04-25 12:08:39 -05:00
Jonathan Shimwell
c06609cd8d docstring lib.cell.py to match cell.py 2023-04-25 09:49:42 +01:00
Jonathan Shimwell
41f52ea389 Merge branch 'adding_bounding_box_class' of github.com:shimwell/openmc into adding_bounding_box_class 2023-04-25 09:46:17 +01:00
Jonathan Shimwell
517c7436b0
[skip ci] review improvment from @pshriwise
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2023-04-25 09:39:48 +01:00
Ethan Peterson
4f16481e6d
Merge pull request #2457 from paulromano/cruciform-prism
Implement composite surface for generalized cruciform prism
2023-04-24 16:28:19 -04:00
Jonathan Shimwell
895d969eed
Merge pull request #2466 from paulromano/nea-workshop-updates
Miscellaneous updates and improvements from NEA course
2023-04-24 21:15:57 +01:00
Gavin Ridley
8344431ea0 fix my incorrect MPI code 2023-04-24 13:19:29 -04:00
Paul Romano
01cd2cc8dd
Check that distances are all positive
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2023-04-24 10:53:00 -05:00
Paul Romano
da24021119 Add property for distances in CruciformPrism 2023-04-24 09:48:26 -05:00
Paul Romano
cee1615157 Defer import of matplotlib in multipole.py 2023-04-24 07:01:36 -05:00
Paul Romano
b86e03d849
Fix typo (thanks @gridley)
Co-authored-by: Gavin Ridley <gavin.keith.ridley@gmail.com>
2023-04-21 16:16:43 -05:00
Gavin Ridley
6440153c74 pass 0-1 RGB value to matplotlib in universe plot legend 2023-04-21 16:41:49 -04:00
Gavin Ridley
abfe5ebf99 warning rather than error for weird file name passing to mcpl 2023-04-21 16:09:49 -04:00
Paul Romano
fffdedf5d2
Merge pull request #2455 from stchaker/fix_mac_segfault
avoid python C API segfault on intel mac
2023-04-21 10:55:41 -05:00
Jonathan Shimwell
3ad8781444 Merge branch 'develop' into adding_bounding_box_class 2023-04-21 14:46:52 +01:00
Jonathan Shimwell
7257b2f7fe
Merge pull request #28 from paulromano/adding_bounding_box_class
Refactor BoundingBox implementation
2023-04-21 07:23:57 +01:00
Jonathan Shimwell
63603dbabd
Merge branch 'develop' into moving_voxel_plot_code 2023-04-20 18:19:28 +01:00
stchaker
5713ef700c update mac segfault fix format, fix python settings name 2023-04-20 12:21:10 -04:00
Paul Romano
82ccbe0738
Merge pull request #2482 from shimwell/adding_outlines_to_plot
adding optional outline to plots
2023-04-20 06:21:32 -05:00
Jonathan Shimwell
cb7a443776
Merge branch 'develop' into adding_outlines_to_plot 2023-04-20 08:07:43 +01:00
Paul Romano
c808067764
Merge pull request #2472 from gridley/plot_auto_legend
add auto legend to universe.plot
2023-04-19 20:52:00 -05:00
Paul Romano
5c5c1c83e4
Merge pull request #2470 from youngwki/typehint_geometry_return
Added return types for Geometry class
2023-04-19 20:51:22 -05:00
Christina Cai
bdd34fc64d added deepcopy back in geometry.py 2023-04-19 14:21:12 -04:00
Gavin Ridley
22f4fc0902
Update openmc/universe.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-19 12:22:39 -04:00
Gavin Ridley
2f87ce7f27
Update openmc/universe.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-19 12:22:29 -04:00
Jonathan Shimwell
a8e7d38555 moved plot outline test, added levels 2023-04-19 16:02:07 +01:00
Jonathan Shimwell
887cfd2e78
[skip ci] review improvment from Paul
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-19 15:59:55 +01:00
Jonathan Shimwell
90e7e1d3f0 added outline to plot testing 2023-04-19 12:22:46 +01:00
Jonathan Shimwell
2487c52d6e working for libpng and no libpng users 2023-04-19 12:00:31 +01:00
Jonathan Shimwell
37f9bdfaca
[skip ci] improve doc string from review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-19 08:07:41 +01:00
Paul Romano
b827a31e61
Merge pull request #2483 from shimwell/adding_axis_labels_to_plot
added plot axis labels
2023-04-18 22:37:31 -05:00
Paul Romano
b5d30ff553 Refactor BoundingBox implementation 2023-04-18 22:26:37 -05:00
Paul Romano
72509b90cf
Merge pull request #2471 from youngwki/typehint_material_return
Added return types for Material class
2023-04-18 20:35:37 -05:00
Paul Romano
2de88f4de2
Merge pull request #2468 from youngwki/typehint_model
Added return types for Model class
2023-04-18 20:35:25 -05:00
Paul Romano
e0abe73182
Merge pull request #2467 from youngwki/typehint
Added type hinting for weight_windows.py
2023-04-18 20:35:08 -05:00
Gavin Ridley
c22448061a warn when passing incorrect file extension to source point write 2023-04-18 17:27:16 -04:00
Gavin Ridley
2ff6c0408e
remove unnecessary comment
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-18 17:24:36 -04:00
Christina Cai
92e2a9e3b7 Merge branch 'typehint_material_return' of https://github.com/youngwki/openmc into typehint_material_return 2023-04-18 13:51:50 -04:00
Christina Cai
dd9f03abd2 trivial change for CI 2023-04-18 13:49:36 -04:00
christinacai123
293f02d991
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-18 13:46:57 -04:00
christinacai123
0280631fe7
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-18 13:46:33 -04:00
christinacai123
f8abaf687a
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-18 13:45:51 -04:00
Gavin Ridley
a02d583ac1 review comments addressed 2023-04-18 11:24:20 -04:00
Jonathan Shimwell
8606e07a67 added plot axis labels 2023-04-18 16:18:03 +01:00
Jonathan Shimwell
f1ce0913b3
remove comment 2023-04-18 15:37:07 +01:00
Jonathan Shimwell
ffaea61874 converting rgb to int 2023-04-18 15:10:49 +01:00
Paul Romano
1afe4294fa
Merge pull request #2479 from pshriwise/improve-trigger-msg
Provide alternative batch estimation message
2023-04-18 06:27:47 -05:00
Patrick Shriwise
f08510119c Applying code formatter 2023-04-18 00:38:33 -05:00
Gavin Ridley
ad33834e0f
default to legend label using ID if no name given
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2023-04-17 12:18:03 -04:00
Gavin Ridley
f65de85f9f
add versionadded for legend kwarg
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2023-04-17 12:17:09 -04:00
Gavin Ridley
e4c3323601
remove unnecessary error checking
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2023-04-17 12:15:29 -04:00
Gavin Ridley
3880d1cec8
line length suggestion
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2023-04-17 12:14:52 -04:00
Jonathan Shimwell
de695f4b63 Merge branch 'develop' into adding_outlines_to_plot 2023-04-17 16:37:33 +01:00
John Tramm
2b23b7366a
Merge pull request #2481 from paulromano/vectfit-ci-fix
Install vectfit in CI without build isolation
2023-04-17 10:34:59 -05:00
Paul Romano
339b4600ea
Merge pull request #2434 from pshriwise/dagmc-lp-test
Additional DAGMC test for lost particles
2023-04-17 09:41:27 -05:00
Jonathan Shimwell
95a07b8085 adding optional outline to plots 2023-04-17 15:13:56 +01:00
Paul Romano
36a54c896a Install wheel for vectfit 2023-04-17 06:59:40 -05:00
Paul Romano
5ba3569b3a Install vectfit in CI with no-build-isolation 2023-04-17 06:37:39 -05:00
Gavin Ridley
b52e1f106c
const int by value is pointless
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-15 22:35:14 -04:00
Gavin Ridley
355b6f4e88
const int by value is kinda pointless
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-15 22:34:45 -04:00
Gavin Ridley
30e2bfb2f9 warn people rather than fatal error if specifying a weird file extension 2023-04-15 22:31:53 -04:00
Gavin Ridley
4c7876beb9 allow directories containing periods in file extension grabber 2023-04-15 22:26:34 -04:00
christinacai123
8819b5c1c4
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-15 16:12:38 -04:00
Christina Cai
5658cd88b1 Added xml.etree to first block of imports 2023-04-15 16:02:59 -04:00
christinacai123
c9a64e6fe0
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-15 16:01:04 -04:00
christinacai123
55b4df553c
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-15 15:54:41 -04:00
Christina Cai
b4b4ff7948 added Pathlike to wwinp_to_wws 2023-04-15 15:49:16 -04:00
christinacai123
6b20df9652
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-15 15:44:02 -04:00
Gavin Ridley
62708ab3ad PR comments addressed 2023-04-15 13:01:01 -04:00
Gavin Ridley
f202377fb7 add west const and enforce in clang format 2023-04-15 12:50:30 -04:00
Gavin Ridley
e1102b6408 move file_utils to its own source file 2023-04-15 11:52:36 -04:00
Patrick Shriwise
405717a3cf Modifying batch estimation message if the uncertainty ratio is inf 2023-04-14 16:41:51 -05:00
Gavin Ridley
489eb59c99 alphabetize source files in cmakelists 2023-04-14 13:00:39 -04:00
Gavin Ridley
5ca6ee0654
use auto rather than std::string::size_type
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-14 12:39:09 -04:00
Gavin Ridley
0738a359c2
if/else -> ternary
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-14 12:38:46 -04:00
Gavin Ridley
8bc434a67d
move legend outside image
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2023-04-14 12:36:24 -04:00
Jonathan Shimwell
c4aafdd508 added ll and ur as suggested by @pshriwise 2023-04-14 17:11:44 +01:00
Jonathan Shimwell
b3ff7f26e3 removed commented out code 2023-04-14 14:06:15 +01:00
Jonathan Shimwell
6eb26b80c6 implemented BoundingBox class 2023-04-14 13:11:01 +01:00
Patrick Shriwise
3a22be87a9 Removing unecessary nuclides 2023-04-13 22:05:38 -05:00
Patrick Shriwise
304443070b
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-13 22:01:16 -05:00
christinacai123
966f3e51a8
Apply suggestions from code review
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2023-04-13 17:26:26 -04:00
Paul Romano
ae615c02d9
Merge pull request #2435 from zoeprieto/ncrystal_plotter
Add support for ncrystal materials
2023-04-13 15:14:54 -05:00
Gavin Ridley
6b03287d52 add auto legend to universe.plot 2023-04-13 16:09:07 -04:00
Patrick Shriwise
d24ae2fe1f Some cleanup of the DAGCell::distance method and explanation for lost particle condition 2023-04-13 10:27:01 -05:00
Patrick Shriwise
9da13a9087 Adding function for root universe comparison 2023-04-13 10:17:05 -05:00
Patrick Shriwise
6b98142a12 Use openmc.UniverseBase in lattice module 2023-04-13 10:17:05 -05:00
Patrick Shriwise
55473ee8a1 Adding DAGMC testfor lost particles 2023-04-13 10:17:05 -05:00
Paul Romano
aed797631b Fix failing tests 2023-04-13 07:25:19 -05:00
Paul Romano
93de45d044
Merge pull request #2469 from tjlaboss/2016_2020
Update the 2016 references to 2020
2023-04-12 20:37:27 -05:00
christinacai123
e3c0f6fcb4
Merge branch 'develop' into typehint_model 2023-04-12 20:54:19 -04:00
John Tramm
f7c2961436
Merge pull request #2465 from paulromano/model-fixes
A few improvements related to the Model class
2023-04-12 14:33:42 -05:00
Christina Cai
5fc51209ce added return types for material.py 2023-04-12 15:21:49 -04:00
Christina Cai
f7457d6427 fixed circular import error 2023-04-12 15:11:13 -04:00
Christina Cai
3692e7331f added return types for geometry.py 2023-04-12 14:41:14 -04:00
Travis J. Labossiere-Hickman
7ca82b59aa Update the 2016 references to 2020 2023-04-12 12:22:45 -06:00
Christina Cai
1a0f442bba added return types for model.py 2023-04-12 14:22:17 -04:00
Christina Cai
c1c6865026 added type hinting for weight_windows.py 2023-04-12 14:00:48 -04:00
Jonathan Shimwell
a0d8d1961e running plot test in tmp dir 2023-04-12 12:42:56 +01:00
Paul Romano
f23620896d Use Catch2_FOUND in CMakeLists.txt 2023-04-11 13:33:14 -05:00
Paul Romano
3125a28bad Remove mention of mailing list in README.md 2023-04-11 13:33:14 -05:00
Paul Romano
ec20a0cbaf Add missing openmc.lib functions to documentation 2023-04-11 13:33:14 -05:00
Paul Romano
08df830700 Use default filename in deplete.Results() 2023-04-11 13:33:14 -05:00
Paul Romano
9ec43809db Change DataLibrary to behave like list and add remove_by_material method 2023-04-11 13:33:11 -05:00
Paul Romano
a87b88a488 Fix CellInstanceFilter docstring 2023-04-11 13:23:13 -05:00
Paul Romano
39bc94a1a1 Allow mgxs.EnergyGroups() to accept group structure name 2023-04-11 13:23:13 -05:00
Paul Romano
5a0b679df8 Don't use a fixed default seed for pack_spheres 2023-04-11 13:23:12 -05:00
Paul Romano
a5d724aa2e Check whether points in Plane.from_points lie along a line. 2023-04-11 13:23:12 -05:00
Paul Romano
c907c85675 Improve error message regarding particle filter 2023-04-11 13:23:12 -05:00
Paul Romano
f5ad0466cd Allow Model.run to pass kwargs to export methods 2023-04-11 13:18:34 -05:00
Paul Romano
35ef5b06f8 Allow plots.xml to be read if model.xml doesn't contain plots 2023-04-11 13:18:34 -05:00
Paul Romano
d1036561a9 Make clear that passing model XML is valid on command line 2023-04-11 13:18:34 -05:00
Paul Romano
44a57b9a6f Improve error message about missing settings.xml 2023-04-11 13:18:30 -05:00
Jonathan Shimwell
eef21b65ca moved voxel plot to api accessible function 2023-04-11 17:59:43 +01:00
Paul Romano
04b458a7ed
Merge pull request #2462 from youngwki/pythonhint
Added type hints for WeightWindows class
2023-04-10 20:33:38 -05:00
christinacai123
4cc2c99f06
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-10 12:56:51 -04:00
christinacai123
6d0e009acf
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-04-10 12:55:54 -04:00
Christina Cai
b96914cb29 added return types 2023-04-07 15:32:02 -04:00
Paul Romano
4213656284
Merge pull request #2460 from aprilnovak/new_feature
Fix documentation typo in Cylinder.from_points.
2023-04-07 19:24:38 +02:00
April Novak
69f1ef43f9 Fix documentation typo in Cylinder.from_points. Closes #2459 2023-04-07 10:28:04 +02:00
Patrick Shriwise
e0d32e6a29
Merge pull request #1926 from gridley/projection_plots
Projection plots
2023-04-05 15:08:37 -05:00
Gavin Ridley
7fb21d7e79 add repr to projection plot 2023-04-05 12:03:03 -04:00
Gavin Ridley
a92f2d1f9f avoid segfault with idiomatic thresholding, rays through pixel centers 2023-04-05 11:50:45 -04:00
Gavin Ridley
5c4144d520
idiomatic thresholding
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2023-04-05 11:05:30 -04:00
Patrick Shriwise
62859d39ba Ignoring lost particles in DAGMC universes if in plotting mode 2023-04-04 22:11:11 -04:00
Gavin Ridley
abdc9be9a0 guard dagmc function call for non dagmc build in plotting 2023-04-04 22:11:11 -04:00
Patrick Shriwise
a8ed9bde8f Hacks to get project plots working w/ DAGMC 2023-04-04 22:11:11 -04:00
Patrick Shriwise
adf2047b6e Refactor of DAGMC next_cell 2023-04-04 22:11:11 -04:00
Gavin Ridley
5e47f9daa4 fix failing tests, remove redundant PlotTestHarness code 2023-04-04 22:11:10 -04:00
Gavin Ridley
61cab3009a PR comments addressed 2023-04-04 22:06:54 -04:00
Gavin Ridley
0a71d690b4 Update docs/source/usersguide/plots.rst
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2023-04-04 22:06:54 -04:00
Gavin Ridley
3b8f1ee1fe Update docs/source/usersguide/plots.rst
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2023-04-04 22:06:54 -04:00
Gavin Ridley
74fc00fc43 now passing tests again 2023-04-04 22:06:54 -04:00
Gavin Ridley
c8b8f1b9b9 regold projection plot regr test 2023-04-04 22:06:54 -04:00
Gavin Ridley
bd2de0372f projection plot docs 2023-04-04 22:06:54 -04:00
Gavin Ridley
f1b92603c8 update projection plot regr test 2023-04-04 22:06:54 -04:00
Gavin Ridley
ed5837202b add old wireframing behavior if not listing ids 2023-04-04 22:06:54 -04:00
Gavin Ridley
6726cc378f add unit test, select wireframing by id 2023-04-04 22:06:54 -04:00
Gavin Ridley
31174736e9 fix for non-OMP compile 2023-04-04 22:06:54 -04:00
Gavin Ridley
a0401906cd parallel projection plotting now matches single thread results 2023-04-04 22:06:54 -04:00
Gavin Ridley
030c3af9e4 parallelization of projection plots almost works except edge case 2023-04-04 22:06:54 -04:00
Gavin Ridley
c9e296d2a9 update tests 2023-04-04 22:06:54 -04:00
Gavin Ridley
a832fc8b94 adjustable wireframe thickness 2023-04-04 22:06:54 -04:00
Gavin Ridley
a030aaa59d fix projection plot tests 2023-04-04 22:06:54 -04:00
Gavin Ridley
76cc722090 add option to do orthographic projection 2023-04-04 22:06:54 -04:00
Gavin Ridley
d51fd873ab read user-provided plot names, also more sophisticated file extension checking 2023-04-04 22:06:54 -04:00
Gavin Ridley
071b6fa796 pick up on cell edges, not just boundaries 2023-04-04 22:06:54 -04:00
Gavin Ridley
bad79975b0 make wireframes not spotty 2023-04-04 22:06:54 -04:00
Gavin Ridley
d5aafc91cb projection plots nominally working 2023-04-04 22:06:54 -04:00
Gavin Ridley
5105a8423d further refactor of plots, start ProjectionPlot 2023-04-04 22:06:52 -04:00
Gavin Ridley
e2dedf5461 move common with projection plot to base class 2023-04-04 22:05:08 -04:00
stchaker
e3e659ca83 avoid python C API segfault on intel mac 2023-04-04 16:58:28 -04:00
Paul Romano
95e3f94630 Implement CruciformPrism composite surface 2023-04-04 22:49:11 +02:00
Gavin Ridley
5a8e1cc988 fix typo 2023-04-01 00:22:50 -04:00
Gavin Ridley
30ed602009 update documentation 2023-03-31 23:59:04 -04:00
Gavin Ridley
5aa1d256bb
Merge branch 'develop' into refactor_write_source_bank 2023-03-31 14:17:53 -04:00
Gavin Ridley
2172907bcf refactor particle source import/export 2023-03-31 14:17:04 -04:00
zoeprieto
2d90f9bd15
Merge pull request #2 from openmc-dev/develop
Update branch
2023-03-30 15:27:50 -03:00
Patrick Shriwise
e49c2c7d29
Merge pull request #2447 from paulromano/move-to-0.13.4-dev
Change version number to 0.13.4-dev
2023-03-30 09:47:00 -05:00
Patrick Shriwise
682ce5c3a6
Merge pull request #2444 from aprilnovak/material-clone
Clone material
2023-03-30 08:51:05 -05:00
zoeprieto
9ebacff23a
Update docstrings
Added description of ncrystal_cfg
2023-03-29 16:56:12 -03:00
zoe prieto
dc2a9a8129 Resolved conflict 2023-03-29 16:53:37 -03:00
Paul Romano
5fcb7208df Change version number to 0.13.4-dev 2023-03-29 14:41:03 -05:00
aprilnovak
c3fdf4edd2 Group openmc::model lines together. Refs #2442 2023-03-29 14:40:37 -05:00
Patrick Shriwise
27cb0dc979
Merge pull request #2441 from paulromano/release-0.13.3
Release of version 0.13.3
2023-03-29 14:09:07 -05:00
Paul Romano
e2373c833b Show MCPL and NCrystal in openmc --version 2023-03-29 06:51:01 -05:00
aprilnovak
ca061bc7e5 Return non-null. 2023-03-28 19:20:49 -05:00
aprilnovak
b84a021c58 Improve documentation. Refs #2442 2023-03-28 13:50:02 -05:00
Paul Romano
e7a688a867 Update Spack installation instructions 2023-03-28 13:34:14 -05:00
Paul Romano
8a5fb8a8b0 Update version number to 0.13.3 2023-03-28 13:34:14 -05:00
Paul Romano
2f50599d4f Update install instructions 2023-03-28 13:34:14 -05:00
Paul Romano
75dcf5b9a7 Add release notes for 0.13.3 2023-03-28 13:34:14 -05:00
Paul Romano
7bbf5466e6 Add missing versionadded directives 2023-03-28 13:34:14 -05:00
Paul Romano
f77aec1511
Merge pull request #2443 from pshriwise/sph-cyl-mesh-fix
Improvements to spherical/cylindrical mesh radial boundary coincidence with geometry
2023-03-28 11:33:46 -07:00
Patrick Shriwise
6cb4401230 Correcting surface type in cylinder tests 2023-03-28 10:11:14 -05:00
Patrick Shriwise
86e9a4bd4b Adding constants for coincidence checking 2023-03-28 08:47:42 -05:00
Patrick Shriwise
e5863eec1b Correcting variable name 2023-03-28 07:35:22 -05:00
aprilnovak
fa222a4b31 Address review comments. 2023-03-27 19:23:04 -05:00
aprilnovak
a44c1f89de Address review comments. Refs #2442 2023-03-27 19:21:30 -05:00
aprilnovak
e41ae3604e Clone material. Refs #2442 2023-03-27 18:36:49 -05:00
Patrick Shriwise
26c031a041 Run tests in tmpdir to keep repo clean 2023-03-27 16:54:42 -05:00
Patrick Shriwise
63fa42843b Removing unused print statements 2023-03-27 16:50:18 -05:00
Patrick Shriwise
ab403b2fc8 Improvements to tests 2023-03-27 16:48:35 -05:00
Patrick Shriwise
13a9e8fae4 Adding tests with void geometry for cylindrical and spherical mesh 2023-03-27 16:48:35 -05:00
Patrick Shriwise
160360a2a6 Remove old condition for cylindrical mesh 2023-03-27 16:48:35 -05:00
Patrick Shriwise
6910e36572 Adjustment to coincidence checking and case for r_grid[0] == 0 2023-03-27 16:48:35 -05:00
Ethan Peterson
3068d0cbbb
Merge pull request #2440 from paulromano/library-nuclide-hotfix
Update reference inputs for mgxs_library_specific_nuclides test
2023-03-26 21:27:36 -04:00
Paul Romano
b7250db6e1 Update reference inputs for mgxs_library_specific_nuclides test 2023-03-26 16:03:55 -05:00
Paul Romano
99c6514609
Merge pull request #2432 from guyshtot/library_nuclides_specification
Library nuclides specification
2023-03-26 12:27:48 -05:00
Patrick Shriwise
52f8618dab
Merge pull request #2439 from paulromano/cyl-sph-mesh-coincident-bugfix
Fix bug in cylindrical and spherical meshes when grid boundary is coincident with cell boundary
2023-03-25 20:58:32 -05:00
Paul Romano
5b7fb427d3
Apply @pshriwise suggestion adding 0.1 to scale
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2023-03-25 15:36:11 -05:00
Paul Romano
2630dbf4bc
Merge pull request #2362 from eepeterson/polygon_fix
try to constrain triangulation
2023-03-25 15:30:42 -05:00
Paul Romano
ec6f15dfa1
Merge pull request #2404 from eepeterson/export_model_xml_on_run
adding export_to_model_xml to model.run
2023-03-25 15:29:19 -05:00
Paul Romano
c5fd211bb2
Merge pull request #2436 from kkiesling/hybrid_depletion_tally
Fix hybrid depletion direct tally error if nuclides are not present in material
2023-03-25 12:07:43 -05:00
Paul Romano
2aef18c02a Loosen tolerance on coincidence check for cyl/sph meshes and parametrize tests 2023-03-25 11:55:53 -05:00
Kalin Kiesling
2d6938553a
Update tests/unit_tests/test_deplete_activation.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-03-25 09:13:58 -05:00
Ethan Peterson
b174e7896f
Merge pull request #8 from eepeterson/update_old_xmls
Update old xmls
2023-03-25 07:57:46 -04:00
Ethan Peterson
04806858ca update old tests to use new model.xml 2023-03-25 07:55:35 -04:00
guyshtot
3d1811a64a Changed merge=False to merge=True in mgxs_library_specific_nucides test to speed up the test. 2023-03-25 13:57:08 +03:00
guyshtot
4e7cae8b98
Update tests/regression_tests/mgxs_library_specific_nuclides/test.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-03-25 13:52:37 +03:00
guyshtot
ff9d2283c4
Update tests/regression_tests/mgxs_library_specific_nuclides/test.py
Remove double spaces at MGXS types in a test

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-03-25 13:52:23 +03:00
guyshtot
00657ccf87
Update openmc/mgxs/library.py
apply CR suggestion

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-03-25 13:50:06 +03:00
Ethan Peterson
11e618fe81 adding export_to_xml to run and updating tests 2023-03-24 18:54:54 -04:00
Ethan Peterson
7200d42644
Merge pull request #2433 from paulromano/photon-from-ace-fix
Handle zero photon cross sections in `IncidentPhoton.from_ace`
2023-03-24 12:58:28 -04:00
Ethan Peterson
2f5428f739
Update openmc/model/surface_composite.py
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2023-03-24 12:13:00 -04:00
Patrick Shriwise
222d92de83
Merge pull request #2431 from paulromano/py3.11-ci
Add Python 3.11 to CI matrix
2023-03-24 09:29:13 -05:00
Kalin Kiesling
7f68462e3a add nuclide that is not in model; (fails locally) 2023-03-23 15:43:18 -05:00
Kalin Kiesling
e93dd66430
eliminate set/list redundancy
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-03-23 15:07:32 -05:00
Paul Romano
e7eb746dc4 Always use quotes for python-version in ci.yml 2023-03-23 14:08:03 -05:00
Paul Romano
10787a2da6 Account for coincident position in find_r_crossing 2023-03-23 13:37:26 -05:00
Paul Romano
938923be41
Merge pull request #2428 from gonuke/mesh_spatial_Discrete
Use Discrete distribution for sampling a mesh source
2023-03-23 07:12:04 -05:00
guyshtot
a704ec73f2 Applied CR suggestion 2023-03-23 13:12:36 +02:00
guyshtot
675ec5f9ab Added test for the use of a Library with specified nuclides 2023-03-23 13:07:21 +02:00
Ethan Peterson
572e765e90
Merge pull request #2256 from RemDelaporteMathurin/centre_for_cylinder_spherical_meshes
Centre for cylinder & spherical meshes
2023-03-23 00:01:30 -04:00
Paul Wilson
9bb1ef4369
Update src/distribution.cpp
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-03-22 21:42:06 -04:00
Patrick Shriwise
d3fb65ae12
Merge pull request #2410 from paulromano/decay-tabular-warning
Enable generation of JEFF 3.3 depletion chain
2023-03-22 15:55:37 -05:00
Paul Romano
3f2831cc13
Merge pull request #2413 from shimwell/plotting_with_automatic_data_type
removing need for user to specify data_type arg when plotting xs
2023-03-22 15:38:29 -05:00
Kalin Kiesling
5160417e3e load any nuclide requested that is not present in materials prior to constructing tally 2023-03-22 12:45:33 -05:00
zoeprieto
094eb958c1
Add support for ncrystal materials 2023-03-22 12:44:56 -03:00
Rémi Delaporte-Mathurin
10f2a945ca
Merge branch 'develop' into centre_for_cylinder_spherical_meshes 2023-03-22 10:08:32 -04:00
Rémi Delaporte-Mathurin
a091bee5d9
Merge pull request #7 from paulromano/pr-2256-docs
Update IO format docs for meshes
2023-03-22 10:07:11 -04:00
Paul P.H. Wilson
72a6f77b0c use correct part of parameters 2023-03-22 09:59:00 -04:00
Jonathan Shimwell
993a872798 removed unused else and passing **kwargs 2023-03-22 13:32:38 +00:00
Paul P.H. Wilson
6fc0c3e545 manually convert iterator to pointer 2023-03-22 09:27:50 -04:00
Jonathan Shimwell
83a124c492
[skip ci] review improvments to docstring from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-03-22 13:11:33 +00:00
Paul P.H. Wilson
967cd43fa1 reuse assign 2023-03-22 08:45:19 -04:00
Paul P.H. Wilson
fb4845494f add default empty consructor 2023-03-22 00:37:21 -04:00
Paul P.H. Wilson
c272ed4c4e more pointer->instance repair 2023-03-22 00:37:12 -04:00
Paul P.H. Wilson
df4cfad60c more pointer to instance changes 2023-03-22 00:29:28 -04:00
Paul P.H. Wilson
035e6dc45a change to instance from pointer and cleanup lazy mistakes 2023-03-22 00:25:04 -04:00
Paul Romano
341cb9eb11
Merge pull request #2417 from pshriwise/spherical-mesh-fixes
Spherical to Cartesian coordinate conversion correction for VTK files
2023-03-21 22:27:53 -05:00
shimwell
17e9918f5d removed most deprecated types 2023-03-21 21:51:40 +00:00
Paul P.H. Wilson
60c3f2a9d5 type consistency and storing size as local 2023-03-21 16:36:33 -04:00
Paul P.H. Wilson
1d9446a065 introduce method to sample discrete index and use in various places 2023-03-21 16:14:38 -04:00
Patrick Shriwise
9b708e7ad4
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-03-21 14:55:42 -05:00
Paul P.H. Wilson
38ca9b2f7c clang format fixes 2023-03-21 15:43:43 -04:00
Paul Romano
bb5f727f85 Update IO format docs for meshes 2023-03-21 13:48:22 -05:00
Paul Romano
cf8d9ef313 Handle zero photon cross sections in IncidentPhoton.from_ace properly 2023-03-21 13:15:28 -05:00
Paul Romano
3032ad7f37 Stick with 3.10 as default, add single 3.11 job 2023-03-21 09:37:39 -05:00
guyshtot
354fd34c2c Renamed previous use of _nuclides to _atomic_weight_ratios in the library class 2023-03-21 14:59:01 +02:00
Paul Romano
b3c7472c77 Add Python 3.11 to CI matrix 2023-03-21 07:14:07 -05:00
guyshtot
487f02dd1d Add option to specify nuclides in the Library class 2023-03-21 13:18:24 +02:00
Paul P.H. Wilson
b20dda710b change initialization of strengths 2023-03-17 12:58:53 -05:00
Patrick Shriwise
a4f498c54f
Merge pull request #2429 from keckler/volume_calculation
Fix small typo in error message
2023-03-17 10:03:36 -05:00
Jonathan Shimwell
d678b39e69
Merge pull request #2412 from paulromano/material-volume-args
Add volume arguments on several methods in Material class
2023-03-17 14:05:01 +00:00
Paul P.H. Wilson
29b5748687 reduce temporary memory use for potentially large data 2023-03-17 08:27:09 -05:00
Chris Keckler
c275933aae Fix small typo in error message 2023-03-16 21:24:53 -07:00
Paul P.H. Wilson
09d068fa81 syntax fixes 2023-03-16 21:16:59 -05:00
Paul P.H. Wilson
db92a64ec9 rename variable for clarity; re-add volume normalization 2023-03-16 17:51:41 -05:00
Paul P.H. Wilson
ee6975767d Use Discrete distribution for mesh sampling
This version builds the independent variable by
converting int to double and then converts back
when sampling.
2023-03-16 17:34:44 -05:00
Gavin Ridley
691f44f410
Merge pull request #2425 from paulromano/cmake-mpi-message
Improve error message when parallel HDF5 is found but MPI not enabled
2023-03-16 16:34:39 -04:00
Paul P.H. Wilson
2d20cd31f2 initialize Discrete distribution with sequence of integers 2023-03-16 14:37:05 -05:00
Patrick Shriwise
2d573c3fa1
Merge branch 'develop' into centre_for_cylinder_spherical_meshes 2023-03-16 11:26:40 -05:00
Paul Romano
3e6441a0d9 Address @shimwell comments on #2412 2023-03-16 09:45:29 -05:00
Paul Romano
a23a6c5928 Improve error message when parallel HDF5 is found but MPI not enabled 2023-03-16 09:26:23 -05:00
Paul Romano
e24aa7b8f7
Merge pull request #2415 from shimwell/updating_docker_actions
updated action versions to latest major release
2023-03-13 12:17:15 -05:00
Patrick Shriwise
285edc77b9 Corrections after rebase 2023-03-08 22:47:40 -06:00
Patrick Shriwise
ae57ad0e5b Improving test coverage for mesh to vtk capability 2023-03-08 17:29:06 -06:00
Patrick Shriwise
c487090b3f Correcting spherical to cartesian coordinate conversion 2023-03-08 17:29:04 -06:00
shimwell
da89de0034 updated action versions to latest major release 2023-03-07 20:40:03 +00:00
Jonathan Shimwell
9768e34b86
Merge pull request #2397 from pshriwise/mesh-vtk-fixes
`write_data_to_vtk` volume normalization correction
2023-03-07 20:19:07 +00:00
RemDelaporteMathurin
024c51a1ff Merge branch 'centre_for_cylinder_spherical_meshes' of https://github.com/RemDelaporteMathurin/openmc into centre_for_cylinder_spherical_meshes 2023-03-07 14:37:49 -05:00
RemDelaporteMathurin
ab4237c037 use get_reshaped_data in tests 2023-03-07 14:36:07 -05:00
shimwell
1a9449debc finding data_type arg automatically 2023-03-06 20:36:34 +00:00
Patrick Shriwise
527f5f70aa
Merge branch 'develop' into centre_for_cylinder_spherical_meshes 2023-03-06 13:37:24 -06:00
Rémi Delaporte-Mathurin
1b29adbf56
Merge pull request #6 from pshriwise/centre_for_cylinder_spherical_meshes
Add an intermediate `PeriodicStructuredMesh` class to separate the `origin` attribute from `StructuredMesh`
2023-03-06 14:03:31 -05:00
Patrick Shriwise
b02e558fae Adding docstring. Updating method name 2023-03-04 23:57:55 -06:00
Patrick Shriwise
5946763323 Moving origin data member down into Cylindrical/Spherical mesh using intermediate class 2023-03-04 15:51:56 -06:00
Paul Romano
1241892e1b
Merge pull request #2405 from shimwell/extra_tests_for_plotter
Extra tests for cross section plotter
2023-03-04 15:38:15 -06:00
Paul Romano
c1232a83e0 Add volume arguments on several methods in Material class 2023-03-03 15:08:17 -06:00
Paul Romano
c20f115cb9 Change exception in decay source processing to warning 2023-03-03 11:02:48 -06:00
shimwell
7f16f46bed material and plot_xs tests for plotter.py 2023-03-02 23:52:00 +00:00
shimwell
33f9ab7083 testing muliple reactions for elements+nuclides 2023-03-02 22:14:14 +00:00
shimwell
f34b37bb4f added test for element and nuclide plot 2023-03-02 22:07:49 +00:00
Patrick Shriwise
728f48c2ae Adding another test that uses VTK to gather the data directly.
Co-authored-by: Jonathan Shimwell <jonathan.shimwell@firstlightfusion.com>
2023-03-01 00:33:24 -06:00
RemDelaporteMathurin
c71c134963 added grids in statepoint specs 2023-02-27 16:32:05 -05:00
Rémi Delaporte-Mathurin
308be3f1ea
Update openmc/mesh.py
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2023-02-27 16:23:45 -05:00
Rémi Delaporte-Mathurin
972e1c12ec
[skip ci] Minor refactoring
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2023-02-27 16:22:10 -05:00
RemDelaporteMathurin
9ca6f1b65b fixed docstrings for origin 2023-02-27 16:13:31 -05:00
RemDelaporteMathurin
c61e735a70 empty_like instead of copy 2023-02-27 16:10:55 -05:00
RemDelaporteMathurin
2f9f500542 removed check and always offset origin 2023-02-27 16:10:27 -05:00
Paul Romano
b44225b3d5
Merge pull request #2399 from aprilnovak/default-c
Add default constructor for VolumeCalculation
2023-02-27 12:36:00 -06:00
Paul Romano
beea906e00
Merge pull request #2377 from shimwell/adding_volume_to_material_repr
added volume information to material repr
2023-02-24 20:44:34 -06:00
Jonathan Shimwell
0d84c53818
review improvment, refactor to single line
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-24 22:05:00 +00:00
April Novak
9858114ed7
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-24 11:53:40 -08:00
aprilnovak
f0aa0ab3f2 Add default constructor for VolumeCalculation. Refs #2398 2023-02-24 12:10:52 -06:00
Patrick Shriwise
70b743e5ed Add test of volume normalization ordering 2023-02-23 23:59:46 -06:00
Patrick Shriwise
a270d4c01a Using vertices property where possible. Correcting volume ordering in normalization 2023-02-23 23:39:03 -06:00
Jonathan Shimwell
7becabcde4
cm^3 instead of cm3 2023-02-23 21:16:52 +00:00
Paul Romano
ed02703f4b
Merge pull request #2392 from joshmay1/nuclide_determinism
Order nuclides deterministically when adding from elements
2023-02-23 09:21:54 -06:00
josh
5556b0cedc order nuclides by increasing mass number 2023-02-22 18:24:50 +00:00
Paul Romano
635e573955
Merge pull request #2390 from pshriwise/restart-fixes
Updates to batch checks for simulation restarts
2023-02-22 09:16:11 -06:00
Rémi Delaporte-Mathurin
f961fc90c2
[skip ci] Modified the XML specs 2023-02-21 17:42:06 -05:00
Patrick Shriwise
55179b5a46 Removing os module from restart test 2023-02-21 07:31:53 -06:00
Patrick Shriwise
0419367815
Update tests/regression_tests/statepoint_restart/test.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-21 07:28:32 -06:00
Patrick Shriwise
0aa36836b3 Updating globs 2023-02-21 00:48:23 -06:00
Patrick Shriwise
1b68e61a3e explicit instance check 2023-02-21 00:47:47 -06:00
Patrick Shriwise
b8c7c76444
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-21 00:42:27 -06:00
Patrick Shriwise
a528de2976
Merge pull request #2381 from paulromano/anisotropic-fission
Use correct direction for anisotropic fission and update numpy version for tests
2023-02-20 12:37:08 -06:00
Patrick Shriwise
7aaf114d8e
Merge pull request #2388 from shimwell/moving_gau_method_up_one_layer
testing get_all_universes is in DAGMCUniverse
2023-02-20 12:36:53 -06:00
Patrick Shriwise
3702d40f9f
Merge pull request #2391 from paulromano/override-fixes
Add missing override specifiers in C++ classes
2023-02-20 09:33:55 -06:00
Patrick Shriwise
d363f4eedb
Merge pull request #2395 from aprilnovak/better-error
Use more generalized error message.
2023-02-19 09:24:37 -06:00
April Novak
5a61627549
Apply suggestions from code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2023-02-18 17:18:53 -08:00
aprilnovak
14af9de1e2 Use more generalized error message. Refs #2394 2023-02-17 19:16:15 -06:00
Paul Romano
b9d4ed2a28
Merge pull request #2386 from bam241/map_no_kargs
map does not accept keyword argument, fixing PR #2356
2023-02-17 10:59:07 -06:00
Paul Romano
eb0c8e497c Move Filter::create<T> implementation to filter.h 2023-02-17 10:31:54 -06:00
Paul Romano
d5ce4af68a Add RDMAV_FORK_SAFE=1 to avoid fork error with libfabric 2023-02-17 10:31:27 -06:00
RemDelaporteMathurin
c634a14674 added origin to docstrings 2023-02-17 10:56:42 -05:00
josh
0aba858f95 sort nuclides when adding by element 2023-02-17 02:15:50 +00:00
Patrick Shriwise
65852f4fbc Update batch comparison in statepoint load 2023-02-16 17:52:23 -06:00
Patrick Shriwise
648313fab1 Adding to regression test instead of making new unit test 2023-02-16 16:28:51 -06:00
Patrick Shriwise
9803c26111 bwd compatibility fix for reading filter elements 2023-02-16 16:18:41 -06:00
Paul Romano
ce62bbd9c5 Add missing override specifiers 2023-02-16 14:06:59 -06:00
Patrick Shriwise
461fd54f11 Updating doc strings 2023-02-16 13:53:57 -06:00
Patrick Shriwise
ee2f0f2c53 Adding a test for restart runs 2023-02-16 13:48:28 -06:00
Patrick Shriwise
0e10a7da47 Allowing openmc.Pathlike for restart file argument 2023-02-16 13:48:11 -06:00
Patrick Shriwise
1891ff7c24 Updating batch number checks for simulation and sp load 2023-02-16 13:47:42 -06:00
Ethan Peterson
1a2d1237da
Update openmc/model/surface_composite.py
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2023-02-16 12:27:15 -05:00
Ethan Peterson
6e2a9add5e
Merge pull request #2378 from paulromano/inelastic-fix
Avoid out-of-bounds access in inelastic scatter sampling
2023-02-16 12:24:36 -05:00
Jonathan Shimwell
04d9e27866 moving get_all_universes method 2023-02-16 16:24:24 +00:00
Jonathan Shimwell
9e88e706fe testing get_all_universes is in DAGMCUniverse 2023-02-16 16:20:44 +00:00
Baptiste Mouginot
a25bbc250f renaming func_args into matrix_args, fixing docstring accordingly 2023-02-16 14:50:23 +01:00
Paul Romano
fa4aa4ad21
Merge pull request #2385 from bam241/model_mats_per_id
Model mats per id
2023-02-16 07:26:51 -06:00
Paul Romano
61b30f5dcc
Merge pull request #2334 from pshriwise/umesh_sampling
Unstructured Mesh Sampling Updates
2023-02-16 07:24:13 -06:00
Paul Romano
a2b828af52 Use 1 thread for OpenBLAS calls from numpy 2023-02-15 07:09:38 -06:00
Baptiste Mouginot
5f5c0ed7a7 map_no_kargs 2023-02-15 11:07:29 +01:00
Paul Romano
0435e64fd0 Disable AVX512 in numpy runtime SIMD dispatch 2023-02-14 23:09:54 -06:00
Paul Romano
070e5b93e1 Try running CI on ubuntu-22.04 2023-02-14 16:42:24 -06:00
Baptiste Mouginot
760ff7e34c fix return _materiaLs_by_id 2023-02-14 15:12:04 +01:00
Baptiste Mouginot
68a0ec7936 fix return _materiaLs_by_id 2023-02-14 15:05:37 +01:00
Rémi Delaporte-Mathurin
ef2ef4d261
Merge pull request #5 from pshriwise/centre_for_cylinder_spherical_meshes
Updating mesh centre tests.
2023-02-13 11:06:05 -05:00
Patrick Shriwise
3d548c882f Addressing latest comments from @paulromano 2023-02-13 09:52:17 -06:00
Patrick Shriwise
75fe7f00a9
Apply code suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-13 09:40:21 -06:00
Paul Romano
893c4d0648 Try using 10**x instead of logspace in source test 2023-02-13 09:00:33 -06:00
Paul Romano
4783b34fe2 Fix several failing tests 2023-02-13 07:16:10 -06:00
Patrick Shriwise
e6a490ac9c
Merge pull request #2383 from paulromano/mesh-filter-docfix
Fix documentation for MeshFilter and MeshSurfaceFilter
2023-02-12 23:02:19 -06:00
Paul Romano
fc619f8352 Fix documentation for MeshFilter and MeshSurfaceFilter 2023-02-12 19:27:11 -06:00
Gavin Ridley
a755bfd040
Merge pull request #2382 from paulromano/tsl-nuclide-fixes
Fix several thermal scattering nuclide assignments
2023-02-11 13:33:45 -05:00
Paul Romano
ba074c5a5a Fix several thermal scattering nuclide assignments 2023-02-10 14:59:57 -06:00
Paul Romano
091241070f Update test results with numpy 1.24 and anisotropic fission 2023-02-10 12:21:42 -06:00
Paul Romano
fcdac0759e Remove numpy version hardcoding in pyproject.toml / GHA 2023-02-10 11:41:50 -06:00
Paul Romano
6a790df0be Update micro_xs regression test with update option 2023-02-10 11:41:50 -06:00
Paul Romano
956e3f4341 Make sure correct direction is applied when fission neutrons are anisotropic 2023-02-10 11:41:50 -06:00
Paul Romano
990b5449f5 Avoid use of np.float and np.int 2023-02-10 11:41:49 -06:00
Paul Romano
9c646b3f32 Fix CMFDMesh.grid setter 2023-02-10 11:41:49 -06:00
Paul Romano
c0d5efc340
Merge pull request #2356 from bam241/matrix_func_arg
adding optional arg to matrix_func in Pool.py (for depletion)
2023-02-10 10:39:38 -06:00
Paul Romano
d65c6ca13a
Merge pull request #2376 from shimwell/adding_mat_name_to_error_message
making error message more helpful with material name
2023-02-10 07:40:01 -06:00
Paul Romano
f8c8e37342
Merge pull request #2371 from shimwell/adding_tabular_to_energy_filter
added get_tabular method to energyfilters
2023-02-10 06:54:39 -06:00
Jonathan Shimwell
c0391781ca changed error message to preferred option 2023-02-10 09:22:10 +00:00
Jonathan Shimwell
eaddf91b65
Adding zero to end of test results
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-09 21:19:11 +00:00
Paul Romano
89ad9afedf
Merge pull request #2352 from joshmay1/universe_cloning
Instantiate new cloned universes instead of deepcopying
2023-02-09 14:55:00 -06:00
Jonathan Shimwell
853ef5ea49
2nd round of review improvments from paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-09 19:51:46 +00:00
shimwell
b559d32d68 custom error message for name is None 2023-02-09 19:47:29 +00:00
Jonathan Shimwell
e6d8e3f4a7
avoiding true divide erorr 2023-02-09 17:53:04 +00:00
Josh May
b41c8330f1
Update openmc/universe.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-09 09:41:23 -08:00
Jonathan Shimwell
8a5a520106
code review improvments from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-09 17:38:33 +00:00
Patrick Shriwise
e8e2d9afa2
Merge pull request #2288 from eepeterson/filter_shape
Change to get_reshaped_data for consistency with mesh dimensions
2023-02-09 08:50:34 -06:00
Patrick Shriwise
af16239684 Updating mesh centre tests. 2023-02-08 10:17:59 -06:00
Ethan Peterson
63b8261336 treat MeshSurfaceFilter differently 2023-02-07 14:13:46 -05:00
Ethan Peterson
653bec5fd8 added shape to aggregate filter 2023-02-07 14:13:46 -05:00
Ethan Peterson
61efad0a8d added test and expand_dims kwarg 2023-02-07 14:13:46 -05:00
Ethan Peterson
512c7e6556 modified get_reshaped_data 2023-02-07 14:13:46 -05:00
Ethan Peterson
5f0e3e14fb added default filter shape and mesh filter shape 2023-02-07 14:13:46 -05:00
Jonathan Shimwell
0d4227fa1f added volume information to material repr 2023-02-07 12:26:11 +00:00
Jonathan Shimwell
016a5e5b3c moved full stop 2023-02-07 10:24:39 +00:00
Jonathan Shimwell
ecebe25f36 making error message more helpful with material name 2023-02-07 10:23:28 +00:00
Paul Romano
5470ec75b4 Avoid out-of-bounds access on index_inelastic_scatter_ 2023-02-06 21:49:43 -06:00
Ethan Peterson
637080a0c2 address comments from @hassec review 2023-02-06 15:52:46 -05:00
josh
6d69c782ae abstract _partial_deepcopy and reformat docstrings 2023-02-06 17:45:18 +00:00
Ethan Peterson
c07386fc62 added more tests for Polygon class 2023-02-05 22:15:10 -05:00
Ethan Peterson
78b0fbaa27 finished polygon self-intersection check 2023-02-05 22:02:14 -05:00
Patrick Shriwise
283e3ee6aa Adjust the read_meshes function to search only for mesh elements directly below the element passed in 2023-02-03 22:55:47 -06:00
Patrick Shriwise
fc67b38ba4 Adding roundtrip test for mesh sampling 2023-02-03 20:11:35 -06:00
Patrick Shriwise
cf8cd62961
Update tests/unit_tests/test_source_mesh.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-02-03 19:32:41 -06:00
Patrick Shriwise
6218becb17
Merge pull request #2375 from paulromano/tabular-mean-fix
Don't call normalize inside Tabular.mean
2023-02-03 19:31:35 -06:00
Paul Romano
dbbad687eb Don't call normalize inside Tabular.mean 2023-02-03 08:32:05 -06:00
RemDelaporteMathurin
1e94a0c7d7 fixed theta_grid spherical mesh 2023-02-02 09:39:23 -05:00
RemDelaporteMathurin
90995dc512 Merge branch 'develop' into centre_for_cylinder_spherical_meshes 2023-02-02 08:47:28 -05:00
Jonathan Shimwell
5c672f5ea8
Merge pull request #2363 from RemDelaporteMathurin/fix_flat_mesh
Raise error when mesh is flat
2023-02-02 12:21:31 +00:00
Paul Romano
b8a3586274
Merge pull request #2365 from openmc-dev/update_actions_checkout
updated checkout action to v3
2023-01-31 13:35:00 -06:00
Paul Romano
f1bbeda7f5
Merge pull request #2364 from shimwell/allowing_export_with_different_materials_files
allowing materials.xml to be specified
2023-01-31 13:33:22 -06:00
Paul Romano
7a736cc3a4
Merge pull request #2329 from myerspat/distribution-alias-sampling
Alias sampling implementation for discrete PDFs
2023-01-31 10:08:11 -06:00
Jonathan Shimwell
de8ebfc81a Merge branch 'develop' into update_actions_checkout 2023-01-31 13:58:55 +00:00
Jonathan Shimwell
95f0e87c7f Merge branch 'develop' into allowing_export_with_different_materials_files 2023-01-31 13:56:33 +00:00
Jonathan Shimwell
e9866b4d66 added get_tabular metho to energyfilters 2023-01-31 13:20:31 +00:00
Paul Romano
3b7bf1e3b7
Merge pull request #2370 from paulromano/fix-h5py-parallel-ci
Fix installing h5py in CI when MPI is enabled
2023-01-31 06:15:35 -06:00
Paul Romano
f45b431a21 Use --no-build-isolation to get around parallel h5py install issue
See https://github.com/h5py/h5py/issues/2222
2023-01-30 23:18:07 -06:00
Ethan Peterson
e20e648690 check for duplicate points 2023-01-30 19:40:00 -05:00
RemDelaporteMathurin
17d88d8c84 added tests for spherical mesh 2023-01-30 13:57:44 -05:00
Rémi Delaporte-Mathurin
b1a5d0ba1b
Merge pull request #4 from pshriwise/centre_for_cylinder_spherical_meshes
Centre for cylinder spherical meshes
2023-01-30 13:53:13 -05:00
shimwell
dd60c1583f updated checkout action to v3 2023-01-29 17:47:54 +00:00
Jonathan Shimwell
60f33d4607
Review improvement from @paulromano 2023-01-28 17:18:35 +00:00
Rémi Delaporte-Mathurin
a51d31ec78
Update openmc/mesh.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-01-28 08:50:45 -05:00
Rémi Delaporte-Mathurin
198b5bdad4
Update openmc/mesh.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-01-28 08:50:39 -05:00
Patrick A Myers
ca1f9a6965 updated test for counter 2023-01-27 11:31:37 -05:00
Patrick A Myers
ec5f0e54f4 Restored init_alias and changed constructor definitions 2023-01-27 10:22:27 -05:00
Jonathan Shimwell
2dbb0c7523 allowing materials.xml to be specified 2023-01-27 14:26:56 +00:00
RemDelaporteMathurin
c84336878b replace is_flat by a one-line check 2023-01-27 08:58:10 -05:00
RemDelaporteMathurin
ba1cd67d52 added test to catch bug + fix 2023-01-27 08:32:02 -05:00
Patrick Shriwise
3703fdbdd7 Adding origin to sphere and cyl mesh str 2023-01-26 14:15:08 -06:00
Patrick Shriwise
b22c7e8353 Adding test cases for cylindrical mesh 2023-01-26 14:14:06 -06:00
Patrick Shriwise
11eee756dd Corrections to application of origin for sphere and cyl mesh 2023-01-26 14:13:39 -06:00
RemDelaporteMathurin
a976703556 Raise error if mesh is flat 2023-01-26 14:06:48 -05:00
RemDelaporteMathurin
91ebcdb21e better test 2023-01-26 14:05:23 -05:00
RemDelaporteMathurin
396ecdf02c added test that cathces the bug 2023-01-26 13:55:22 -05:00
Ethan Peterson
4fade673a7 refactor to single validate_points method 2023-01-25 16:27:12 -05:00
Ethan Peterson
afbbc3d845 try to constrain triangulation 2023-01-24 23:00:27 -05:00
Paul Romano
3f5b90042c
Merge pull request #2349 from paulromano/newyear-2023
Update copyright date and a few other small changes
2023-01-24 23:20:26 +07:00
Paul Romano
00668d70b0
Merge pull request #2360 from openmc-dev/gridley-patch-1
multipole documentation typo fix
2023-01-24 22:27:59 +07:00
Gavin Ridley
368525f3db
multipole documentation typo fix 2023-01-22 10:07:18 -05:00
Patrick Shriwise
de8f99adbe Removing unstructured mesh source sampling test.
The test cases here almost entirely overlapped with those in the unit test. The test for an invalid size on the strengths array has been moved to the test_mesh_source.py unit test.
2023-01-18 11:12:10 -06:00
Patrick Shriwise
cd7ad7de7a Adding failure check to mesh source unit test. 2023-01-18 11:10:33 -06:00
Baptiste Mouginot
dcfac1d10e tweaking comments 2023-01-18 14:12:00 +01:00
Baptiste Mouginot
bbacb383cd allowing to pass additiinal args to pool.deplete when using user specified maxtrix_func 2023-01-18 14:04:41 +01:00
Patrick Shriwise
303812202d
Merge pull request #2354 from aprilnovak/unused-dagmc-param
Remove unused dagmc settings parameter.
2023-01-17 15:53:20 -06:00
April Novak
d4a940d44d Remove unused dagmc settings parameter. Refs #2353 2023-01-17 10:59:53 -08:00
Josh May
d9ce50dc9f
Merge branch 'openmc-dev:develop' into universe_cloning 2023-01-16 18:43:34 -08:00
josh
3d6179fa32 remove try/except for class-specific 'deepcopy' 2023-01-17 02:43:02 +00:00
josh
06e6d5d347 add dagmc testing 2023-01-17 02:42:40 +00:00
Patrick A Myers
d0e071be94 update tests to be more robust 2023-01-13 16:51:13 -05:00
Patrick A Myers
4122c02ad4 change p to prob and fix alias table 2023-01-13 16:50:50 -05:00
Patrick Shriwise
beb3085469 Changing to const Mesh* 2023-01-13 12:24:24 -06:00
Patrick Shriwise
9313f809a4 Adding a tally to the unstructured mesh regression test. 2023-01-13 10:34:30 -06:00
Patrick Shriwise
ff9b5fd741 Adding not about moving the mesh cdf in the future. 2023-01-13 10:24:05 -06:00
Patrick A Myers
8288b55822 moved make after environment variable 2023-01-13 10:53:18 -05:00
Patrick A Myers
8cbcf23b8d added option for build tests to linking tests library 2023-01-13 10:50:03 -05:00
Patrick A Myers
17c836731e added cmake option for building tests 2023-01-13 10:47:56 -05:00
Patrick Myers
2eae8b8f8b
Merge branch 'develop' into distribution-alias-sampling 2023-01-13 10:33:19 -05:00
Patrick Shriwise
f92515d6f2 Correcting sampling unit test 2023-01-13 08:45:48 -06:00
Paul Romano
bbe39dbc1b Added some missing versionadded directives 2023-01-13 13:41:00 +07:00
Paul Romano
606457a1f0 A few style fixes in material.py 2023-01-13 13:36:51 +07:00
Patrick Shriwise
124839796e Updating test inputs for auto-generated material ID. 2023-01-13 00:04:22 -06:00
Patrick Shriwise
d0988327fe Applying formatter 2023-01-13 00:00:16 -06:00
Patrick Shriwise
6f0c6f5296 Applying suggestions for tests from @paulromano. 2023-01-12 23:53:06 -06:00
Patrick Shriwise
4675ff0231 Correcting MOAB call args 2023-01-12 23:53:06 -06:00
Patrick Shriwise
4d06ed5640 Passing mesh memo through to source from_xml method 2023-01-12 23:53:06 -06:00
Patrick Shriwise
55138aa144
Picking up an additional suggestion from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-01-12 23:49:31 -06:00
Patrick Shriwise
4195d1e8ca Restoring blank lines in settings.cpp and source.cpp 2023-01-12 23:20:11 -06:00
Patrick Shriwise
d4cbcd12fc Addressing comments from @paulromano's review 2023-01-12 23:19:12 -06:00
Patrick Shriwise
e873db9a07
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-01-12 23:13:09 -06:00
Paul Romano
0a8454d7f7 Mention MCPL in optional dependencies 2023-01-13 12:08:26 +07:00
Paul Romano
402b7b2ced Happy new year 2023! 2023-01-13 12:02:20 +07:00
Paul Romano
1cdb37a05c
Merge pull request #2348 from cfichtlscherer/prompt_neutrons
Prompt neutrons 2.0
2023-01-13 09:44:44 +07:00
josh
e799346502 switch universe deepcopying for a fresh instance on clones 2023-01-12 21:58:22 +00:00
Christopher Fichtlscherer
a66d4da53f
Update openmc/settings.py
version number

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-01-12 06:26:07 -05:00
Christopher Fichtlscherer
36249d3742
Update openmc/settings.py
yes

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-01-12 06:25:52 -05:00
Paul Romano
54320f3011
Merge pull request #2347 from shimwell/adding_get_surfaces_by_name
added get_surfaces_by_name method to geometry
2023-01-12 14:30:54 +07:00
Paul Romano
029838c947
Merge pull request #2340 from joshmay1/cell_cloning
Manually instantiate cloned cells rather than deepcopying
2023-01-12 09:48:45 +07:00
Paul Romano
a62bb50b27
Merge pull request #2222 from highness-eu/mixed_ncrystal
Adding support for NCrystal materials in OpenMC
2023-01-12 09:47:33 +07:00
Christopher Fichtlscherer
f7c1a57b15 settings change element 2023-01-11 16:55:27 -05:00
Josh May
afa490f6a6
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-01-11 13:27:06 -08:00
Christopher Fichtlscherer
3ba117fcd9 indentation level change 2023-01-11 15:41:31 -05:00
Christopher Fichtlscherer
8b1ecaad09 deleted white spaces 2023-01-11 15:38:16 -05:00
Christopher Fichtlscherer
e266bb15bf old changes for delayed neutron feature 2023-01-11 14:50:08 -05:00
Christopher Fichtlscherer
9d86274fcc merge conflict 2023-01-11 14:17:29 -05:00
Christopher Fichtlscherer
50892c61b7 unit test and description 2023-01-11 14:15:37 -05:00
Thomas Kittelmann
93aaa32d4d
Merge pull request #3 from paulromano/mixed_ncrystal_const
Change ncrystal_max_energy to be a global constant
2023-01-11 18:50:23 +01:00
Paul Romano
02abb63bcf
Merge pull request #2333 from openmc-dev/optional_materials_when_loading_geometry_2
allowing xml file for materials
2023-01-11 21:35:31 +07:00
Jonathan Shimwell
2c9df1b77e
Apply typo fixes identified incode review by @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2023-01-11 09:32:02 +00:00
Jonathan Shimwell
08c7d8935a
Merge pull request #2335 from paulromano/plot-xs-sab-fix
Small fix in `plot_xs` when S(a,b) tables are present
2023-01-11 09:29:58 +00:00
Paul Romano
d2f8ca2078
Merge pull request #16 from shimwell/adding_sab_plotter_test
added test for sab xs appears in xs calc
2023-01-11 07:40:58 +07:00
Jonathan Shimwell
a0afa5de44 added get_surfaces_by_name method 2023-01-10 19:04:12 +00:00
Paul Romano
e83ced88dc Change ncrystal_max_energy to be a global constant 2023-01-11 01:17:53 +07:00
April Novak
ee0fcd3bc0
Merge pull request #2344 from pshriwise/fix_triggers
Fix triggers
2023-01-10 08:40:24 -08:00
Thomas Kittelmann
fe4a1de57d
Merge pull request #2 from paulromano/mixed_ncrystal_pr
Refactor interface between NCrystal and OpenMC
2023-01-10 11:32:10 +01:00
Paul Romano
c4227f7dc1 Change Material.from_ncrystal to accept kwargs 2023-01-10 17:20:14 +07:00
Paul Romano
4eda693133 Style and spacing changes 2023-01-10 17:20:14 +07:00
Paul Romano
62af773108 Refactor NCrystal interface code to ncrystal_interface.h/cpp 2023-01-10 17:20:11 +07:00
Thomas Kittelmann
7dae457342
Merge pull request #1 from paulromano/ncrystal_mixed
Merge develop branch to resolve conflicts
2023-01-10 08:52:25 +01:00
Paul Romano
b6d6bdf3f5 Merge branch 'develop' into mixed_ncrystal_pr 2023-01-09 13:13:14 +07:00
April Novak
70b7c3135b
Merge pull request #2341 from pshriwise/update_gamma_note
Updating note on photon transport limitations
2023-01-06 09:55:33 -08:00
Patrick Shriwise
bfcbecdbaa Fixing tally triggers. Refs #2342 and #2343 2023-01-05 16:25:15 -06:00
Patrick Shriwise
9615b9f5da Adding tests for tally triggers. 2023-01-05 16:04:33 -06:00
Patrick Shriwise
9fac1bb4d2 Updating note on photon transport limitations 2023-01-05 12:13:55 -06:00
Jonathan Shimwell
82429cbb19 added test for sab xs appears in xs calc 2023-01-05 11:16:16 +00:00
Josh May
37331deeee
Merge branch 'openmc-dev:develop' into cell_cloning 2023-01-04 15:35:23 -08:00
josh
60f9a42711 simplify cell cloning test changes 2023-01-04 22:54:26 +00:00
josh
affc62f09c only reassign temps when not None 2023-01-04 22:53:55 +00:00
Jonathan Shimwell
e01f0ea944
Merge pull request #2332 from paulromano/gnds-naming
Change GND to GNDS
2023-01-04 11:10:37 +00:00
josh
ac2ba93b3a remove cell deepcopying for creating a fresh instance 2023-01-04 03:31:07 +00:00
Patrick Shriwise
219a4b04da Addressing comments from @NybergWISC
Co-authored-by: Matthew Nyberg <mnyberg@wisc.edu>
2023-01-03 10:35:44 -06:00
Paul Romano
80dad0f240 Small fix in plot_xs when S(a,b) tables are present 2022-12-31 11:32:39 +07:00
Patrick Shriwise
5e2cb6778d Adding the mesh spatial option to the <source><spatial> IO description 2022-12-30 22:01:11 -06:00
Patrick Shriwise
8657123bac Add some documentation for the new MeshSpatial class. 2022-12-30 07:21:11 -06:00
Patrick Shriwise
580096d423 Removing MESHES import 2022-12-29 10:39:41 -06:00
Patrick Shriwise
43549cf1f1 A couple small changes from original PR comments 2022-12-29 09:23:14 -06:00
Patrick Shriwise
c6f0d36bdb Correcting attribute name 2022-12-29 09:23:14 -06:00
Patrick Shriwise
3779c5cc4d Skip test in absence of UM support 2022-12-29 09:23:14 -06:00
Patrick Shriwise
251d7f5436 Skip tests if libraries are not enabled 2022-12-29 09:23:14 -06:00
Patrick Shriwise
60a2a0e1f8 Adding clarity to error message re: improperly sized strengths array 2022-12-29 09:23:14 -06:00
Patrick Shriwise
f001d411ee More small improvements to tests 2022-12-29 09:23:14 -06:00
Patrick Shriwise
7fd2f0d7ff Correcting filepath for test run outside directory 2022-12-29 09:23:14 -06:00
Patrick Shriwise
eca2a1ad2e Reworking geometry model. 2022-12-29 09:23:14 -06:00
Patrick Shriwise
996930f7f1 Improved testing for manually set source strengths 2022-12-29 09:23:14 -06:00
Patrick Shriwise
bc7c8cd892 Adding empty results for now 2022-12-29 09:23:14 -06:00
Patrick Shriwise
ef14e0e800 Separating tests into unit and regression tests. 2022-12-29 09:23:14 -06:00
Patrick Shriwise
2779902287 Refactoring mesh sampling test to use openmc.lib. Making model a fixture 2022-12-29 09:23:14 -06:00
Patrick Shriwise
0a83824bea Improve distribution testing 2022-12-29 09:23:14 -06:00
Patrick Shriwise
ce956f8515 Run ww unit test in tmp dir 2022-12-29 09:23:14 -06:00
Patrick Shriwise
03811745a0 Skip mesh elements without an ID due to overlap in name with WW element 2022-12-29 09:23:14 -06:00
Patrick Shriwise
8e6ce2e16f Updates to unstructured mesh sampling tests. 2022-12-29 09:23:14 -06:00
Patrick Shriwise
e100689c8f Minor updates to C++ source. Fix for CDF distribution sampling 2022-12-29 09:23:14 -06:00
Patrick Shriwise
0ffe0b39c1 Adding docstrings to MeshSpatial Python class 2022-12-29 09:23:14 -06:00
Patrick Shriwise
fba3a9a118 tet_bin to elem_bin suggestion from @eepeterson 2022-12-29 09:23:14 -06:00
NybergWISC
2bfdcefcf6 Remove second volume method from mesh header file 2022-12-29 09:23:14 -06:00
NybergWISC
115be68953 Small refactor of distribution_spatial.cpp and change default of volume_normalized to True 2022-12-29 09:23:14 -06:00
NybergWISC
bd60956d20 Second round of comments. volume method is now implemented from Mesh instead of UnstructuredMesh 2022-12-29 09:23:14 -06:00
NybergWISC
7c40badfbc Address comments on initial PR, all changed other than name of class and the use of python API to combine track outputs 2022-12-29 09:23:14 -06:00
Matthew Nyberg
7a3a1876e1 Reorganize imports in source_sampling/test.py
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-12-29 09:23:14 -06:00
NybergWISC
9f6d536959 Commit including most of the sampling work in distribution_spatial.cpp and testing 2022-12-29 09:23:12 -06:00
NybergWISC
80077ed3fd New changes to spatial distribution and source to include mesh sources. Made some edits suggested by Shriwise, now compiles successfully 2022-12-29 09:22:34 -06:00
NybergWISC
238ab5210e Initial Mesh Sampling Changes 2022-12-29 09:22:34 -06:00
shimwell
577157b846 allowing xml file for materials 2022-12-24 22:40:34 +00:00
Paul Romano
3f8f8f6701
Merge pull request #2291 from pshriwise/model-xml
Support for a single `model.xml` file
2022-12-24 13:33:27 -06:00
Paul Romano
1680a72f12
Merge pull request #2116 from ebknudsen/mcpl_input
Add support for MCPL files
2022-12-24 13:12:52 -06:00
myerspat
ea1feef6e2 changing CTest workflow in CI 2022-12-23 14:40:54 -05:00
myerspat
761bfc5349 added documentation on unit testing with catch2 2022-12-23 12:54:59 -05:00
myerspat
6b0baf8b1d added catch2 testing to ci workflow 2022-12-23 12:54:24 -05:00
Erik B Knudsen
d93bc274b1
Merge pull request #3 from paulromano/mcpl-updates
Fix source definition in source_mcpl_file test
2022-12-23 18:42:50 +01:00
Paul Romano
954a2bdcda Fix source definition in source_mcpl_file test 2022-12-23 11:12:46 -06:00
Paul Romano
a178f5f85a Use raw f-string in test_mesh_to_vtk.py 2022-12-23 10:55:58 -06:00
Erik B Knudsen
6147034cd7
Merge pull request #2 from paulromano/mcpl-updates
One more fix
2022-12-23 11:51:20 +01:00
Paul Romano
f9c6765eca Update intersphinx URLs 2022-12-23 00:07:08 -06:00
Paul Romano
a5bdbd3adb Address a few warnings from tests 2022-12-23 00:07:02 -06:00
Paul Romano
ecfa94e0ff Rename gnd_name to gnds_name. Change GND to GNDS in comments 2022-12-23 00:06:50 -06:00
Patrick Shriwise
64aee3b4fe
Merge pull request #16 from paulromano/model-xml-pr
Several small fixes
2022-12-22 22:53:32 -06:00
Paul Romano
a0d8541a01 Make sure OpenMCConfig.cmake.in includes MCPL 2022-12-22 22:27:03 -06:00
Paul Romano
25f2bd50f9 Several small fixes 2022-12-22 18:27:42 -06:00
Erik B Knudsen
04118bce34
Merge pull request #1 from paulromano/mcpl-updates
Refactor MCPL code
2022-12-22 23:41:55 +01:00
Paul Romano
ddbd61cc97 Formatting fixes 2022-12-22 14:56:41 -06:00
Paul Romano
731eff8817 Update source_mcpl_file test result 2022-12-22 14:56:40 -06:00
Paul Romano
47848b79ab Allow Settings.sourcepoint['mcpl'] to be set 2022-12-22 14:56:40 -06:00
Paul Romano
eeab41a19d Build against MCPL in CI by default 2022-12-22 14:56:40 -06:00
Paul Romano
9ae44b3fd1 Rearragne MCPL source writing logic 2022-12-22 14:56:40 -06:00
Paul Romano
361b3486ef Move remainder of MCPL-related code to mcpl_interface.h/cpp 2022-12-22 14:56:36 -06:00
Paul Romano
a3065b479c Move FileSource MCPL reading to mcpl_interface.h/cpp 2022-12-22 11:33:29 -06:00
Paul Romano
987293cfff Small fixes and formatting changes 2022-12-22 10:57:11 -06:00
Paul Romano
28521c8384 Use vector::push_back for building MCPL FileSource 2022-12-22 10:53:40 -06:00
Erik B Knudsen
51d3a0c2ce check for mcpl-input is in the cpp-layer now 2022-12-22 17:19:56 +01:00
Erik B Knudsen
4d7797c25b mistake assigning the wrong variable 2022-12-22 17:18:37 +01:00
Erik B Knudsen
e9c6b03b9e remove dead code 2022-12-22 17:17:50 +01:00
Erik B Knudsen
fe19cfcdd2 set seed to get a deterministic test and set result 2022-12-22 17:16:16 +01:00
erkn
83b914af24 Merge branch 'mcpl_input' of github.com:ebknudsen/openmc into mcpl_input 2022-12-22 12:05:54 +01:00
erkn
ff48f53595 skip mcpl-test if it is not enabled
patterned after the dagmc-tests
This required the MCPL_ENABLED symbol to be unmangled
2022-12-22 12:04:29 +01:00
myerspat
903c93de26 Merge branch 'distribution-alias-sampling' of github.com:myerspat/openmc into distribution-alias-sampling 2022-12-21 16:59:21 -05:00
myerspat
dd569c616c increased stdev width to 4 2022-12-21 16:59:04 -05:00
Patrick Myers
a953938bdf
Change alias sampling comment
Co-authored-by: Paul Wilson <paul.wilson@wisc.edu>
2022-12-21 15:39:13 -06:00
myerspat
19c807ade2 updated regression tests 2022-12-21 10:15:14 -05:00
Erik B Knudsen
a50776219f resolve conflict w. develop 2022-12-21 11:33:36 +01:00
erkn
9865a129c4 optionally install mcpl depending on environment var 2022-12-21 00:22:38 +01:00
erkn
1ab9aa4b6f script for installing mcpl as a ci-thing 2022-12-21 00:14:43 +01:00
erkn
de8dcbd332 Merge branch 'mcpl_output_dev' into mcpl_input 2022-12-21 00:01:15 +01:00
erkn
52316095fb Merge branch 'mcpl_input' of github.com:ebknudsen/openmc into mcpl_input 2022-12-21 00:00:12 +01:00
erkn
2b7fa8fdd2 Revert "enable mcpl from the python layer"
This reverts commit e3f1bdaca1.
There is now a check in the cpp-layer if the file is named .mcpl
2022-12-20 23:58:34 +01:00
erkn
94537e8570 Merge branch 'mcpl_output_dev' of github.com:ebknudsen/openmc into mcpl_output_dev 2022-12-20 23:52:15 +01:00
myerspat
6c3968525b Merge branch 'develop' of github.com:myerspat/openmc into distribution-alias-sampling 2022-12-20 16:46:56 -05:00
myerspat
748e7da3f9 added test for xml node Discrete constructor 2022-12-19 17:25:20 -05:00
myerspat
90509d928b moved alias method to function and fixed sampling bug 2022-12-19 17:24:33 -05:00
myerspat
907cf7df4d changed catch2 clone link to https 2022-12-16 12:30:08 -05:00
Paul Romano
4e49f69f02
Merge pull request #2320 from paulromano/from-njoy-high-t-fix
Fix `IncidentNeutron.from_njoy` for high temperatures
2022-12-15 16:22:43 -06:00
Patrick Shriwise
2eca57a299 Adding mesh memo to Settings.from_xml_element 2022-12-13 23:16:57 -06:00
Patrick Shriwise
43687e5194 Improve comment on recursion arguments 2022-12-12 21:40:48 -06:00
Patrick Shriwise
f3bcad37b7 Addressing comments from @paulromano 2022-12-12 21:30:05 -06:00
Patrick Shriwise
145594ebb8
Apply @paulromano suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-12-12 20:23:49 -06:00
Paul Romano
a8a6f6c49b
Merge pull request #2323 from joshmay1/unset_temp
Add capability to unset cell temperatures
2022-12-09 07:19:07 -06:00
Paul Romano
3addc25319
Merge pull request #2319 from paulromano/allow-low-source-energies
Allow source particles with energy below cutoff
2022-12-07 22:32:26 -06:00
Paul Romano
7a58d3a9f4
Merge pull request #2318 from paulromano/region-parentheses-fix
Fix algorithm for adding parentheses to enforce precedence in region expressions
2022-12-07 22:32:06 -06:00
Patrick Shriwise
916863f82a Renaming and docstring/comment updates 2022-12-07 11:02:10 -06:00
Patrick Shriwise
9c942db45e Correct use of mesh memo in single XML export 2022-12-07 10:10:22 -06:00
Patrick Shriwise
ef13643f29 Some housekeeping in the Python classes 2022-12-07 08:28:23 -06:00
Thomas Kittelmann
a86e74f59a Rename compute_angular_distribution to pencil_beam_model 2022-12-07 12:51:31 +01:00
Thomas Kittelmann
f2c28706a6
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-12-07 10:12:23 +01:00
Patrick Shriwise
7873b4d6c1
Update tests/regression_tests/model_xml/test.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-12-06 21:50:49 -06:00
Patrick Shriwise
55d77cf06c Small improvements to read_model_xml 2022-12-06 21:50:08 -06:00
Patrick Shriwise
7fdfed22f3 Some cleanup of file utils 2022-12-06 21:49:46 -06:00
Patrick Shriwise
939adbe70e Updating tests to reflect changes to API 2022-12-06 14:41:26 -06:00
Patrick Shriwise
d639d1dc1b Docstring correction 2022-12-06 14:41:11 -06:00
Patrick Shriwise
5634d8318a Changing name of input argument for Python executor 2022-12-06 14:40:59 -06:00
Patrick Shriwise
bc1791d367 Updates to simplify model filename checking 2022-12-06 14:40:02 -06:00
Patrick Shriwise
270331aff9 Adding function to check if a path is a directory 2022-12-06 14:39:44 -06:00
Patrick Shriwise
574845b18b Moving Model.from_separate_xmls back to Model.from_xml. 2022-12-06 13:18:31 -06:00
Patrick Shriwise
ef2f690e3d Updating handling of single XML input to leverage existing settings::path_input 2022-12-06 13:03:38 -06:00
Patrick Shriwise
cd7c3bf6ba Updates to import/export methods suggested by @paulromano 2022-12-06 13:03:38 -06:00
Patrick Shriwise
2c27d1065a Moving other relevant XML reorder calls and updating expected input again. 2022-12-06 13:03:38 -06:00
Patrick Shriwise
83cf6848d0 Updating expected inputs with reordering 2022-12-06 13:03:38 -06:00
Patrick Shriwise
3f4a9eb7a2 Reordering geometry XML element attributes 2022-12-06 13:03:38 -06:00
Patrick Shriwise
7f5d2a5839 Refactoring model_xml regression tests a bit and adding input checking 2022-12-06 13:03:38 -06:00
Patrick Shriwise
72ff942226 Checking RuntimeError message correctly 2022-12-06 13:03:38 -06:00
Patrick Shriwise
b3225be24d Adding executor tests 2022-12-06 13:03:38 -06:00
Patrick Shriwise
e7f95b0c7a Docstring correction and a note about the recursion 2022-12-06 13:03:38 -06:00
Patrick Shriwise
5d1ead2e6a Addressing some more PR comments. A couple of typo fixes too. 2022-12-06 13:03:38 -06:00
Patrick Shriwise
6f7a6febd3 Updating model XML file format w/ indentation. 2022-12-06 13:03:38 -06:00
Patrick Shriwise
fe47d565fd Spot check in error message from failed run 2022-12-06 13:03:38 -06:00
Patrick Shriwise
7a203fbf72 Correcting parenthesis 2022-12-06 13:03:38 -06:00
Patrick Shriwise
1e6cb68ea4 Addressing a few more comments in C++ code 2022-12-06 13:03:38 -06:00
Patrick Shriwise
366f9e905c Test comment and updated error messages 2022-12-06 13:03:38 -06:00
Patrick Shriwise
d9847163e8 Adding ability to specify an input filename to the executable or to the python exec 2022-12-06 13:03:38 -06:00
Patrick Shriwise
b76825fa9f Addressing some comments from PR 2022-12-06 13:03:38 -06:00
Patrick Shriwise
d034e1de9c Apply suggestions from code review
Incorporating suggestions from @paulromano

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-12-06 13:03:38 -06:00
Patrick Shriwise
1e7dbe99cf Making sure meshes are only written once to a model.xml file 2022-12-06 13:03:38 -06:00
Patrick Shriwise
662d83a7dd Running some existing regression tests using single XML file 2022-12-06 13:03:38 -06:00
Patrick Shriwise
abd3d515b0 Correcting doc strings for material mapping sent to 2022-12-06 13:03:38 -06:00
Patrick Shriwise
021bb280c9 Adding initial test for exporting model.xmls. Correcting material maps 2022-12-06 13:03:38 -06:00
Patrick Shriwise
611475a835 Restructureing input function calls a little 2022-12-06 13:03:38 -06:00
Patrick Shriwise
b4dcc30f92 Removing walrus operator 2022-12-06 13:03:38 -06:00
Patrick Shriwise
2e716589a1 Other bug fixes 2022-12-06 13:03:38 -06:00
Patrick Shriwise
5ac6e87a68 Properly call read_plots_xml 2022-12-06 13:03:38 -06:00
Patrick Shriwise
af6b0af1e3 Fix loop variable overwrite 2022-12-06 13:03:38 -06:00
Patrick Shriwise
9391f17cff Adding import for single or multiple XMLs 2022-12-06 13:03:38 -06:00
Patrick Shriwise
81aa653d50 Factoring out some common lines between reader functions 2022-12-06 13:03:38 -06:00
Patrick Shriwise
bec9bf6f20 Refactoring model read into it's own function. 2022-12-06 13:03:38 -06:00
Patrick Shriwise
cdd2a6b1ca Correcting doc scope and some reads 2022-12-06 13:03:38 -06:00
Patrick Shriwise
040965245d Adding signatures for reading information from an XML node where necessary. 2022-12-06 13:03:38 -06:00
Patrick Shriwise
7a9d8c95af Keeping old option to write separate XMLs so I can still use to tests to make sure I don't break stuff. 2022-12-06 13:03:38 -06:00
Patrick Shriwise
a09a61e77b Writing all output under a single root node 2022-12-06 13:03:38 -06:00
Patrick Shriwise
ad746cb3e1 Writing all main nodes to a single XML file 2022-12-06 13:03:38 -06:00
Patrick Shriwise
2555b951a4 Factor out to_xml_element methods for XML classes 2022-12-06 13:03:38 -06:00
josh
5b807d4e6c add capability to set cell temperature to None 2022-12-06 18:31:28 +00:00
Amanda Lund
b6075e0543
Merge pull request #2312 from paulromano/no-atomic-relax-fix
Fix photon transport when no atomic relaxation data is present
2022-12-06 09:44:02 -06:00
Paul Romano
772810a643
Merge pull request #2313 from valeriogiusti/valeriogiusti-patch-2
Update universe.py
2022-12-06 06:52:27 -06:00
Paul Romano
f9884650ec Fix IncidentNeutron.from_njoy for high temperatures 2022-12-05 23:11:20 -06:00
Paul Romano
f9309bf090 Check for valid binding energy for photoelectric effect 2022-12-05 22:18:41 -06:00
Paul Romano
743bb31f1f
Merge pull request #2311 from paulromano/depletion-print-output
Only show print() output from openmc.deplete on rank 0
2022-12-05 20:58:41 -06:00
Paul Romano
185920a7f1 Allow source particles with energy below cutoff (will just deposit energy) 2022-12-05 16:19:58 -06:00
Paul Romano
db6a818a56 Ensure complex cell test case covers need for adding precedence 2022-12-05 10:35:24 -06:00
Paul Romano
e99f6e45e9 Fix algorithm for adding parentheses in region expressions 2022-12-05 10:33:52 -06:00
valeriogiusti
43c0dcb1b8
Update universe.py
Running a Jupyter notebook prepared some time ago, I got the following error when trying to plot a universe.

```
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-6d5315041afe> in <module>
      1 universe = openmc.Universe(cells=(fuel, moderator))
----> 2 universe.plot(origin=[0.,0.,0.],width=[2.4,2.4],basis='xy')

~/.local/lib/python3.8/site-packages/openmc/universe.py in plot(self, origin, width, pixels, basis, color_by, colors, seed, openmc_exec, axes, **kwargs)
    362             if not img_path.is_file():
    363                 img_path = img_path.with_suffix('.ppm')
--> 364             img = mpimg.imread(img_path)
    365 
    366             # Create a figure sized such that the size of the axes within

/usr/lib/python3/dist-packages/matplotlib/image.py in imread(fname, format)
   1434                 return handler(fd)
   1435     else:
-> 1436         return handler(fname)
   1437 
   1438 

/usr/lib/python3/dist-packages/matplotlib/image.py in read_png(*args, **kwargs)
   1388     def read_png(*args, **kwargs):
   1389         from matplotlib import _png
-> 1390         return _png.read_png(*args, **kwargs)
   1391 
   1392     handlers = {'png': read_png, }

TypeError: Object does not appear to be a 8-bit string path or a Python file-like object

```
The error disappears and the plot is correctly shown if line 364 is changed as follows:

`img = mpimg.imread(str(img_path))`

Does this change sound reasonable? I'm running Python 3.8.10.
2022-12-01 11:49:52 +01:00
Paul Romano
d7fc8e59a2
Merge pull request #2310 from joshmay1/uni_nuclide_densities
Fix bug in `openmc.Universe.get_nuclide_densities()`
2022-11-29 19:49:45 -08:00
josh
3f83699c22 update styling 2022-11-30 00:59:26 +00:00
Paul Romano
ea7e2a13d0 Docs: clarify use of environment variables in tests 2022-11-29 17:31:29 -06:00
Paul Romano
b66d9e0a90 Add check for presence of atomic relaxation data in PhotonInteraction 2022-11-29 16:21:47 -06:00
Paul Romano
01e86efc9e Only show print() output from openmc.deplete on rank 0 2022-11-29 13:29:57 -06:00
Jose Ignacio Marquez Damian
e7b4285bd5 Cleanup 2022-11-29 11:21:04 +01:00
josh
71631ada04 fix universe's get_nuclide_density without volumes present 2022-11-29 03:39:39 +00:00
Paul Romano
a601088e8b
Merge pull request #2305 from paulromano/divide-by-atoms
Rename `divide_by_adens` to `divide_by_atoms`
2022-11-28 08:49:50 -08:00
Jose Ignacio Marquez Damian
e626447a4e
Update gha-script.sh 2022-11-28 11:18:32 -03:00
Jose Ignacio Marquez Damian
4391d601fd
find NCrystal 2022-11-28 11:06:06 -03:00
Jose Ignacio Marquez Damian
19bf624b34
Add NCrystal installation test 2022-11-28 11:03:41 -03:00
Jose Ignacio Marquez Damian
c98a121710
Update gha-install.py 2022-11-28 09:56:10 -03:00
Jose Ignacio Marquez Damian
8598ff7e43
Pass CMAKE_PREFIX_PATH from NCrystall installation 2022-11-28 09:45:27 -03:00
Jose Ignacio Marquez Damian
fff545ac79
Update gha-install-ncrystal.sh 2022-11-28 09:27:12 -03:00
Jose Ignacio Marquez Damian
be330a11b6
Update gha-install-ncrystal.sh 2022-11-28 09:15:45 -03:00
Jose Ignacio Marquez Damian
3e6bb9d5f6
Upgrade installation script to NCrystal 3.5.0 2022-11-28 08:51:23 -03:00
Patrick Shriwise
acb54281da
Merge pull request #2307 from eepeterson/change_centroid_shapes
changing centroid/vertex shape
2022-11-27 22:36:45 -06:00
Ethan Peterson
3794673c70
Apply suggestions from code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-11-27 15:54:03 -05:00
Paul Romano
33ead74209
Merge pull request #2302 from yardasol/depletion-statepoints-fix
Fix zero-valued `runtime` attribute in depletion statepoints.
2022-11-23 05:07:12 -08:00
Ethan Peterson
5a716f1f3a moved coordinate axis to 0 2022-11-22 11:01:18 -05:00
Olek
8163d7a759 use defaultdict
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-11-22 07:32:48 -06:00
Olek
da7e06dc53
Merge pull request #2301 from paulromano/decay-products
Produce light particles from decay
2022-11-22 07:28:30 -06:00
Paul Romano
a08072e450
Update comment in openmc_operator.py per @yardasol suggestion
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
2022-11-21 15:57:23 -06:00
Paul Romano
102288f94a
Apply @yardasol suggestions from code review
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
2022-11-21 15:36:34 -06:00
Paul Romano
ea0892f0f3 Updated docstring to better explain chain_file and micro_xs 2022-11-21 15:20:12 -06:00
Paul Romano
5dc6550312 Rename divide_by_adens --> divide_by_atoms 2022-11-21 14:51:40 -06:00
Rémi Delaporte-Mathurin
f0721ac535
Apply suggestions from code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-11-21 14:30:36 -05:00
RemDelaporteMathurin
10a95186e3 origin is tuple + fixed any 2022-11-21 14:07:45 -05:00
RemDelaporteMathurin
3325667c51 minor version bump for statepoint files 2022-11-21 12:22:39 -05:00
RemDelaporteMathurin
f51f181761 fixed optional xml reading 2022-11-21 11:53:49 -05:00
RemDelaporteMathurin
b63ec9cdc3 read mesh optional 2022-11-21 09:48:42 -05:00
RemDelaporteMathurin
df1a45b654 origin from_hdf5 2022-11-21 09:46:13 -05:00
RemDelaporteMathurin
8681751238 check length origin 2022-11-21 09:45:11 -05:00
Rémi Delaporte-Mathurin
6d787d5fb0
Apply suggestions from code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-11-21 09:39:01 -05:00
Rémi Delaporte-Mathurin
c5affa805e
Review suggestions
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-11-21 09:37:57 -05:00
Erik B Knudsen
c9c74f08b2 apply clang-format 2022-11-21 00:34:30 +01:00
Jose Ignacio Marquez Damian
9e1abb3284
Update gha-install-ncrystal.sh 2022-11-19 10:47:26 +01:00
Jose Ignacio Marquez Damian
39d0c5cd61
Try to initialize with setup.sh 2022-11-19 09:38:34 +01:00
Jose Ignacio Marquez Damian
b199db9cb9
Update gha-install-ncrystal.sh 2022-11-19 09:06:42 +01:00
Jose Ignacio Marquez Damian
d7ab491f47
Try fix of NCrystal install 2022-11-19 08:57:00 +01:00
Erik B Knudsen
fab1ddac00
prefer native as default
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-11-19 02:19:41 +01:00
Erik B Knudsen
ccbef891ef update to doc-string 2022-11-19 01:49:31 +01:00
Erik B Knudsen
727161f95a remove some in-code comments 2022-11-19 01:44:47 +01:00
Erik B Knudsen
8bfb1af81e remove unneccessary in-code comments 2022-11-19 01:41:02 +01:00
Erik B Knudsen
a40cc14d8e check in the c++-layer if it's an mcpl-file 2022-11-19 00:33:04 +01:00
Erik B Knudsen
a299dcc56b add a documentation entry to surf_source_write 2022-11-19 00:28:22 +01:00
Erik B Knudsen
6442de6834
remove unneccessary initialization
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-11-18 23:26:24 +01:00
yardasol
d45c37b206 Add test for runtime attribute on depletion statepoints 2022-11-18 15:54:55 -06:00
Jose Ignacio Marquez Damian
b9a1fd5624 Merge branch 'mixed_ncrystal' of https://github.com/highness-eu/openmc into mixed_ncrystal 2022-11-18 22:41:19 +01:00
Jose Ignacio Marquez Damian
b9e8f1324e Attempt to fix NCrystal installation script 2022-11-18 22:40:46 +01:00
Jose Ignacio Marquez Damian
8cf9dbe320 Fixed in NCrystal docs 2022-11-18 22:28:04 +01:00
Jose Ignacio Marquez Damian
87ed26babe
Add option to install NCrystal 2022-11-18 17:48:19 -03:00
Jose Ignacio Marquez Damian
5f8e64b463
Add NCrystal vairables to ci.yml 2022-11-18 17:47:21 -03:00
Jose Ignacio Marquez Damian
91f939a391 Add flag for NCrystal 2022-11-18 18:26:31 +01:00
yardasol
e4281408f6 reset timers after writing statepoint file 2022-11-18 10:31:58 -06:00
Jose Ignacio Marquez Damian
54745f5076
Changed example NCrystal cfg strings 2022-11-18 11:11:37 -03:00
Rémi Delaporte-Mathurin
f60f95feb4
[skip ci] removed # TODOs 2022-11-18 09:03:35 -05:00
jiankai-yu
a17fe6cc82
Add decay heat function in material (#2287)
* add decay heat in material.py

* add decay_energy.json into eggs

* fix a bug when returned decay_ery is None

* add unit test for decayheat

* fix typo in doc string

* address reviewer's comments

* add user defined decay energy

* remove json for decay energy

* address a few comments

* add to docs
2022-11-17 22:57:01 -06:00
Jose Ignacio Marquez Damian
24572a71f2 Added simple NCrystal test 2022-11-17 16:33:48 +01:00
Jose Ignacio Marquez Damian
cf96ddf8bb
Basic introduction to NCrystal
Included references to the main papers and documentation
2022-11-17 13:47:03 +01:00
Paul Romano
d6a4a3ecb9 Produce light particles from decay 2022-11-16 23:07:52 -06:00
Paul Romano
7a6d8cc58f
Merge pull request #2297 from paulromano/compton-profile-bugfix
Prevent out-of-bounds memory access on Compton profile data
2022-11-16 20:50:37 -08:00
Erik B Knudsen
3e60d51f90 from_xml mcpl-settings functionality 2022-11-16 13:54:08 +01:00
Erik B Knudsen
b2320ae1d4 not needed since mcpl-file is created by openmc 2022-11-16 13:42:25 +01:00
Erik B Knudsen
e224adf431
follow source code conventions
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-11-16 10:31:15 +01:00
Paul Romano
1962139236
Merge pull request #2298 from fusion-energy/improved_config_error_message
added acceptable keys to error message
2022-11-15 05:26:33 -08:00
Paul Romano
7980d0b4c5
Merge pull request #2299 from pshriwise/ww_msg
Correction to error message regarding WW shape
2022-11-15 05:25:41 -08:00
Paul Romano
df3334f19a
Merge pull request #2265 from joshmay1/temp_interp_tol
Adds a tolerance for temperatures slightly out of bounds when interpolating
2022-11-14 21:24:52 -08:00
Patrick Shriwise
b2d5ca1176 Fixing a typo and adding some clarity 2022-11-14 19:50:47 -06:00
josh
dc5f2746d3 avoid double reading thermal scattering libraries 2022-11-14 20:36:11 +00:00
Patrick Shriwise
70981bcd5d Correction to error message regarding WW shape 2022-11-14 13:05:43 -06:00
shimwell
2aef8052e9 added acceptable keys to help user 2022-11-13 16:11:23 +00:00
myerspat
d65ac06bd6 Catch2 unit testing capabilities and alias sampling unit test 2022-11-12 13:32:41 -05:00
myerspat
4072fc430b Removing excess probability vector 2022-11-12 13:31:27 -05:00
myerspat
a28a175261 Added catch2 submodule for cpp testing 2022-11-12 13:19:21 -05:00
Paul Romano
6ede028b39 Prevent out-of-bounds memory access on Compton profile data 2022-11-11 20:50:36 -06:00
Paul Romano
765df9115f
Merge pull request #2295 from colinelarmier/fix_yield
Fix the case where the yield is zero.
2022-11-11 12:03:40 -08:00
Coline Larmier
ae785fda5f Fix the case where the yield is zero.
Problem detected in the context of a code-to-code comparison between OpenMC and TRIPOLI-4:
- configuration: sphere of radius R = 30 cm containing the isotope ZR93 at 293K
- sphere irradiated at the center by an isotropic, mono-energy, point source (E_0 = 14.1 MeV)
- data from JEFF-3.3

For some isotopes, namely ZR93 at 293K, the sampled yield can be equal to 0 (namely for MT=5: interaction "n-other").
In such a case, it is necessary to deactivate the particle.
2022-11-11 10:47:13 +01:00
Paul Romano
7d824ce1af
Merge pull request #2266 from eepeterson/polygon_surface
Polygon composite surface
2022-11-10 14:44:19 -08:00
Paul Romano
d56b5026d6
Merge pull request #2293 from pshriwise/filter-enum
FilterType Enumerator
2022-11-10 13:05:13 -08:00
Ethan Peterson
2283e08fdc add abs_tol to prevent cones with infinite or 0 slope 2022-11-10 13:00:11 -05:00
Ethan Peterson
2adbe97194 updated algorithms and documentation 2022-11-10 11:15:24 -05:00
Ethan Peterson
d314bedbd7 improving documentation and style 2022-11-10 11:15:24 -05:00
Ethan Peterson
b0d71b3146 Apply suggestions from @paulromano code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-11-10 11:15:24 -05:00
Ethan Peterson
8ddb045c7d added warning about non-transmissive boundary_type 2022-11-10 11:15:24 -05:00
Ethan Peterson
a587f5e1c9 forgot to remove print 2022-11-10 11:15:24 -05:00
Ethan Peterson
fdc3cfcfbb fixed proper boundary_type setting? 2022-11-10 11:15:24 -05:00
Ethan Peterson
299525984f simplified offset method 2022-11-10 11:15:24 -05:00
Ethan Peterson
13b1bb88d0 added unit test 2022-11-10 11:15:24 -05:00
Ethan Peterson
bf58a46a9c cleaning up and moving all methods to instance methods rather than module 2022-11-10 11:15:24 -05:00
Ethan Peterson
a26dcc65b7 cleaning up/consolidating functions 2022-11-10 11:15:24 -05:00
Ethan Peterson
3fe2bf4cb6 cleaning up unnecessary methods 2022-11-10 11:15:24 -05:00
Ethan Peterson
f6f2ed7b17 got other basis sets working 2022-11-10 11:15:24 -05:00
Ethan Peterson
aa7aab1768 method to break polygon into convex sets complete 2022-11-10 11:15:24 -05:00
Ethan Peterson
f6152d8250 working on other basis options 2022-11-10 11:15:24 -05:00
Jose Ignacio Marquez Damian
1f3c5ed6bc
Add use instructions and examples for NCrystal 2022-11-10 13:04:47 -03:00
Jose Ignacio Marquez Damian
e64bf6a7ff
Add installation instructions for NCrystal 2022-11-10 12:31:45 -03:00
Patrick Shriwise
d765d3224f
Update openmc/filter.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-11-10 09:02:31 -06:00
Paul Romano
2ed86f57fb
Merge pull request #2290 from HunterBelanger/fix_tsl_data
Fix for non-zero CDF start points in incoherent inelastic data
2022-11-10 05:30:06 -08:00
Paul Romano
1a91fc6fcb
Merge pull request #2263 from eepeterson/redundant_surf_fix
Fix for finding redundant surfaces
2022-11-10 05:18:24 -08:00
Patrick Shriwise
5e7f3f7efd Adding alias for CellbornFilter in the Python API 2022-11-09 17:34:05 -06:00
Patrick Shriwise
aaaff62135 Using new CellBornFilter class name in the tallies reg test 2022-11-09 17:33:01 -06:00
Patrick Shriwise
67e18c0db6 Updating documentation for CellBornFilter 2022-11-09 16:34:46 -06:00
Patrick Shriwise
21a14f6eeb
Add suggestion from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-11-09 16:23:48 -06:00
Ethan Peterson
1110038939 remove get_redundant_surfaces and cache 2022-11-08 21:04:15 -05:00
myerspat
1abb728b4f bug fixing Discrete constructor 2022-11-08 19:42:16 -05:00
Patrick Shriwise
8d58588341 Changing CellBorn filter name to match other class names 2022-11-05 21:20:41 -05:00
Patrick Shriwise
06fbf3fe01 Switch to use of FilterType enum for comparisons 2022-11-05 21:20:41 -05:00
Patrick Shriwise
20718f5121 Adding enumerator for filter types. 2022-11-05 21:20:41 -05:00
myerspat
b469b3a169 Added alias sampling to discrete distribution 2022-11-05 13:50:27 -04:00
Hunter Belanger
6a0d504303 Fix wording of comments 2022-11-05 13:05:47 +01:00
Paul Romano
1a7762283d
Merge pull request #2239 from myerspat/region-refactoring
Region refactor
2022-11-04 20:12:47 -05:00
Paul Romano
cd843fc351
Merge pull request #2280 from pshriwise/dagmc-missing-mat
Improve DAGMC messages for missing materials
2022-11-04 20:12:06 -05:00
Patrick Shriwise
7266fcc5ed Making error messages consistent 2022-11-04 17:20:31 -05:00
Patrick Shriwise
075ff0304c Adding tests for expected error messages 2022-11-04 17:20:29 -05:00
Patrick Shriwise
89fafb4fdf Improving missing material error for DAGMC material by ID 2022-11-04 17:19:48 -05:00
Paul Romano
647c9d185e
Update include/openmc/cell.h 2022-11-04 13:26:13 -05:00
Hunter Belanger
6cb7a178e8 Fix spelling error. 2022-11-03 19:09:28 +01:00
Hunter Belanger
fd516c1c4c Doctors the incoherent inelastic TSL data when in continuous format. 2022-11-03 18:55:06 +01:00
Paul Romano
3682c02d1f
Merge pull request #2282 from shimwell/update_atomic_mass_to_amdc_2020
swapped from 2016 to 2020 amdc data
2022-11-03 12:10:13 -05:00
Jonathan Shimwell
235195b125
Changed comment to reference 2020 atomic data version.
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-11-02 12:20:50 +00:00
Paul Romano
309c78dc78
Merge pull request #2273 from shimwell/type_hinting_for_source.py
Type hinting for source.py
2022-11-02 06:50:10 -05:00
josh
81b88cc018 Clean up comparisons and lump test cross sections 2022-11-02 02:23:37 +00:00
Jonathan Shimwell
375af321d8
corrected types from code review by @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-11-01 15:49:22 +00:00
Ethan Peterson
71aa46a0b1
Merge pull request #2284 from pshriwise/add-ww-rndtrp-test
Adding __eq__ method and roundtrip test for weight windows
2022-10-30 10:37:09 -04:00
erkn
fadb02f989 Merge branch 'mcpl_input' of github.com:ebknudsen/openmc into mcpl_input 2022-10-30 12:30:16 +01:00
josh
f6a7b61c4a address a few more formatting issues 2022-10-30 03:31:26 +00:00
josh
fc0e2c9bd0 undo formatting change of settings file 2022-10-30 03:28:14 +00:00
josh
0792d987d0 Merge branch 'develop' into temp_interp_tol 2022-10-30 03:10:57 +00:00
Ethan Peterson
b9c1eb34fb
Merge pull request #2283 from paulromano/chain-reduce-sources-bugfix
Make sure Chain.reduce preserves decay source information
2022-10-29 09:11:22 -04:00
Jonathan Shimwell
21ec8baea4 updated reference depletion results 2022-10-28 22:26:14 +01:00
Jonathan Shimwell
10b11c02a8 f strings and pep8 2022-10-28 22:25:36 +01:00
Jonathan Shimwell
7eb1a7bbd0 updated reference micro xs values 2022-10-28 22:07:46 +01:00
Patrick Shriwise
b00404be7c Updating dimension type to tuple in a couple of test checks 2022-10-28 04:34:35 +00:00
Patrick Shriwise
43033b656c Returning a tuple for RegularMesh.dimension 2022-10-27 14:47:16 -05:00
Patrick Shriwise
80563f1b8c Absolute file paths on system 2022-10-27 14:43:14 -05:00
Patrick Shriwise
53ec17eb77 fix comment 2022-10-27 11:41:12 -05:00
Patrick Shriwise
5c589b7a6c Adding __eq__ method and roundtrip test for wws 2022-10-27 11:40:12 -05:00
Jonathan Shimwell
3623408bc5 avoid namespace overwrite of union 2022-10-27 17:38:27 +01:00
Jonathan Shimwell
459b0f1fcf avoid union namespace overwrite 2022-10-27 16:17:49 +01:00
Paul Romano
df9f7ec814 Make sure Chain.reduce preserves information in the .sources attribute 2022-10-27 08:51:32 -05:00
Jonathan Shimwell
9ff159a4db updated to new AME format 2022-10-26 21:08:12 +01:00
Jonathan Shimwell
2af754baa9 forward ref for openmc.source 2022-10-26 20:32:44 +01:00
Jonathan Shimwell
84b055e15b reordered imports to avoid circular imports 2022-10-26 20:24:23 +01:00
Jonathan Shimwell
5d177a5ace
Apply suggestions from code review by @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-10-26 20:21:06 +01:00
Ethan Peterson
f5f42a4c80
Update openmc/geometry.py
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-10-26 13:37:09 -04:00
Jonathan Shimwell
6131136bd1 swapped from 2016 to 2020 amdc data 2022-10-26 18:33:26 +01:00
Ethan Peterson
e8d3e14adf cache redundant_surfaces 2022-10-26 12:13:43 -04:00
Ethan Peterson
a46cafa7fe addressed @pshriwise comments 2022-10-26 09:41:03 -04:00
Ethan Peterson
33021f7af1 removed precision parameter 2022-10-26 09:41:03 -04:00
Ethan Peterson
fec53aa1fa updated tests 2022-10-26 09:41:03 -04:00
Ethan Peterson
4604c10da1 added attributes and warnings 2022-10-26 09:41:03 -04:00
Ethan Peterson
1ab2cbec40 revert to False because of failing tests 2022-10-26 09:41:03 -04:00
Ethan Peterson
a67b330d8f round and change default to True 2022-10-26 09:41:03 -04:00
Paul Romano
97f1e2fdd7
Merge pull request #2276 from openmc-dev/yardasol-patch-1
small grammar fix in `Settings.temperature` docstring
2022-10-25 22:51:00 -05:00
Paul Romano
586f958f5d
Merge pull request #2272 from paulromano/move-to-0.13.3-dev
Change version number to 0.13.3-dev
2022-10-25 22:49:35 -05:00
Patrick Shriwise
781603ba70
Merge pull request #2275 from eepeterson/ww_bugfix
ww_bounds bug fix in setter and getter
2022-10-25 07:30:19 -05:00
Ethan Peterson
7c9a18ddd0
Update openmc/weight_windows.py 2022-10-24 16:49:09 -04:00
Ethan Peterson
d78433ad3d reshape in from_xml and update inputs 2022-10-24 16:47:34 -04:00
Ethan Peterson
316cca3304
Merge pull request #1 from shimwell/adding_test_for_lower_ww_bounds_shape
added test for lower ww shape
2022-10-24 15:19:36 -04:00
Olek
89ba5afb6c
Use @lewisgross1296 suggestion
Co-authored-by: Lewis Gross <43077972+lewisgross1296@users.noreply.github.com>
2022-10-24 13:36:36 -05:00
Jonathan Shimwell
3d26f1992c added test for lower ww shape 2022-10-24 19:13:22 +01:00
Olek
58b1a80b64
small grammar fix in Settings.temperature docstring 2022-10-24 13:02:09 -05:00
Ethan Peterson
a9933c5ecf bounds.reshape doesn't modify bounds it returns a new array 2022-10-24 13:23:15 -04:00
Jonathan Shimwell
4116f6cda0 used forwards ref to avoid circlar imports 2022-10-21 19:04:45 +01:00
Jonathan Shimwell
17a6552027 added return types 2022-10-21 18:47:07 +01:00
Jonathan Shimwell
1a7066a885 added type hints for source.py 2022-10-21 18:38:44 +01:00
Paul Romano
1f973e1ebe Change version number to 0.13.3-dev 2022-10-21 12:00:58 -05:00
Paul Romano
030f73a869
Merge pull request #2269 from paulromano/release-0.13.2
Release of version 0.13.2
2022-10-21 11:59:55 -05:00
RemDelaporteMathurin
b874d83634 only translate when origin is not 0, 0, 0 2022-10-21 15:55:08 +02:00
Thomas Kittelmann
a3dd55d8bc first stab at gha-install-ncrystal.sh 2022-10-21 15:04:57 +02:00
Paul Romano
4fd665c008 Remove -dev on version number 2022-10-21 07:08:53 -05:00
Paul Romano
2e433653cc Avoid warning message on clang 2022-10-21 07:08:53 -05:00
Paul Romano
6d499fa0c0 Fix missing underscore in release notes 2022-10-21 07:08:52 -05:00
Paul Romano
53b6d8ab11 Change 0.14.0 --> 0.13.2 2022-10-21 07:08:52 -05:00
Paul Romano
a0e5ba4418 Add 0.13.2 release notes 2022-10-21 07:08:49 -05:00
Paul Romano
3347aeaa03 Fixes related to #2253 and #2270 2022-10-21 07:08:49 -05:00
Paul Romano
9bf069e636
Merge pull request #2270 from pshriwise/vol-lrg-samples
Update volume calc types to mitigate overflow issues
2022-10-21 07:01:32 -05:00
Paul Romano
dc0731c949
Merge pull request #2253 from gridley/buildinfo
Can now print some build info
2022-10-21 07:00:04 -05:00
RemDelaporteMathurin
b0743dfdea fixed cv.check_type origin 2022-10-21 11:56:21 +02:00
Thomas Kittelmann
aca4fcb42b NCrystal cfgstr printout now mentions material ID 2022-10-21 10:40:30 +02:00
Thomas Kittelmann
f2e807e942 Move NCrystalRNGWrapper data member into explicit private section as requested 2022-10-21 10:40:30 +02:00
Thomas Kittelmann
a5b811ec89 Use new NCrystal getFlattenedComposition method to better support more complicated materials 2022-10-21 10:40:30 +02:00
Thomas Kittelmann
52ee2c37ce Print where NCrystal was found as suggested by @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-10-21 10:40:30 +02:00
Jose Ignacio Marquez Damian
fdf763e801 Couple of fixes 2022-10-21 10:40:30 +02:00
Jose Ignacio Marquez Damian
5afcc9e49b Apply clang-format 2022-10-21 10:40:30 +02:00
Jose Ignacio Marquez Damian
2e19260dea Implement recommended changes 2022-10-21 10:40:30 +02:00
Jose Ignacio Marquez Damian
29a10eafd3 Removed MacroNCrystalXS
This was left from a previous implementation. Now it is not needed because NCrystal just takes over all neutron scattering events below a given energy threshold.
2022-10-21 10:40:30 +02:00
Jose Ignacio Marquez Damian
70d5c76ebd Fixed material.h 2022-10-21 10:40:30 +02:00
Jose Ignacio Marquez Damian
9c54ac0b6b Fix access to private attributes 2022-10-21 10:40:30 +02:00
Thomas Kittelmann
0f33e0b11c Add temporary requirement of natural elements in NCrystal materials 2022-10-21 10:40:30 +02:00
Jose Ignacio Marquez Damian
0e0cd0a22d Added hooks for NCrystal 2022-10-21 10:40:30 +02:00
Patrick Shriwise
93065d188b Fixing sign for uint max comparison 2022-10-20 20:54:43 -05:00
Patrick Shriwise
06729507ce Moving to uint64_t and updating MPI types as requested by @paulromano 2022-10-20 20:46:47 -05:00
Gavin Ridley
f58f478375
align spaces 2022-10-20 16:58:50 -04:00
Gavin Ridley
f07b0295f9 buildinfo printed on -v flag 2022-10-20 12:12:36 -04:00
Paul Romano
dff3ad48f1
Merge pull request #2271 from eepeterson/include_volume_in_xml
Include volume in xml
2022-10-19 21:29:19 -05:00
Ethan Peterson
1a67755f6a update unit test 2022-10-19 14:27:18 -04:00
Patrick Shriwise
2a802a11a4 Add warning of possible overflow. 2022-10-19 13:23:26 -05:00
Ethan Peterson
e64fb4cd41 added volume read and write to xml 2022-10-19 14:16:52 -04:00
Patrick Shriwise
b7cbd59a13 Changing types to mitigate overflow problems 2022-10-19 13:02:22 -05:00
Patrick Shriwise
7d6bdd1eef
Merge pull request #2268 from paulromano/energyfunc-fix
Fixes for EnergyFunctionFilter
2022-10-19 11:32:04 -05:00
Patrick Shriwise
e2f6f5d1ee
Merge pull request #2251 from paulromano/universe-plot-ppm
Handle possibility of .ppm file in Universe.plot
2022-10-18 12:27:24 -05:00
Paul Romano
1814f826c9 Remove deprecated cylinder_from_points name in docs 2022-10-18 12:14:15 -05:00
Paul Romano
2ae5ccb031 Fix EnergyFunctionFilter.from_xml_element 2022-10-18 12:14:15 -05:00
Paul Romano
0587aeeaa4 Allow EnergyFunctionFilter interpolation to be set from C API 2022-10-18 12:14:15 -05:00
Paul Romano
e32c85dc87
Merge pull request #2247 from shimwell/adding_python_3.9_3.10_to_ci
added py3.9 and py3.10 to CI
2022-10-18 12:07:18 -05:00
Patrick Shriwise
61f8a793d7
Merge pull request #2267 from paulromano/random-test-fix
Improve tests for checking sample means
2022-10-18 10:20:44 -05:00
shimwell
de636b42a9 py3.10 as main build matrix 2022-10-16 13:14:46 +01:00
Paul Romano
358e7b3918 Change assert_sample_mean to use 4sigma CI 2022-10-16 12:19:12 +02:00
Paul Romano
6c4554f1c7 Add missing f prefix for an f-string 2022-10-16 11:42:05 +02:00
josh
7cb6883647 output bounding temp for cell temp out of bounds 2022-10-16 03:57:11 +00:00
Erik B Knudsen
6a1cb09ac0
Merge branch 'openmc-dev:develop' into mcpl_input 2022-10-14 01:43:44 +02:00
Erik B Knudsen
309893230c Merge branch 'mcpl_output_dev' into mcpl_input 2022-10-14 01:43:40 +02:00
Erik B Knudsen
04edce7dc2 do read and write regression test
almost dientical to source_file reg. test
2022-10-14 01:41:44 +02:00
Erik B Knudsen
344efa8de6 don't compress by default 2022-10-14 01:41:21 +02:00
Erik B Knudsen
5da08f6b0e fix logic to avoid writing both kinds of source file 2022-10-14 01:40:52 +02:00
Erik B Knudsen
81fa3b45a3 mcpl-file output simimlar to regular source output file 2022-10-14 00:22:28 +02:00
josh
bee963be86 Merge branch 'develop' into temp_interp_tol 2022-10-13 21:33:39 +00:00
josh
b0a300aedc add to existing temp interp test, update doccs 2022-10-13 21:24:25 +00:00
erkn
cb82616ebf Merge branch 'mcpl_output_dev' into mcpl_input 2022-10-12 21:55:35 +02:00
Erik B Knudsen
94fb5f8fa6 enable MPI
mpi-nodes are gathered sequentially (as for h5)
2022-10-12 19:32:40 +02:00
Erik B Knudsen
ca396268b5 protect against compilation wo mcpl 2022-10-12 19:32:09 +02:00
Erik B Knudsen
e3f1bdaca1 enable mcpl from the python layer
if the source filename ends with mcpl use that
2022-10-12 19:30:38 +02:00
Paul Romano
400000d5c4
Merge pull request #2252 from paulromano/decay-photon-stable-fix
Make sure Material.decay_photon_energy works with no unstable nuclides
2022-10-12 18:28:51 +02:00
Paul Romano
98322dfeb9
Merge pull request #2254 from shimwell/cython_is_build_requirment
assume cython is installed
2022-10-12 18:28:29 +02:00
Rémi Delaporte-Mathurin
9ecaafad7e
Merge pull request #3 from pshriwise/centre_for_cylinder_spherical_meshes
Naming tally in activation unit test
2022-10-12 09:43:34 +02:00
Patrick Shriwise
444a80012b Naming tally in activation unit test 2022-10-11 23:38:13 -05:00
RemDelaporteMathurin
c6b89feaef fixed gold standard 2022-10-11 17:14:21 +00:00
RemDelaporteMathurin
48d75accdd fixed cylindrical mesh test 2022-10-11 17:12:55 +00:00
RemDelaporteMathurin
3792c6fb70 fixed unit test 2022-10-11 17:11:54 +00:00
RemDelaporteMathurin
a97b202c2d updated to_hdf5 2022-10-11 16:41:43 +00:00
RemDelaporteMathurin
408f2fd714 Merge branch 'pshriwise-centre_for_cylinder_spherical_meshes' into centre_for_cylinder_spherical_meshes 2022-10-11 16:26:06 +00:00
RemDelaporteMathurin
3bdb123d7e Merge branch 'centre_for_cylinder_spherical_meshes' of https://github.com/pshriwise/openmc into pshriwise-centre_for_cylinder_spherical_meshes 2022-10-11 16:25:05 +00:00
Patrick Shriwise
adad6e7cd4 Making origin type Positiong. Adding function to parse position from node. 2022-10-11 11:21:31 -05:00
RemDelaporteMathurin
b2d1729287 origin_ instead of origin 2022-10-11 16:08:03 +00:00
RemDelaporteMathurin
76fbdf7fbf centre to origin 2022-10-11 15:41:38 +00:00
RemDelaporteMathurin
27e3bb427a array<double, 3> for origin CylindricalMesh 2022-10-11 15:36:58 +00:00
RemDelaporteMathurin
15f45bcd1d substract before mapping 2022-10-11 15:29:10 +00:00
RemDelaporteMathurin
94547f7c4b new type for centre_ 2022-10-11 15:24:13 +00:00
Erik B Knudsen
73b97b9575 Merge branch 'mcpl_input' of github.com:ebknudsen/openmc into mcpl_input 2022-10-11 16:53:37 +02:00
Erik B Knudsen
4623cb4c9c Merge branch 'mcpl_output_dev' of github.com:ebknudsen/openmc into mcpl_output_dev 2022-10-11 16:52:20 +02:00
erkn
7759028d80 enable mcpl surf_source_write in the python layer 2022-10-11 16:50:40 +02:00
erkn
59a949de36 fix typo causing unit length errors 2022-10-11 16:50:40 +02:00
erkn
93a9270efc fix malformed format string 2022-10-11 16:50:40 +02:00
Erik B Knudsen
6e523fa1f8 must have a full filename 2022-10-11 16:50:40 +02:00
erkn
28cd0c5d3a fix misnamed variable and remove accientally committed code 2022-10-11 16:50:39 +02:00
Erik B Knudsen
9065bdac3a refactor MCPL file read part of FileSource
A new constructor is added to FileSource that reads from
a given MCPL-file.
2022-10-11 16:50:15 +02:00
Erik B Knudsen
172fec2356 add cond. compilation guards for MCPL functions 2022-10-11 16:50:15 +02:00
Erik B Knudsen
8b78374934 fix typo 2022-10-11 16:50:15 +02:00
Erik B Knudsen
cd9eb5b1b2 add a trigger to simulation control 2022-10-11 16:50:15 +02:00
erkn
9d7105ebc7 wip add MCPL-out to openmc
code for writing a source_bank/point compiles but is untested
2022-10-11 16:50:15 +02:00
erkn
52cf6823e6 wip add MCPL-out to openmc
code for writing a source_bank/point compiles but is untested
2022-10-11 16:50:15 +02:00
erkn
3c33ec3b9f refactor MCPL file read part of FileSource
A new constructor is added to FileSource that reads from
a given MCPL-file.
2022-10-11 16:50:13 +02:00
Erik B Knudsen
56cddd25e2 do not define these functions if no MCPL present 2022-10-11 16:49:44 +02:00
erkn
6bceb7c30c wip add MCPL-out to openmc
code for writing a source_bank/point compiles but is untested
2022-10-11 16:49:44 +02:00
Erik B Knudsen
bdc76d95fc refactor MCPL file read part of FileSource
A new constructor is added to FileSource that reads from
a given MCPL-file.
2022-10-11 16:49:44 +02:00
Erik B Knudsen
76e726b527 add cond. compilation guards for MCPL functions 2022-10-11 16:49:44 +02:00
Erik B Knudsen
22ce618601 fix typo 2022-10-11 16:49:44 +02:00
Erik B Knudsen
b6aa2dc429 add mcpl-output settings 2022-10-11 16:49:44 +02:00
Erik B Knudsen
f76e416ee6 use find_package instead - MCPL now supports this 2022-10-11 16:49:44 +02:00
Erik B Knudsen
1519f4f3e6 add a trigger to simulation control 2022-10-11 16:49:44 +02:00
erkn
5462216deb wip add MCPL-out to openmc
code for writing a source_bank/point compiles but is untested
2022-10-11 16:49:44 +02:00
erkn
95338eada0 refactor MCPL file read part of FileSource
A new constructor is added to FileSource that reads from
a given MCPL-file.
2022-10-11 16:46:23 +02:00
Erik B Knudsen
5640bdb9eb fix typo
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-10-11 16:45:54 +02:00
Erik B Knudsen
3b052f03cf expose a python function to check for mcpl 2022-10-11 16:45:54 +02:00
Erik B Knudsen
2730f1954f allow electrons and positrons as well 2022-10-11 16:45:54 +02:00
Erik B Knudsen
bb8c022d77 fail without tripping the entire test-process 2022-10-11 16:45:54 +02:00
Erik B Knudsen
2773add047 needed to avoid name clashes with other tests 2022-10-11 16:45:54 +02:00
Erik B Knudsen
2fa4451938 only add mcpl-support if OPENMC_MCPL is defined 2022-10-11 16:45:54 +02:00
erkn
96ae7b4228 fix misprints 2022-10-11 16:45:53 +02:00
Erik B Knudsen
46e648cf38 add a source type to the settings interface 2022-10-11 16:44:53 +02:00
Erik B Knudsen
2cbcd53f07 add an option to turn on mcpl-support 2022-10-11 16:44:53 +02:00
Erik B Knudsen
1509420c21 fix bugs and finalize interface to MCPL 2022-10-11 16:44:53 +02:00
Erik B Knudsen
a123d239dd add a check that the test input got created as intended 2022-10-11 16:44:53 +02:00
Erik B Knudsen
c21ff938c7 yet another necessary file 2022-10-11 16:44:53 +02:00
Erik B Knudsen
c93defee59 test target result 2022-10-11 16:44:53 +02:00
Erik B Knudsen
e87ebfebc2 set seed to make test deteministic 2022-10-11 16:44:53 +02:00
Erik B Knudsen
935396e40b add necessary xmls 2022-10-11 16:44:53 +02:00
Erik B Knudsen
005189bfdf fix misprints 2022-10-11 16:44:53 +02:00
erkn
b2f83857e4 now compiles fine if mcpl is indeed installed 2022-10-11 16:35:19 +02:00
erkn
c6b42e828c don't zip the output-file 2022-10-11 16:35:18 +02:00
erkn
3e805cce15 c-prog to generate a dummy mcpl 2022-10-11 16:35:18 +02:00
erkn
999acbba9a (wip): skeleton for input only test 2022-10-11 16:35:18 +02:00
Erik B Knudsen
d21ecfa6a7 internals of sample and constructor 2022-10-11 16:35:18 +02:00
Erik B Knudsen
249a554980 declarations of MCPL-internals 2022-10-11 16:35:18 +02:00
Erik B Knudsen
cfbd397d45 include mcpl header 2022-10-11 16:35:18 +02:00
Erik B Knudsen
bf0c5d7f9a add placeholder skeleton for MCPL-input 2022-10-11 16:35:18 +02:00
josh
3e2ddceaac Add tolerance for interp temps outside of bounds 2022-10-11 03:03:51 +00:00
erkn
72251eb30a enable mcpl surf_source_write in the python layer 2022-10-11 02:00:54 +02:00
erkn
aeadaf0b2f fix typo causing unit length errors 2022-10-11 00:48:44 +02:00
erkn
0706a0eca3 fix malformed format string 2022-10-11 00:46:32 +02:00
RemDelaporteMathurin
5632a40e5c Merge branch 'develop' into centre_for_cylinder_spherical_meshes 2022-10-07 13:08:51 +00:00
RemDelaporteMathurin
1ed096f660 added centre tag to standard 2022-10-07 12:53:34 +00:00
RemDelaporteMathurin
e1dbe49bbb correct type for centre_ 2022-10-07 11:06:24 +00:00
RemDelaporteMathurin
fc5aa68d73 removed auto + ; 2022-10-07 10:59:52 +00:00
RemDelaporteMathurin
61b4f30dd4 declaring centre_ in C file 2022-10-07 10:59:35 +00:00
RemDelaporteMathurin
e394637f2f declare variable with auto 2022-10-07 09:32:08 +00:00
RemDelaporteMathurin
bdd13ba3f4 attempt #2 2022-10-07 09:15:27 +00:00
RemDelaporteMathurin
a104c1f890 [skip ci] removed test 2022-10-07 09:07:51 +00:00
RemDelaporteMathurin
d194e00080 test if grid_ is defined in this scope 2022-10-07 09:00:27 +00:00
RemDelaporteMathurin
896ae2792e centre to centre_ 2022-10-07 08:40:04 +00:00
RemDelaporteMathurin
21200d9b6e offsets the write_to_vtk coordinates 2022-10-07 07:42:34 +00:00
RemDelaporteMathurin
16add87c05 now reads back from xml 2022-10-07 07:18:52 +00:00
RemDelaporteMathurin
5787616ae4 added two tests to check centre was written/read to/from xml 2022-10-07 07:18:00 +00:00
RemDelaporteMathurin
f0f5e34b33 read centre from xml 2022-10-07 06:55:56 +00:00
RemDelaporteMathurin
81ac9b0fd9 setters/getters 2022-10-07 06:50:45 +00:00
RemDelaporteMathurin
c20b351a2f write to xml 2022-10-07 06:49:13 +00:00
RemDelaporteMathurin
2a4c8bbb9b centre attribute to CylindricalMesh and SphericalMesh 2022-10-07 06:47:11 +00:00
Paul Romano
5efa3dce63
Merge pull request #2255 from shimwell/drop_py3.6_support_2
removed py3.6
2022-10-06 15:42:34 -05:00
myerspat
f60520e8c5 Removed simple_ from dagmc 2022-10-06 12:28:18 -04:00
Jonathan Shimwell
0a04c20c74 removed py3.6 2022-10-06 15:57:48 +01:00
Paul Romano
47ff27e77f
Merge pull request #2233 from shimwell/adding_from_domain_to_CylindricalMesh
added from domain to CylindricalMesh
2022-10-06 09:36:32 -05:00
Jonathan Shimwell
3779db43b8 assume cython is present 2022-10-06 14:55:01 +01:00
myerspat
169d6d93dc Added Doxygen comments to Region data and methods. Added default implementation for new void functions. 2022-10-05 21:14:48 -04:00
Erik B Knudsen
12f088a5ce must have a full filename 2022-10-06 01:33:21 +02:00
Gavin Ridley
5582180e31 Can now print build info 2022-10-05 17:58:41 -04:00
Paul Romano
fe04a839c2 Make sure Material.decay_photon_energy works with no unstable nuclides 2022-10-05 14:28:18 -05:00
Gavin Ridley
9a86c9c065
Merge pull request #2228 from paulromano/sourcefile-fix
Fix reading source file with time attribute
2022-10-05 14:43:20 -04:00
Paul Romano
004199c49d Handle possibility of .ppm file in Universe.plot 2022-10-05 09:08:02 -05:00
erkn
982377b0cd fix misnamed variable and remove accientally committed code 2022-10-05 14:31:05 +02:00
erkn
9815bf909a Merge branch 'mcpl_output_dev' of github.com:ebknudsen/openmc into mcpl_output_dev 2022-10-05 14:16:39 +02:00
Jonathan Shimwell
6a9a1ad293 added phi_grid_bounds to CylindricalMesh tests 2022-10-05 11:46:00 +01:00
Erik B Knudsen
3b7c4f6d2f do not define these functions if no MCPL present 2022-10-05 11:38:49 +02:00
erkn
e3fbeac636 wip add MCPL-out to openmc
code for writing a source_bank/point compiles but is untested
2022-10-05 11:37:35 +02:00
Erik B Knudsen
179df58685 refactor MCPL file read part of FileSource
A new constructor is added to FileSource that reads from
a given MCPL-file.
2022-10-05 11:32:07 +02:00
Erik B Knudsen
cba745b28b add cond. compilation guards for MCPL functions 2022-10-05 11:30:11 +02:00
Erik B Knudsen
43538ac202 fix typo 2022-10-05 11:30:11 +02:00
Erik B Knudsen
9b58c2f6dc add mcpl-output settings 2022-10-05 11:30:11 +02:00
Erik B Knudsen
91cd304f0e use find_package instead - MCPL now supports this 2022-10-05 11:30:11 +02:00
Erik B Knudsen
2ba7f8d188 add a trigger to simulation control 2022-10-05 11:30:11 +02:00
erkn
6038555def wip add MCPL-out to openmc
code for writing a source_bank/point compiles but is untested
2022-10-05 11:30:11 +02:00
Erik B Knudsen
5e82bb2e1f expose a python function to check for mcpl 2022-10-05 11:29:46 +02:00
Erik B Knudsen
0b8bd9b43c Merge branch 'mcpl_output_dev' of github.com:ebknudsen/openmc into mcpl_output_dev 2022-10-05 11:01:34 +02:00
Erik B Knudsen
83e2921034 add cond. compilation guards for MCPL functions 2022-10-05 11:00:39 +02:00
Erik B Knudsen
172c518f0e fix typo 2022-10-05 10:59:28 +02:00
Erik B Knudsen
7418cb99dd add mcpl-output settings 2022-10-05 10:59:02 +02:00
Erik B Knudsen
2de20231ad use find_package instead - MCPL now supports this 2022-10-05 10:56:36 +02:00
Jonathan Shimwell
9a61aed2ef doc string related review suggestions 2022-10-05 09:03:30 +01:00
Jonathan Shimwell
afbd994d4f
review suggestions from Remi and Paul
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: Rémi Delaporte-Mathurin <40028739+RemDelaporteMathurin@users.noreply.github.com>
2022-10-05 08:45:59 +01:00
RemDelaporteMathurin
facc1995e3 marks 2022-10-05 09:29:19 +02:00
shimwell
90fe5cb79c added py3.9 and py3.10 2022-10-04 21:00:17 +01:00
Jonathan Shimwell
434dc1f30d
Merge pull request #2238 from pshriwise/dag_cells_surfs
Adding properties for number of DAGMC cells and surfaces
2022-10-04 16:18:50 +01:00
Erik B Knudsen
314f3dbbab do not define these functions if no MCPL present 2022-10-04 10:11:06 +02:00
Erik B Knudsen
5d1a84e0e9 Merge branch 'mcpl_output_dev' of github.com:ebknudsen/openmc into mcpl_output_dev 2022-10-04 09:49:17 +02:00
Patrick Shriwise
6c698e3b88
Merge pull request #2242 from eepeterson/wwinp_reader_fix
fix wwinp reader
2022-10-03 18:58:26 -05:00
Jonathan Shimwell
a32a5fbf0d review suggestion from @RemDelaporteMathurin 2022-10-03 16:58:11 +01:00
Patrick Shriwise
47488ecacb
Merge pull request #2235 from paulromano/source-rejection
Source rejection by domain (cell, material, universe)
2022-10-03 09:38:28 -05:00
Ethan Peterson
f9ba64eeb3
Update tests/unit_tests/weightwindows/test_wwinp_reader.py 2022-10-03 07:22:26 -04:00
Ethan Peterson
6bc2ee8e4f updated cyl and t wwlb for future tests 2022-10-03 07:19:58 -04:00
Ethan Peterson
4957ba240b revert to original expected ww lb 2022-10-03 07:17:07 -04:00
Ethan Peterson
1a306c4c15 rewrote ww test files 2022-10-03 07:15:02 -04:00
Patrick Shriwise
e11c42a7d5 pathlib import 2022-10-02 22:05:32 -05:00
Ethan Peterson
6fe91efd05 fixed wwinp reader tests 2022-10-02 10:45:01 -04:00
Ethan Peterson
9c13e85dc2 fix wwinp reader 2022-10-01 09:22:57 -04:00
Jonathan Shimwell
46045588f5
Merge pull request #2234 from paulromano/decay-source-chain
Decay photon source functionality
2022-10-01 00:28:36 +01:00
Paul Romano
c7c88ee4a3
Merge pull request #2240 from shimwell/adding_missed_version_file
including version file in manifest
2022-09-30 13:56:36 -05:00
Paul Romano
5d441251fc
Apply @pshriwise suggestions from code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-09-30 13:56:01 -05:00
Paul Romano
6719aa218e
Update openmc/deplete/nuclide.py per @pshriwise suggestion
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-09-30 13:30:23 -05:00
Patrick Shriwise
d96c367331 Using pytest request path to specify dagmc file 2022-09-30 12:53:25 -05:00
Jonathan Shimwell
f289123394 added *h.in files 2022-09-30 14:58:28 +01:00
Patrick Shriwise
ed24b2343a typo fix 2022-09-29 22:05:23 -05:00
Patrick Shriwise
0dd3fff562 Improve docstring 2022-09-29 22:04:54 -05:00
Patrick Shriwise
ebf6e24bcf Resolving symlink paths 2022-09-29 22:04:54 -05:00
Patrick Shriwise
f038225abe Update openmc/universe.py
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-09-29 22:04:54 -05:00
Patrick Shriwise
a0a5afcbca Formatting and docstrs. 2022-09-29 22:04:52 -05:00
Patrick Shriwise
fe90b8e220 Adding properties for number of DAGMC cells/surfaces 2022-09-29 22:04:39 -05:00
Patrick Shriwise
c96f2bc376
Merge pull request #2230 from shimwell/adding_material_names_to_DAGMCUniverse 2022-09-29 17:01:49 -05:00
Paul Romano
10abbe910a Clarify probability units for decay_photon_energy 2022-09-28 13:25:00 -05:00
Paul Romano
2b401bc1f1
Update tests/unit_tests/test_source.py
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-09-28 10:26:13 -05:00
Paul Romano
e0be9de086
Apply @shimwell suggestions from code review
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-09-28 09:33:48 -05:00
Paul Romano
7815a5e02d Address @shimwell comments on #2234 2022-09-28 09:31:12 -05:00
Paul Romano
c6a0381de7
Merge pull request #2232 from openmc-dev/yardasol-ace-to-hdf5-patch
Fix conversion of multiple thermal scattering data files from `ACE` to `HDF5` format.
2022-09-27 22:47:24 -05:00
Ethan Peterson
654ae71250
Merge pull request #2213 from paulromano/remove-relaxng
Remove RELAX NG schema and openmc-validate-xml script
2022-09-27 13:47:44 -04:00
Olek
663deb2761
Add flow control to differentiate indident neutron from thermal scattering data
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-27 11:26:41 -05:00
Jonathan Shimwell
e31576fc09 moved doc string to class attributes 2022-09-27 13:46:33 +01:00
Paul Romano
18337073f4 Fix name change on mat_to_ind, nuc_to_ind 2022-09-26 15:19:05 -05:00
Paul Romano
dd7a25c570 Add test for source rejection by domain 2022-09-26 14:20:34 -05:00
Paul Romano
3e5c9d83c5 Expand source rejection to cells, materials, and universes 2022-09-26 13:25:41 -05:00
Paul Romano
aff6316642 Simple rejection based on a vector of cell IDs 2022-09-26 13:25:41 -05:00
Paul Romano
89c33923c1 Add test for StepResult.get_material 2022-09-26 12:58:54 -05:00
Paul Romano
95d182b73f Add tests for decay photon source 2022-09-26 12:58:54 -05:00
Paul Romano
52eef1adf5 Reset decay source if config['chain_file'] changes 2022-09-26 12:58:54 -05:00
Paul Romano
ce1abc5350 Documentation updates 2022-09-26 12:58:54 -05:00
Paul Romano
7af56d8db2 Add get_material method on StepResult 2022-09-26 12:58:54 -05:00
Paul Romano
ed6fbe37f5 Rename mat_to_ind -> index_mat, nuc_to_ind -> index_nuc in StepResult 2022-09-26 12:58:53 -05:00
Paul Romano
a917fd94c1 Add decay_photon_source property on Material 2022-09-26 12:58:53 -05:00
Paul Romano
1395b50d49 Store decay sources on openmc.deplete.Nuclide 2022-09-26 12:58:53 -05:00
Paul Romano
1d140e348d
Merge pull request #2226 from marquezj/fix_elastic_distribution
Fix elastic distribution
2022-09-26 12:35:11 -05:00
Jonathan Shimwell
4e5d9bf596 fixed typo 2022-09-26 16:17:48 +01:00
Jonathan Shimwell
e63b437662 added from domain to CylindricalMesh 2022-09-26 16:11:53 +01:00
Jonathan Shimwell
27f2cb1b5e
@pshriwise review suggestions
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-09-26 08:45:44 +01:00
myerspat
06312b0535 Refactored CSGCell to use Region 2022-09-25 22:05:22 -04:00
Olek
67e983218d
let thermal table name be None as default 2022-09-24 17:07:08 -05:00
shimwell
3891cef4f1 added ability to find material names in DAG 2022-09-24 20:09:01 +01:00
Paul Romano
b2270d4aef Update reference surface source for regression test 2022-09-23 08:43:48 -05:00
Paul Romano
96753f9af0 Fix reading source file with time attribute. Closes #2223 2022-09-22 23:32:07 -05:00
Paul Romano
e535d17ae0
Merge pull request #2215 from pshriwise/eff-log
Additional interpolation types for EnergyFunctionFilter
2022-09-22 15:35:44 -05:00
Jose Ignacio Marquez Damian
607be496bc
Fix elastic distribution
Elastic distributions were created but not used
2022-09-22 14:58:52 -03:00
Patrick Shriwise
61a0458d4c Include interpolation types in params docstr 2022-09-22 10:46:55 -05:00
Jonathan Shimwell
cbd8376238
Merge pull request #2214 from paulromano/muir-function
Replace Muir classes with muir function
2022-09-22 16:46:26 +01:00
Paul Romano
3fa3d5587e
Merge pull request #2224 from gridley/nick_mg_high_rejection
helpful error message for excessive energy spectrum rejection rate
2022-09-21 14:40:25 -05:00
Paul Romano
43ff0a2821 Update error message for 'muir' distributions in C++ 2022-09-21 11:54:25 -05:00
Gavin Ridley
cf278af281 helpful error message for excessive energy spectrum rejection rate 2022-09-21 12:07:42 -04:00
Jonathan Shimwell
ffe336c2ef
Merge pull request #2211 from paulromano/config
Allow configuration of data sources via openmc.config
2022-09-21 16:47:20 +01:00
Paul Romano
3645a41861 Address @shimwell comments on #2211 2022-09-21 07:26:27 -05:00
Paul Romano
46ad8df165 Add error message for 'muir' distribution found in XML 2022-09-21 07:06:38 -05:00
Adam Nelson
11f8d6eb29
Merge pull request #1916 from mkreher13/diffusion-condense
Condensing diffusion instead of transport
2022-09-20 09:00:19 -05:00
Andrew Johnson
4caeede302
Merge pull request #2218 from joshmay1/cache_rates_tally
Add a cache system for the depletion material reaction rates tally
2022-09-18 20:41:54 -07:00
Patrick Shriwise
a6c5dd4d8a Formatting 2022-09-17 12:06:12 -05:00
Patrick Shriwise
8228db6d47 Writing interpolation attribute as an attribute of the 'y' dataset. 2022-09-17 12:05:48 -05:00
Patrick Shriwise
3351918394 Adding a histogram filter test. Testing conversion from Tabulated1D for many interpolation types 2022-09-17 11:32:24 -05:00
Patrick Shriwise
834450066e Adding check of interpolation parameter in eff __eq__ 2022-09-17 11:31:46 -05:00
Patrick Shriwise
f33ea966b2 Compute interpolation value in loop. Correction to from_tab1D. 2022-09-17 11:10:27 -05:00
Patrick Shriwise
848c0f3e0b Update to eff docstring 2022-09-17 09:50:37 -05:00
Patrick Shriwise
3c9e359a57 Addressing some comments from @paulromano 2022-09-17 09:47:16 -05:00
Patrick Shriwise
53d3cd005f
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-17 09:46:33 -05:00
Erik B Knudsen
04c8ffc81c add a trigger to simulation control 2022-09-16 16:07:49 +02:00
erkn
f0af56b181 wip add MCPL-out to openmc
code for writing a source_bank/point compiles but is untested
2022-09-16 16:07:49 +02:00
Erik B Knudsen
55f2be19e6 refactor MCPL file read part of FileSource
A new constructor is added to FileSource that reads from
a given MCPL-file.
2022-09-16 16:07:22 +02:00
Erik B Knudsen
3d28170b8a Merge branch 'mcpl_input' of github.com:ebknudsen/openmc into mcpl_input 2022-09-16 16:06:11 +02:00
Erik B Knudsen
563665f161 Merge branch 'mcpl_output_dev' of github.com:ebknudsen/openmc into mcpl_output_dev 2022-09-16 15:59:19 +02:00
Erik B Knudsen
d07223bf68 add a trigger to simulation control 2022-09-16 15:56:47 +02:00
erkn
73a391daef wip add MCPL-out to openmc
code for writing a source_bank/point compiles but is untested
2022-09-16 15:56:47 +02:00
erkn
71568d4f4b refactor MCPL file read part of FileSource
A new constructor is added to FileSource that reads from
a given MCPL-file.
2022-09-16 15:56:45 +02:00
Erik B Knudsen
ab665fb456 fix typo
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-16 15:54:26 +02:00
Paul Romano
6834e29092
Merge pull request #2217 from shimwell/adding_from_bounding_box_to_RegularMesh
added bbox class method to regular mesh
2022-09-15 06:50:20 -05:00
Paul Romano
226c443f5d
Merge pull request #2212 from yardasol/microxs-from-model-parallel
Cleanup User Guide section on depletion
2022-09-14 23:16:01 -05:00
josh
f5625c9229 Update documentation and formatting 2022-09-12 17:08:41 +00:00
yardasol
d70ff20118 Merge remote-tracking branch 'origin/microxs-from-model-parallel' into microxs-from-model-parallel 2022-09-11 14:08:06 -05:00
yardasol
15a75284f4 make statements about multiple materials and env vars more precise 2022-09-11 14:03:23 -05:00
josh
c4b5f067cd Add blank reset function to IndependentRateHelper 2022-09-10 00:56:29 +00:00
josh
9ec20b507a Rename cache variable 2022-09-10 00:35:37 +00:00
josh
b8ffbe000b Add a basic cache system for the burnable material reaction rates tallies 2022-09-10 00:07:31 +00:00
Paul Romano
28fa2133ab
Merge pull request #2209 from joshmay1/fiss_yield_copy
Add a `__deepcopy__` method to the deplete.FissionYield class
2022-09-09 17:37:33 -05:00
Paul Romano
a0a82875e7
Merge pull request #2216 from shimwell/rewording_tracks_documentation
Rewording tracks documentation
2022-09-09 17:27:21 -05:00
Jonathan Shimwell
48d2b0d31e Merge branch 'adding_from_bounding_box_to_RegularMesh' of github.com:shimwell/openmc-1 into adding_from_bounding_box_to_RegularMesh 2022-09-09 17:09:22 +01:00
Jonathan Shimwell
21f1d5142b renamed tests to reg_mesh prefix 2022-09-09 17:08:40 +01:00
Jonathan Shimwell
88c2ff9198
[skip ci] one too many domains 2022-09-09 16:48:05 +01:00
Jonathan Shimwell
abc2c7cd7a renamed dounding_box to domain, review suggestion 2022-09-09 16:45:49 +01:00
Jonathan Shimwell
1cfbd67659 added bbox class method to regular mesh 2022-09-09 14:47:11 +01:00
Jonathan Shimwell
a17ef0403a removed unrelated code 2022-09-09 11:42:44 +01:00
Jonathan Shimwell
476feab519 changing the description of tracks arg 2022-09-09 11:40:15 +01:00
Patrick Shriwise
2fa63f3302 Applying clang format 2022-09-08 22:41:54 -05:00
Patrick Shriwise
b68e6e96e6 Updating tests to include checks for quadratic/cubic interpolation 2022-09-08 22:38:22 -05:00
Patrick Shriwise
3b00ed3864 Adding checks for data size based on interpolation type 2022-09-08 22:37:57 -05:00
Patrick Shriwise
ac043cb67a Adding checks for minimum number of data points for quadratic/cubic interpolation 2022-09-08 22:37:03 -05:00
Patrick Shriwise
84276c54bf Adding additional interpolation types to the constructor 2022-09-08 22:29:25 -05:00
Patrick Shriwise
3c3ce6e2e7 A couple of corrections to the lagrangian interpolation function 2022-09-08 22:28:54 -05:00
Josh May
09de637b3a
Change copy to match convention
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-08 14:42:28 -07:00
Olek
ca12e3656e
Typo and syntax fixes
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-08 14:02:47 -05:00
Paul Romano
50067898ff Replace Muir classes with single muir() Python function 2022-09-08 13:42:22 -05:00
Paul Romano
d590aa7ad7 Remove RELAX NG schema and openmc-validate-xml script 2022-09-08 13:04:49 -05:00
yardasol
8cdce03828 cleanup awkward sentences 2022-09-08 12:52:14 -05:00
Olek
a414f5a32a
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-08 12:49:54 -05:00
yardasol
37cfd20498 add paragraph on using env variable w from_model 2022-09-08 11:42:37 -05:00
Paul Romano
9127ff4f5e [WIP] started region refactor 2022-09-08 11:24:08 -05:00
Paul Romano
a95f4cc0d7 Remove use of _find_chain_file in test_deplete_operator.py 2022-09-08 10:50:21 -05:00
Paul Romano
a7abe84b38 Fix openmc.config when OPENMC_CROSS_SECTIONS is not set 2022-09-08 09:35:03 -05:00
Patrick Shriwise
fbce363784 Using a separate dictionary for interpolation values 2022-09-07 23:05:15 -05:00
josh
3c7483becb Add a simple unittest for the FissionYield deepcopy 2022-09-08 02:08:18 +00:00
josh
2afefba206 deepcopy method for FissionYield class 2022-09-08 00:04:05 +00:00
Paul Romano
35930e0422 Add tests for openmc.config 2022-09-07 16:46:11 -05:00
Paul Romano
ab6f9247ca Remove specific section on environment variables 2022-09-07 16:46:11 -05:00
Paul Romano
683910aba4 Discuss openmc.config in user's guide 2022-09-07 16:46:10 -05:00
Paul Romano
8f20c20af0 Move cross_sections.rst to data.rst and rename section header 2022-09-07 16:46:10 -05:00
Paul Romano
c5012996df Handle missing files in openmc.config 2022-09-07 16:46:10 -05:00
Paul Romano
fb1e92b614 Cleanup config namespace 2022-09-07 16:46:10 -05:00
Paul Romano
225e40db0c Add mg_cross_sections to openmc.config 2022-09-07 16:46:10 -05:00
Paul Romano
a074e0a5cf Use openmc.config['cross_sections'] instead of OPENMC_CROSS_SECTIONS 2022-09-07 16:46:10 -05:00
Paul Romano
c29fb407d5 Add global configuration via openmc.config 2022-09-07 16:46:09 -05:00
Paul Romano
aea5628819
Merge pull request #2207 from shimwell/type_hinting_for_results
type hints added to openmc.deplete.Results
2022-09-07 16:45:38 -05:00
Paul Romano
b779141b57
Merge pull request #2205 from yardasol/add_components_metastable_fix
Fix errorneous behavior when adding metastable nuclides via `add_components`
2022-09-07 16:45:06 -05:00
Jonathan Shimwell
494e357a64
Fixed the type of mat
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-07 18:55:03 +01:00
Olek
e34f786c6f
str->component in flow control
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-07 11:52:06 -05:00
Patrick Shriwise
fd7683fe31 Correction to str literal 'linear-linear' 2022-09-06 22:50:27 -05:00
Patrick Shriwise
35aa433b9a Updating interpolation function signature. 2022-09-06 22:50:19 -05:00
Patrick Shriwise
5168b3392a Accepting other interpolation types for converted Tabulated1D distributions 2022-09-06 20:31:00 -05:00
Patrick Shriwise
d300bac734 Reverting some changes outside of the EFF. 2022-09-06 20:30:43 -05:00
Erik B Knudsen
32e71395b3 add a trigger to simulation control 2022-09-06 23:06:19 +02:00
Ethan Peterson
bdb6d38bfd
Merge pull request #2204 from paulromano/reference-uvw-fix
Fix reading reference direction from XML for angular distributions
2022-09-06 14:52:08 -04:00
Jonathan Shimwell
225dc5c43c create PathLike type for hints 2022-09-06 17:22:31 +01:00
Jonathan Shimwell
1c917201ae type hints added to openmc.deplete.Results 2022-09-06 13:59:09 +01:00
Erik B Knudsen
4e5ba4b460 expose a python function to check for mcpl 2022-09-06 09:12:43 +02:00
Erik B Knudsen
be09b442fb allow electrons and positrons as well 2022-09-06 09:11:41 +02:00
erkn
aa571c2c33 wip add MCPL-out to openmc
code for writing a source_bank/point compiles but is untested
2022-09-06 02:22:21 +02:00
Paul Romano
df3765fa07
Merge pull request #2178 from myerspat/infix-sense-evaluation
Short circuiting and lazy evaluation of CSG regions for cell searching
2022-09-02 12:05:52 -05:00
Patrick Shriwise
445fb0af36 Adjusting interpolation enumeration values. 2022-09-01 23:34:24 -05:00
Patrick Shriwise
48a9ac9a2c Adding initial lagrangian interpolation. 2022-09-01 23:34:24 -05:00
Patrick Shriwise
4ba9acd459 Adding test results for additional interpolation types 2022-09-01 23:34:24 -05:00
Patrick Shriwise
d78a9b1885 Adding new interpolation entry. 2022-09-01 23:34:24 -05:00
Patrick Shriwise
bdf73abb06 Some cleanup 2022-09-01 23:34:24 -05:00
Patrick Shriwise
66ff5b873d Adding missing docstring 2022-09-01 23:34:24 -05:00
Patrick Shriwise
7ea116c89f Adding log-lg tally output and updating results. 2022-09-01 23:34:24 -05:00
Patrick Shriwise
aeca1173e7 Expanding on eff checks for log-log case. 2022-09-01 23:34:24 -05:00
Patrick Shriwise
c09f539cd5 Updating check to log-log 2022-09-01 23:34:24 -05:00
Patrick Shriwise
2ef49a9c9b Updating tests for eff 2022-09-01 23:34:24 -05:00
Patrick Shriwise
d88648634e Adding check for round-trip of spec for eff 2022-09-01 23:34:24 -05:00
Patrick Shriwise
b4cf42b092 Adding entry to statepoint documentation. 2022-09-01 23:34:23 -05:00
Patrick Shriwise
a0de07bf70 Correcting hdf5 function signature 2022-09-01 23:34:23 -05:00
Patrick Shriwise
0c1b1875b7 Adding a quick test for the interpolation value checking 2022-09-01 23:34:23 -05:00
Patrick Shriwise
0d551cbb21 Adding support for log-log interpolation on the C++ side 2022-09-01 23:34:23 -05:00
Patrick Shriwise
8f26df7f5a Adding interpolation value check and updating test inputs 2022-09-01 23:34:23 -05:00
Patrick Shriwise
026d172255 Adding interpolation property to EnergyFunctionFilter. 2022-09-01 23:34:23 -05:00
myerspat
8650621f79 Revereted hdf5 function back to original 2022-09-01 17:01:01 -04:00
Olek
2d01241b53
Cleanup flow control for detecting nuclides
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-01 14:33:44 -05:00
Olek
85c5c791d6
Cleanup flow control for detecting nuclides
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-09-01 14:33:24 -05:00
Paul Romano
28a945f6ca
Merge pull request #2200 from shimwell/adding_element_filter_to_get_nuclides_without_sorting
added element filter to get_nuclide
2022-09-01 13:46:29 -05:00
yardasol
0214b22036 fix errorneous behavior when adding metastable nuclides via add_components 2022-09-01 11:52:21 -05:00
Paul Romano
b0b37119f2
Merge pull request #2179 from jlogan03/develop
Add pass-through to allow plotting geometry on existing axes
2022-08-31 14:25:34 -05:00
Paul Romano
eb1dc015e5 Fix reading of reference_uvw during from_xml 2022-08-31 12:37:20 -05:00
Paul Romano
588e7bbab0 Add XML roundtrip test for openmc.Source 2022-08-31 12:37:20 -05:00
myerspat
02254cc787 Changed wording and rearranging 2022-08-30 17:00:59 -04:00
Patrick Myers
bff8700c8b
Simple wording and comment changes
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-30 15:45:31 -05:00
Patrick Shriwise
fa0f95642e
Merge pull request #2194 from shimwell/more_informative_error_message_writing_vtk
added mesh size and tally mean numbers to error message
2022-08-30 11:13:41 -05:00
James Logan
9e80a73369
Update openmc/universe.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-30 10:20:35 -04:00
shimwell
5a0884e9de corrected get nuclide tests 2022-08-29 22:41:07 +01:00
Jonathan Shimwell
a9aa761fbf
Merge pull request #2201 from paulromano/dockerfile-libmesh-fix
Update libmesh version in Dockerfile
2022-08-29 21:11:16 +01:00
shimwell
b857fbd261 appending to list if not in list 2022-08-29 18:10:52 +01:00
Paul Romano
3b5910057d Update libmesh to 1.7.1 in gha-install-libmesh.sh for consistency 2022-08-29 11:54:23 -05:00
Paul Romano
e42dfac373 Update libmesh version in Dockerfile 2022-08-29 11:22:00 -05:00
shimwell
5f1b05f5fa added element filter to get_nuclide 2022-08-29 17:01:34 +01:00
Paul Romano
be8018a59a
Merge pull request #2195 from shimwell/adding_julian_years_to_integrator
added Julian years to Integrator
2022-08-29 07:16:44 -05:00
Paul Romano
9062e09e83
Merge pull request #2198 from shimwell/format_to_f_strings
format to f strings
2022-08-29 07:16:14 -05:00
Miriam Kreher
985b2d2696 Removed the option to condense transport cross sections instead of diffusion coefficients. 2022-08-26 21:07:15 -04:00
shimwell
c0982eb622 format to f strings 2022-08-27 00:12:25 +01:00
Paul Romano
4599c06918
Merge pull request #1915 from aprilnovak/remove-deprecation
Replace centroid() with vertex_average().
2022-08-26 12:01:53 -05:00
myerspat
090363b637 Fixed error due to applying de morgans laws 2022-08-26 12:47:08 -04:00
Jonathan Shimwell
5cdef2e964 added Julian years to Integrator 2022-08-26 16:30:24 +01:00
Jonathan Shimwell
a3a28d094a changing RunTimeError to ValueError 2022-08-26 16:22:08 +01:00
Paul Romano
a92074282e
Merge pull request #2192 from shimwell/removing_test_data_script
removed make-test-data script that is now in data repo
2022-08-26 07:33:45 -05:00
Paul Romano
35f0203000
Merge pull request #2191 from shimwell/adding_main_to_scripts
added main method to scripts
2022-08-26 07:33:24 -05:00
Paul Romano
a543499de7
Merge pull request #2188 from shimwell/adding_nuc_option_to_atom_density
added optional nuclide to get_nuclide_atom_densities
2022-08-26 07:33:01 -05:00
Jonathan Shimwell
922a5fcf5a used escape chars to match regex 2022-08-26 10:19:39 +01:00
Jonathan Shimwell
c5b7428410
Merge pull request #2193 from lewisgross1296/lethargy_test_fix
Switch math.log10 to numpy.log10 so test_lethargy_bin_width() passes
2022-08-26 09:33:55 +01:00
Jonathan Shimwell
cc667cc11a updated error message check 2022-08-25 17:18:45 +01:00
James Logan
bd2bab3f56 remove explicit else-pass 2022-08-25 11:57:36 -04:00
myerspat
80c8692537 Removed one of the region vectors and changed HDF5 output for geometry 2022-08-25 11:47:14 -04:00
lewisgross1296
14e81ab94a removed unused import 2022-08-25 09:44:57 -05:00
Jonathan Shimwell
da34afc4a0
Merge branch 'openmc-dev:develop' into adding_main_to_scripts 2022-08-25 15:16:34 +01:00
Jonathan Shimwell
cacf279fc8 moved parameters below 0.13.1 directive 2022-08-25 15:13:24 +01:00
Jonathan Shimwell
474f0742ba
[skip ci] suggestion from review by @Paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-25 15:10:45 +01:00
Jonathan Shimwell
2a903f8eb5
moving errmsg var closer to usage line 2022-08-25 14:27:45 +01:00
Jonathan Shimwell
19574d08cc
[skip ci] review suggestion from @pshriwise
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-08-25 14:25:48 +01:00
Paul Romano
ead615980b
Merge pull request #2183 from lewisgross1296/strides_move
Adding set_strides() to openmc_simulation_init()
2022-08-25 07:26:55 -05:00
Jonathan Shimwell
fb6984e0a7 added numbers for size 2022-08-25 12:50:56 +01:00
lewisgross1296
519bd75f3e switched math.log10 to numpy.log10 so the assert passes 2022-08-24 13:51:51 -05:00
James Logan
00f0571906 add Axes as an argument to Universe.plot instead of popping it from kwargs 2022-08-24 09:43:13 -04:00
Jonathan Shimwell
4169cabc5d removed script that is now in data repo 2022-08-24 12:50:53 +01:00
Jonathan Shimwell
cb3dfe62ad added main method to validate xml 2022-08-24 12:37:43 +01:00
Jonathan Shimwell
8aa7b40c41 added main to ace-to-hdf5 2022-08-24 12:20:10 +01:00
Jonathan Shimwell
fb8b4e0690 added main method to voxel script 2022-08-24 10:50:40 +01:00
Jonathan Shimwell
08f026496b
[skip ci] removed blank line pep8 2022-08-23 23:20:59 +01:00
Jonathan Shimwell
1e55089e9d
[skip ci] removed print statement 2022-08-23 23:20:18 +01:00
lewisgross1296
dc6e2266fb removed set_strides() from set_filters(). determined my tests were weird locally and this was not causing them to fail 2022-08-23 16:57:34 -05:00
Jonathan Shimwell
2a71a244d9 if statement no longer needed 2022-08-23 16:44:56 +01:00
Jonathan Shimwell
6171e09ed3 improved test fixed sum bug 2022-08-23 16:42:22 +01:00
Jonathan Shimwell
085125ef86 added optional nuclide to atom densities 2022-08-23 16:30:53 +01:00
Patrick Shriwise
2805060ddd
Merge pull request #2185 from paulromano/move-to-0.14.0-dev 2022-08-19 14:47:23 -05:00
Paul Romano
53b85e0c96 Change version number to 0.14.0-dev 2022-08-19 07:16:31 -05:00
Paul Romano
33bc948f4b
Merge pull request #2182 from paulromano/release-0.13.1
Final change for release of version 0.13.1
2022-08-19 06:55:06 -05:00
lewisgross1296
0ef945cc06 removing set_strides() from tally.cpp causes issues, but it should be fine to add in openmc_simulation_init() and in there should occur before init_results. this is because init_results use n_filter_bins_ which is modified by set_strides() 2022-08-18 14:55:56 -05:00
Paul Romano
3bdf2ddfc8 Remove -dev tag from version number (0.13.1) 2022-08-18 09:35:24 -05:00
Paul Romano
183d9c74f6
Merge pull request #2161 from lewisgross1296/delete_tally
Add extern function to delete a tally by its index in the tallies vector
2022-08-18 08:45:07 -05:00
Paul Romano
48fb58a05d
Merge pull request #2174 from paulromano/prepare-0.13.1
Prepare for version 0.13.1
2022-08-18 06:54:40 -05:00
James Logan
9897fe3727 add pass-through to allow plotting geometry on existing axes 2022-08-17 13:45:50 -04:00
Patrick Myers
c74e6a843f
Merge branch 'openmc-dev:develop' into infix-sense-evaluation 2022-08-17 12:05:07 -05:00
Paul Romano
2a7a6b171e
Fix flux equation per @yardasol suggestion
Co-authored-by: Olek <45364492+yardasol@users.noreply.github.com>
2022-08-17 09:26:46 -05:00
Paul Romano
3dea073c41
Merge pull request #2176 from shimwell/adding_ecco1968_energy_group
Adding ecco 1968 energy group
2022-08-17 07:37:44 -05:00
myerspat
630117aab5 Added return for a parenthesis depth of 0 2022-08-17 08:19:22 -04:00
Jonathan Shimwell
9b458c102a
Review suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-17 07:28:50 +01:00
Paul Romano
6e1e18ab36 Define terms in flux equation for depletion docs 2022-08-16 22:18:55 -05:00
Paul Romano
aec246be72 Rename Tracks.write_tracks_to_vtk --> Tracks.write_to_vtk 2022-08-16 22:09:58 -05:00
Paul Romano
409263b71f Merge remote-tracking branch 'yardasol/prepare-0.13.1' into prepare-0.13.1 2022-08-16 21:58:43 -05:00
yardasol
bee89f2c1a cleanup rxn rate calculation in _IndependentRateHelper 2022-08-16 18:10:05 -05:00
Paul Romano
282c8115df Fix error in equation in depletion user docs 2022-08-16 16:38:21 -05:00
Paul Romano
d31b083685 Address @yardasol review comments 2022-08-16 16:19:55 -05:00
lewisgross1296
5003cf4823 changed vector to array to match other entries, removed extra trailing space 2022-08-16 15:42:45 -05:00
lewisgross1296
37b17b61cf added openmc_remove_tally to documentation 2022-08-16 14:26:48 -05:00
lewisgross1296
a8b0f1714a mistaken, dont need _get_tally_index, we call the openmc C++ api one instead 2022-08-16 14:09:05 -05:00
lewisgross1296
5b6c6667cb put _get_tally_index(self,key) back and forgot return in __getitem__ 2022-08-16 13:43:15 -05:00
Lewis Gross
209954ee2f
change back to prevent accidental infinite recursion
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-08-16 13:08:35 -05:00
Jonathan Shimwell
6c592fa1a0 renamed 2000 to 1968 2022-08-16 16:59:12 +01:00
Jonathan Shimwell
d0963a0a8a renamed group name to match serpent reference 2022-08-16 16:52:23 +01:00
Jonathan Shimwell
762993fb8b added "ecco-2000" with 1968 bins 2022-08-16 16:47:08 +01:00
Paul Romano
91638baeec
Merge pull request #2175 from pshriwise/cmake-docs-update
CMake command fixes for libmesh and dagmc
2022-08-15 22:18:54 -05:00
Patrick Shriwise
ab6b8f9acf CMake cmd fixes for libmesh and dagmc 2022-08-15 15:05:36 -05:00
lewisgross1296
15a863e645 suggestion by Paul Romano. removed need for _get_tally_index_ funciton by using python's fancy self[key] and self[key]._index capabilities 2022-08-15 15:01:34 -05:00
myerspat
82bbf71413 Reduced contains_complex to one while loop 2022-08-15 15:04:03 -04:00
lewisgross1296
7fdd96a573 forgot a space for formatting requirements 2022-08-15 13:46:26 -05:00
lewisgross1296
94b6172bb5 Merge branch 'delete_tally' of github.com:lewisgross1296/openmc into delete_tally
forgot to pull committed changes from PR on GitHub
2022-08-15 13:44:40 -05:00
lewisgross1296
d69a6ec647 [skip ci] erasing the tally from the tallies vector calls the destructor, which already handles removing this tally from the map 2022-08-15 13:43:53 -05:00
Paul Romano
c252930c49 Support passing Path objects to Summary() 2022-08-15 13:35:04 -05:00
Paul Romano
28b8f9ecc5 Change Operator --> CoupledOperator in a few places 2022-08-15 13:35:04 -05:00
Paul Romano
7b01891259 Start release notes for 0.13.1 2022-08-15 13:35:01 -05:00
Lewis Gross
c772972808
add space for compliant formatting
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-15 13:34:19 -05:00
Lewis Gross
70598087cd
forgot to change name of arrgument from id to index in header
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-15 13:33:49 -05:00
Paul Romano
02f1815299 Add missing versionadded directives 2022-08-15 13:20:59 -05:00
Paul Romano
adbc9e0537
Merge pull request #2171 from shimwell/tracks_to_vtk_on_object
Tracks to vtk on object
2022-08-15 13:20:41 -05:00
Patrick Shriwise
12ced92140
Merge pull request #2168 from paulromano/time-filter-fix
Fix TimeFilter for very small time intervals with tracklength estimator
2022-08-15 11:03:53 -05:00
Jonathan Shimwell
3a2d4a9138
suggestions from code review by @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-15 16:05:02 +01:00
Patrick Myers
03deeca32d
Merge branch 'openmc-dev:develop' into infix-sense-evaluation 2022-08-15 09:19:30 -05:00
myerspat
809863c15c Removed second region expression so search finding relys on region_ 2022-08-15 10:18:45 -04:00
Jonathan Shimwell
9847d053f3 changed vtk file to vtp 2022-08-15 13:40:56 +01:00
Jonathan Shimwell
21b874f0be review suggestions from @paulromano 2022-08-15 13:39:47 +01:00
Jonathan Shimwell
2263549b9b producing vtp vtk files 2022-08-15 13:22:44 +01:00
Paul Romano
4c4f75f842
Merge pull request #2158 from yardasol/independent-operator-hotfix
`IndependentOperator` hotfix
2022-08-15 07:00:56 -05:00
Jonathan Shimwell
239fc8d9c5
Merge branch 'openmc-dev:develop' into tracks_to_vtk_on_object 2022-08-15 08:36:48 +01:00
Jonathan Shimwell
73a23be378
Merge pull request #2163 from pshriwise/dag-bounding-surf-ids
DAGMC bounding surface IDs
2022-08-14 00:03:57 +01:00
Olek
f8101006d8
remove init_lib() call in MicroXS.from_model(); use setdefault to ensure correct directory is used
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-13 10:20:19 -05:00
shimwell
d15c051263 added missing arg 2022-08-13 12:34:17 +01:00
shimwell
ecd0455b06 added vtk writing to tracks object 2022-08-13 12:32:14 +01:00
lewisgross1296
d1775181e9 added deletion operator to TallyMapping class. used in tests and changed delete invalid id to access invalid id 2022-08-12 15:49:08 -05:00
lewisgross1296
9d82e412da added test to delete known tally. added test to throw an error if you remove tally that was not added 2022-08-12 13:24:29 -05:00
lewisgross1296
88c4f88abd accidentally had <= when it should be strictly < 2022-08-12 13:02:04 -05:00
lewisgross1296
7d429ab45e pass index instead of ID to remove tally from tallies and tally_map 2022-08-12 12:58:37 -05:00
Ethan Peterson
e794513892
Merge pull request #2165 from paulromano/mixture-sample-fix
Fix Mixture.sample to account for intensities of underlying distributions
2022-08-12 12:54:24 -04:00
Lewis Gross
74e093ae45
renamed function and forgot to update these commands
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-12 10:55:21 -05:00
Patrick Shriwise
1124bffb4b Leave dagmc filename as Path object until writing the XML file 2022-08-12 07:55:50 -05:00
Patrick Shriwise
d47f41637f Some updates to DAGMC testing. 2022-08-12 07:53:36 -05:00
Patrick Shriwise
bde64ed8f1
Merge pull request #14 from shimwell/adding_dagmc_unit_test
unit tests DAGMCUniverse bounding_region bounding_box
2022-08-12 08:36:04 -04:00
Jonathan Shimwell
623b867033 updated path for dagmc file 2022-08-12 10:43:40 +01:00
Paul Romano
362b4cf68a
Merge pull request #2166 from pshriwise/umesh-centroid-fix
Fix for centroid method in UnstructuredMesh class
2022-08-11 21:20:04 -05:00
Paul Romano
ca92367a38
Merge pull request #2164 from pshriwise/cmake-warn-old-args
Adding warnings for use of old CMake build options.
2022-08-11 21:19:29 -05:00
Paul Romano
dc85e38593
Merge pull request #2157 from eepeterson/allow_settings_in_constructor
allow settings properties to be set through constructor
2022-08-11 21:19:12 -05:00
lewisgross1296
84359e3340 apparently count does not exist in c++11 which the github test system is using, so I will use the older trick of checking whether count equals 0 or 1 to determine if the id exists as a key 2022-08-11 20:57:23 -05:00
lewisgross1296
f8d87b1bb3 typo in return type 2022-08-11 20:29:02 -05:00
yardasol
3c483a7d7d add run_kwargs parameter to MicroXS.from_model() 2022-08-11 17:31:39 -05:00
yardasol
5af0d291a1 style fix on constant 2022-08-11 15:14:07 -05:00
Olek
131fd2f3e0
Merge pull request #1 from paulromano/results-export-fix
Fix potential bug with nuclide densities in Results.export_to_materials
2022-08-11 13:03:41 -07:00
lewisgross1296
21f7cda6bc changed return type to match signature change 2022-08-11 14:50:57 -05:00
lewisgross1296
03806675c9 forgot semicolon 2022-08-11 14:32:58 -05:00
lewisgross1296
bce2c2384a added error checking to ensure ID is in map before erasing. also removes the key/value pair from the map after deleting the tally 2022-08-11 14:14:09 -05:00
Lewis Gross
fd2ae7811a
use safer .at(id)
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-08-11 14:05:23 -05:00
lewisgross1296
4faaa4062b moved test out of python API into C++ API. modeled after test that adds a new tally. TODO add a test that tries to delete an invalid ID 2022-08-11 14:03:21 -05:00
lewisgross1296
30b1ae92cb changed name and return type. added signature to capi.h. TODO error handling in tally.cpp 2022-08-11 13:45:28 -05:00
Olek
22e23374dd
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-11 13:38:45 -05:00
Lewis Gross
3730496018
documentation fix tally.cpp
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-08-11 13:26:50 -05:00
Lewis Gross
6ef62fcaf1
documentation fix tally.h
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-08-11 13:26:29 -05:00
Lewis Gross
3ff11280a1
documentation fix tally.h
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-08-11 13:26:12 -05:00
Jonathan Shimwell
b1ea00b6cb added test for args passed to bounded_universe 2022-08-11 18:01:49 +01:00
Jonathan Shimwell
6f433fc429 unit tests DAGMCUniverse bounding_region bounding_box 2022-08-11 17:29:42 +01:00
Paul Romano
23ba62866e Fix treatment of 0 duration time intervals in TimeFilter::get_all_bins 2022-08-11 11:11:29 -05:00
Paul Romano
80dc21be2c Add test for TimeFilter when time intervals are effectively zero 2022-08-11 11:10:49 -05:00
Patrick Shriwise
a753a44d9e
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-11 09:06:32 -04:00
Patrick Shriwise
97236d7c56 Correcting suggested CMake variable names 2022-08-11 08:05:33 -05:00
Patrick Shriwise
ba72199df0 rm empty line 2022-08-11 07:58:00 -05:00
Patrick Shriwise
8791c7212e Adding check for first vertex and centroid 2022-08-11 07:48:58 -05:00
Patrick Shriwise
246a551fea
Update openmc/universe.py
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-08-11 08:36:46 -04:00
Paul Romano
ca99195e81 Fix Mixture.sample to account for intensities of underlying distributions 2022-08-11 07:27:04 -05:00
Patrick Shriwise
4f93f26d81 Using valid entries of connectivity only 2022-08-11 06:41:34 -05:00
Patrick Shriwise
84c25272b6
Apply suggestions from @shimwell
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-08-11 06:39:49 -04:00
Paul Romano
f9b2c21d59 Fix potential bug with nuclide densities in Results.export_to_materials 2022-08-10 23:12:01 -05:00
Patrick Shriwise
9abbff92c0 Adding warnings for use of old CMake build options. 2022-08-10 23:06:47 -05:00
Patrick Shriwise
e27c3b4a5b
Merge pull request #2159 from shimwell/error_message_typo_fix
minor typo fix
2022-08-10 22:30:51 -04:00
lewisgross1296
99027fdd15 erase needs an iterator, so feed it model::tallies.begin()+index 2022-08-10 17:35:31 -05:00
lewisgross1296
8887023b22 accidental typo 2022-08-10 16:45:53 -05:00
lewisgross1296
6d9d665e53 added new action to delete a tally as well as an assertion that the length is zero after deletion 2022-08-10 16:29:33 -05:00
lewisgross1296
e3e2c301af forgot to prefix function with openmc. all other extern functions do this,so I changed it to be parallel 2022-08-10 15:59:22 -05:00
yardasol
1be8941e35 Merge remote-tracking branch 'origin/independent-operator-hotfix' into independent-operator-hotfix 2022-08-10 15:54:09 -05:00
yardasol
8969b9b4e9 remove unneeded parameter from update 2022-08-10 15:53:40 -05:00
lewisgross1296
9d146a3e0f added openmc_remove_tally_from_tallies to C++ API
in tally.py
2022-08-10 15:44:00 -05:00
Olek
b93642ff74
fix density variable 2022-08-10 14:32:42 -05:00
lewisgross1296
8140ff492c added some commenting and the extern remove_tally_from_tallies function 2022-08-10 14:23:26 -05:00
Patrick Shriwise
dcbaa59cdb Using numpy rather than impoting math 2022-08-10 13:30:22 -05:00
Ethan Peterson
d23541f5ed simplify docstring 2022-08-10 13:00:35 -04:00
yardasol
2144ec271f fix flux equation in depletion userguide 2022-08-10 10:57:23 -05:00
yardasol
6bd4a71341 add clarifying comment to _IndependentRateHelper 2022-08-10 10:56:22 -05:00
Jonathan Shimwell
5861ba5322 minor typo fix 2022-08-10 16:43:34 +01:00
Patrick Shriwise
36ecaf9bd6 Adding ability to specify starting ID for surfaces of the DAGMC bounding region 2022-08-10 09:19:08 -05:00
Ethan Peterson
1af84f94de added docstring info and test 2022-08-10 08:28:18 -04:00
Ethan Peterson
527d97916d allow settings properties to be set through constructor 2022-08-10 08:28:18 -04:00
yardasol
672293a310 doc fixes 2022-08-09 23:04:53 -05:00
Paul Romano
90608665b7
Merge pull request #2154 from shimwell/adding_log_width_bins_to_energy_filter
added bin_log_width to EnergyFilter() to help with plotting
2022-08-09 21:56:22 -05:00
yardasol
6048593ad3 update and expand deplete_no_transport test 2022-08-09 21:54:35 -05:00
yardasol
b5b0ca5ce0 make fission-q default normalization mode 2022-08-09 19:54:40 -05:00
yardasol
bdd9468540 Fix reaction rate normalization in IndependentOperator
The _IndependentNormalizationHelper was unneeded. Additionally, need to
have a dilute_inital parameter to get good first-step results.
2022-08-09 19:53:04 -05:00
Paul Romano
30c561c70e
Merge pull request #2147 from paulromano/reduced-absorption-xs
Add a new "reduced" absorption MGXS type
2022-08-09 17:05:43 -05:00
Jonathan Shimwell
7004ff5467 [skip ci] pep8 def spaces 2022-08-09 12:40:45 +01:00
Paul Romano
c5d47a0918
Merge pull request #2142 from shimwell/adding_specific_activity
added specific_activity to openmc.Material
2022-08-09 06:35:43 -05:00
erkn
380cfc150b refactor MCPL file read part of FileSource
A new constructor is added to FileSource that reads from
a given MCPL-file.
2022-08-09 08:12:19 +02:00
shimwell
8c72e4b7b0 added lethargy_bin_width test 2022-08-08 22:57:32 +01:00
Jonathan Shimwell
7ba45aaa35
[skip ci] review comments from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-08 22:21:37 +01:00
Jonathan Shimwell
5d5bc53a15
Fixing the activity tests @eepeterson
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2022-08-08 20:46:57 +01:00
Paul Romano
0ba14b2cf0 Fix use of energy groups in MicroXS.from_model 2022-08-08 12:20:11 -05:00
Paul Romano
c5a5a3b9a6 Merge branch 'develop' into reduced-absorption-xs 2022-08-08 12:17:18 -05:00
Paul Romano
6254be3758
Merge pull request #2153 from pshriwise/small_fixes
Some small fixes
2022-08-08 12:15:20 -05:00
Jonathan Shimwell
77c3c82c7a renamed method to bin_lethargy 2022-08-08 17:52:49 +01:00
Ethan Peterson
3271c08d22
Apply suggestions from @paulromano code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-08 11:34:10 -04:00
Paul Romano
18bf88bab0 Fix typos in mgxs.py spotted by @mkreher13 2022-08-08 10:23:42 -05:00
Jonathan Shimwell
63b517aebc
updated tests to use units args by @eepeterson
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2022-08-08 14:52:35 +01:00
Jonathan Shimwell
a94fb43418 review comments from @paulromano 2022-08-08 14:00:25 +01:00
Jonathan Shimwell
bb764b960a added return type to bin width method 2022-08-08 13:52:50 +01:00
Patrick Shriwise
98f5da737f rm space 2022-08-08 07:50:11 -05:00
Jonathan Shimwell
75548aade8 added bin_log_width to energyfilter 2022-08-08 13:34:20 +01:00
Patrick Shriwise
3f06b97400
Merge pull request #2145 from paulromano/universe-plot-mg-fix
Check for macroscopic data in materials when running Universe.plot
2022-08-06 11:32:01 -05:00
Patrick Shriwise
d3535a521e Add Python pickle files to ignore 2022-08-06 06:18:54 -05:00
Patrick Shriwise
c943128587 Add pytest request path to location of cleanup files in cpp driver test 2022-08-06 06:18:54 -05:00
myerspat
a3c15fb07f Proper parenthesis handling for De Morgans 2022-08-05 17:01:09 -04:00
Patrick Shriwise
f69fc37275
Merge pull request #2150 from paulromano/fix-combine-dist-test
Bump up number of samples in test_combine_distributions
2022-08-05 11:58:28 -05:00
Paul Romano
2adf34b9a6
Merge pull request #2022 from JoffreyDorville/kalbach_mann_slope
Kalbach-Mann slope calculation for ENDF files
2022-08-05 11:51:00 -05:00
Paul Romano
abc0fd2693
Merge pull request #2100 from yardasol/transportoperator-subclass-notransport
Add class to allow running depletion simulation independent of the OpenMC transport solver
2022-08-05 08:20:26 -05:00
shimwell
496dda717c removed missing bracket 2022-08-04 23:59:51 +01:00
Jonathan Shimwell
75d82a7df7
reverting to pytest.approx
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2022-08-04 23:43:42 +01:00
Olek
c75524cfa0
simplify from_model
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-04 16:11:11 -05:00
Ethan Peterson
39eaf9d887
Apply suggestions from code review
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-08-04 16:50:18 -04:00
myerspat
bce3cc0da4 Added rpn back for bounding box 2022-08-04 15:46:10 -04:00
Joffrey Dorville
fc3d94b781 Apply @paulromano suggestions 2022-08-04 11:38:04 -06:00
yardasol
3ef15da62f fix MicroXS.from_model() 2022-08-04 12:13:07 -05:00
yardasol
d5a8e29b7c fix IndependentOperator._load_prev_results() 2022-08-04 12:12:52 -05:00
yardasol
c3921b735f Changes from @paulromano's 6th round of comments
- add more detail to `MicroXS` example in User's Guide
- Cleanup the `from_model` method
- Reduce repeated code between `MicroXS` and `CoupledOperator`
2022-08-04 10:51:38 -05:00
Jonathan Shimwell
152a149488
density set to 1.5 to test different activities scaling
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2022-08-04 16:15:12 +01:00
Jonathan Shimwell
a30f9b88fd combined activity unit tests as suggested @eepeterson 2022-08-04 15:49:11 +01:00
Jonathan Shimwell
8164f309e9 added pre volume attribute tests for stable nuclide 2022-08-04 15:37:01 +01:00
Jonathan Shimwell
c036403c98
simpler if else statement for normalization
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-08-04 14:55:45 +01:00
Paul Romano
13c83a1c00 Bump up number of samples in test_combine_distributions 2022-08-04 08:54:20 -05:00
Paul Romano
58f3b1d849
Merge pull request #2148 from openmc-dev/yardasol-patch-1
Minor styling fix in `Material.py`
2022-08-04 06:33:37 -05:00
Paul Romano
5fc70d8a67
Merge pull request #2143 from shimwell/adding_years_to_get_time
added option for year as time units
2022-08-04 06:33:24 -05:00
Jonathan Shimwell
e4d54d49a8 moved volume lower 2022-08-04 09:39:14 +01:00
Jonathan Shimwell
c900e4784e
Corrections to activity calcs
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2022-08-04 07:55:35 +01:00
Ethan Peterson
3f3b0282f7
Merge pull request #2135 from paulromano/decay-data
Add ability to get sources from `Decay` class
2022-08-03 19:58:39 -04:00
Ethan Peterson
39708e120e
Merge pull request #2146 from paulromano/rpp-consistency
Change ordering of halfspaces for RectangularParallelepiped
2022-08-03 19:55:00 -04:00
Olek
15f66ed50a
Minor styling fix in Material.py
change `E` to `e` for scientific notation.
2022-08-03 17:46:26 -05:00
shimwell
98c707ea07 refactor activities to single method 2022-08-03 22:46:50 +01:00
Olek
cbb0ee9964
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-03 16:45:25 -05:00
yardasol
65624df58d add chain_file, dilute_initial parameters to MicroXS.from_model 2022-08-03 16:16:19 -05:00
Paul Romano
54ac2042fb Add ReducedAbsorptionXS class for MGXS (absorption - n2n - 2*n3n - 3*n4n) 2022-08-03 15:58:54 -05:00
Paul Romano
b32d121e22 Use add_params decorator to cut down on repeated docstrings for MGXS classes 2022-08-03 14:34:58 -05:00
Jonathan Shimwell
aa5526aab6
Review suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-03 13:49:30 +01:00
Paul Romano
17482d4fbe Change ordering of halfspaces for RectangularParallelepiped -/+ 2022-08-03 06:45:38 -05:00
Paul Romano
8965dd1e66 Check for macroscopic data in materials when running Universe.plot 2022-08-02 22:11:37 -05:00
yardasol
2a0da7437f Merge remote-tracking branch 'origin/transportoperator-subclass-notransport' into transportoperator-subclass-notransport 2022-08-02 17:19:31 -05:00
shimwell
ea926ef84a specified that year is Julian in docstring 2022-08-02 20:36:42 +01:00
shimwell
3c22a405fe added doc strings for time_units 2022-08-02 20:29:19 +01:00
Jonathan Shimwell
aa278ada26
[skip ci] @paulromano review suggestion change "y" to "a" 2022-08-02 20:13:14 +01:00
Olek
4a06d14b15
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-08-02 12:28:00 -05:00
Jonathan Shimwell
742311fd1b
[skip ci] fixed typo 2022-08-02 17:37:17 +01:00
Jonathan Shimwell
98c287b83a volume not needed when finding specific activity 2022-08-02 17:24:48 +01:00
Jonathan Shimwell
6865264abd added option for year as time units 2022-08-02 15:43:21 +01:00
Jonathan Shimwell
064426a05f added specific_activity 2022-08-02 13:17:33 +01:00
yardasol
b742258954 Merge remote-tracking branch 'upstream/develop' into transportoperator-subclass-notransport 2022-08-01 14:29:59 -05:00
Paul Romano
8a6dc7e9f8
Merge pull request #2139 from yardasol/add-nuclides-dict
`Material.add_components()` method
2022-08-01 13:53:40 -05:00
yardasol
1c6fb99947 fix regression test microxs 2022-08-01 13:36:51 -05:00
yardasol
89d79310bb revert DepletionOperator to TransportOperator; doc updates 2022-08-01 12:44:28 -05:00
yardasol
78e4e0aedf doc adjustments from @paulromano's comments 2022-08-01 12:20:46 -05:00
yardasol
4bab1b5611 remove attribute from MicroXS; specify xs values to be in barns 2022-08-01 12:09:21 -05:00
Paul Romano
75adc68861
Merge pull request #2103 from pshriwise/vtk_umesh
Store full unstructured mesh definition and add ability to write to VTK
2022-08-01 10:20:22 -05:00
yardasol
2f985a8086 syntax fix in CoupledOperator 2022-08-01 09:58:52 -05:00
yardasol
51b1350f4a add basic unit test for initalizing CoupledOperator 2022-08-01 09:49:20 -05:00
yardasol
eac4092362 address @paulromano's fourth round of comments
- syntax fixes
- remove `units` argument from MicroXS.from_csv and MicroXS.from_array
- make Operator warning display only when users call Operator
2022-08-01 09:35:35 -05:00
yardasol
0dd8f70939 add paulromano's 2nd round of suggestions 2022-08-01 09:22:10 -05:00
yardasol
3e81a86915 TransportOperator->DepletionOperator 2022-07-30 18:37:51 -05:00
yardasol
467ae6b9fb operator.py -> coupled_operator.py 2022-07-30 16:55:36 -05:00
yardasol
773757246b Operator->CoupledOperator
- update references in docstrings and docpages
- minor adjustments to related docs in deplete module files
- retain backwards compatiblity by exporint Operator alias
2022-07-30 16:46:31 -05:00
yardasol
511464b53b adjust top-level module descriptions 2022-07-30 15:59:28 -05:00
yardasol
ea1e2d02c4 Adjust docpages to accomodate new transport-independent depletion
scheme.
2022-07-30 15:17:16 -05:00
yardasol
effc35b8ee add_elements_or_nuclides -> add_components
- changed the assumptions the function makes about the 'components'
  parameter
- added 'percent_type' parameter
- passed changes to unit test
2022-07-29 18:28:08 -05:00
Patrick Shriwise
a3e2fcdcca Correcting dimensions of attributes in um docstrings 2022-07-29 15:34:23 -05:00
Patrick Shriwise
647863c7ac Removing centroids setter 2022-07-29 15:33:29 -05:00
Patrick Shriwise
5bd2a14a2c Adding missing datasets to the statepoint docs 2022-07-29 15:30:35 -05:00
myerspat
d7904f7a13 now can handle multiple depths of parenthesis 2022-07-29 13:29:21 -05:00
myerspat
9413e46998 changed break conditions for short ciruciting 2022-07-29 11:15:53 -05:00
Patrick Shriwise
7b083c7b0c Fixing output message syntax 2022-07-29 02:03:03 -05:00
Patrick Shriwise
bdf6de5e51 EOL for test 2022-07-28 19:21:17 -05:00
Patrick Shriwise
d5e9632206 Updating statepoint doc a bit 2022-07-28 19:19:39 -05:00
Patrick Shriwise
2edd390d30 Newline at end of test file 2022-07-28 18:56:19 -05:00
Patrick Shriwise
24462b51da Merge remote-tracking branch 'origin/vtk_umesh' into vtk_umesh 2022-07-28 18:53:51 -05:00
Patrick Shriwise
044c28d651 Applying clang-format 2022-07-28 18:52:50 -05:00
Patrick Shriwise
8e747cc874
Apply suggestion from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-07-29 00:51:25 +01:00
Patrick Shriwise
4564607eff Addressing comments from @paulromano 2022-07-28 18:48:11 -05:00
Patrick Shriwise
25ab9d28ce
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-07-29 00:47:27 +01:00
yardasol
3e827530ba make changes from @paulromano's 3rd review
- syntax fixes and adjustments
- change name of FluxDepletionOperator to IndependentOperator
- flux_operator.py -> independent_operator.py
- new class, MicroXS, for creating (for now) one-group microscopic
  cross section DataFrames. This class takes the functionality that was
  previously in static functions in IndependentOperator
- Associated changes to the test suite and online docs
2022-07-28 17:50:06 -05:00
Paul Romano
f5bd55debd
Merge pull request #2124 from richmorrison/Dockerfile_fix
ARG & ENV scoping fix in Dockerfile
2022-07-28 17:49:51 -05:00
Patrick Shriwise
ecb2c57cdd
Merge pull request #2137 from lewisgross1296/create_mesh_no_file
Add constructor to create a libMesh mesh from a libMesh pointer, as opposed to a mesh input file
2022-07-28 17:13:00 -05:00
Paul Romano
cc7aa092be Address @eepeterson comments on #2135 2022-07-28 17:07:06 -05:00
Paul Romano
b2fed3c3ce Fix bugs in Discrete, Tabular, and Mixture sample methods 2022-07-28 17:06:13 -05:00
yardasol
6351b49ea2 add reference to add_elements_or_nuclides in the docstring for Material 2022-07-28 16:06:19 -05:00
yardasol
9317724a5b fix examples formatting 2022-07-28 16:03:42 -05:00
Amelia J Trainer
a18abd4fd9
Merge pull request #2134 from paulromano/thermal-mixed-elastic
Add support for mixed incoherent/coherent elastic thermal scattering
2022-07-28 15:43:55 -04:00
myerspat
8a5df89ea5 enforced precedence if intersections proceed unions without parenthesis 2022-07-28 12:22:28 -05:00
Ethan Peterson
73df95e585
Merge pull request #2129 from paulromano/translate-inplace
Add `inplace` option for Region.translate
2022-07-28 12:32:24 -04:00
yardasol
623658870d merged add_nuclides and add_elements into one function 2022-07-28 11:00:48 -05:00
Lewis Gross
3374ec12f5
Update src/mesh.cpp
grammar

Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-07-28 09:39:56 -05:00
Olek
9ae0c6bd55
add add_elements
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-07-28 08:50:48 -05:00
yardasol
4818a296d4 Made changes from paulromano's 2nd round of comments
- Syntax improvements and fixes
- removed `flux` parameter from Integrator
- Moved generate_1g_cross_sections to a top level function in
  flux_operator.py
- changed normalization modes: constant-flux -> source-rate;
  constant-power -> fission-q
- fixed regression tests (fission-q reference solution was bad before,
  but is now much more reasonable and comparable to the source-rate
  reference solution)
- added `nuc_units` parameter to the `from_nuclides` method.
- docstring fixes
- RST doc fixes
- spelling fixes
2022-07-27 13:30:56 -05:00
yardasol
b3d0f20a00 added add_nuclides method 2022-07-27 13:15:10 -05:00
lewisgross1296
7c215543eb added comment to XML constructor. initialized unique_m_ to nullptr to help some compilers 2022-07-27 12:53:19 -05:00
lewisgross1296
3010c5e9ad moved m->prepare_for_use() back to initialize, but only occurs if unique_m exists. XML constructor can access member variables from UnstucturedMesh constructor 2022-07-27 12:48:30 -05:00
myerspat
cd216c7502 Merge branch 'infix-sense-evaluation' of github.com:myerspat/openmc into infix-sense-evaluation 2022-07-27 12:15:51 -05:00
myerspat
7dfb35a39a removed rpn_ and changed to only region_ 2022-07-27 12:15:46 -05:00
Patrick Myers
a09b58d44e
Merge branch 'openmc-dev:develop' into infix-sense-evaluation 2022-07-27 11:25:21 -05:00
myerspat
67d01417b7 Fixed errors due to iterators 2022-07-27 11:18:02 -05:00
Patrick Shriwise
1e4371549c Returning unstructured mesh dimension as a tuple. Improving error message format 2022-07-27 09:41:56 -05:00
lewisgross1296
35c3ef9e2d filenanme shouldn't be a reference since the RHS initializes with a non-const rvalue, causing an error 2022-07-26 18:18:26 -05:00
lewisgross1296
5f1f0827ae not supposed to call method on node object, other places use it from no object. following those examples 2022-07-26 17:55:43 -05:00
lewisgross1296
3c2d79a241 added back in header (despite redundancy) due to use in mesh files 2022-07-26 17:01:50 -05:00
myerspat
7c282b845c Merge branch 'infix-sense-evaluation' of github.com:myerspat/openmc into infix-sense-evaluation 2022-07-26 16:48:11 -05:00
lewisgross1296
5161da8031 retrireve filename and length_multiplier from XML file and call methods similar to filename case for XML constructor 2022-07-26 16:39:54 -05:00
myerspat
e4a10c8d05 Added new algorithm for complex cell finding using infix 2022-07-26 16:38:54 -05:00
lewisgross1296
045bc34ec4 moved accessor to one liner in header 2022-07-26 12:59:43 -05:00
lewisgross1296
fd8a820708 added public mesh_ptr() accessor. moved m->prepare_for_use() to filename constructor since it only happens there. for consistency, added theh length_multiplier scale modification to constructors 2022-07-26 12:40:13 -05:00
lewisgross1296
6a9be64d71 left off semicolon 2022-07-26 12:22:59 -05:00
lewisgross1296
deda82d631 added clarification to comment 2022-07-26 12:20:47 -05:00
lewisgross1296
7fc9d20a30 added back accidentally deleted line 2022-07-26 12:20:19 -05:00
Paul Romano
a4d6de1d7b
Merge pull request #2136 from andrsd/fmt-v9
Allow OpenMC to compile against fmt v9
2022-07-26 09:57:43 -05:00
David Andrs
23646c3c7c
Allow OpenMC to compile against fmt v9 2022-07-25 20:59:26 -06:00
Joffrey Dorville
64b7889cec
Merge KM refactoring
Refactor of KM slope branch
2022-07-25 15:47:23 -06:00
lewisgross1296
91000f3ea0 refactored mesh.cpp to allow mesh pointer or filename and reduced copied
code
2022-07-25 16:39:31 -05:00
Paul Romano
0118067e2f Fix for IncoherentElasticAE.from_hdf5 2022-07-25 16:00:50 -05:00
Patrick Shriwise
584b47006c
Merge pull request #2118 from shimwell/adding_dagmcuniverse_bounding_region
added DAGMCUniverse.bounding_region
2022-07-25 15:30:21 -05:00
Patrick Shriwise
f4bb731687 Keep outgoing datasets in a list until VTK file is written 2022-07-25 13:17:55 -05:00
Patrick Shriwise
782c241190 Always continue, but only write warning on mpi master rank 2022-07-25 13:17:55 -05:00
Patrick Shriwise
2f8d2fe003 Empty commit attempting to fix CI. 2022-07-25 13:17:55 -05:00
Patrick Shriwise
46e98156ac Adding notice about MOAB meshes 2022-07-25 13:17:55 -05:00
Patrick Shriwise
b93ab95ba1 Adding more mesh interrogation options for the libmesh
Finishing methods for connectivity and coordinates.

Writing vertices and connectivity to statepoint file

Loading vertices and connectivity from statepoint. Correcting string repr

Correcting connectivity length

Adding method to write the mesh elements to VTK with data applied.

Updating hdf5 output to include element types

Adding support for hex elements when writing unstructured meshes to VTK

Adding simple check for VTK writing if the module is present

Removing centroids from the statepoint file and Python UM class

Updating test check for vtk

Adding warning for skipped elements. Correcting element type

Adding warning for skipped elements.

Using an enum to indicate element types for readability

Updating to element types on the Python side as well

Handling integer data applied to VTK files.

Doc updates for Python API UM class

Incrementing statepoint version number

Refactor of unstructured mesh tests to extract model

Updating inputs for floating point surface coefficients

Adding test for hexes and refactoring comparison funcs

Updating reference mesh files

Adding reference file for the hexes test case

Passing test for hex mesh

Adding inputs for the hexes test case.

Adding hex test meshes.

Skipping hex mesh test if not built with libmesh

Adding small VTK write tests for unstructured mesh.

Allowing file path to be a pathlib path.

Adding skips if libmesh or dagmc not enabled

Adding a few comments to test file

Changing where conversion to str happens for mesh filename. Setting output to false.

Removing VTK check from unstructured mesh regression test

Removnig VTK test files for regression test -- too large

Adding __init__.py file for pytest
2022-07-25 13:17:51 -05:00
Paul Romano
55d74c52dd
Merge pull request #2133 from pshriwise/vtk-multiple-datasets
Keep numpy arrays until VTK file is written.
2022-07-25 13:09:17 -05:00
Patrick Myers
1d7734cb0e
Merge branch 'openmc-dev:develop' into infix-sense-evaluation 2022-07-25 12:07:22 -05:00
myerspat
29a741a441 added infix evaluation and removed conversion of infix to postfix 2022-07-25 11:58:16 -05:00
Jonathan Shimwell
717115938d updating fill id to match 2022-07-25 16:25:29 +01:00
Paul Romano
3e5afd21eb Add missing definition of _sources in Decay.__init__ 2022-07-22 16:42:24 -05:00
Paul Romano
a68a3ede6a Change get_sources() -> sources property and add test 2022-07-22 15:08:25 -05:00
Paul Romano
5a9662aa9f Add test for combine_distributions, use np.array in Discrete/Tabular setters 2022-07-22 14:56:05 -05:00
Paul Romano
7c779f73f8 Move combine_distributions to univariate.py 2022-07-22 14:56:05 -05:00
Paul Romano
d4989ae642 Use integral() methods instead of _intensity hidden attribute 2022-07-22 14:56:05 -05:00
Paul Romano
6388c8f994 Separate out a function for combine_distributions 2022-07-22 14:56:05 -05:00
Paul Romano
1b2b5e169c Map radiation type to particle type properly in Decay.get_sources 2022-07-22 14:56:04 -05:00
Paul Romano
b7596245f2 Combined decay distributions 2022-07-22 14:56:04 -05:00
Paul Romano
c4a9b2c8b1 Get gamma and xray decay sources as distributions 2022-07-22 14:56:04 -05:00
Paul Romano
443c2ac4c9 Add integral method on Discrete, Tabular, and Mixture classes 2022-07-22 14:56:04 -05:00
Patrick Shriwise
3b33fb8306 Adding comment as suggested by @paulromano 2022-07-22 07:55:22 -05:00
Paul Romano
425dba5d25 Add test for mixed elastic thermal scattering 2022-07-22 07:49:01 -05:00
Paul Romano
0f03710e36 Fix hdf5 write/read for coherent and mixed elastic 2022-07-22 07:49:01 -05:00
Paul Romano
e8294d52a0 Update documentation for mixed thermal elastic 2022-07-22 07:49:00 -05:00
Paul Romano
4e611f59b9 Make incoherent XS polymorphic in MixedElasticAE 2022-07-22 07:49:00 -05:00
Paul Romano
edf023adb9 Fix HDF5 export of mixed elastic distribution 2022-07-22 07:49:00 -05:00
Paul Romano
70c16d4b04 Implement mixed coherent/incoheret thermal elastic 2022-07-22 07:49:00 -05:00
Paul Romano
e453901c84 Implement to/from_hdf5 methods for Python Sum class 2022-07-22 07:48:56 -05:00
Jonathan Shimwell
f0cda31e73
corrected arg name 2022-07-22 10:45:15 +01:00
Jonathan Shimwell
ff5490e3ba
User able to set bounding cell id 2022-07-22 08:01:28 +01:00
Paul Romano
d3c149b14c
Merge pull request #2126 from shimwell/adding_return_types_to_settings
added return types to openmc.Settings
2022-07-21 23:24:23 -05:00
Patrick Shriwise
8cc815d4f2 Add numpy arrays to a list so they persist to the time of the VTK write 2022-07-21 22:24:17 -05:00
yardasol
8102226e70 fix unit test 2022-07-21 20:27:52 -05:00
yardasol
8ec8826ed8 fix regression test 2022-07-21 19:19:51 -05:00
yardasol
5d004230f4 added refernce libraries for each case 2022-07-21 19:15:52 -05:00
yardasol
18cc291c9d formatting adjustment in usersguide 2022-07-21 17:52:18 -05:00
yardasol
018ed9f58a add flux parameter to SII integrator 2022-07-21 17:47:50 -05:00
yardasol
657a94b0c1 clean up docs for micro_xs helper functions 2022-07-21 17:43:37 -05:00
yardasol
cc87149526 Add function to load previous results 2022-07-21 17:39:26 -05:00
yardasol
f4aefa9db6 added function to help users create one-group cross sections; typo and bug fixes 2022-07-21 17:27:08 -05:00
yardasol
61b1d82544 update test suite 2022-07-21 17:26:35 -05:00
yardasol
34598609b8 add flux parameter to Integrator.__init__ signature 2022-07-21 17:24:16 -05:00
yardasol
ef238b4a4f test_flux_deplete_operator.py -> test_deplete_flux_operator.py 2022-07-21 16:50:29 -05:00
yardasol
4667cee8b8 Added helper function to generate one-group cross sections 2022-07-21 16:49:19 -05:00
yardasol
ce077567ae bugfix in operator.py 2022-07-21 14:08:53 -05:00
Paul Romano
8bb2002d8f Add open_object, close_object functions in HDF5 interface 2022-07-21 14:02:04 -05:00
Paul Romano
d024a3e008 Implementation of C++ Sum1D function 2022-07-21 14:02:04 -05:00
yardasol
8adefaad71 use source_rate in __call__ 2022-07-21 12:32:09 -05:00
yardasol
2f43656f34 update user guide 2022-07-21 12:27:36 -05:00
yardasol
0984b29f67 add machinery to do constant-power depletion with FluxDepletionOperator 2022-07-21 12:14:47 -05:00
yardasol
06f34b9f23 address most of paulromano's comments 2022-07-21 11:00:45 -05:00
Jonathan Shimwell
0256fe90d4
corrected end of line 2022-07-21 16:11:57 +01:00
Jonathan Shimwell
ada2493a6b changed auto_geom_ids approach 2022-07-21 12:05:31 +01:00
Jonathan Shimwell
035b0df3d8 corrected rel_max_lost_particles type 2022-07-21 09:14:15 +01:00
Jonathan Shimwell
8bf727022f
return types corrections by @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-07-21 09:12:08 +01:00
Paul Romano
a27d0e079f Allow inplace argument on Region.translate 2022-07-20 22:43:20 -05:00
Paul Romano
4df20f2d6c Account for neutron wave number in SLBW competitve rho. Closes #907 2022-07-20 22:32:03 -05:00
Richard Morrison
56b593d0b5
compile_cores ARG included in build stages 2022-07-20 20:40:17 +01:00
Richard Morrison
66206f8b14
ARG reference, use mpicxx 2022-07-20 20:31:12 +01:00
yardasol
61ad9c977c fix Minimal example syntax 2022-07-20 11:04:39 -05:00
Jonathan Shimwell
b144f1a0fa added return types to openmc.Settings 2022-07-20 13:22:01 +01:00
Jonathan Shimwell
925a5f6bb6
Merge pull request #2119 from paulromano/sample-source-capi
Add C API function for sampling external source and Python binding
2022-07-20 12:59:48 +01:00
Paul Romano
caf68cfe74
Merge pull request #2122 from richmorrison/std-cout_fix
Proposed fix for std::cout sync bug in output.cpp
2022-07-19 15:13:54 -05:00
yardasol
eefb4020af pep8 fixes 2022-07-19 12:57:03 -05:00
yardasol
030e14a799 update name of function in example 2022-07-19 12:55:05 -05:00
yardasol
7e671d4e57 Change defualt constructor to accept a Materials object
The classmethod, from_nuclides, retains the volume-nuclide constructor
2022-07-19 12:33:56 -05:00
yardasol
3817750bff fix Operator syntax in UG Chapter 8 example 2022-07-19 12:20:22 -05:00
yardasol
3aad43a3ba remove unneeded parameters from OpenMCOperator 2022-07-19 11:25:45 -05:00
yardasol
d69150db0c Merge branch 'refactor-deplete-operators' into transportoperator-subclass-notransport 2022-07-19 10:08:20 -05:00
yardasol
efa92ad865 Address pauromano's comments 2022-07-19 10:05:47 -05:00
Jonathan Shimwell
c8fb5eb2bd updated comparison input 2022-07-19 11:43:28 +01:00
Patrick Shriwise
1b360ab6cd
Merge pull request #2113 from paulromano/ww-export-fix
Make sure weight window lower/upper bounds are flattened before writing to XML
2022-07-18 19:39:41 -05:00
Richard Morrison
e72f97c4ed
Dockerfile ARGS to global scope 2022-07-19 00:04:28 +01:00
Richard Morrison
ae4556adda
flushing stdout 2022-07-18 23:51:14 +01:00
shimwell
fbb15496db boundary_type review suggestion from @pshriwise 2022-07-18 21:33:37 +01:00
Paul Romano
dc7851dda2
Apply @pshriwise suggestions from code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-07-18 15:30:52 -05:00
Paul Romano
476fdd1bf7 Improve description of prn_seed argument in openmc.lib functions 2022-07-18 06:49:14 -05:00
Paul Romano
d8425d2669
Apply @shimwell suggestions from code review
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-07-18 06:48:51 -05:00
Richard Morrison
a42ce82396
ARG & ENV scoping fix in Dockerfile 2022-07-17 21:11:17 +01:00
Richard Morrison
38df4f6928
Fixed std::cout sync bug in output.cpp 2022-07-17 20:54:02 +01:00
Paul Romano
ba5f6f58fa Add test for openmc.lib.sample_external_source 2022-07-15 20:12:14 -05:00
Paul Romano
b1267f0544 Allow openmc_sample_external_source to produce multiple samples 2022-07-15 20:12:10 -05:00
Erik B Knudsen
1ba6967414
fix typo
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-07-15 21:35:59 +02:00
Paul Romano
953b35e742 Add openmc_sample_external_source function and Python binding 2022-07-15 07:21:08 -05:00
aprilnovak
4d321bc98b Replace centroid() with vertex_average(). Refs #1914 2022-07-14 18:53:58 -05:00
yardasol
a5f15aec57 rearrange functions; move FluxTimesXSHelper to be inner class of
FluxDepletionOperator
We move FluxTimesXSHelper to be an inner class of FluxDepletionOperator
so we can avoid needing to copy the number and cross_sections
attributes.
2022-07-14 17:55:18 -05:00
yardasol
8bf4465b27 docstring updates 2022-07-14 16:50:05 -05:00
yardasol
86caa75df4 Add an alternate constructor using an openmc Model instance 2022-07-14 16:30:40 -05:00
yardasol
80fbcdcdf3 move intermediate classes to their own section in the api docs 2022-07-14 15:14:35 -05:00
yardasol
7b04111420 add small blurb about OpenMCOperator; move TalliedFissionYieldHelper to different section 2022-07-14 14:23:11 -05:00
yardasol
47344ca5cb spell checker typo fixes 2022-07-14 14:22:33 -05:00
yardasol
39472e286c add OpenMCOperator to docs, fix referecne to TalliedFissionYieldHelper 2022-07-14 12:56:19 -05:00
yardasol
0a05f9dcb4 pep8 fixes 2022-07-14 12:54:51 -05:00
yardasol
6ff164131c clean up docstrings, function ordering 2022-07-14 12:53:41 -05:00
Jonathan Shimwell
34e4a5efd1 setting auto_geom_ids to true for bounded universe 2022-07-14 18:06:07 +01:00
yardasol
11ebf1d6bd Merge remote-tracking branch 'upstream/develop' into refactor-deplete-operators 2022-07-14 11:44:01 -05:00
Paul Romano
bf6cf505cc
Merge pull request #2114 from yardasol/cleanup-deplete-module
Decouple context manager from `deplete.Operator`
2022-07-14 11:30:45 -05:00
Jonathan Shimwell
c3e60da1b9 testing and returing openmc.Universe 2022-07-14 16:55:26 +01:00
Jonathan Shimwell
3d091a6cfb returning Cell instead of Universe 2022-07-14 16:51:22 +01:00
Jonathan Shimwell
4c62517b1a added test to check bounded_universe is usable in model (should fail) 2022-07-14 16:50:33 +01:00
Jonathan Shimwell
839b862d56 added type value check for bounded type 2022-07-14 15:15:04 +01:00
Jonathan Shimwell
28e203c828
typos fixed in review by @pshriwise
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-07-14 15:10:27 +01:00
Jonathan Shimwell
227c4e330f improved doc strings added checks 2022-07-14 09:36:17 +01:00
yardasol
35ddf8b23c move reusable code to new parent class; 2nd pass; some minor docstring edits 2022-07-13 17:17:26 -05:00
yardasol
a1aa66c1fd make FluxDepletionOperator work with multiple materials; update regression test 2022-07-13 15:56:29 -05:00
yardasol
8f1db41458 overhaul FluxTimexXSHelper class 2022-07-13 15:55:48 -05:00
Olek
5d5a2d6fa5
_orig_dir -> orig_dir
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-07-13 15:55:15 -05:00
Erik B Knudsen
eff690fd90 fail without tripping the entire test-process 2022-07-13 20:55:53 +02:00
shimwell
cd60109a77 added bounding_region 2022-07-13 19:14:14 +01:00
Patrick Shriwise
f650721296
Merge pull request #2111 from shimwell/adding_dagmc_bounding_box_property
adding bounding box property to DAGMCUniverse objects
2022-07-13 12:31:25 -05:00
yardasol
2e13a83885 Merge branch 'develop' into transportoperator-subclass-notransport 2022-07-13 11:47:05 -05:00
Paul Romano
1e849fe162
Apply @JoffreyDorville suggestions from code review
Co-authored-by: Joffrey Dorville <54550047+JoffreyDorville@users.noreply.github.com>
2022-07-13 11:09:35 -05:00
Erik B Knudsen
a79233b3ec needed to avoid name clashes with other tests 2022-07-13 14:13:33 +02:00
Erik B Knudsen
cd163ef0b9 only add mcpl-support if OPENMC_MCPL is defined 2022-07-13 12:13:10 +02:00
Erik B Knudsen
c2a5d91fb5 Merge branch 'mcpl2openmc' of github.com:ebknudsen/openmc into mcpl2openmc 2022-07-13 10:28:45 +02:00
Erik B Knudsen
b140eeb7cb add a source type to the settings interface 2022-07-13 10:27:18 +02:00
Erik B Knudsen
915d69fb3d add an option to turn on mcpl-support 2022-07-13 10:26:24 +02:00
Erik B Knudsen
8c9bb761e5 fix bugs and finalize interface to MCPL 2022-07-13 10:25:55 +02:00
yardasol
f5db4e3afb move reuasble code to new parent class; 1st pass
- new class OpenMCOperator to contain shared bits of code between the
  currently existing Operator class and the as-of-yet to be created
  FluxDepletionOperator class
- Operator is now a subclass of OpenMCOperator
- move _distribute method to OpenMCOperator
- move _get_burnable_mats, _extract_number, _set_number_from_mat,
  _set_number_from_results to OpenMCOperator
- split initial condition into openmc.lib dependent and non-dependent
  parts; dependent part goes to Operator, non-dependent part goes to
  OpenMCOperator
- move _update_materials to OpenMCOperator
- move _get_tally_nuclides to OpenMCOperator
- rename _unpack_tallies_and_normalize to _calculate_reaction_rates;
  move to OpenMCOperator
- move get_results_info to OpenMCOperator
2022-07-12 18:38:05 -05:00
yardasol
39b008df26 Remove __enter__, __exit__ methods from TransportOperator
This commit removes the context manager for switching directories from
the TransportOperator class, and moves this functionality to a
module-level function, change_directory.
2022-07-12 16:07:59 -05:00
yardasol
5b4453c3a9 remove dilute_inital from regression test 2022-07-12 15:39:29 -05:00
Jonathan Shimwell
4784be1fc9
review line removal from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-07-12 21:03:24 +01:00
Paul Romano
8e4ce676ff Make sure weight window lower/upper bounds are flattened before writing to XML 2022-07-12 13:50:48 -05:00
yardasol
5f8e1ff9d9 Address paulromano's comments
- various syntax adjustments and cleanups
- remove unneeded import statements
- add more information to new section in user's guide
- typo fixes
- remove dilute_initial
- move _validate_micro_xs_inputs back into the class as a static method
- update tests to reflect changes
2022-07-12 11:44:12 -05:00
Jonathan Shimwell
8b06863b37 added dagmc bounding box test 2022-07-12 16:52:02 +01:00
Jonathan Shimwell
48a3484c39 context manager review suggestion from @pshriwise 2022-07-12 16:36:43 +01:00
Patrick Shriwise
6c78d129c3 added bbox by @pshriwise 2022-07-12 15:49:40 +01:00
Erik B Knudsen
e480b5c851 add a check that the test input got created as intended 2022-07-12 14:40:01 +02:00
Patrick Shriwise
b72c4593a3
Merge pull request #2108 from paulromano/sph-cyl-mesh-fix
Fix bug in spherical and cylindrical meshes
2022-07-12 06:59:03 -05:00
Erik B Knudsen
b0bb63cb35 yet another necessary file 2022-07-12 13:50:53 +02:00
Erik B Knudsen
49aec9c387 test target result 2022-07-12 13:50:35 +02:00
Erik B Knudsen
25cfc328d0 set seed to make test deteministic 2022-07-12 13:49:56 +02:00
Erik B Knudsen
34746926d3 add necessary xmls 2022-07-12 13:48:55 +02:00
Patrick Shriwise
a3bbd84692
Merge pull request #2107 from paulromano/update-sphinx-docbuild
Update version pins for RTD documentation builds to fix rendering of bullet lists
2022-07-11 14:37:49 -05:00
Paul Romano
56d60d153b
Merge pull request #2092 from shimwell/adding_typehints_to_match_docs_material.py
added type hints to match doc strings for material class
2022-07-11 12:29:06 -05:00
Paul Romano
ee2ceda926
Merge pull request #2110 from RemDelaporteMathurin/fix_write_to_vtk
Fixed write_data_to_vtk dimension mismatch
2022-07-11 12:19:26 -05:00
Paul Romano
ef452850be Don't skip CI for non-code files (reverting changes from #2010) 2022-07-11 10:28:06 -05:00
RemDelaporteMathurin
0fe895e195 Fixed number of dimensions in vtk file 2022-07-11 12:29:10 +00:00
Jonathan Shimwell
5985adbccb
Merge branch 'develop' into adding_typehints_to_match_docs_material.py 2022-07-11 11:10:02 +01:00
Erik B Knudsen
7a6c69fbd5 fix misprints 2022-07-11 09:49:29 +02:00
erkn
2530d167db Merge branch 'mcpl2openmc' of github.com:ebknudsen/openmc into mcpl2openmc 2022-07-09 16:31:13 +02:00
erkn
0d1c346b5a fix misprints 2022-07-09 16:31:00 +02:00
Jonathan Shimwell
69cb024882
Adding type hint h5py.Group 2022-07-08 23:52:27 +01:00
Jonathan Shimwell
7e89003705
[skip ci] Apply suggestions from code review by @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-07-08 23:44:32 +01:00
Erik B Knudsen
056d527b89 Merge branch 'mcpl2openmc' of github.com:ebknudsen/openmc into mcpl2openmc 2022-07-08 17:38:06 +02:00
erkn
8719a539f9 now compiles fine if mcpl is indeed installed 2022-07-08 17:30:59 +02:00
erkn
c6c876d835 don't zip the output-file 2022-07-08 17:30:59 +02:00
erkn
73fb335350 c-prog to generate a dummy mcpl 2022-07-08 17:30:59 +02:00
erkn
103c6ffa03 (wip): skeleton for input only test 2022-07-08 17:30:59 +02:00
Erik B Knudsen
106ab6118f internals of sample and constructor 2022-07-08 17:30:59 +02:00
Erik B Knudsen
c43989af9c declarations of MCPL-internals 2022-07-08 17:30:59 +02:00
Erik B Knudsen
601d219c6d include mcpl header 2022-07-08 17:30:59 +02:00
Erik B Knudsen
6d352aa55c add placeholder skeleton for MCPL-input 2022-07-08 17:30:59 +02:00
Paul Romano
620aaec5ee Fix indexing bug in SphericalMesh and CylindricalMesh 2022-07-08 08:09:16 -05:00
Paul Romano
ff15c98b67 Add test checking that collision/tracklength estimators agree for sph/cyl mesh 2022-07-08 08:05:51 -05:00
Paul Romano
a95d02dd91 Update version pins of sphinx and sphinx_rtd_theme 2022-07-07 22:29:56 -05:00
yardasol
af3d460665 test suite typo fixes 2022-07-07 20:35:09 -05:00
yardasol
1c9a5be738 add test_reference.h5 files 2022-07-07 17:44:59 -05:00
yardasol
c67f889d99 typo fix in depete api page 2022-07-07 16:44:26 -05:00
yardasol
c91a6d65d8 make import of example_geometry relative to fix pytest error 2022-07-07 16:35:51 -05:00
yardasol
3e5f47b0be Added references to the new class in the docs 2022-07-07 16:22:30 -05:00
yardasol
ff044e7b13 added __init__.py files to deplete regression test modules 2022-07-07 16:01:28 -05:00
yardasol
2053b6cf1d update docstrings and comments in no transport regression test 2022-07-07 16:00:47 -05:00
yardasol
bbec47e1e5 move the depelteion regression tests to their own directories to avoid collection error 2022-07-07 15:29:05 -05:00
yardasol
b02dcbd428 update docstring for no-transport depletion test 2022-07-07 15:26:26 -05:00
yardasol
5963593398 created regression test for FluxDepleteOperator
- new data file: tests/micro_xs_simple.csv
- created regression test based on pincell example
- moved old depletion regression test to new folder:
  tests/regression_tests/deplete/transport_deplete
2022-07-07 15:12:38 -05:00
yardasol
516c117533 Add type checking for keff; typo fixes in flux_operator.py 2022-07-07 14:33:12 -05:00
yardasol
1d81b553de allow None-valued keff in stepresult.py 2022-07-07 14:30:48 -05:00
Paul Romano
6549067c43
Merge pull request #2101 from RemDelaporteMathurin/num_mesh_cells
`num_mesh_cells` property for all `StructuredMesh` classes
2022-07-06 07:50:11 -05:00
yardasol
9d3573d890 unit tests for FluxDepleteOperator
- fix value checking syntax in static methods
- add convenicece function to D.R.Y.
- initial unit tests
- add csv file for toy 1g cross sections
2022-07-05 16:32:21 -05:00
Paul Romano
2f450fbaa0
Merge pull request #2098 from myerspat/otimize-photon-calcxs
Optimize microscopic photoelectric cross section calculation
2022-07-05 13:34:14 -05:00
erkn
80e69b2e08 now compiles fine if mcpl is indeed installed 2022-07-05 01:53:14 +02:00
erkn
bc797c4df8 don't zip the output-file 2022-07-05 01:30:07 +02:00
RemDelaporteMathurin
52d59a4c1a minor refactoring 2022-07-01 09:43:44 +00:00
RemDelaporteMathurin
9c892f04db added num_mesh_cells property to StructuredMesh 2022-07-01 09:42:35 +00:00
RemDelaporteMathurin
0b0265cb59 adapted tests 2022-07-01 11:37:16 +02:00
Jonathan Shimwell
f081b28b1d
Merge pull request #2096 from RemDelaporteMathurin/cylindermesh_to_vtk
`.write_data_to_vtk()` method in meshes
2022-07-01 10:07:42 +01:00
Paul Romano
894a114002
Merge pull request #2097 from shimwell/multi_stage_docker
added multi stages option
2022-06-30 08:51:02 -05:00
Jonathan Shimwell
2f8f8d06d6
Merge pull request #2095 from paulromano/get-nuclide-atoms
Add method on Material for getting number of atoms
2022-06-29 23:52:43 +01:00
yardasol
5fec7a2355 pep8 fixes 2022-06-29 15:05:22 -05:00
yardasol
ecc38a1ae4 fix multi-line error message 2022-06-29 14:47:30 -05:00
yardasol
50acd579cb added convenience functions for creating the mirco_xs parameter 2022-06-29 14:18:07 -05:00
yardasol
1ea6734a7f remove cruft comments, clean up docstrings 2022-06-29 13:43:00 -05:00
RemDelaporteMathurin
fabe3e607c pathlib 2022-06-29 19:02:25 +02:00
RemDelaporteMathurin
96c89f138d multiple lines 2022-06-29 19:01:39 +02:00
Rémi Delaporte-Mathurin
94ef0c40ab
[skip ci] refactore upperright and lowerleft
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-29 18:47:24 +02:00
Rémi Delaporte-Mathurin
5180ab3f8a
[skip ci] removed default value
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-29 18:46:43 +02:00
Rémi Delaporte-Mathurin
7cba2ad030
[skip ci] X Y Y typo
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-29 18:46:10 +02:00
myerspat
c38ed4d875 used placeholders namespace and added comment about variables initialized 2022-06-29 09:37:18 -05:00
Patrick Myers
2c5a845897
Removed an include from photon.cpp
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-29 09:26:36 -05:00
Patrick Myers
d80bf7bdb5
Added comments explaining reasoning for 2D xtensor xs in photon.h
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-29 09:25:59 -05:00
RemDelaporteMathurin
a2299063f5 converted docstrings to numpy style 2022-06-29 15:02:52 +02:00
RemDelaporteMathurin
ad73f03a0d converted docstrings to numpy style 2022-06-29 15:02:20 +02:00
RemDelaporteMathurin
0c4de41f50 docstrings 2022-06-29 14:56:27 +02:00
RemDelaporteMathurin
8857b76932 refactored by adding StructuredMesh.write_data_to_vtk() 2022-06-29 14:50:28 +02:00
RemDelaporteMathurin
48a0d15b1a added error raise + new test 2022-06-29 14:36:54 +02:00
RemDelaporteMathurin
890c3ad0d5 pytest.importorskip 2022-06-29 14:26:46 +02:00
RemDelaporteMathurin
58ccb82cf5 back to .dimension 2022-06-29 14:26:27 +02:00
RemDelaporteMathurin
1266e433c8 removed unused import 2022-06-29 14:23:06 +02:00
RemDelaporteMathurin
ee2e2d27a8 Merge branch 'cylindermesh_to_vtk' of https://github.com/RemDelaporteMathurin/openmc into cylindermesh_to_vtk 2022-06-29 14:22:51 +02:00
Rémi Delaporte-Mathurin
f99e93b583
[skip ci] is_file() instead of exists()
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-29 14:22:26 +02:00
Rémi Delaporte-Mathurin
aeeb078344
[skip ci] pathlib instead of os
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-29 14:22:01 +02:00
RemDelaporteMathurin
8027b1622f Merge branch 'cylindermesh_to_vtk' of https://github.com/RemDelaporteMathurin/openmc into cylindermesh_to_vtk 2022-06-29 14:21:19 +02:00
RemDelaporteMathurin
1155ffb739 added pathlib import 2022-06-29 14:21:15 +02:00
Rémi Delaporte-Mathurin
7e074fe354
[skip ci] str(filename)
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-29 14:20:17 +02:00
Rémi Delaporte-Mathurin
9867a4340a
[skip ci] use .num_mesh_cells
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-29 14:19:56 +02:00
RemDelaporteMathurin
1a7c0791bf z is unchanged 2022-06-29 14:19:12 +02:00
RemDelaporteMathurin
c77eb6097d removed check volume for structured meshes 2022-06-29 14:18:31 +02:00
RemDelaporteMathurin
5603e328b8 docstrings 2022-06-29 13:24:44 +02:00
RemDelaporteMathurin
5174145c1e added checks to test 2022-06-29 13:21:36 +02:00
RemDelaporteMathurin
15b98ea541 added a test to meshes 2022-06-29 13:02:12 +02:00
RemDelaporteMathurin
c58465214b removed tally tests 2022-06-29 13:01:47 +02:00
RemDelaporteMathurin
3233ffc759 removed Tally.write_to_vtk 2022-06-29 12:34:58 +02:00
RemDelaporteMathurin
5ecac76b69 write_data_to_vtk rectilinear mesh 2022-06-29 12:34:05 +02:00
RemDelaporteMathurin
722b572dc3 write_data_to_vtk RegularMesh 2022-06-29 12:31:35 +02:00
RemDelaporteMathurin
3b1d1756e4 write_data_to_vtk CylindricalMesh 2022-06-29 12:26:29 +02:00
RemDelaporteMathurin
15cc2a0804 fixed variable name 2022-06-29 12:23:55 +02:00
RemDelaporteMathurin
0f23bf2109 write_data_to_vtk SphericalMesh 2022-06-29 12:21:59 +02:00
RemDelaporteMathurin
7de718a85c adapted tests 2022-06-29 11:56:32 +02:00
RemDelaporteMathurin
aeb6650909 implemented spherical grid 2022-06-29 11:54:52 +02:00
RemDelaporteMathurin
913bc99564 minor refactore 2022-06-29 11:33:17 +02:00
Rémi Delaporte-Mathurin
dfd6c7f818
Merge pull request #1 from RemDelaporteMathurin/to_vtk_refactoring
Refactoring
2022-06-29 11:28:00 +02:00
RemDelaporteMathurin
2a78c06cf5 added docstrings 2022-06-29 11:21:45 +02:00
RemDelaporteMathurin
8958b74da7 adapted tests 2022-06-29 11:09:32 +02:00
RemDelaporteMathurin
4ab6617bc4 write_to_vtk makes use of mesh.vtk_grid() 2022-06-29 11:09:18 +02:00
RemDelaporteMathurin
7be28ef156 added vtk_grid to meshes 2022-06-29 11:08:58 +02:00
RemDelaporteMathurin
cac84d6e1f removd print statement 2022-06-29 09:50:42 +02:00
RemDelaporteMathurin
b61ec91d78 removed print statement 2022-06-29 09:50:28 +02:00
RemDelaporteMathurin
bff8bc4b45 added tests 2022-06-29 09:16:40 +02:00
RemDelaporteMathurin
11cee75e46 put write_to_vtk method at the end 2022-06-29 09:12:28 +02:00
RemDelaporteMathurin
9ec0a0a3df refactoring 2022-06-29 08:42:32 +02:00
RemDelaporteMathurin
dacd3b75b8 moved import to voxels_to_vtk 2022-06-29 08:20:25 +02:00
RemDelaporteMathurin
fb40ba894a moved comment statement 2022-06-29 08:18:22 +02:00
RemDelaporteMathurin
6eaab920ee better error catching 2022-06-29 08:18:10 +02:00
Paul Romano
7723ea492c Add Material.get_nuclide_activity method and decay_constant function 2022-06-28 23:16:50 -05:00
yardasol
e170914e39 variable name and algorithm improvements
- grammatical fixes in docstring for nuclide parameter
- remove unnecessary for loop in the reduce_chain block
- rename _get_all_depletion_nuclides to _get_all_nuclides_in_simulation
- change output of the above to an attribute, _all_nuclides
- change output of _get_reaction_nuclides to rxn_nuclides in __call__
- pass on creating statepoints
- make loop in _get_reaction_nuclides more efficient
- remove unnecessary loop in _get_nuclides_with_data
2022-06-28 21:04:22 -05:00
yardasol
992d4c1661 add flux_operator to the __init__ module 2022-06-28 16:11:43 -05:00
yardasol
22a29af6dc implement get_results_info function 2022-06-28 16:11:20 -05:00
yardasol
760ef42ce1 consistency and bug fixes
- import check_type instead of check_value
- remove unused classed from .helpers import statement
- add unit spec to nuclides parameter
- remove volume parameter from _get_all_depletion_nuclides
- fix input sytax for ReactionRate object
- add get_results_info function (to be implemented)
- impement _extract_number function
2022-06-28 16:04:06 -05:00
yardasol
a0f8b9937d add keff handling; add comments from review with paul; add density to rxn rate calculation to get right units 2022-06-28 14:38:41 -05:00
Patrick Myers
880a0d9402
Merge branch 'openmc-dev:develop' into otimize-photon-calcxs 2022-06-28 13:42:36 -05:00
Rémi Delaporte-Mathurin
782d987fc8
Optional vtk import
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-06-28 20:18:52 +02:00
Jonathan Shimwell
419351bb26 uppercase AS 2022-06-28 16:14:52 +01:00
Jonathan Shimwell
3d0b404b7a added multi stages option 2022-06-28 16:06:17 +01:00
RemDelaporteMathurin
1eb8670f2b mean and std_dev are np.zeros if None (for testing without running a sim) 2022-06-28 16:46:10 +02:00
RemDelaporteMathurin
877a62c0af fixed cylindrical 2022-06-28 16:43:42 +02:00
RemDelaporteMathurin
06c6bcd7d2 added TODO 2022-06-28 16:09:32 +02:00
RemDelaporteMathurin
30b06fa291 docstrings 2022-06-28 16:08:36 +02:00
RemDelaporteMathurin
06c5d3ec58 added comments 2022-06-28 16:04:33 +02:00
RemDelaporteMathurin
e870ab2040 added RectilinearMesh 2022-06-28 16:00:54 +02:00
RemDelaporteMathurin
fc615451d0 added method to Tally 2022-06-28 15:54:49 +02:00
Paul Romano
3c20b1e415 Fix use of get_nuclide_atom_densities in Material.activity property 2022-06-28 08:00:16 -05:00
Jonathan Shimwell
dbf69b966a
Merge branch 'develop' into adding_typehints_to_match_docs_material.py 2022-06-28 11:48:35 +01:00
Paul Romano
19494cccd0 Add check in Decay.decay_constant for erroneous half-life 2022-06-27 22:42:13 -05:00
Paul Romano
7fcc204726 Implement Material.get_nuclide_atoms method 2022-06-27 22:42:12 -05:00
Paul Romano
a4f98b489c Change values in dict returned by Material.get_nuclide_atom_densities 2022-06-27 22:36:36 -05:00
Paul Romano
d7a456155f
Merge pull request #2080 from pshriwise/sample-dist
Sample distributions from Python API
2022-06-27 22:26:01 -05:00
Paul Romano
cdf710ad37
Merge pull request #2089 from shimwell/adding_remove_element
Adding remove element method to material class
2022-06-27 22:07:58 -05:00
yardasol
13c9fdccf0 Add comments 2022-06-27 16:59:04 -05:00
yardasol
d8902a603e add volume parameter; add attributes to docstring; implement _get_all_depletion_nuclides, _get_nuclides_with_data 2022-06-27 16:27:59 -05:00
erkn
3c30dbba5b c-prog to generate a dummy mcpl 2022-06-27 23:26:01 +02:00
erkn
909b96f31e (wip): skeleton for input only test 2022-06-27 23:25:35 +02:00
yardasol
b85da50988 add basic type verification for nuclides, micro_xs parameters; comment out _normalization_helper attribute 2022-06-27 15:53:48 -05:00
yardasol
28a7b587aa refine __call__; remove/disable _rate_helper attribute; add _normalization_helper, _yield_helper attributes 2022-06-27 15:15:29 -05:00
yardasol
b9f75d961b clean up __call__ method 2022-06-27 12:08:58 -05:00
yardasol
1e63199130 add ConstantFissionYieldHelper 2022-06-27 11:31:18 -05:00
yardasol
9096b1e0f0 remove looping over materials in the _call_ method 2022-06-27 11:22:36 -05:00
yardasol
194c846bd7 remove local_mats attribute 2022-06-27 11:10:06 -05:00
yardasol
fa6fd9384e make nuclude concentrations and nuclide cross section data parameters separate 2022-06-27 10:45:50 -05:00
yardasol
200ea764ac make FluxSpectraDepletionOperator not a subclass of Operator 2022-06-27 10:40:43 -05:00
yardasol
498deeea28 modify block reducing depletion chain
This change modifies the block to handle information stored in the
nuclides parameter
2022-06-27 10:13:43 -05:00
yardasol
491798b24d remove model parameter, replace with nuclides parameter
We will be passing a data structure that already contains nuclide and
cross section information to this class, so we will not need all the
capabilities of an openmc Model.
2022-06-27 09:59:11 -05:00
Patrick Shriwise
e9eaf2edef Using std. dev. of sampled mean for comparison 2022-06-26 01:10:53 -04:00
Patrick Shriwise
3e61076715 Changing check for Tabular to use std. dev. 2022-06-25 14:38:19 +02:00
Jonathan Shimwell
1a8c248597
Merge branch 'develop' into adding_typehints_to_match_docs_material.py 2022-06-23 13:12:57 +01:00
Paul Romano
5913308841
Merge pull request #2079 from shimwell/adding_activity_to_material
Adding activity to material
2022-06-23 06:24:25 -05:00
Erik B Knudsen
c66c37fd13 internals of sample and constructor 2022-06-23 11:37:05 +02:00
Erik B Knudsen
5d74af4bf7 declarations of MCPL-internals 2022-06-23 11:35:46 +02:00
Erik B Knudsen
9c132bfbf0 include mcpl header 2022-06-23 11:34:53 +02:00
Jonathan Shimwell
344c2a4640 lower case nucs in half-life 2022-06-22 23:27:41 +01:00
Jonathan Shimwell
270ef8346c added metastable activity test 2022-06-22 23:18:14 +01:00
Jonathan Shimwell
bebf729ad0 removed circular import types 2022-06-22 22:41:01 +01:00
Erik B Knudsen
debc085cf6 add placeholder skeleton for MCPL-input 2022-06-22 22:50:56 +02:00
Jonathan Shimwell
c2018c41fd
More efficient regex usage
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-22 22:45:37 +02:00
Jonathan Shimwell
a003c5850a added type hints to match doc strings 2022-06-22 14:59:21 +01:00
Jonathan Shimwell
649f4a28f2
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-22 14:21:02 +02:00
Jonathan Shimwell
839c0fe81b refined remove element 2022-06-22 08:32:37 +01:00
Jonathan Shimwell
9b36424e16 added remove element to material 2022-06-22 08:19:00 +01:00
Jonathan Shimwell
53b5cce209
Applying missed suggestions
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-22 08:01:07 +01:00
Ethan Peterson
bab55c0b69
Merge pull request #2088 from paulromano/cmake-cmp0128-fix
Fix incorrect usage of CXX_EXTENSIONS due to CMake bug
2022-06-21 21:53:32 -04:00
yardasol
ed4dd534a0 Merge remote-tracking branch 'upstream/develop' into transportoperator-subclass-notransport
This is needed so that changes from the most recent commit are applied
2022-06-21 18:17:05 -05:00
yardasol
e76bd84368 setup and initial structure for FluxSpectraOperator class 2022-06-21 18:16:34 -05:00
Jonathan Shimwell
87dafd1e31 review comments from @paulromano 2022-06-21 23:14:49 +00:00
Jonathan Shimwell
7bbc778fd7
[skip ci] review suggestions from @paulromano 2022-06-21 23:27:44 +01:00
Paul Romano
8fe6c8244c Set CMP0128 to NEW for recent versions of CMake 2022-06-21 15:48:20 -05:00
Ethan Peterson
b98a0e3566
Merge pull request #2078 from paulromano/dose-encoding
Use UTF-8 encoding when reading dose coefficient files
2022-06-21 16:17:18 -04:00
Jonathan Shimwell
acd6c567c3 added test for remove eleemnt 2022-06-21 14:19:45 +00:00
Paul Romano
edf913b80f
Merge pull request #2083 from yardasol/move-tallied-fission-yield-helpers-to-helpers-py
Move TalliedFissionYieldHelper from abc.py to helpers.py
2022-06-21 07:59:15 -05:00
Paul Romano
e41e2e0c01
Merge pull request #2085 from pshriwise/dagmc_material
DAGMC lost particle message update
2022-06-21 07:57:54 -05:00
Patrick Shriwise
f92ea393f2 Using np.random.choice in Mixture class 2022-06-20 06:39:55 -05:00
Patrick Shriwise
967fc9f88b Adding a 'mean' method to tabular dist 2022-06-19 10:00:27 -05:00
Patrick Shriwise
862189985b Check that output values do not exceed values in tabulated dist 2022-06-19 09:51:45 -05:00
Patrick Shriwise
f46402fd87 Adding docstrings to normalize methods 2022-06-19 09:43:40 -05:00
Patrick Shriwise
f52865854b
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-19 09:39:53 -05:00
Patrick Shriwise
0c3d30e6d1
Update openmc/stats/univariate.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-06-19 09:31:38 -05:00
Patrick Shriwise
1f05c3b016 Updating marked as lost message for clarity 2022-06-19 00:59:05 -05:00
Patrick Shriwise
8b95bd4ee0 Write material id in DAGMC lost particle message 2022-06-17 13:24:37 -05:00
Pat Myers
76a026f463 Merge branch 'otimize-photon-calcxs' of github.com:myerspat/openmc into otimize-photon-calcxs 2022-06-15 14:08:27 -05:00
yardasol
9a86f7bb41 move TalliedFissionYieldHelper from abc.py to helpers.py 2022-06-14 12:29:20 -05:00
Andrew Johnson
64becd2c70
Merge pull request #2077 from paulromano/depletion-renaming
Rename deplete.ResultsList → deplete.Results
2022-06-13 21:57:44 -07:00
Paul Romano
382867db7f Address @drewejohnson comments on #2077 2022-06-13 12:32:09 -05:00
Patrick Shriwise
fc3820191b
Merge pull request #2081 from paulromano/region-parenthesis-fix
Fix a corner case in Region.from_expression
2022-06-10 15:04:13 -05:00
myerspat
98a7d5eabc added clang format 2022-06-10 11:57:35 -05:00
Paul Romano
2f440125d9 Fix error in documentation (thanks @andrewmholcomb). Closes #2082 2022-06-10 09:02:26 -05:00
Patrick Shriwise
aba235e0b4
Update tests/unit_tests/test_stats.py
Co-authored-by: Jonathan Shimwell <drshimwell@gmail.com>
2022-06-10 08:50:52 -05:00
Paul Romano
0e38755a0e Region expression: ensure halfspace followed by ( results in implicit & operator 2022-06-09 12:17:15 -05:00
Pat Myers
393126d57f Merge branch 'otimize-photon-calcxs' of github.com:myerspat/openmc into otimize-photon-calcxs 2022-06-09 11:39:21 -05:00
Pat Myers
8eb21c0af2 Merge branch 'develop' of github.com:myerspat/openmc into otimize-photon-calcxs 2022-06-09 11:14:15 -05:00
myerspat
70b1706460 Moved initialized variables into if statement 2022-06-09 10:39:46 -05:00
myerspat
61db44f40e Xtensor for photoelectric cross sections matches the flux spectrum for uranium of the previous iteration of OpenMC 2022-06-09 09:52:50 -05:00
Jonathan Shimwell
e5e1daf23f
[skip ci] removed diagnostic prints 2022-06-09 15:02:10 +01:00
Jonathan Shimwell
1234e0b17c review suggestions from @PaulRomano 2022-06-09 14:59:28 +01:00
Patrick Shriwise
e1fd9959bc A little cleanup 2022-06-09 08:00:17 -05:00
Patrick Shriwise
1e83df9dc1 Removing re-defined distribution 2022-06-09 01:20:30 -05:00
Patrick Shriwise
85b6566fd7 Updating tabular means. Removing re-defined functions 2022-06-09 01:18:17 -05:00
Patrick Shriwise
9dc84fdb18 Always normalize distributions when sampling. Adding normalization method for tabular. 2022-06-09 01:17:46 -05:00
Jonathan Shimwell
a4661fdca8
[skip ci] removed print statement 2022-06-08 17:39:40 +01:00
Jonathan Shimwell
47e242551d using math to get ln(2) 2022-06-08 17:34:10 +01:00
Jonathan Shimwell
5bf60560af removed import math 2022-06-08 17:31:30 +01:00
Jonathan Shimwell
e030b74836 add get_activity 2022-06-08 17:28:33 +01:00
Patrick Shriwise
50cafaf61c
Merge pull request #2076 from paulromano/photon-heating-nuclide
Allow photon heating to be tallied by nuclide
2022-06-08 07:20:02 -05:00
Paul Romano
e0d82e4878 Use utf-8 encoding when reading dose coefficient files (thanks Fabricio Gatti) 2022-06-08 06:37:27 -05:00
Patrick Shriwise
94c91cc659 Adding more mean value tests for sampling distributions 2022-06-07 23:12:31 -05:00
Patrick Shriwise
12b8a0802f Updating masks and adding some comments for clarity 2022-06-07 23:12:31 -05:00
Patrick Shriwise
2c74dcf336 Adding similar test for Muir distribution 2022-06-07 23:12:31 -05:00
Patrick Shriwise
2f22474aea Adding simple test for normal distribution 2022-06-07 23:12:31 -05:00
Patrick Shriwise
8070ccaf52 Adding sampling for Mixture. Improving performance of Discrete sampling 2022-06-07 23:12:31 -05:00
Patrick Shriwise
17be0257a0 Correction to histogram cdf method 2022-06-07 23:12:31 -05:00
Patrick Shriwise
136ff45cc5 Adding docstrings. Corrections to Tabular sampling 2022-06-07 23:12:31 -05:00
Patrick Shriwise
e856c6a270 Correction to maxwell dist sampling 2022-06-07 23:12:31 -05:00
Patrick Shriwise
7484618c7c Adding sample methods to univariate distribution classes 2022-06-07 23:12:31 -05:00
Paul Romano
bc1ab31746 Raise exception if timestep in [MWd/kg] is given with zero power 2022-06-03 09:09:52 -05:00
Paul Romano
355ecd3747 Allow deplete.Results() to be instantiated empty 2022-06-03 09:04:00 -05:00
Paul Romano
8a4fd95b9b Retain ResultsList name for backwards compatibility 2022-06-03 09:04:00 -05:00
Paul Romano
5421bf0b1f Rename results_list.py -> results.py 2022-06-03 09:04:00 -05:00
Paul Romano
bd7b33c636 Rename results.py stepresult.py 2022-06-03 09:04:00 -05:00
Paul Romano
8bfb1889b9 Rename deplete.ResultsList -> deplete.Results 2022-06-03 09:04:00 -05:00
Paul Romano
aacf3c4938 Rename deplete.Results -> deplete.StepResult 2022-06-03 09:03:59 -05:00
Paul Romano
0b77cc7edc Allow normal instantiation of ResultsList (instead of from_hdf5) 2022-06-03 09:03:57 -05:00
Paul Romano
12d7828803 Update photon_production regression test result 2022-06-02 17:18:23 -05:00
Paul Romano
daf7bc4955 Break up photon heating by nuclide 2022-06-02 15:49:11 -05:00
Paul Romano
ce035884ac Add test for heating by nuclide 2022-06-02 15:49:10 -05:00
Patrick Shriwise
fe230168fb
Merge pull request #2071 from paulromano/flf-improve-track
Major overhaul of track file capability
2022-06-02 14:32:49 -05:00
Paul Romano
6c07553b89 Add cell instance to particle track file (thanks @pshriwise for suggestion) 2022-05-31 17:08:40 -05:00
Paul Romano
a21174e4f9
Merge pull request #2036 from helen-brooks/refactor-dagmc-universes
Support external DAGMC instance
2022-05-31 16:48:24 -05:00
Patrick Shriwise
67f3f40d65
Merge pull request #2005 from eepeterson/mesh_additions1
adding centroids and meshgrid methods to mesh classes
2022-05-31 14:02:43 -05:00
Gavin Ridley
0f7ae4b075
Merge pull request #2074 from paulromano/xml-and-doc-fix
Two `from_xml` fixes and other documentation fixes
2022-05-31 13:04:14 -04:00
Ethan Peterson
bf6e266009 changed to single inheritance 2022-05-31 11:19:30 -04:00
Paul Romano
fbfdf8227c Fix loop in openmc-track-to-vtk 2022-05-31 07:32:49 -05:00
Paul Romano
8fdbbd2c43 Set default max_tracks to 1000 2022-05-31 07:32:29 -05:00
helen-brooks
bfa4b575b6 Forgot the indent on docstring 2022-05-31 09:14:51 +01:00
Patrick Shriwise
ba0c193a31
Merge pull request #2075 from paulromano/infinite-loop-bugfix
Bug fix for rare infinite loop when finding cell after surface crossing
2022-05-30 21:15:31 -05:00
Paul Romano
88eb736884 Respond to @pshriwise comment on #2074 2022-05-27 06:55:55 -05:00
Paul Romano
df50db22e1
Merge pull request #2061 from cfichtlscherer/theta_distribution_spherical_independent
Uniform distribution of cos(theta) in SphericalIndependent
2022-05-27 06:46:00 -05:00
helen-brooks
33ded6d2d3 Additional comments in test 2022-05-27 09:09:55 +01:00
Ethan Peterson
e1d91bb4c6
Update openmc/mesh.py
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-05-26 12:59:31 -04:00
Paul Romano
256078ef10 Don't initially reset surface when doing exhaustive find cell search 2022-05-26 10:25:12 -05:00
Paul Romano
67d5449127 After exhaustive find cell search following surface crossing, set surface on particle 2022-05-26 09:49:58 -05:00
Paul Romano
cc338c98d5 Add mask_components in Plots -> XML round trip unit test 2022-05-26 09:42:03 -05:00
cpf
be006abf17 change input_true in unstructured_mesh 2022-05-26 16:13:37 +02:00
cpf
9704aa0ed4 change theta cos_theta in test unstructured_mesh 2022-05-26 14:20:12 +02:00
Paul Romano
4a13b39224 Rename trackfile.py --> tracks.py 2022-05-25 22:13:20 -05:00
Paul Romano
ae849c5842 Have filter methods return new Track/Tracks objects 2022-05-25 22:12:44 -05:00
cpf
53d7c848ea use of testing cross sections 2022-05-26 00:17:03 +02:00
cpf
c2a0599b23 update criticality by different distribution 2022-05-26 00:07:36 +02:00
Paul Romano
2e54c31915 Rename TrackFile --> Tracks 2022-05-25 16:58:20 -05:00
Paul Romano
7b0862c4dc Add filter method to TrackFile and Track classes 2022-05-25 16:47:25 -05:00
cpf
fc60a533c1 changed theta cos_theta 2022-05-25 22:39:17 +02:00
Paul Romano
22bc340f9d Rename Track.particles --> Track.particle_tracks 2022-05-25 14:52:44 -05:00
Paul Romano
2103e9f41f
Merge pull request #2066 from kkiesling/mamba_doc
updated conda install to specify using mamba instead
2022-05-25 14:18:13 -05:00
Kalin Kiesling
84a4eb57fb
Update docs/source/quickinstall.rst
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-25 13:35:00 -05:00
cpf
ccda2d3af3 removed import cos 2022-05-25 17:32:34 +02:00
cpf
86ec0658c5 test spherical_uniform 2022-05-25 17:30:13 +02:00
cpf
f1f215bdbb change theta to cos_theta in regression test 2022-05-25 16:39:42 +02:00
Patrick Myers
6df0286b2e added clang-format 2022-05-25 09:14:10 -05:00
helen-brooks
82a7ccb16d Something weird happened during rebase - add back some lines which got removed 2022-05-25 15:10:50 +01:00
Patrick Myers
687d43b0ab added external xtensor within PhotonInteraction for all shell photoelectric xs to utilize contiguous memory in calculate_xs 2022-05-25 09:06:53 -05:00
helen-brooks
4d52218178 Remove redundant uwuw_disabled boolean member in DAGUniverse 2022-05-25 15:05:33 +01:00
helen-brooks
8bf7de39ca Add empty string default argument for external DAGMC Universe constructor 2022-05-25 15:05:33 +01:00
helen-brooks
d9498216dd Apply minor changes from pshriwise code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-05-25 15:05:33 +01:00
helen-brooks
116c7c33c0 Apply suggestions from paulromano review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-25 15:05:32 +01:00
helen-brooks
751e92f63b Run clang-format 2022-05-25 15:05:32 +01:00
helen-brooks
c35b710a15 Update external dagmc regression test to include an update of material temperatures 2022-05-25 15:05:27 +01:00
helen-brooks
86e44c4e4a Add regression test for new DAGUniverse constructor 2022-05-25 14:54:48 +01:00
Paul Romano
5107ef5edc
Merge pull request #2072 from paulromano/turn-off-gnu-extensions
Disable GNU extensions for CMake targets
2022-05-25 06:40:34 -05:00
Ethan Peterson
45cb513b15 adding ABC for structured mesh 2022-05-24 16:08:42 -04:00
Ethan Peterson
606d9bf03e fixed abstractmethod error 2022-05-24 16:02:20 -04:00
Ethan Peterson
b5ed2b985f cleaning up a few syntax things 2022-05-24 16:02:20 -04:00
Ethan Peterson
6167ae84dc trying to define a clearer interface 2022-05-24 16:02:20 -04:00
Ethan Peterson
a93751ce7b changing meshgrid to vertices 2022-05-24 16:02:20 -04:00
Ethan Peterson
90126846f4 adding centroids and meshgrid methods 2022-05-24 16:02:20 -04:00
Paul Romano
66051251c0 Fix method links in Material docstring 2022-05-24 11:01:10 -05:00
Paul Romano
773749c2b6 Mention units in surface docstrings 2022-05-24 10:57:09 -05:00
Paul Romano
321de2a4d1 Fix reading rotation matrix from XML 2022-05-24 09:09:51 -05:00
Paul Romano
d20064945c Read in color specification in Plot.from_xml_element 2022-05-24 07:11:37 -05:00
Paul Romano
6865b03d35 Disabled GNU extensions for openmc, libopenmc CMake targets 2022-05-23 12:33:12 -05:00
Paul Romano
2e0472d57c Respond to @shimwell comments on #2071 2022-05-23 12:28:28 -05:00
Paul Romano
c73a4d2e15 Make sure track file unit test uses reproducible cell/material IDs 2022-05-20 13:01:09 -05:00
Paul Romano
fb5597a88f Mention multiple track files when run with MPI in documentation 2022-05-20 12:59:50 -05:00
Paul Romano
e056180f73 Add doc section on particle track files to user's guide 2022-05-20 10:47:02 -05:00
Paul Romano
e34bf445f0 Add max_tracks setting (maximum number of tracks per process) 2022-05-20 10:46:59 -05:00
Paul Romano
4f1e8f46f5 Add unit tests for TrackFile class 2022-05-19 17:27:47 -05:00
Paul Romano
583d864f08 Put track file combining logic in TrackFile.combine staticmethod 2022-05-19 17:12:38 -05:00
Paul Romano
8ecfdf0796 Update Settings.track to be list of 3-tuple 2022-05-19 17:12:38 -05:00
Paul Romano
e2de81045f Update track_output regression test 2022-05-19 17:12:38 -05:00
Paul Romano
8d9b34df86 Fix track_output regression test to work with MPI 2022-05-19 17:12:35 -05:00
Paul Romano
93e7471132 Update io_formats documentation for track files (and file version) 2022-05-19 13:27:34 -04:00
Paul Romano
b786ad4c9f Write separate track files for multiple MPI ranks 2022-05-19 13:27:33 -04:00
Paul Romano
b741516279 Add plot method for TrackFile 2022-05-19 13:27:33 -04:00
Paul Romano
365aa0b0eb Write all tracks to a single file 2022-05-19 13:27:33 -04:00
Paul Romano
2e9560a72c Add TrackFile Python class for parsing track files 2022-05-19 13:27:33 -04:00
Paul Romano
b32d4b5ed3 Write particle types separately for track files 2022-05-19 13:27:33 -04:00
Paul Romano
452a24c8ce Fix writing final position of each particle to track file 2022-05-19 13:27:32 -04:00
Paul Romano
8b270dd59b Change track file format to include all information 2022-05-19 13:27:32 -04:00
Paul Romano
a6bd42ee8e Expand Particle::tracks_ to include full state 2022-05-19 13:27:32 -04:00
Kalin Kiesling
2b779091da update same info in install.rst 2022-05-16 11:41:03 -05:00
Kalin Kiesling
3a44e1fce9 more details on mamba vs conda 2022-05-16 11:39:40 -05:00
Kalin Kiesling
4efb743179 reorder mamba install instructions 2022-05-16 11:29:14 -05:00
Paul Romano
7752afb554
Merge pull request #2068 from pshriwise/dagmc_msg
Provide error message for missing DAGMC model file
2022-05-16 08:41:48 -04:00
Christopher Fichtlscherer
44d591ff48
Update openmc/stats/multivariate.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-16 14:39:28 +02:00
Christopher Fichtlscherer
8b62ee3635
Update openmc/stats/multivariate.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-16 14:38:46 +02:00
Patrick Shriwise
dba3a0be2f Err msg for missing DAGMC file 2022-05-14 18:44:57 -05:00
cpf
6806f73bd4 missing import 2022-05-14 09:12:07 +02:00
Christopher Fichtlscherer
7bcad5e7b6
Update openmc/stats/multivariate.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-14 09:09:21 +02:00
Christopher Fichtlscherer
0def5bf655
Update openmc/stats/multivariate.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-14 09:08:54 +02:00
Patrick Shriwise
3a0d882622
Merge pull request #2060 from paulromano/wmp-photon-errormsg 2022-05-13 16:12:50 -05:00
cpf
0ba342c884 Define function spherical_uniform instead of class SphericalIndependent 2022-05-13 21:14:44 +02:00
cpf
5ce9e3998f Merge remote-tracking branch 'origin/develop' into theta_distribution_spherical_independent
merged with the new changes from origin/develop
2022-05-13 20:41:57 +02:00
Kalin Kiesling
d8dc09e315 mamba create -n opemnc actually still uses conda install, so updated to make it two different steps to avoid failure 2022-05-12 13:29:00 -05:00
Kalin Kiesling
ea74bf0e4a typo 2022-05-12 13:20:40 -05:00
Kalin Kiesling
fc454abcd1 updated conda install to specify using mamba instead 2022-05-12 13:18:53 -05:00
Ethan Peterson
7e1f486be3
Merge pull request #2056 from paulromano/merge-discrete
Ability to merge discrete distributions
2022-05-12 10:38:37 -04:00
Paul Romano
178adb0843 Consistency check in Discrete.merge method 2022-05-11 14:47:55 -05:00
cpf
a8f1d47662 added a spherical source as a helping class 2022-05-10 15:40:37 +02:00
Paul Romano
1be02f90bd
Merge pull request #2063 from HunterBelanger/fix_version_header_fetch_content
Fixes missing version.h when getting OpenMC through FetchContent
2022-05-10 07:15:08 -05:00
Christopher Fichtlscherer
9073aa5f72
Update src/distribution_spatial.cpp
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-10 09:17:50 +02:00
Christopher Fichtlscherer
31ebeb1327
Update openmc/stats/multivariate.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-10 09:17:40 +02:00
Christopher Fichtlscherer
06d85de2c3
Update openmc/stats/multivariate.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-10 09:17:34 +02:00
Christopher Fichtlscherer
6ba42d2cc4
Update openmc/stats/multivariate.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-10 09:17:23 +02:00
Christopher Fichtlscherer
8ec37d80d2
Update docs/source/io_formats/settings.rst
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-05-10 09:17:01 +02:00
Hunter Belanger
df30923a33 Adds include guards to version.h.in 2022-05-09 21:47:06 +02:00
Hunter Belanger
bd3fe3a893 Makes modification to build includes suggested by @paulromano 2022-05-09 21:22:19 +02:00
Hunter Belanger
198eb76cab Revert "Places configured version.h in source dir, for building with FetchContent"
This reverts commit 9888d9163b.
2022-05-09 21:20:08 +02:00
Paul Romano
0c04053242
Merge pull request #2046 from nelsonag/mgxs_print_xs_issue2042
Clarify usage of MGXS.rxn_type in MGXS.print_xs methods
2022-05-09 14:13:22 -05:00
cpf
31648dd1a2 some more theta -> cos_theta 2022-05-09 20:23:18 +02:00
cpf
b9b119bc73 changed theta to cos_theta in .h file 2022-05-09 20:09:32 +02:00
cpf
021215a2b9 included paulromanos suggestions 2022-05-09 20:03:28 +02:00
Adam Nelson
21930fa795 Removing hdf5_key, and thus not keeping it as a deprecated interface to mgxs_type 2022-05-09 10:22:28 -05:00
Hunter Belanger
9888d9163b Places configured version.h in source dir, for building with FetchContent 2022-05-07 11:57:32 +02:00
Adam Nelson
baf35e74ca Resolved versionadded/deprecated versions per @paulromano comments and fixed failing test: missed one legacy _hdf5_key in DelayedNuFissionMatrixXS! I guess that shows the new parameter works, so, yeah, totally on purpose 2022-05-06 06:29:27 -05:00
cpf
806367c124 Uniform distribution of cos(theta) in SphericalIndependent 2022-05-06 10:19:16 +02:00
Paul Romano
ee5697e858 Add error message if user tries WMP + photon transport 2022-05-05 22:11:29 -05:00
Adam Nelson
ec0b9bbd01
Merge pull request #2052 from paulromano/keff-naming
Use consistent naming for k-effective
2022-05-05 10:04:27 -05:00
Patrick Shriwise
85cf539db3
Merge pull request #2053 from paulromano/torus-bugfix
Improve robustness of torus distance calculation when particle is coincident
2022-05-04 15:14:51 -05:00
Paul Romano
cf665d076f
Remove unused import in univariate.py
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2022-05-04 12:34:04 -05:00
Jonathan Shimwell
232e6c6c9a
Merge pull request #2055 from paulromano/from-njoy-fix
Allow for use of redundant fission when adjusting KERMA in from_njoy
2022-05-04 16:49:52 +01:00
Paul Romano
6f1f42e5c5 Fix docstring for IsogonalOctagon (missing 'r' for raw) 2022-05-04 07:08:25 -05:00
Paul Romano
ef3019a140 Add merge classmethod on openmc.stats.Discrete 2022-05-04 07:08:20 -05:00
Paul Romano
41ae16c032 Allow for use of redundant fission when adjusting KERMA in from_njoy 2022-05-03 17:17:12 -05:00
Paul Romano
01f26d6071 Fix bug with torus distance when particle is coincident 2022-05-02 22:09:06 -05:00
Paul Romano
f9027893dd Add test with large major radii (currently segfaults) 2022-05-02 22:07:56 -05:00
Paul Romano
4d3aac7f63 Change print_output argument in search_for_keff to more general run_args 2022-05-02 12:09:46 -05:00
Paul Romano
45a6b31c8f Change StatePoint.k_combined -> keff, ResultsList.get_eigenvalue -> get_keff 2022-05-02 12:09:43 -05:00
Paul Romano
99b128c421
Merge pull request #2047 from paulromano/dep-res-timeunits
Add time_units argument to ResultsList.get_eigenvalue
2022-05-02 12:05:53 -05:00
Paul Romano
bb642a7bd1
Merge pull request #2048 from paulromano/surfsrc-docfix
Fix IO format documentation for surf_source_read/write
2022-05-02 06:45:38 -05:00
Patrick Shriwise
6a8a870dd1
Merge pull request #2050 from paulromano/plot-basis-fix
Make sure basis gets set in Plot.from_geometry
2022-05-01 23:39:15 -05:00
Paul Romano
d76434379a Make sure basis gets set in Plot.from_geometry 2022-04-29 19:25:01 -05:00
Paul Romano
f8f788352f Fix IO format documentation for surf_source_read/write 2022-04-29 06:48:55 -05:00
Paul Romano
9395c656dc
Merge pull request #2027 from yardasol/cylinder-sector
`CylinderSector` composite surface
2022-04-28 16:03:53 -05:00
Paul Romano
cc4b6db6b6
Merge pull request #2044 from shimwell/adding_scale_44_energy_group_structure
added scale 44 group structure
2022-04-28 14:25:51 -05:00
yardasol
77b4ec5647 pep8 and consistency fixes in docstring 2022-04-28 10:30:47 -05:00
yardasol
2cccc1b788 docstring fixes for from_theta_alpha; remove cruft attributes 2022-04-28 10:26:58 -05:00
yardasol
1d7265de3e check surface coefficients match between CylinderSector objects from different constructors 2022-04-28 10:24:31 -05:00
shimwell
94c282670c removed typo in group name 2022-04-28 15:13:12 +01:00
Paul Romano
ee37d8e2bf Add time_units argument to ResultsList.get_eigenvalue 2022-04-27 23:35:54 -05:00
Adam Nelson
deae584408 Renaming MGXS.hdf5_key to MGXS.mgxs_type and adding a deprecation warning for MGXS.hdf5_key by using a property which gives the warning then uses MGXS.mgxs_type 2022-04-27 12:58:41 -05:00
yardasol
51e5d1ccd2 make theta1,theta2 formulation the default; add alternate constructor for theta,alpha formulation 2022-04-27 12:56:39 -05:00
Adam Nelson
41e18a0893 Making MGXS.print_xs (and inheriting classes) use hdf5_key for the printed reaction type when using print_xs as that is more descriptive 2022-04-27 12:29:09 -05:00
shimwell
252ddc17b0 trailing comma and lower bound fixes 2022-04-27 17:30:38 +01:00
shimwell
e5016ac963 added scale 44 group structure 2022-04-27 15:48:07 +01:00
Paul Romano
996ada5d5b
Merge pull request #2040 from aprilnovak/cxx_17
Allow control of C++ standard.
2022-04-26 17:16:36 -05:00
Paul Romano
f4d0440d4f Remove KM slope NJOY test, other small changes 2022-04-26 17:07:25 -05:00
Paul Romano
cdc1bd0217 Changes in njoy.py 2022-04-26 17:00:11 -05:00
Paul Romano
7ca7b1c7cf Fix some docstrings 2022-04-26 16:54:26 -05:00
Paul Romano
f685827912 Make AtomicRepresentation private (leading underscore) 2022-04-26 16:54:23 -05:00
yardasol
fc3809c2df add periods 2022-04-26 14:28:08 -05:00
yardasol
3cb3f9e673 clean up run-on sentence for ccw_offset; fix formatting in description for center 2022-04-26 14:26:11 -05:00
yardasol
09711e9672 alpha -> ccw_offset; consistency changes 2022-04-26 14:05:47 -05:00
yardasol
5abd01d4df add description of surfaces 2022-04-26 13:49:21 -05:00
yardasol
be97beb1c4 make description of 'first basis axis' consistent' 2022-04-26 13:41:50 -05:00
yardasol
020e0bd945 minor docstring addition 2022-04-26 13:33:04 -05:00
yardasol
3c2f0c03ff apply feedback from @paulromano: add checks for sector bounds; make variables less ambiguous 2022-04-26 13:32:14 -05:00
April Novak
575a678207 Adjust C++ standard for Moab test. Refs #2039 2022-04-26 11:06:28 -05:00
April Novak
2e326732ab Allow control of C++ standard. Refs #2039 2022-04-25 12:57:42 -05:00
Paul Romano
b5b928e2e0
Merge pull request #2037 from paulromano/depletion-docstring-fixes
Collection of depletion-related fixes and enhancements
2022-04-24 12:24:01 -05:00
Paul Romano
bd707de920 Use f-string in deplete.Nuclide.__repr__ 2022-04-22 07:17:10 -05:00
Paul Romano
e8b9e85084 Flush output from results 2022-04-21 14:33:18 -05:00
Paul Romano
4cc243b154 Make sure diff_burnable_mats updates materials appropriately 2022-04-21 14:33:01 -05:00
Paul Romano
3024d6d55a Add deplete.Nuclide.__repr__ method 2022-04-21 14:32:41 -05:00
Paul Romano
d95903783b Add get_atom_densities method in AtomNumber class 2022-04-21 14:32:29 -05:00
Paul Romano
371f4746c2 Add minimal output to Integrator.integrate 2022-04-21 14:31:40 -05:00
Paul Romano
03ee3d6e77 Fix equations in docstrings for a few depletion integrations 2022-04-21 09:53:50 -05:00
helen-brooks
5dd6da91c5 Only expose methods that are needed externally 2022-04-20 15:12:52 +01:00
helen-brooks
fb9c12bd14 Add switch to disable uwuw in DAGUniverse with external DAG 2022-04-20 15:12:52 +01:00
helen-brooks
cc6c3ac9e6 More refactoring of DAGMC universe metadata; allow external setting of material temperature and population of universes' cells 2022-04-20 15:12:52 +01:00
helen-brooks
05577e6a2e Add new DAGUniverse constructor from external DAGMC 2022-04-20 15:07:31 +01:00
helen-brooks
d3b4cb7fd3 More refactoring in DAGUniverse 2022-04-20 15:07:31 +01:00
helen-brooks
290e2fba07 Refactor initialize of dagmc universe 2022-04-20 15:07:31 +01:00
helen-brooks
be61af3c04 Refactor dagmc initialisation into a function 2022-04-20 15:07:31 +01:00
Patrick Shriwise
6959303317
Merge pull request #2034 from paulromano/universe-plot-hotfix
Fix colors assignment in Universe.plot
2022-04-19 10:08:43 -05:00
Paul Romano
827343c52b Fix colors assignment in Universe.plot 2022-04-19 06:51:02 -05:00
yardasol
e53be38712 pep8 fixes 2022-04-07 19:01:09 -05:00
yardasol
8e1880b01c formatting fixes 2022-04-07 19:00:57 -05:00
yardasol
294f57318d
Merge branch 'develop' into cylinder-sector 2022-04-07 18:55:51 -05:00
Patrick Shriwise
0c0e70fa39
Merge pull request #2019 from paulromano/universe-plot-backend
Use `openmc` executable when calling Universe.plot
2022-04-07 17:21:47 -05:00
Paul Romano
2d911ef6b9
Merge pull request #2023 from yardasol/octagon
`IsogonalOctagon` composite surface
2022-04-07 15:36:46 -05:00
yardasol
d08f2afa1c docstring typo fixes 2022-04-07 13:32:58 -05:00
Paul Romano
e505032a4f Add punctuation on docstrings 2022-04-07 13:23:12 -05:00
Paul Romano
751d09836c Make 'a' and 'z' properties read-only 2022-04-07 13:20:56 -05:00
yardasol
3340673dc5 fix array syntax 2022-04-07 12:42:56 -05:00
yardasol
e341c20822 pep8, consistency changes 2022-04-07 11:36:04 -05:00
yardasol
aa233c80dd
fix typo in new unit test 2022-04-07 11:15:25 -05:00
Paul Romano
a8fd1ddf71 Change iza --> za 2022-04-07 11:11:51 -05:00
Paul Romano
e7595c3201 Don't throw away precision on K-M slope calculation 2022-04-07 10:58:15 -05:00
Paul Romano
af579895dd Refactor K-M slope calculation 2022-04-07 10:55:33 -05:00
yardasol
16b894ffd8 rename internal variable 2022-04-07 10:16:16 -05:00
yardasol
018296d463 added unit test for checking invalud r1,r2 combos 2022-04-07 10:16:03 -05:00
yardasol
60608ade3c apply @paulromano's suggestions 2022-04-07 10:12:01 -05:00
Paul Romano
9acaf37b9d
Merge pull request #2026 from kkiesling/find_mpi
use find_package(mpi) instead of relying on compilers
2022-04-07 06:52:18 -05:00
Paul Romano
3a1271e06c
Merge pull request #2025 from pshriwise/universe-files
Separate Universe class source files.
2022-04-07 06:52:02 -05:00
Kalin Kiesling
ec4f1b71b5 fixing a typo because I mix up control and command keys on macs still - again 2022-04-06 14:14:12 -05:00
Kalin Kiesling
6208b40770 fixing a typo because I mix up control and command keys on macs still 2022-04-06 14:10:03 -05:00
Kalin Kiesling
f960553bed
mpi_args formatting
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-04-06 13:53:32 -05:00
Kalin Kiesling
3ba511c056 update mpi options 2022-04-06 13:41:44 -05:00
Kalin Kiesling
3bcc45c9bd find mpi in cmake config 2022-04-06 13:29:48 -05:00
Kalin Kiesling
eedbfdc2b1 removed unneeded lines 2022-04-06 13:29:34 -05:00
Kalin Kiesling
0c4488c52e update mpi setting in dockerfile 2022-04-06 09:36:31 -05:00
Kalin Kiesling
ac607a83f9 updated more mpi instances in install documentation 2022-04-06 09:33:49 -05:00
Kalin Kiesling
4010b32cff update mpi setting in another regression test 2022-04-06 09:32:38 -05:00
Kalin Kiesling
4f6001d574 updated method for setting mpi for regression tests 2022-04-06 09:28:02 -05:00
Kalin Kiesling
20a18398bf export cc=mpicc apparently necessary for h5py 2022-04-05 16:19:32 -05:00
Kalin Kiesling
4029483493 wording 2022-04-05 15:59:41 -05:00
Kalin Kiesling
837ccc73af updated documentation with new compile flag for mpi 2022-04-05 15:59:09 -05:00
Kalin Kiesling
447e9cf02d updated ci with new mpi flags 2022-04-05 15:56:10 -05:00
Kalin Kiesling
01850016c6 use find_package(mpi) instead of relying on compilers set 2022-04-05 15:32:43 -05:00
yardasol
be6afdc335 optimize implementation 2022-04-05 10:31:31 -05:00
yardasol
5cbf23b486
Remove unneeded attribute 2022-04-05 10:25:37 -05:00
yardasol
c1008a0d0f update unit test to match new basis for y case 2022-04-05 10:16:11 -05:00
yardasol
a289cb7397 change warnings to exceptions; remove cruft comment 2022-04-05 10:14:50 -05:00
yardasol
0a3ac3dea1 switch ordering of coord_map in the y-axis case, remove unneeded if-statements, update docstring 2022-04-05 10:11:41 -05:00
yardasol
a3ae1c254a apply @paulromano's suggestions 2022-04-05 09:50:41 -05:00
Patrick Shriwise
b9520580de Formatting updates 2022-04-05 08:56:27 -05:00
Patrick Shriwise
4699732faa Separating the universe classes into their own source and header file 2022-04-05 08:53:43 -05:00
Paul Romano
09c524a3e7
Merge pull request #2024 from yardasol/lattice-unittest-patch1
Minor typo fixes in `test_lattice.py`
2022-04-05 07:03:59 -05:00
yardasol
ff67c85587 use the correct lines variables 2022-04-04 22:13:10 -05:00
yardasol
04d040b4a9 use lat instead of rlat 2022-04-04 22:11:51 -05:00
yardasol
370625be55 Added reference to CylinderSector in the sphinx documentation 2022-04-04 18:06:48 -05:00
yardasol
10123bf55a consistency changes 2022-04-04 18:05:54 -05:00
yardasol
ae881a126d Added unit test 2022-04-04 18:05:40 -05:00
yardasol
41460568a6 minor syntax fix 2022-04-04 17:13:39 -05:00
yardasol
24f4ceb132 fix warnings, syntax errors 2022-04-04 17:10:11 -05:00
yardasol
e10e2bbcf0 streamline the remapping of coordinates 2022-04-04 16:47:06 -05:00
yardasol
ded546802c fix import statements; relax the error to a warning 2022-04-04 16:33:12 -05:00
yardasol
1cc80135f3 consitency changes to CylinderSector 2022-04-04 16:21:42 -05:00
yardasol
0518bdcb7b fix plane point calculation 2022-04-04 14:32:14 -05:00
yardasol
f4e96453ab changed Octagon to IsogonalOctagon 2022-04-04 14:24:49 -05:00
yardasol
ab0fcc7ca4 put Octagon in alphabetical order 2022-04-04 13:03:12 -05:00
yardasol
f7d304f795 use existing openmc function instead of custom one for plane_from_points 2022-04-04 13:02:32 -05:00
yardasol
71e76b251e Add reference to Octagon in the Sphinx docs 2022-04-04 12:47:44 -05:00
yardasol
020ebb9374 fix typos in docstring for Octagon 2022-04-04 12:47:23 -05:00
yardasol
1648b854a4 Added unit test for Octagon 2022-04-04 12:27:58 -05:00
yardasol
f266740bf0 added numpy imports, plane helper function 2022-04-04 12:27:45 -05:00
Joffrey Dorville
8f564052e5 Add the Kalbach-Mann slope documentation 2022-04-02 00:30:27 -06:00
Joffrey Dorville
cbe9cc8c29 Kalbach-Mann slope calculation for ENDF files when the projectile is a neutron 2022-04-02 00:30:27 -06:00
yardasol
f787057c93 Added Octagon composite surface 2022-04-01 16:13:00 -05:00
yardasol
9350e99061 added CylinderSector composite surface 2022-04-01 15:54:29 -05:00
Paul Romano
226065160a Add ability to specify remove_surfs from Model.export_to_xml 2022-04-01 07:29:36 -05:00
Paul Romano
0dc6f463ed Change 'type' to 'from_mode' for decay sublibrary continuous spectra. Closes #2017 2022-03-31 14:56:19 -05:00
Paul Romano
412aa24727 Change Universe.plot to use openmc executable 2022-03-31 14:56:16 -05:00
Paul Romano
a61f3f534b Fix use of cwd in plot_inline and Plot.to_ipython_image 2022-03-31 14:49:31 -05:00
Paul Romano
dedafa49f6
Merge pull request #2015 from aprilnovak/lost-particles
Move lost particle reset from finalize() to reset()
2022-03-31 14:49:06 -05:00
Patrick Shriwise
0b55bebdd0
Merge pull request #2018 from yardasol/yardasol-docfix-1
Minor docstring fixes for `openmc.ZCone` and `openmc.HexLattice`
2022-03-31 06:24:57 -05:00
yardasol
48dbf1a4c3 fix axis spec in docstring for ZCone 2022-03-30 16:18:12 -05:00
yardasol
f72dbe68e1 fix output variable type in docstring for HexLattice.from_hdf5 2022-03-30 16:11:34 -05:00
aprilnovak
80829aefc7 Move lost particle reset from finalize() to reset(). Refs #2014 2022-03-29 09:01:08 -05:00
Patrick Shriwise
2f068863d0
Merge pull request #2012 from paulromano/region-paren-fix
Fix Region.from_expression when ")(" appears in region specification
2022-03-28 19:21:04 -05:00
Paul Romano
3305901f02
Merge pull request #2013 from kkiesling/aliasing
cmake alias targets
2022-03-28 13:08:16 -05:00
Paul Romano
f9ba350e1c Add fix for Region.from_expression case with )( 2022-03-28 13:04:09 -05:00
Paul Romano
5f31e12443 Add test for Region.from_expression case with )( 2022-03-28 13:04:09 -05:00
Paul Romano
8432e37c24
Merge pull request #2011 from kkiesling/faddeeva
build Faddeeva as a part of libopenmc
2022-03-28 12:28:21 -05:00
Paul Romano
f26d71f9c7
Merge pull request #1992 from shimwell/minimal_type_hinting_for_settings
added typehints to match docstrings
2022-03-28 12:27:48 -05:00
Kalin Kiesling
924147f935 alias targets 2022-03-25 14:28:52 -05:00
Patrick Shriwise
4df659d0c2
Merge pull request #2009 from paulromano/depletion-num-processes
Allow user to override number of processes used for depletion
2022-03-25 13:06:28 -05:00
Kalin Kiesling
f0683a616c exclude external files from coverage 2022-03-25 11:50:20 -05:00
Kalin Kiesling
1e6b953b48 recursive include cc and hh files 2022-03-25 11:49:56 -05:00
Jonathan Shimwell
350a347cf4 partly wrapped long line 2022-03-25 10:30:29 +00:00
Jonathan Shimwell
aef22e48a7
adding name space to import
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-25 10:16:58 +00:00
Paul Romano
e882a06a00
Merge pull request #2010 from shimwell/adding_selective_ci
allow ci to be skipped for non code files
2022-03-24 21:23:51 -05:00
Jonathan Shimwell
eeed67c537
added extra folders to ignored ci paths 2022-03-24 22:34:37 +00:00
Kalin Kiesling
7050b825ef updated fadeeva header location 2022-03-24 15:08:32 -05:00
Kalin Kiesling
39a4daa20b don't compile faddeeva separately 2022-03-24 15:07:57 -05:00
Kalin Kiesling
9c683815ac moved faddeeva from vendored to external 2022-03-24 15:04:59 -05:00
Jonathan Shimwell
67ffa58145 added conda badge 🐍 2022-03-24 16:05:18 +00:00
Jonathan Shimwell
d74cf4fca7 allow ci to be skipped for non code files 2022-03-24 15:59:36 +00:00
Paul Romano
fe8892cebc
Merge pull request #2008 from kkiesling/build_types
Replace custom configure options with default build types
2022-03-23 16:55:51 -05:00
Kalin Kiesling
094330ef12
code review suggestions
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-23 10:49:42 -05:00
Kalin Kiesling
4f93bf22f5
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-23 09:53:50 -05:00
Kalin Kiesling
3f2d85cad3 fix order 2022-03-22 14:34:26 -05:00
Kalin Kiesling
0e79264e7f corrected install docs with new dagmc and libmess flags 2022-03-22 13:27:40 -05:00
Kalin Kiesling
62bb9ebf99 corrected install options in cmake config 2022-03-22 13:23:02 -05:00
Kalin Kiesling
d118617e29 added section on build types to install doc 2022-03-22 11:09:25 -05:00
Kalin Kiesling
61ace1ab09 update documentation with new options names 2022-03-22 10:50:58 -05:00
Kalin Kiesling
d24c180592 update scripts with new cmake flag names 2022-03-22 10:46:34 -05:00
Kalin Kiesling
97bec28380
set default build with cache variable
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-22 10:02:04 -05:00
Paul Romano
dc18f59d82 Allow user to override num processes used for depletion 2022-03-22 06:53:47 -05:00
Kalin Kiesling
643749a0a0 specify debug with cmake_build_type 2022-03-21 15:56:27 -05:00
Kalin Kiesling
733604216a removed optimize and debug from dockerfile 2022-03-21 15:53:53 -05:00
Kalin Kiesling
0655e73929 removed debug and optimize options from install docs 2022-03-21 15:51:19 -05:00
Kalin Kiesling
fcf25b5aba set default build configuration to release 2022-03-21 15:39:31 -05:00
Kalin Kiesling
32da4f2504 remove optimize and debug build options because they are redudant w/ cmake_build_type 2022-03-21 14:07:03 -05:00
Patrick Shriwise
73ba908f1f
Merge pull request #2007 from paulromano/cmake-find-pkg-macro
Use macro to simplify some logic in CMakeLists.txt
2022-03-21 09:27:18 -05:00
Paul Romano
78885ce17c Add wwinp_to_wws to documentation 2022-03-18 11:03:34 -05:00
Paul Romano
d39642136a Use macro in CMakeLists.txt to simplify dependency finding 2022-03-18 11:03:31 -05:00
Paul Romano
0d7a0e1b1c
Merge pull request #2006 from kkiesling/thirdparty_libs
Update Cmake to allow third-party libraries
2022-03-18 10:45:02 -05:00
Ethan Peterson
44d0e81afa
Merge pull request #2003 from pshriwise/wwinp
Add wwinp reader
2022-03-18 11:07:46 -04:00
Patrick Shriwise
c53c60fd61 Updating variables in loop 2022-03-17 21:47:40 -05:00
Patrick Shriwise
cfd6baf5ad
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-17 21:44:34 -05:00
Kalin Kiesling
ea551e3312 update versions of xtl and xtensor in vectfit ci build script to be consistent with vendored versions 2022-03-17 16:05:47 -05:00
Kalin Kiesling
b4274724f3 explicitly include xmanipulation header for xt::flip 2022-03-17 10:58:49 -05:00
Kalin Kiesling
ad10441659 different cases for linking pugixml depending on version 2022-03-17 10:18:15 -05:00
Kalin Kiesling
2ab0e23bc6
Apply suggestions from code review - remove check for xtl
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-17 10:10:49 -05:00
Patrick Shriwise
faa142c78d
Apply suggestions from @eepeterson
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2022-03-17 09:20:37 -05:00
Patrick Shriwise
a86c472095 Replacing comprehension with numpy call 2022-03-16 22:56:44 -05:00
Patrick Shriwise
b0a4871710
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-16 22:51:47 -05:00
Patrick Shriwise
387f86389d Adding mesh definition checks requested by @eepeterson 2022-03-16 15:53:00 -05:00
Kalin Kiesling
a7ce3c92ca fix pugixml linking issue 2022-03-16 15:44:25 -05:00
Patrick Shriwise
2186df8ed4 Comment updates 2022-03-16 12:38:18 -05:00
Patrick Shriwise
eaa556c2b6 Removing unused imports 2022-03-16 12:30:26 -05:00
Patrick Shriwise
5169f4df57 PEP8 updates 2022-03-16 12:22:21 -05:00
Patrick Shriwise
a29134ef43 Test against flat array now that the attribute is shaped 2022-03-16 12:18:47 -05:00
Patrick Shriwise
c3997b3fbd Cleaning up reader 2022-03-16 12:18:21 -05:00
Patrick Shriwise
80517d1d4f wwinp IO refactor 2022-03-16 10:34:00 -05:00
Kalin Kiesling
09d355475a fixed gsl compile error 2022-03-16 09:49:14 -05:00
Patrick Shriwise
695cae9391 Updating wwinp_cyl to meet wwinp spec 2022-03-15 19:10:12 -05:00
Patrick Shriwise
22fc5d8e2c Adding relevant time bin lines to test file 2022-03-15 19:10:12 -05:00
Patrick Shriwise
2eab6fd335
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-15 18:53:42 -05:00
Patrick Shriwise
def829ad76 Improvements to test file from suggestions by @paulromano 2022-03-15 18:52:11 -05:00
Patrick Shriwise
097c53f634 Changes requested by @paulromano 2022-03-15 18:51:33 -05:00
Kalin Kiesling
8c972528b3 typo in status message 2022-03-15 11:18:55 -05:00
Kalin Kiesling
7369796425 look for existing gls-lite package 2022-03-15 11:01:09 -05:00
Kalin Kiesling
42f95cc0f7 check for xtl on system 2022-03-15 10:49:01 -05:00
Kalin Kiesling
01117b10ff use xtensor library on system if it already exists, else use vendored submodule 2022-03-15 10:43:22 -05:00
Patrick Shriwise
64e039502e PEP8 2022-03-15 10:04:30 -05:00
Patrick Shriwise
176b1a09a3 Updates to attribute name 2022-03-15 09:59:52 -05:00
Patrick Shriwise
61bce00f08 Adding function to resolve the full path to the test data files. 2022-03-15 09:50:34 -05:00
Patrick Shriwise
87bde4d72c Using context manager. Improving docstring 2022-03-15 09:50:33 -05:00
Patrick Shriwise
1cdd7084fc PEP8 updates, correcting comment, removing unused var 2022-03-15 09:50:33 -05:00
Patrick Shriwise
d79f2899a8 Adding tests for time-dependent and non-rectilinear mesh wws 2022-03-15 09:50:33 -05:00
Patrick Shriwise
6ddce78987 Adding test files for time-dependent and cylindrical mesh weight windows 2022-03-15 09:50:33 -05:00
Patrick Shriwise
4a0f32fc23 Fixing ordering comment 2022-03-15 09:50:33 -05:00
Patrick Shriwise
3301c50d0e PEP8 updates for weight_windows module 2022-03-15 09:50:32 -05:00
Patrick Shriwise
7ed72b73fa PEP8 updates for test file 2022-03-15 09:50:32 -05:00
Patrick Shriwise
fe6920afb1 Updates to mesh boundaries for MCNP compliant format in test files 2022-03-15 09:50:32 -05:00
Patrick Shriwise
7b8bc4ae90 Updating comments 2022-03-15 09:50:32 -05:00
Patrick Shriwise
7abb11f7c4 Adding wwinp test file for neutrons only
Adding wwinp reader test file

Updating tests for more test cases and adding readable labels

Fixes for iteration ordering, shape, and particles read

Updating weight window values of neutron-only file.

Adding neutron-photon and photon-only test files

Updates to wwinp file format. All can be read by MCNP.
2022-03-15 09:50:32 -05:00
Patrick Shriwise
74dd96b21d Adding zero energy bound. Reshaping ww values as an extra check on sizing 2022-03-15 09:50:32 -05:00
Patrick Shriwise
8fc481e966 Making wwinp reader a file-level-function. Correcting order of ww vals 2022-03-15 09:50:31 -05:00
Patrick Shriwise
8a33d739e7 More small adjustments to comments for clarity. Moving to normal method. 2022-03-15 09:50:31 -05:00
Patrick Shriwise
69dcabc6b5 Updating variable names to be more readable 2022-03-15 09:50:31 -05:00
Patrick Shriwise
2a8df194ca Using warnings.warn instead of raising a warning 2022-03-15 09:50:31 -05:00
Patrick Shriwise
e5d1b88ec7 Adding support for generating a WeightWindows class from a wwinp file. 2022-03-15 09:50:27 -05:00
Paul Romano
03547555e9
Merge pull request #2000 from pshriwise/wwinp_shape
Update WeightWindow attribute shapes and names
2022-03-14 17:15:12 -05:00
Patrick Shriwise
e807c26436
Merge pull request #2001 from paulromano/lattice-unset-message
Improve error message if user doesn't set lattice universes
2022-03-12 11:01:03 -06:00
Paul Romano
1451e7bfed Improve error message if user doesn't set lattice universes 2022-03-11 19:15:48 -06:00
Patrick Shriwise
b3112dc451
Apply @paulromano suggestions from review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-11 15:33:39 -06:00
Patrick Shriwise
44a5237d44 Updating docstrings 2022-03-11 15:32:39 -06:00
Paul Romano
e77a92f2a1
Merge pull request #1998 from shimwell/all_output_files_to_output_folder
writing files to output folder
2022-03-11 14:50:57 -06:00
Patrick Shriwise
a000921e7c Adding comment for clarity 2022-03-11 11:58:17 -06:00
Patrick Shriwise
a76bd56ecd Adding check that energy bounds are set 2022-03-11 11:56:15 -06:00
Patrick Shriwise
4cd9b585f4 Some PEP8 updates 2022-03-11 11:54:56 -06:00
Patrick Shriwise
88afaac4da Updating doc strings 2022-03-11 11:47:58 -06:00
Patrick Shriwise
2909182443 Enforcing shape when settings lower/upper ww bounds 2022-03-11 11:38:04 -06:00
Patrick Shriwise
5ae7617963 Removing specified length multiplier attribute. Updating string representation 2022-03-11 11:31:25 -06:00
Patrick Shriwise
1e61ccb27f Add check that ww class can be converted to str successfully 2022-03-11 11:19:51 -06:00
Patrick Shriwise
7b627cc55f Changing attrigute energy_bins to energy_bounds for wws 2022-03-11 09:53:22 -06:00
Jonathan Shimwell
c8de525c00
Suggestions from review by @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-11 15:36:44 +00:00
Paul Romano
2a95e09ad7
Merge pull request #1997 from eepeterson/energy_filter_from_group
adding helper method for EnergyFilter creation
2022-03-11 09:28:38 -06:00
Jonathan Shimwell
7657e5ffcf
fixed typo 2022-03-10 22:45:13 +00:00
shimwell
4cfc01f5b9 sorted imports improved source and path type hints 2022-03-10 22:20:25 +00:00
Jonathan Shimwell
99cb83c035
Suggestions from PR review by @Paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-10 22:14:37 +00:00
shimwell
1b6a341878 declared filename before use 2022-03-10 21:30:41 +00:00
Jonathan Shimwell
e14de1600a
removing ,w from filename 2022-03-10 21:08:46 +00:00
shimwell
698a15d7f9 writing files to output folder 2022-03-10 21:00:53 +00:00
Ethan Peterson
da53fd6e6e added unit test 2022-03-10 15:37:18 -05:00
Ethan Peterson
f85dc9dc9b adding helper method for EnergyFilter creation 2022-03-10 13:35:41 -05:00
Patrick Shriwise
062b8897ae
Merge pull request #1995 from paulromano/lattice-instance-fix
Fix cell instance calculation for multiple lattices filled in cells in same universe
2022-03-10 09:04:02 -06:00
Paul Romano
34a35d832a Fix cell instance counting bug with same lattice in multiple cells 2022-03-09 17:16:19 -06:00
Paul Romano
6cbd1ed288 Add cell instance test with duplicated lattice 2022-03-09 17:16:17 -06:00
Paul Romano
4f7a31e48d
Merge pull request #1994 from yardasol/omc-ace-hdf5-bugfix
Fix overwritten variable in `ace.py::get_libraries_from_xsdata`
2022-03-09 15:27:57 -06:00
yardasol
8e5dad8210 fix overwritten variable in ace.py::get_libraries_from_xsdata 2022-03-09 09:45:14 -06:00
Patrick Shriwise
21db519fea
Merge pull request #1990 from paulromano/same-mesh-different-files
Allow meshes with same ID to appear in different files
2022-03-08 19:11:48 -06:00
Paul Romano
1fc44e4f9d
Clarify error message for meshes with same ID in same file
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-03-08 16:34:04 -06:00
Jonathan Shimwell
6eb00c6c6f added typehints to match docstrings 2022-03-08 13:04:42 +00:00
Patrick Shriwise
6a75b3c552
Merge pull request #1991 from paulromano/update-troubleshoot-guide
Update troubleshooting guide, fix broken links
2022-03-07 22:00:21 -06:00
Paul Romano
601b0e3bf1
Merge pull request #1988 from shimwell/changing_get_atoms_arg_to_mat_object_try2
Changing get atoms arg to mat object try2
2022-03-07 21:59:29 -06:00
Jonathan Shimwell
aa5e8ec418
Suggestions from PR review by @Paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-07 20:28:24 +00:00
Jonathan Shimwell
4ba635f472
Suggestions from PR review by @Paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-07 20:15:03 +00:00
Paul Romano
aac4903e74
Fix link in neutron_physics.rst
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-03-07 14:10:21 -06:00
Paul Romano
84caf2e666
Merge pull request #1989 from burberger/develop
Fix package_data specification to include pyx files for Cython builds
2022-03-07 10:25:46 -06:00
Bob
fc9e71ede0 Fix warnings in MANIFEST.in file caused by looking for non-existent files in examples and src 2022-03-04 15:00:28 -08:00
Bob
f8d1aee9d1 Merge branch 'develop' of github.com:burberger/openmc into develop 2022-03-04 14:31:17 -08:00
Bob
a6b32755b5 Merge branch 'develop' of https://github.com/openmc-dev/openmc into develop 2022-03-04 14:30:35 -08:00
Gavin Ridley
1661454217
Merge pull request #1986 from paulromano/remove-alive
Remove alive_ data member on ParticleData
2022-03-04 15:43:01 -05:00
Paul Romano
338abf2fab Fix broken links, remove section talking about MATLAB 2022-03-04 10:34:37 -06:00
Paul Romano
8418eaeedb Update troubleshooting guide with better instructions for geometry debugging 2022-03-04 10:13:05 -06:00
Jonathan Shimwell
d6063d253b merge conflict resolved 2022-03-04 14:26:33 +00:00
Jonathan Shimwell
00ebf5706c accepting str or Material types 2022-03-04 14:24:43 +00:00
Jonathan Shimwell
093886a4eb
[skip ci] suggestion from review by @Paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-03-04 14:07:16 +00:00
Paul Romano
48f3321e3d Allow meshes with same ID to appear in different files 2022-03-04 07:25:44 -06:00
Bob
aeb7cbd0e2 Use statement in MANIFEST.in instead 2022-03-03 23:06:37 -08:00
Bob
cf273b35a3 Fix package_data specification to include pyx files for Cython builds. This fixes building of a standalone distributable python package. 2022-03-03 17:20:44 -08:00
shimwell
130b3a2dc6 corrected arg type to material 2022-03-03 19:14:00 +00:00
Jonathan Shimwell
504d58f045 passing arg of type material not string 2022-03-03 18:18:39 +00:00
Jonathan Shimwell
51b6d59105 minimal changes to allow mat objects not id strings 2022-03-03 18:14:17 +00:00
Paul Romano
50a35cf7f3 Make ParticleData::alive() a const method 2022-03-02 15:31:02 -06:00
John Tramm
0424631b4f
Merge pull request #1982 from paulromano/split-analog
Split tally scoring function into analog and non-analog cases
2022-03-02 14:29:36 -06:00
Paul Romano
d0b79247c3
Merge pull request #1984 from pshriwise/mesh_vols
Mesh volume property
2022-03-01 22:13:24 -06:00
Paul Romano
d2ddc6e7ad Particle is alive is wgt != 0 2022-03-01 17:05:17 -06:00
Patrick Shriwise
d8d42a45b3
Merge pull request #1981 from shimwell/minor_dockerfile_updates
pinned NJOY version added import openmc test
2022-03-01 16:53:39 -06:00
Patrick Shriwise
6bafc9ab92
Apply suggestions from @eepeterson
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2022-03-01 16:52:21 -06:00
Paul Romano
2bb6ba25af Remove alive_ data member on ParticleData 2022-03-01 15:24:39 -06:00
Patrick Shriwise
17b2f5eb6a Making all *_grid attributes of mesh numpy arrays 2022-02-28 16:29:32 -06:00
Patrick Shriwise
cc8f1f3e6b
Apply suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-02-28 14:10:04 -06:00
Patrick Shriwise
8bced043f5 Adding check for dimensionality of the mesh 2022-02-26 08:55:40 -06:00
Patrick Shriwise
fb1d2ff00b Adding volume check to filter mesh test 2022-02-25 21:34:35 -06:00
Patrick Shriwise
f10d9ac7b6 Making volume retrieval consistent in Python API 2022-02-25 16:56:56 -06:00
Jonathan
c2ff25881e added @shimwell for docker 2022-02-25 20:33:10 +00:00
Paul Romano
70869a0d97
Merge pull request #1983 from eepeterson/spherical_mesh_repr_fix
fixing logic for spherical mesh string repr
2022-02-25 13:29:56 -06:00
Jonathan Shimwell
57bc5490c9 added import test for pymoab 2022-02-25 17:23:43 +00:00
Ethan Peterson
8b6e49df47 fixing logic for spherical mesh string repr 2022-02-25 10:35:26 -05:00
Jonathan Shimwell
f4a8f06c82 returning to use latest release of NJOY 2022-02-25 13:51:03 +00:00
Paul Romano
dbbba828f6 Split score_general_ce into analog and non-analog cases 2022-02-25 07:14:24 -06:00
Jonathan Shimwell
93364e6363 pinned NJOY version added import openmc test 2022-02-25 11:42:09 +00:00
Paul Romano
fcd5492832
Merge pull request #1977 from openmc-dev/fixing_python_install_in_docker_image
removed dev install -e for regular install
2022-02-24 15:20:20 -06:00
John Tramm
37fbf7c243
Merge pull request #1979 from paulromano/remove-all-nuclides
Remove option to specify "all" for tally nuclides
2022-02-24 09:33:09 -06:00
Paul Romano
96d0726e42 Fix failing tests that were using "all" in tally nuclides 2022-02-23 06:35:05 -06:00
Paul Romano
696290f051 Update nuclide naming in documentation 2022-02-22 16:45:12 -06:00
Paul Romano
af4a8400c5 Remove archaic 'all' nuclides tally feature 2022-02-22 16:37:53 -06:00
John Tramm
82e0a5116e
Merge pull request #1978 from paulromano/reaction-xs-method
Add Reaction::xs methods
2022-02-22 16:07:38 -06:00
Paul Romano
8d002454f0 Add Reaction::xs methods 2022-02-18 09:54:28 -06:00
Gavin Ridley
831c8d1c50
Merge pull request #1974 from paulromano/survival-biasing-fix
Remove wgt_absorb data member from Particle
2022-02-18 10:31:01 -05:00
Jonathan Shimwell
9aff0b4b9c
removed dev install -e for regular install 2022-02-18 15:21:14 +00:00
Paul Romano
c9bbcda347
Merge pull request #1969 from pshriwise/bin_indices_opt
Return all bin indices for filters not specified in `Tally.get_filter_indices`
2022-02-17 08:57:10 -06:00
Patrick Shriwise
9a28bc8da1 Removing special case for EnergyFunctionFilter 2022-02-16 15:26:51 -06:00
Paul Romano
ea5dbe1964
Merge pull request #1975 from RemDelaporteMathurin/patch-1
Tiny typo in docs
2022-02-16 14:40:30 -06:00
Patrick Shriwise
e2c432484e Reworking main for loop of get_filter_indices based on comments from @paulromano 2022-02-16 12:11:53 -06:00
Rémi Delaporte-Mathurin
30fdbaeb13
Tiny typo 2022-02-16 12:42:43 -05:00
Paul Romano
3e6eba4439 Respond to @gridley comments on #1974 2022-02-16 09:34:34 -06:00
Paul Romano
ceb6687e1c Update survival_biasing regression test 2022-02-15 15:34:57 -06:00
Paul Romano
3944c2f1e8 Fix bug in Halfspace.rotate when rotation matrix is passed 2022-02-15 11:11:18 -06:00
Paul Romano
de50a7bfca Generalize russian_roulette function 2022-02-15 11:10:34 -06:00
Paul Romano
f18caa1712 Get rid of wgt_absorb in ParticleData 2022-02-15 11:10:33 -06:00
Paul Romano
f741568d06 Don't modify wgt_last in survival biasing 2022-02-15 11:10:33 -06:00
Paul Romano
03fe9d3200 Don't modify wgt_last in russian_roulette 2022-02-15 11:10:33 -06:00
Paul Romano
36d5c94f9e
Merge pull request #1972 from shimwell/typos_in_docs
minor typo fix
2022-02-15 11:04:12 -06:00
Amanda Lund
a4ef8988de
Merge pull request #1971 from paulromano/move-to-0.13.1-dev
Change version number to 0.13.1-dev
2022-02-15 11:01:38 -06:00
Jonathan
1da0eac5d5 minor typo fix 2022-02-14 23:36:14 +00:00
Paul Romano
6dadcc9c03 Fix latexpdf doc build (missing unicode character conversion) 2022-02-14 11:42:53 -06:00
Paul Romano
49d25ae8b6 Change version number to 0.13.1-dev 2022-02-14 11:42:23 -06:00
Amanda Lund
cff247e357
Merge pull request #1967 from paulromano/release-0.13.0
Final change for version 0.13.0
2022-02-14 10:27:26 -06:00
Paul Romano
c597cd8294
Merge pull request #1968 from shimwell/fix_more_typos
removed unused imports
2022-02-14 07:02:48 -06:00
Patrick Shriwise
ccec9ee7bf Optimization for complete list of bin indices 2022-02-12 12:27:54 -06:00
Jonathan Shimwell
6257c61c1c
Adding a few more imports back 2022-02-12 00:54:21 +00:00
Jonathan
0108947e70 returned used import 2022-02-11 23:46:24 +00:00
Jonathan
d91676fe1b removed unused imports 2022-02-11 22:36:46 +00:00
Paul Romano
def0898a58 Remove -dev tag from version number 2022-02-11 12:17:12 -06:00
Paul Romano
c8639e1630
Merge pull request #1966 from pshriwise/contained_cells_hint
Acceleration for Cell::find_parent_cells.
2022-02-11 12:16:37 -06:00
Patrick Shriwise
1f2f859cb8 Addressing PR comments from PR 2022-02-10 15:10:12 -06:00
Patrick Shriwise
10f103c6d8
Merge pull request #1960 from paulromano/prepare-0.13.0
Prepare for version 0.13.0
2022-02-10 11:09:29 -06:00
Paul Romano
892432ac16
Incorporate @pshriwise suggestion in release notes
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-02-10 07:32:24 -06:00
Patrick Shriwise
9c385c5ba7 Adding punctuation to docstrings 2022-02-09 23:32:41 -06:00
Patrick Shriwise
c8a1505635 Renaming longer find parent search method 2022-02-09 21:29:34 -06:00
Patrick Shriwise
0c2b284a7d
Merge pull request #1965 from shimwell/minor_docs_typo_fix
fixed minor typo in docs
2022-02-09 21:14:38 -06:00
Patrick Shriwise
c148683d82 Using find_cell to determine upward path through geometry 2022-02-09 20:44:39 -06:00
Patrick Shriwise
2332dd2fae Adding support for a position hint to get_contained_cells for acceleration 2022-02-09 20:44:39 -06:00
Jonathan
04b5f4bc97 fixed minor typo in docs 2022-02-10 00:20:58 +00:00
Patrick Shriwise
f8488e59e8
Merge pull request #1964 from paulromano/ci-precision-fix
Lower precision on tally aggregation test to prevent CI failures
2022-02-08 14:23:30 -06:00
Paul Romano
9559aa29fa Lower precision on tally aggregation test from 8 to 7 2022-02-08 09:08:20 -06:00
Paul Romano
6c643bbb7f
Merge pull request #1963 from aprilnovak/fix-reorder
Reorder member variables to avoid order compile issue.
2022-02-04 16:40:53 -06:00
aprilnovak
e8982ea981 Reorder member variables to avoid order compile issue. Refs #1962 2022-02-04 10:24:38 -06:00
Paul Romano
8989a0f402 Improve docstring for CellFromFilter, CellbornFilter 2022-02-04 07:19:43 -06:00
Paul Romano
35af0ed440 Update outdated information in man page / setup.py 2022-02-04 07:19:43 -06:00
Paul Romano
03e038af6d Happy new year 2022! 2022-02-04 07:19:43 -06:00
Paul Romano
94066d48fa Fix equation in documentation so it builds in latexpdf mode 2022-02-04 07:19:42 -06:00
Paul Romano
056026428f Some cosmetic improvements in examples 2022-02-04 07:19:42 -06:00
Paul Romano
3830a21093 Fix warnings in doc build 2022-02-04 07:19:42 -06:00
Paul Romano
90146b5bc5 Update depletion integration equations in documentation 2022-02-04 07:19:42 -06:00
Paul Romano
fdd5e10822 Release notes for 0.13.0 2022-02-04 07:19:35 -06:00
Paul Romano
c6ad93d681
Merge pull request #1956 from pshriwise/otf_ww_adj
On-the-fly adjustments for weight windows
2022-02-04 07:14:48 -06:00
Paul Romano
91db1c9463
Merge pull request #1958 from aprilnovak/reset-triggers
Move satisfy_triggers reset into openmc_reset.
2022-02-02 18:21:22 -06:00
Patrick Shriwise
86ac407544 Reset ww ratio when initializing particle history 2022-02-02 17:46:43 -06:00
Patrick Shriwise
c0f1fb85e7 Fixing indentation. 2022-02-02 12:08:52 -06:00
Patrick Shriwise
5d5774b5bf correcting indentation. requiring max_lower_bound_ratio to be > 1. updating test. 2022-02-02 09:59:46 -06:00
Paul Romano
0804cc0867
Merge pull request #1959 from shimwell/ww_typo_fix
typo corrections in error messages
2022-02-02 09:40:33 -06:00
Jonathan Shimwell
3b0bf7c69e typo corrections in error messages 2022-02-02 10:42:32 +00:00
Patrick Shriwise
1e8ede8fef correcting keyword arg for max lower bound ratio 2022-02-01 15:39:39 -06:00
Patrick Shriwise
e27ba6cd1e Adding max_lower_bound_ratio internal attribute in WW constructor 2022-02-01 13:11:18 -06:00
Patrick Shriwise
aefcb4c4aa Addressing comments from @paulromano 2022-02-01 12:17:38 -06:00
aprilnovak
ffe4cfd670 Move satisfy_triggers reset into openmc_reset. Refs #1957 2022-02-01 10:03:32 -06:00
Patrick Shriwise
70d1665643
Apply suggestions from code review
Co-authored-by: Ethan Peterson <ethan.peterson@mit.edu>
2022-01-26 15:22:51 -06:00
Patrick Shriwise
c6d4f1a5ed Updating some data member formats. 2022-01-26 13:41:53 -06:00
Patrick Shriwise
6fc769a36d Updating test input. 2022-01-26 13:41:53 -06:00
Patrick Shriwise
b9bbfa5d33 Setting the max lower bound ratio when retrieving a weight window. 2022-01-25 17:02:17 -06:00
Patrick Shriwise
9aa6134366 Adding otf ww adjustment using lower bound ratio. 2022-01-25 17:02:17 -06:00
Patrick Shriwise
6450d669cb
Merge pull request #1955 from paulromano/from-xml-complete
Add missing from_xml capabilities
2022-01-24 10:50:46 -06:00
Paul Romano
ca58e14073
Apply suggestions from @pshriwise code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-01-23 14:03:18 -06:00
Paul Romano
6bb6e2ec0c Fix failing unit tests 2022-01-21 08:18:54 -06:00
Paul Romano
46b42d5ead
Merge pull request #1954 from pshriwise/mv_constants
Moving some single-use constants into relevant header files.
2022-01-21 07:27:23 -06:00
Paul Romano
d57c14e06f Add tests for XML roundtripping 2022-01-20 22:28:06 -06:00
Paul Romano
5bb4b4bbdf Implement Plots.from_xml classmethod 2022-01-20 22:28:03 -06:00
Paul Romano
6bd33602cc Implement Tallies.from_xml classmethod 2022-01-20 22:28:01 -06:00
Patrick Shriwise
780039c512 moving some single-use constants closer to point of use 2022-01-20 15:10:24 -06:00
Paul Romano
5dfc880d91 Use radians in CylindricalMesh and SphericalMesh 2022-01-20 14:16:30 -06:00
Paul Romano
9df6820da1 Implement from_xml_element methods for cylindrical/spherical mesh. Closes #1951 2022-01-20 10:33:53 -06:00
Paul Romano
f369a8ccac Add missing VolumeCalculation.from_xml_element method 2022-01-20 09:17:51 -06:00
Paul Romano
3abf0a9f5b
Merge pull request #1953 from pshriwise/rm-max-line-word-len
Remove `MAX_WORD_LEN` and `MAX_LINE_LEN` constants.
2022-01-19 17:46:23 -06:00
Patrick Shriwise
1a45d33310 Update: removing MAX_WORD_LEN and MAX_LINE_LEN constants. 2022-01-19 11:25:04 -06:00
Paul Romano
72af700ffd
Merge pull request #1947 from pshriwise/ww-final-tests
Weight windows final push
2022-01-19 09:13:07 -06:00
Patrick Shriwise
06b2678811 Fix: correcting error message for ww ratios 2022-01-18 10:48:10 -06:00
Patrick Shriwise
24e0f75b50 Tests: updating ww unit test with check for similarity in source bin. 2022-01-18 10:47:44 -06:00
Patrick Shriwise
0a82da0a1a
Merge pull request #1948 from paulromano/more-bugfixes
Miscellaneous bug fixes
2022-01-17 16:57:14 -06:00
Paul Romano
76f8fcbd4e
Merge pull request #1949 from ojschumann/glibcxx_debug
Fixes for various bugs
2022-01-17 15:20:42 -06:00
Olaf Schumann
dc2e386a29 Update src/secondary_thermal.cpp
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-01-17 13:40:44 +01:00
Olaf Schumann
39e57619df add suggensstions by @paulromano
run clang-format on all changed files
Update test results
2022-01-16 19:46:48 +00:00
Paul Romano
13dc40a66d Don't guess thermal name in Material.add_s_alpha_beta 2022-01-15 15:22:12 -06:00
Patrick Shriwise
0e23d717b9 Tests: renaming the weight windows regression test dir to be consistent with the unit test dir 2022-01-14 14:39:59 -06:00
Patrick Shriwise
62ad52d969 Adressing PR comments from @gridley. 2022-01-14 13:23:48 -06:00
Patrick Shriwise
2b5224e006 Fix: do not update Particle::wgt_last when splitting particles. 2022-01-14 11:14:29 -06:00
Olaf Schumann
10dfbb81c8 fix const issue in mesh.cpp
member variable can't xt::adopt'ed in const member function
2022-01-13 19:37:49 +01:00
Olaf Schumann
ebdac7ddde fixed memory leak in reading of statepoint 2022-01-13 14:29:20 +01:00
Olaf Schumann
4905acc20a fix memory leak in output_png() 2022-01-13 14:29:20 +01:00
Olaf Schumann
39f0d38367 Memory leak in hdf5_interface.h read_dataset(std::string) 2022-01-13 14:29:20 +01:00
Olaf Schumann
b442a7ad1a Bugfix for access past array: Move calculation of interpolation factors 2022-01-13 14:29:19 +01:00
Olaf Schumann
d1b0c6de21 Number shells and compton profiles inconsistency : photon.cpp
Problem e.g. in photon/Al.h5
2022-01-13 14:29:19 +01:00
Olaf Schumann
8339b3e4be Invalid access in CoherentElasticAE::CoherentElasticAE
In the size of energies array is N, then both
energies[N] ans factors[N] are accessed.
I did some rework, but this changes results and am I'm not sure if it is
correct...
2022-01-13 14:29:19 +01:00
Olaf Schumann
4ae11c9c40 Invalid to data::mg.nuclides_[i_nuclide]
If i_nuclide is -1, the assecc to data::mg.nuclides_[i_nuclide] is
invalid and throws if compiled with -D_GLIBCXX_DEBUG

Workaround: Just use data::mg.macro_xs_ instead, it will never be
accessed!
2022-01-13 14:29:19 +01:00
Olaf Schumann
9c7dcbba63 Off by 1 error on Nuclide::cs_cdf
Error occured in regression_tests/resonance_scattering/test.py
2022-01-13 14:29:19 +01:00
Olaf Schumann
b150a58a11 Iterator invalidation in lower/upper_bound_index
Error ocured in regression_tests/filter_mesh/test.py
2022-01-13 14:29:19 +01:00
Paul Romano
0cf7d92837
Merge pull request #1931 from ojschumann/mesh
Add Cylindrical and Spherical Mesh for MeshFilter and MeshSurfaceFilter
2022-01-12 21:12:10 -06:00
Olaf Schumann
f21c52abb8 update test input 2022-01-12 21:05:09 +00:00
Olaf Schumann
3b3294662e Addressing comments and suggestions of @paulromano
manually run clang-format on mesh.cpp and mesh.h
2022-01-12 19:43:48 +00:00
Paul Romano
4d538282f6 clang-formatize source.cpp 2022-01-12 12:02:45 -06:00
Paul Romano
80c73c8e4d Make sure ThermalScattering.from_njoy works with table_name=... 2022-01-12 12:02:45 -06:00
Paul Romano
424f26f697 Get starting time in Model.run based on filesystem. Closes #1939 2022-01-12 12:02:42 -06:00
Paul Romano
badaaacca4 Consistent use of cross sections / chain file in Operator class 2022-01-12 10:32:25 -06:00
Paul Romano
34ec14c5ee
Merge pull request #1940 from ojschumann/time-src
Time distribution for source.
2022-01-12 10:31:53 -06:00
Patrick Shriwise
573dbda7ca
Merge pull request #1946 from paulromano/depletion-bugfixes
Depletion-related bug fixes
2022-01-11 11:57:17 -06:00
Olaf Schumann
fbc2c68eb7
Apply suggestions from code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-01-11 15:13:19 +01:00
Patrick Shriwise
942c3da104 Fix: pass mesh node to classmethod instead of parent elem 2022-01-10 16:36:53 -06:00
Patrick Shriwise
a11b0d93d3 Fix: correcting checked_list type 2022-01-10 16:30:38 -06:00
Paul Romano
5395d32fde Fix use of _{materials,cells}_by_id and _by_name attributes in Model 2022-01-10 08:06:16 -06:00
Patrick Shriwise
564f7bba5c Fix: resetting particle split count in initialize_history. 2022-01-09 21:21:17 -06:00
Paul Romano
2ccbf0669b Update pincell depletion example plots 2022-01-09 15:47:08 -06:00
Paul Romano
141a32487a Don't overwrite Operator.materials.cross_sections if already defined 2022-01-09 13:16:02 -06:00
Paul Romano
66835f465f Fix undefined variable in Operator.__init__ 2022-01-09 13:14:25 -06:00
Paul Romano
bdec975923 Fix material density in ResultsList.export_to_materials 2022-01-09 13:11:27 -06:00
Olaf Schumann
8114482084
Merge branch 'openmc-dev:develop' into mesh 2022-01-09 11:33:12 +01:00
Patrick Shriwise
c25403e788 Fix: reset auto IDs in ww unit test. 2022-01-08 20:38:55 -06:00
Patrick Shriwise
72cf08a0f1 Tests: Adding unit test for weight windows. 2022-01-08 17:06:51 -06:00
Patrick Shriwise
05a3a79c8a Tests: Updating import of WeightWindows class. 2022-01-08 16:28:31 -06:00
Patrick Shriwise
3ef71de5f9 Tests: adding option to copy file into temp dir. 2022-01-08 16:28:31 -06:00
Patrick Shriwise
07629d7218 Test: Updating weight window regression test. 2022-01-08 16:28:31 -06:00
Paul Romano
ac495ef0f3 Move main weight window function to weight_windows.cpp 2022-01-08 15:26:02 -06:00
Paul Romano
eca7919127 Add WeightWindows to API docs 2022-01-08 15:19:33 -06:00
Paul Romano
f8290617bd Update settings.rst documentation, simplify reading weight window XML 2022-01-08 15:06:47 -06:00
Paul Romano
65b02c57b9 Add theory section on weight windows 2022-01-08 14:44:03 -06:00
YuanHu-PKU-KIT
e08af3c374 Implement mesh-based weight windows (squashed)
Co-authored-by: Andrew Davis <andrew.davis@ukaea.uk>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-01-08 14:43:18 -06:00
Olaf Schumann
759aba2e98
Update openmc/source.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2022-01-07 15:53:10 +01:00
Olaf Schumann
66ffe3a6b8 Default Source in Settings implement time 2022-01-05 21:06:09 +00:00
Olaf Schumann
23f8cfb4f0 Add time distribution to one test
This doesn not change the results, only the settings.xml. A better test
hast to be made
2022-01-05 21:06:09 +00:00
Olaf Schumann
3e79b55ae4 Update Documentation 2022-01-05 21:06:09 +00:00
Olaf Schumann
d93df33dfb Implementation of time distribution for the source 2022-01-05 21:06:09 +00:00
Olaf Schumann
d12e390f1a
Merge pull request #1934 from paulromano/time-filter
Track particle time and implement filter for time
2022-01-05 20:24:17 +01:00
Paul Romano
18e7ca4a82
Merge pull request #1938 from AI-Pranto/g++-11
Allow compilation with G++ 11
2022-01-05 10:20:24 -06:00
Paul Romano
5288ffc600 Use adjacent_find instead of is_sorted. Handle collision estimators correctly 2022-01-05 07:43:45 -06:00
Paul Romano
c0e5ed2971 Remove less_equal from call to is_sorted
This causes issues if you compile with -D_GLIBCXX_DEBUG. Underlying reason is
described in https://github.com/xtensor-stack/xtensor/issues/2296
2022-01-05 07:43:44 -06:00
Paul Romano
7b89ce11e7 Address comments on #1934 from @ojschumann 2022-01-05 07:43:44 -06:00
Paul Romano
cad7f68129 Update test results that depend on inverse-velocity score 2022-01-05 07:43:44 -06:00
Paul Romano
e292125531 Support time filters used with surface current tallies 2022-01-05 07:43:44 -06:00
Paul Romano
83686f8fdb Add a simple test for time filter 2022-01-05 07:43:43 -06:00
Paul Romano
4831456144 Ensure time is propagated for fission neutrons 2022-01-05 07:43:43 -06:00
Paul Romano
ef61563079 Ensure time is propagated to secondary particles 2022-01-05 07:43:43 -06:00
Paul Romano
24b741f2b3 Initial implementation of time filter 2022-01-05 07:43:42 -06:00
Ariful Islam Pranto
f35d8429fb
add missing limits header in quartic_solver.cpp 2022-01-05 18:42:11 +06:00
Patrick Shriwise
0694afc554
Merge pull request #1933 from paulromano/torus-oqs
Implementation of torus surfaces
2022-01-04 13:35:34 -06:00
Olaf Schumann
674f006aaa changed is_sorted to adjacent_find
std::is_sorted with less_equal is a standard violation
2022-01-04 18:09:00 +01:00
Olaf Schumann
53c15b9e7b More updates
after suggestions from @pshriwise
2022-01-04 16:57:30 +01:00
Olaf Schumann
32d33f25cb Remove acidentially included files 2022-01-04 15:21:36 +01:00
Olaf Schumann
5384734f62
Apply suggestions from code review
added suggestions from pshriwise

Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-01-04 15:17:11 +01:00
Olaf Schumann
d1a1cae278
Update include/openmc/mesh.h
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2022-01-04 13:38:59 +01:00
Paul Romano
20651b6c6a Make sure Torus Python classes use raw strings for docstrings 2022-01-03 13:22:51 -05:00
Paul Romano
67db1f5af0 Force CI tests to use numpy<1.22 2022-01-03 09:53:44 -05:00
Paul Romano
d834f83d08 Reduce torus coincident zero root cutoff to 1e-10 2022-01-03 09:36:59 -05:00
Paul Romano
f79f402248
Merge pull request #1936 from nelsonag/multiplicity_warning_fix
Added a space in a warning for multiplicity matrix values being 0
2022-01-03 08:29:07 -05:00
agnelson
6183d08c48 Added a space in a warning for multiplicity matrix values being 0 2021-12-30 12:46:33 -06:00
Paul Romano
ebb6736ba6 Add TorusMixin.rotate method that can handle simple rotations 2021-12-29 10:37:54 -05:00
Paul Romano
fbd31e954d Update some links in documentation, fix license badge on README 2021-12-29 10:19:11 -05:00
Paul Romano
b517d2967d Respond to @pshriwise comments on #1933 2021-12-29 10:18:02 -05:00
Paul Romano
374e9f7107 Add case to torus unit test for R slightly bigger than r 2021-12-29 09:57:50 -05:00
Paul Romano
9a0f56a891 Bug fix in quartic solver when d2 is close to zero
This bug was resulted in lost particles for torus models with R ~ r. Bug was
reported to author of quartic solver and a fix was made in the quarticpp
project: https://github.com/cridemichel/quarticpp/issues/1
2021-12-29 09:55:54 -05:00
Paul Romano
d497d54966 Use std::abs instead of std::fabs in quartic solver 2021-12-29 09:37:05 -05:00
Olaf Schumann
b4c19a7950 Update to calc_mesh_volumes
Update of calc_mesh_volumes method on CylindricalMesh and SphericalMesh
class

* use np.diff
* Bug in CylindricalMesh for calculation of delta-phi (copy-paste error
from SpherialMesh)
2021-12-27 12:10:07 +01:00
Olaf Schumann
5bdc633fba CR at end of line removed 2021-12-22 19:56:13 +01:00
Olaf Schumann
c44249815f typo, foget virtual 2021-12-22 18:58:09 +01:00
Olaf Schumann
8b0b11b6c5 Bug: Forget to declare and define UnstructuredMesh::get_mesh_type() 2021-12-22 18:37:55 +01:00
Paul Romano
c21f03daa3 Minor tweaks 2021-12-22 11:47:37 -05:00
Paul Romano
149180ec7f Add unit and regression tests for torus 2021-12-22 11:47:37 -05:00
Paul Romano
cd803764c5 Add torus bounding_box methods and fix docstrings 2021-12-22 11:47:37 -05:00
Paul Romano
a57d7dcd7f Add documentation on torus distance/normal 2021-12-22 11:47:36 -05:00
Paul Romano
b0fbb4e804 Use single torus_distance function 2021-12-22 11:47:36 -05:00
Paul Romano
21310c4450 Move variable declarations, make simplifications in quadric solver 2021-12-22 11:47:36 -05:00
Paul Romano
bf4a5fa4f8 Use return values where possible in quartic solver 2021-12-22 11:47:35 -05:00
Paul Romano
1fc20c9947 Remove max2 function in quartic solver 2021-12-22 11:47:35 -05:00
Paul Romano
26e2093cc3 Use constexpr for constants in quartic solver 2021-12-22 11:47:35 -05:00
Paul Romano
117e44f1e2 Use oqs namespace for quartic solver 2021-12-22 11:47:34 -05:00
Paul Romano
ddcc170bc0 Remove I/O in quartic_solver 2021-12-22 11:47:34 -05:00
Paul Romano
abe2247eb6 Minimial conversion of quartic_solver.c to C++ 2021-12-22 11:47:34 -05:00
Paul Romano
377ee77486 Use quadric solver from ACM TOMS 46(2), pp1-28 (algorithm 1010) 2021-12-22 11:47:31 -05:00
Paul Romano
b557e62b5d Much simpler torus normals 2021-12-22 11:35:03 -05:00
Paul Romano
99284afca3 Fix errors in torus normals 2021-12-22 11:35:03 -05:00
Paul Romano
70fcfe4936 Greatly simplify calculation of quartic coefficients 2021-12-22 11:35:03 -05:00
Paul Romano
badf9f33fa Eliminate std::pow in torus distance methods 2021-12-22 11:35:03 -05:00
Paul Romano
26322e6cd8 Add unimplemented TorusMixin._get_base_coeffs method 2021-12-22 11:35:03 -05:00
Paul Romano
7ff95cfbce Update Torus::evaluate methods 2021-12-22 11:35:03 -05:00
Paul Romano
4562c09e4d Simplify torus Python classes 2021-12-22 11:35:03 -05:00
Paul Romano
d51878c04c Original Python classes for tori 2021-12-22 11:35:03 -05:00
Paul Romano
04bf63d0de Run clang-format 2021-12-22 11:35:03 -05:00
Andrew Davis
ade2d4cb06 Andy's original torus implementation 2021-12-22 11:35:03 -05:00
Olaf Jochen Schumann
776c6baf1f Changes request by @gridley 2021-12-22 16:19:58 +01:00
Patrick Shriwise
622fea5445
Merge pull request #1930 from AI-Pranto/docker
Rename docker image tag
2021-12-22 09:03:36 -06:00
Olaf Schumann
f92993d443 Update tests with changed results.results_true 2021-12-22 09:24:13 +01:00
Olaf Schumann
efe36357a8 Update tests to check new meshes 2021-12-20 19:43:40 +01:00
Olaf Schumann
1c8a94f41e Update Documentation to reflect new meshes 2021-12-20 19:42:56 +01:00
Olaf Schumann
d723dd7f07 Add Cylindrical & Spherical Mesh for Tally Filter
New method for ray-tracing the mesh, used for both MeshFilter & MeshSurfaceFilter. For all Structured Meshes!
meshes

negative/positive_grid_boundary to non-virtual function for speed

MeshIndex typedef now a std::array instead of int[3] -> Get rid of pointers (see e.g. core quidelines I.13)

MeshDistance class to stroe all relevant information
2021-12-20 19:41:52 +01:00
AI-Pranto
f29c89f8f1 added dockehub action for libmesh when release event triggers 2021-12-18 17:42:19 +06:00
AI-Pranto
05e32d25cd rename docker image tag 2021-12-18 17:01:11 +06:00
Paul Romano
98899078e1
Merge pull request #1929 from valeriogiusti/valeriogiusti-patch-1
Update funcs.py
2021-12-17 15:28:07 -05:00
Patrick Shriwise
70a7002f5a
Merge pull request #1928 from paulromano/mpi-fork-doc
Add note in documentation about MPI multiprocessing in depletion
2021-12-17 13:45:55 -06:00
valeriogiusti
249c3618d4
Update funcs.py
This modification will eliminate the warning:
/home/valerio/.local/lib/python3.8/site-packages/openmc/surface.py:1510: FutureWarning: "ZCylinder(…) accepts an argument named ‘r’, not ‘R’. Future versions of OpenMC will not accept the capitalized version.
warn(_WARNING_UPPER.format(type(self).name, ‘r’, ‘R’)
2021-12-17 17:19:02 +01:00
Paul Romano
7f5e9e73d8
Merge pull request #1887 from shimwell/adding_libmesh_to_docker
Adding libmesh to docker
2021-12-16 12:37:00 -05:00
Paul Romano
5cdf52ccf8 Move paragraph on depletion crash/hang to troubleshoot.rst 2021-12-16 11:06:39 -05:00
Tyson Whitehead
4559c8f3af fixup! Note MPI fork depletion analysis issues in MPI installation guide 2021-12-16 10:58:58 -05:00
Amanda Lund
c6328d5504
Merge pull request #1924 from paulromano/cutoff-fix
Ensure secondary particles below energy cutoff are not created
2021-12-16 09:26:56 -06:00
Paul Romano
e24069e439
Merge pull request #1922 from pshriwise/mesh_io_fixes
`openmc.RegularMesh` attribute consistency
2021-12-13 15:34:47 -06:00
Patrick Shriwise
66fabffc38 Updating warning output. 2021-12-13 07:36:12 -06:00
Paul Romano
baa38a1168 Update photon-related regression test results 2021-12-12 17:26:24 -06:00
Paul Romano
822879cc48 Ensure secondary particles below energy cutoff are not created 2021-12-12 16:27:12 -06:00
Patrick Shriwise
1a1db91bd2 Using list instead of numpy array. 2021-12-09 21:57:26 -06:00
Patrick Shriwise
2afa90a1dd Resolving upper_right and width conflicts. 2021-12-09 16:24:49 -06:00
Patrick Shriwise
5f9357c341 Correcting some comments in mesh.cpp 2021-12-09 16:23:37 -06:00
Patrick Shriwise
beff025b23 Fixing RegularMesh repr string. 2021-12-09 15:27:04 -06:00
Paul Romano
634ae61a19
Merge pull request #1920 from aprilnovak/err-to-warn
Change errors to warnings in plots.
2021-12-08 07:09:12 -06:00
Paul Romano
80f48440f7
Merge pull request #1918 from jeffhammond/develop
correct spelling of my name
2021-12-08 06:43:01 -06:00
aprilnovak
dafbbb31bf Change errors to warnings in plots. Refs #1919 2021-12-07 16:59:57 -06:00
Jeff Hammond
0414e5e0f1
correct spelling of my name 2021-12-07 22:06:44 +02:00
Jonathan Shimwell
180fb66490 setting Doptimize and Ddebug to off 2021-12-06 11:35:12 +00:00
Jonathan Shimwell
75b7706741
Adding space in pip command
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2021-12-05 17:40:34 +00:00
Jonathan Shimwell
bb9f600938
Added pip install of mpi4py
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2021-12-05 00:54:26 +00:00
Jonathan Shimwell
d0353c3e58 Reverting change to fmt submodule 2021-12-03 17:05:25 +00:00
Jonathan Shimwell
f3a22d8b93
Merge branch 'openmc-dev:develop' into adding_libmesh_to_docker 2021-12-03 16:47:36 +00:00
Patrick Shriwise
3e195382e1
Merge pull request #1911 from paulromano/lost-particle-fix
Ensure particles lost during event_calculate_xs are terminated
2021-11-23 15:07:01 -06:00
Miriam Rathbun
12db3d12ac Updated results from mgxs_library_condense to reflect new changes. 2021-11-22 22:56:13 -07:00
Miriam Rathbun
672bb9e431 I believe I successfully implemented condensation of diffusion coefficients (as opposed to transport cross sections). 2021-11-22 22:46:40 -07:00
Paul Romano
f0aa6664b3
Merge pull request #1913 from nelsonag/xsdir_fix
Fixed parsing of xsdir entries with a continuation line
2021-11-22 22:05:40 -06:00
Adam Nelson
e61db57485
Merge pull request #1909 from mkreher13/dif-coef-fix
Removing Legendre filter in diffusion coefficient results
2021-11-22 13:05:30 -06:00
agnelson
43d3628b69 Fixed xsdir continuation line parsing 2021-11-22 12:56:16 -06:00
Paul Romano
852c8ba926 Make sure random number seed gets set properly for fixed source particle restart 2021-11-22 09:13:06 -06:00
Paul Romano
e665965c60 Ensure particles lost during event_calculate_xs are terminated 2021-11-19 15:37:25 -06:00
Jonathan Shimwell
1711ff67ae changed embree compile to increase compatibility 2021-11-17 17:49:24 +00:00
Jonathan Shimwell
11e4c3643d
Merge branch 'openmc-dev:develop' into adding_libmesh_to_docker 2021-11-17 17:42:49 +00:00
Patrick Shriwise
02239256f6
Merge pull request #1905 from paulromano/readthedocs-fix
Fix readthedocs build issue by pinning sphinx
2021-11-17 08:35:38 -06:00
Jonathan Shimwell
007f4f81ee [skip ci] now targeting moab 5.3.0 2021-11-17 14:28:56 +00:00
Jonathan Shimwell
d0198f2981 now targeting v1.0.0 of double down 2021-11-17 14:25:18 +00:00
Paul Romano
26f1f48b14
Merge pull request #1908 from pshriwise/rm_dagmc_settings
Removing `dagmc` from settings.
2021-11-16 16:57:10 -06:00
Miriam Rathbun
e131e07948 Fixed issue where both P0 and P1 moments were displayed in the diffusion coefficient results. With this fix, the Legendre filter is successfully sliced. Also, there was previously concern that get_condensed_xs needed to be specially catered toward DiffusionCoefficient. However, since the MGXS get_condensed_xs method condenses the tallies before calculating the cross section, that should work great for DiffusionCoefficient as well. Tests updated. 2021-11-16 13:58:40 -07:00
Patrick Shriwise
600ad9a6e6 Removing dagmc from settings. 2021-11-16 12:01:22 -06:00
Paul Romano
c8003e0243
Merge pull request #1904 from gridley/urr_improvements
improve URR lookup data layout and performance
2021-11-11 22:12:12 -06:00
Gavin Ridley
871c0b60b3
Remove extraneous comment
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-11-11 19:07:21 -05:00
Paul Romano
fdf306a5d4 Fix RTD build issue by pinning sphinx 2021-11-11 16:49:48 -06:00
Paul Romano
0157dc219f
Merge pull request #1900 from nelsonag/model_lib_fix
Added the import to openmc.lib to model.py while leaving it optional
2021-11-10 09:17:54 -06:00
Gavin Ridley
15be2e1d06
Remove unnecessary intermediate variable
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-11-09 13:10:44 -05:00
agnelson
579b0a8f2e Removed the try/except clause around import openmc.lib 2021-11-09 09:19:50 -06:00
Paul Romano
176b148b6b
Merge pull request #1894 from pshriwise/model_deplete
Passing `openmc.Model` to depletion functions.
2021-11-09 06:51:09 -06:00
Gavin Ridley
41c8cb4106 improve URR lookup data layout and performance 2021-11-08 16:04:37 -05:00
agnelson
4fe524ad25 Added appropriate try/import for openmc.lib around all places in Model where it is necessasry 2021-11-02 08:17:47 -05:00
Patrick Shriwise
65fff786ed
Merge pull request #1898 from paulromano/two-bug-fixes
Bug fixes for specifying Materials.cross_sections
2021-10-28 10:03:20 -05:00
agnelson
f3dee1fe00 Updated model per the review suggestions 2021-10-26 12:22:07 -05:00
agnelson
123fefe08d Added the import to openmc.lib to model.py while leaving it optiona
l
2021-10-25 05:15:34 -05:00
Ariful Islam Pranto
7c35b34984
Merge pull request #5 from AI-Pranto-1/docker-update
switch to `debian-slim` image
2021-10-23 01:03:35 +06:00
AI-Pranto
42098fb5a9 switch from ubuntu to debian-slim image 2021-10-23 00:54:58 +06:00
Paul Romano
f0c1ce8bb1
Merge pull request #1896 from amandalund/atomic-relaxation-updates
Atomic relaxation updates
2021-10-20 21:02:28 -05:00
Paul Romano
96e3b2c9b8 Update inputs for mg_convert test 2021-10-20 13:27:10 -05:00
amandalund
8db80536d2 Add definition at namespace scope for static constexpr data member 2021-10-20 13:26:08 -05:00
amandalund
10e4489ff0 Address reviewer feedback 2021-10-20 11:49:44 -05:00
Paul Romano
32d041ec90 Fix bug for when local cross_sections.xml is specified 2021-10-20 10:48:27 -05:00
Paul Romano
ab4ef1d7be Ensure Materials.cross_sections accepts path-like object 2021-10-20 10:47:44 -05:00
Jonathan Shimwell
704fe3af3d
Merge pull request #1895 from paulromano/write-initial-source
Add missing Settings.write_initial_source property
2021-10-20 11:52:29 +01:00
AI-Pranto
fcdde37c76 install moose-libmesh with conda 2021-10-19 15:14:42 +06:00
Patrick Shriwise
2634d1ece8 Adding type check for first parameter passed to the Operator constructor. 2021-10-17 23:12:39 -05:00
Patrick Shriwise
1d211aefe6 Adding a version change note for Operator.__init_. 2021-10-17 22:27:17 -05:00
Paul Romano
eca57538cd Add missing Settings.write_initial_source property 2021-10-13 13:04:17 -05:00
Paul Romano
c2fe6327e2
Merge pull request #1890 from ojschumann/rational_dist
Rational univariate distribution
2021-10-12 22:26:02 -05:00
Olaf Schumann
2fe12062d2
Update docs/source/io_formats/settings.rst
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-10-12 08:55:37 +02:00
Patrick Shriwise
e6cd4449e1 Updating openmc.Materials object used in _generate_materials_xml. 2021-10-11 22:04:05 -05:00
Jonathan Shimwell
c3d6ac0b00
Merge pull request #3 from AI-Pranto-1/docker-update
yml file to publish (DAGMC+libmesh) image
2021-10-11 23:12:42 +01:00
AI-Pranto
f0cd6fb38c add yml file to publish (DAGMC+libmesh) image 2021-10-12 02:12:04 +06:00
Olaf Schumann
c0bcc3f1ca Renamed Rational to Power Law 2021-10-11 19:48:35 +00:00
Olaf Schumann
358f64c53a
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-10-11 21:20:30 +02:00
Jonathan
38a030d87a added missing quotes in cmake cmd 2021-10-11 20:10:24 +01:00
Jonathan Shimwell
8ac473dc3d
corrected cmake cmd for DAGMC
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2021-10-11 15:56:26 +01:00
Paul Romano
36850b9cc2
Merge pull request #1889 from nelsonag/vol_calc_mg
Fix bug associated with volume calc in MG mode
2021-10-11 08:07:58 -05:00
Jonathan Shimwell
0a2016cece
Merge branch 'develop' into adding_libmesh_to_docker 2021-10-11 10:31:11 +01:00
Patrick Shriwise
f1234a38b0 Updating depletion test files. Further adjustments to how materials are identified for some utility functions. 2021-10-08 14:15:40 -05:00
Adam Nelson
d2aad32981
Merge pull request #1888 from paulromano/libpng
Produce plots as .png files by default using libpng
2021-10-08 13:45:20 -05:00
Patrick Shriwise
7472e330be Updating pincell depletion example. 2021-10-08 09:21:03 -05:00
Patrick Shriwise
ae0cdf4b0a Chaning deplete.Operator to take in an openmc.Model object and set materials accordingly. 2021-10-08 09:20:29 -05:00
Jonathan Shimwell
95d1d8f543
Merge pull request #2 from AI-Pranto-1/docker-update
Small update to Dockerfile
2021-10-06 20:27:47 +01:00
agnelson
8c65024361 importing pytest in vol_calc test 2021-10-06 13:49:33 -05:00
Adam Nelson
f86410a6d8
Updated volume_calc test per comments from @paulromano 2021-10-06 13:26:29 -05:00
Paul Romano
66ef28a385 Remove convert_exec arguments, update documentation 2021-10-06 11:51:38 -05:00
AI-Pranto
2096691e52 moving to DAGMC develop branch 2021-10-06 22:32:41 +06:00
Paul Romano
613d6e3ba2 Fix docstring for Plot.to_ipython_image 2021-10-06 07:16:21 -05:00
AI-Pranto
a04a0922a3 Troubleshoot the dagmc and double-down installation 2021-10-06 17:45:21 +06:00
Olaf Schumann
3028193f58 Fix test after fixing bug 2021-10-06 07:19:31 +00:00
Jonathan
4ecdec6527 using env to define openmc cmake command 2021-10-06 00:30:00 +01:00
Olaf Schumann
b776dfdc0b Fixed typo in rational distribution constructor 2021-10-05 20:21:10 +00:00
Olaf Schumann
29a515c7ba Add regression and unit test for rational distribution 2021-10-05 20:06:41 +00:00
Olaf Schumann
557a5c66b2 Add rational distribution to documentation 2021-10-05 20:06:02 +00:00
Olaf Schumann
9eeff1ede9 Update to rational distribution
* store offset, span and ninv in class
  * accessor functions calculate a, b, n
2021-10-05 20:04:21 +00:00
Olaf Schumann
eb0eac79c1 Rational univariate distribution, that sampled a random variable with a pdf of p = x^n
Usefull for samplig homogenous cylindrical or spherical sources
Simmilar to MCNPs "sp -21 n" functionality
2021-10-05 19:24:40 +00:00
agnelson
75fd0a7f78 Added test of volume calc from MG mode, then corrected 2 issues: the first led to #1698, the second led to the test failing as volume calcs need atom densities but they existed in a different location in MG mode. To fix the former, if blocks were placed to point to the MG nuclide data as necessary, and the latter by calling Material.finalize() at the appropriate spot in the MG code 2021-10-05 14:12:31 -05:00
Paul Romano
7b070b7154 Remove convert arguments from Model.plot_geometry 2021-10-05 13:42:27 -05:00
Jonathan Shimwell
3039f9c969
Merge pull request #1 from AI-Pranto-1/adding_libmesh_to_docker
Docker with LIBMESH support
2021-10-05 19:06:50 +01:00
AI-Pranto
7a68f56656 update yml script for libmesh build 2021-10-05 23:55:22 +06:00
Paul Romano
75b3d18446 Merge branch 'develop' into libpng 2021-10-05 12:49:35 -05:00
Paul Romano
c3bb352f8f
Merge pull request #1884 from nelsonag/model_control
Expanded capabilities of openmc.model.Model container
2021-10-05 12:46:51 -05:00
agnelson
adc935b99d Added a MG version of regression_tests/volume_calc 2021-10-05 11:59:47 -05:00
AI-Pranto
c8c929bfbc update and add yml scripts for libmesh build 2021-10-05 20:48:25 +06:00
agnelson
c9e91d42fb Replacing manual absolute error tests with pytest.approx, improving documentation, and other small changes per the review by @paulroman. 2021-10-05 08:39:24 -05:00
Patrick Shriwise
5ef01628c6
Merge pull request #1885 from paulromano/anl-copyright
Update copyright to include UChicago Argonne, LLC
2021-10-04 17:50:33 -05:00
Paul Romano
c347e2163d Update ci.yml, Dockerfile, install instructions 2021-10-04 15:48:46 -05:00
Paul Romano
d8043b6098 Support png files in plot_inline and Plot.to_ipython_image 2021-10-04 15:48:45 -05:00
Paul Romano
6eea13043f Add support for PNG plots using libpng 2021-10-04 15:48:42 -05:00
Paul Romano
2cadd1d3ed
Remove comma in UChicago Argonne, LLC
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2021-10-04 15:39:00 -05:00
amandalund
07a0ff5072 Add a helper function to calculate the maximum size of the stack used in atomic relaxation 2021-10-04 09:31:55 -05:00
amandalund
ba1a39e281 Make atomic_relaxation iterative instead of recursive 2021-10-04 09:31:55 -05:00
amandalund
d939bad736 Remove shell_map and refactor transition data 2021-10-04 09:31:54 -05:00
Jonathan
3d235b59dc added build arg to target develop branch in clone 2021-10-01 21:17:53 +01:00
Paul Romano
fa500e2896
Merge pull request #1882 from ojschumann/stats_branch
Implementation of openmc.stats.Mixture distribution
2021-10-01 11:24:29 -05:00
agnelson
e4476fc0b7 Delayed mpi4py import until the user clearly indicated intent to use a communicator (or they already have created one and thus have already imported it); corrected versionchanged doc statements to include comments about what changed; added stackoverflow reference 2021-10-01 09:21:41 -05:00
Adam Nelson
e1365bd036
Applied suggested changes per @paulromano's code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-10-01 06:09:24 -05:00
Olaf Schumann
8991a10432 need to include gsl-lite.hpp for Ensures() 2021-10-01 10:23:39 +00:00
Olaf Schumann
fe9d929ed0
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-10-01 12:17:47 +02:00
Jonathan
91bd9eb67d added m4 package and depth=1 for clones 2021-09-30 23:49:07 +01:00
agnelson
e8081207d7 Modified the C API to support setting material temperatures and to support setting the event based flag. Fixed failing MPI test. 2021-09-30 16:34:58 -05:00
agnelson
20c8043c1c (1) Made OpenMC load plots.xml upon initialization even if not in the plot runmode; (2) Made the finalize method clear plotting data; (3) allowed the openmc.lib and openmc.model package to call plot_geometry now that plots.xml would have been loaded 2021-09-30 15:15:58 -05:00
agnelson
b335f82792 Made integrator quiet and fixed failing test caused by MPICommunicator types 2021-09-30 14:39:53 -05:00
agnelson
61d067f1f5 oops; had test_model.py:test_deplete commented out. fixed 2021-09-30 11:19:11 -05:00
agnelson
ad483b3fea Moved the dummy communicator to being within openmc vice openmc.deplete, added test of model.calculate_volumes and model.deplete, fixed issues identified from those tests, and added a DLL quieting method (still needs to be propagated to integrator.integrate 2021-09-30 11:18:35 -05:00
agnelson
dc80b799ac Resolving comments from @paulromano and updating tests accordingly 2021-09-29 18:51:00 -05:00
Olaf Schumann
fef3c2dc9d update settings.rst 2021-09-29 19:54:18 +00:00
Olaf Schumann
0b3cd2544b
Update openmc/stats/univariate.py
better naming

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-09-29 17:11:30 +02:00
Olaf Schumann
9dc9b2af45
Update tests/regression_tests/source/test.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-09-29 17:10:49 +02:00
Olaf Schumann
1c47fb2059
Update src/distribution.cpp
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-09-29 17:10:34 +02:00
Olaf Schumann
3fde9412f4
Update src/distribution.cpp
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-09-29 17:10:11 +02:00
Olaf Schumann
d7622c1b5d
Update src/distribution.cpp
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-09-29 17:09:42 +02:00
Olaf Schumann
cb27271afc
Update src/distribution.cpp
replace with range based for loop

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-09-29 17:09:17 +02:00
Olaf Schumann
9123ee9239
Update src/distribution.cpp
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-09-29 17:08:49 +02:00
Olaf Schumann
f93887aa21
Update docs/source/io_formats/settings.rst
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-09-29 17:07:31 +02:00
agnelson
d7bf830028 Added test of Model.plot_geometry and made changes to reflect that openmc.lib.plot_geometry wont work if openmc.lib.init wasnt told that the run mode is to plot because then plots.xml isnt read in 2021-09-29 08:22:16 -05:00
Olaf Schumann
6612b4ba04 updated unit_test for Mixture distribution 2021-09-29 08:59:43 +00:00
Patrick Shriwise
abee7b2e84
Merge pull request #1873 from aprilnovak/mesh-multiplication
Allow constant scaling factor to be applied to libMesh unstructured mesh
2021-09-28 19:03:43 -05:00
Jonathan
5e1ff2aa95 libmesh not finding target 2021-09-28 23:04:41 +01:00
aprilnovak
25d0a5f9af Change ordering in doc string. Refs #1872 2021-09-28 10:58:20 -05:00
agnelson
e62ba9b85a Upgrading tests of model, and adding better file management, Model.calculate_volumes method and Model.plot_geometry method. These last two still need to be tested as well as Model.deplete 2021-09-28 08:44:31 -05:00
agnelson
d45af5a4ef Changes to the model.run interface again for clarity and for test passing 2021-09-27 13:45:31 -05:00
agnelson
f03b98ac0f Updating model.init_C_api and model.run to handle the kwargs that have been assigned to model.run for the CLI interface. Also updated tests 2021-09-27 12:32:25 -05:00
agnelson
0d2f923be8 Added tests of the openmc.Model class. Still need to do tests of deplete and the methods which change python and C attributes. Pushing this now to verify the CI shows passes for the MPI configs 2021-09-27 08:18:54 -05:00
April Novak
e63c414e21
Apply suggestions from code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2021-09-25 09:18:31 -05:00
agnelson
24bca06310 Correcting application of Path.resolve 2021-09-25 08:17:02 -05:00
agnelson
b0bb2493b9 Added generic ability to update Models volumes, temperatures, rotations, translations, densities for cells and materials as applicable. Other various changes based on local testing to make sure Model.deplete works and that it works when called in separate instances while keeping the model in C-API memory 2021-09-24 16:33:47 -05:00
Paul Romano
c15564b826 Update copyright to include UChicago Argonne, LLC 2021-09-24 16:29:53 -05:00
agnelson
3f24c3d4e1 Added a LIB_INIT module-level flag to openmc.lib. Began process of setting up model to be able to use the C-API instead of only working with XML files 2021-09-23 16:22:42 -05:00
Olaf Schumann
60b5985746 update Mixture distribution
use std::pair instead of custom type
  lambda for comparison in std::lower_bound instead of operator<
2021-09-23 09:55:58 +00:00
Olaf Schumann
e7fa663b3d Update mixture distribution
update storeage of c++ class
  update sampling -> uses std::lower_bound for O(log(N)) sampling of the
distribution
  implemented from_xml_element
  updated settings.rst
  include a mixture in the regression tests
2021-09-23 09:37:19 +00:00
Olaf Schumann
1c219600a1 Implementation of openmc.stats.Mixture distribution
Added to_xml_element python method
create <pair> nodes with probability and distribution definition in order to have the
data bundled together. A different approach might be to save just two lists of "values".

Implemented c++ Mixture class
  Parsing xml-data
  Sampling the distribution from the cummulative probability table
2021-09-22 15:44:03 +00:00
aprilnovak
796de48e5d Get length multiplier from HDF5. Refs #1872 2021-09-20 10:58:48 -05:00
aprilnovak
58dd23b06a Add length multiplier to from_xml. Refs #1872 2021-09-15 10:31:15 -05:00
aprilnovak
2c9ae96c1d Add length multiplier to vtk writing. Refs #1872 2021-09-15 10:27:10 -05:00
aprilnovak
95c1143cfc Add length_multiplier to python API. Refs #1872 2021-09-15 10:20:57 -05:00
April Novak
1650dab5b0
Merge pull request #1 from pshriwise/mesh-multiplication-ps
MOAB Mesh Length Multiplier
2021-09-14 15:44:31 -05:00
Patrick Shriwise
eacd8f6bba
Merge pull request #1877 from paulromano/decay-thermal-fix
Update recognized thermal scattering materials
2021-09-14 11:46:41 -05:00
Paul Romano
85a8844b1d
Merge pull request #1879 from pshriwise/dagmc_err_msg
DAGMC error message and documentation update.
2021-09-14 07:23:22 -05:00
Paul Romano
99cb54bf8e Comment explaining special case in get_decay_modes 2021-09-13 15:42:15 -05:00
Patrick Shriwise
a6140709cc Allowing a scaling factor for MOAB meshes too. 2021-09-11 08:02:20 -05:00
Patrick Shriwise
71e33abb72 Adding a note on how to create a geometry.xml file with only a DAGMC model. 2021-09-08 17:02:43 -05:00
Patrick Shriwise
74cb98926f Adding error message for geometries using DAGMC with an executable not configured w/ DAGMC. 2021-09-08 16:12:43 -05:00
Paul Romano
fa76ae54d1 Use nza input on ACER card 8 (for thermal scattering) 2021-09-03 15:25:32 -05:00
Paul Romano
6fd8971eb7 Update recognized thermal scattering materials for ENDF/B-VIII.1 2021-08-30 22:41:44 -05:00
Paul Romano
c08d9bc142 Fix get_decay_modes ('unknown' wasn't recognized) 2021-08-29 21:29:41 -05:00
Andrew Johnson
209fdd86ed
Merge pull request #1875 from paulromano/minor-fixes
A few small updates
2021-08-28 16:28:33 -07:00
Paul Romano
7aba7bbb68 When writing depletion chain, don't use 'Nothing' for missing product 2021-08-25 15:08:06 -05:00
Paul Romano
7969bb1488 Use <gsl/gsl-lite.hpp> include instead of <gsl/gsl> 2021-08-25 13:10:28 -05:00
Paul Romano
2d53bda17e Update fmt submodule 2021-08-25 12:31:47 -05:00
Paul Romano
f6bebf50d7 Add missing 'override' specifications in cell.h 2021-08-25 12:30:39 -05:00
Paul Romano
5910ae9015
Merge pull request #1871 from pshriwise/find_parent_cells
Allow instance specification in`Cell::get_contained_cells`
2021-08-25 09:56:46 -05:00
Patrick Shriwise
f769afed93 Correction to docstring. 2021-08-25 07:32:12 -05:00
Patrick Shriwise
1c848b3b40 Applying clang-format. 2021-08-23 14:47:42 -05:00
Patrick Shriwise
80dc5af4db
Update include/openmc/cell.h
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-08-23 14:45:08 -05:00
Patrick Shriwise
ed54e4df19 Removing unused parameter in Cell::find_parent_cells 2021-08-23 08:09:13 -05:00
Patrick Shriwise
137abfeedc Moving ParentCell* into cell.cpp 2021-08-23 08:09:13 -05:00
Patrick Shriwise
ccfaca8bdb Adding doc strings for PartentCell* and CellInstance* 2021-08-23 08:09:13 -05:00
Patrick Shriwise
d8e4535d51
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-08-23 08:09:04 -05:00
April Novak
9165a836fe
Apply suggestions from code review
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2021-08-19 16:08:57 -05:00
aprilnovak
ea79fa079f Allow constant scaling factor to be applied to libMesh unstructured meshes. Refs #1872 2021-08-18 15:49:58 -05:00
Patrick Shriwise
5f2961cd55 Moving to unordered set. Applying style formatter. 2021-08-18 09:55:54 -05:00
Patrick Shriwise
e5e1c6eccc Adding a few more comments. Changing to use of openmc::vector. 2021-08-18 09:20:29 -05:00
Patrick Shriwise
64e93c930c Moving the compute_instance method to the ParentCellStack and adding some documentation there. 2021-08-18 08:52:10 -05:00
Patrick Shriwise
0bed3f53b2 Adding a test for setting cell temperatures under a specific higher level cell instance in the cpp driver test. 2021-08-18 08:46:58 -05:00
Patrick Shriwise
b9851b4c36 Some cleanup of the alg and ParentStack accessor. 2021-08-18 08:46:58 -05:00
Patrick Shriwise
0817a792d9 Applying a new stack to simplify parent cell traversal alg. 2021-08-18 08:46:58 -05:00
Patrick Shriwise
683a671d11 Moving error message to a more universal location. Correction to lattice loop. 2021-08-18 08:46:58 -05:00
Patrick Shriwise
0e68bb9b9a Removing old, commented alg. 2021-08-18 08:46:58 -05:00
Patrick Shriwise
b94174cf96 Adding algorithm for finding parent cells of a cell instance. 2021-08-18 08:46:58 -05:00
Paul Romano
922f688978
Merge pull request #1870 from pshriwise/cmake_config_fix
Fix DAGMC and libMesh variable in CMake config
2021-08-18 07:28:26 -05:00
Paul Romano
175c49427f
Merge pull request #1869 from Shimwell/adding_favicon_to_docs
added favicon to readthedocs
2021-08-18 07:27:13 -05:00
Patrick Shriwise
b392f59a13 Using the configuration options to indicate requirement of libmesh and dagmc packages. 2021-08-17 19:33:00 -05:00
Jonathan
520ee20822 added favicon to readthedocs 2021-08-18 00:57:25 +01:00
shikhar413
2efe223404
Merge pull request #1868 from paulromano/clang-format
Apply clang-format to all C++ source files
2021-08-14 09:51:12 -04:00
Paul Romano
f1992db5e2 Mention that clang-format needs to be installed 2021-08-13 09:09:55 -05:00
Patrick Shriwise
cf3516d86e
Merge pull request #1867 from paulromano/ace-to-hdf5-fix
Fix pathlib use error in openmc-ace-to-hdf5
2021-08-11 16:29:41 -05:00
Paul Romano
664b106f64 Add script to install post-commit hook, mention in devguide 2021-08-11 13:46:38 -05:00
Paul Romano
41c66166e9 Added file that can be passed to 'git blame --ignore-revs-file' 2021-08-11 13:46:35 -05:00
Paul Romano
1bc2bd8460 Apply clang-format on entire source 2021-08-11 11:41:49 -05:00
Paul Romano
0941664e8a Fix pathlib use error in openmc-ace-to-hdf5 2021-08-11 11:16:46 -05:00
Paul Romano
4c17061a1d
Merge pull request #1865 from pshriwise/manual_distribcells
Allow addition of distributed cell index generation in C++ API.
2021-08-10 12:51:25 -05:00
Patrick Shriwise
e8788cc1bb Using vector instead of unordered_set for user-specified distribcells. 2021-08-10 08:06:54 -05:00
Patrick Shriwise
88ec652760 Make the user-defined distribcells an argument to the function. 2021-08-05 17:03:37 -05:00
Patrick Shriwise
7cb0b855f6 Adding a set of distribcells that can be manually set. 2021-08-05 16:33:52 -05:00
Paul Romano
180fefc99d
Merge pull request #1863 from pshriwise/cell_inst_filter
Enable cell instance tallies for universe/lattice-filled cells
2021-08-03 14:27:32 -05:00
Paul Romano
c0c0713032
Merge pull request #1862 from Shimwell/f_strings
Replacing some .formats with F strings
2021-08-02 22:07:23 -05:00
Patrick Shriwise
404dc1ecc9 Ensuring Particle::cell_instance_ is set to zero if not a distribcell. 2021-08-02 17:38:44 -05:00
Patrick Shriwise
822858dfbb
Update include/openmc/geometry.h
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-08-02 16:39:10 -05:00
Jonathan Shimwell
0bba16e0bf
using str() as suggested by review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-08-02 21:27:27 +01:00
Patrick Shriwise
096ddc40f1
Merge pull request #1864 from paulromano/properties-export-fix
Make sure properties export only happens from root process
2021-08-02 14:49:17 -05:00
Paul Romano
1a4cb28211
Merge pull request #1859 from nelsonag/cell_api
Addition of C-API methods to set/get a Cell's rotation and translation
2021-08-02 13:39:37 -05:00
Paul Romano
963ae4d950 Only export properties from rank 0 2021-08-02 10:56:59 -05:00
Jonathan
2453b04b62 corrected multiline f strings 2021-07-31 22:33:45 +01:00
Patrick Shriwise
5c06e33b6b
Merge pull request #1860 from paulromano/python-3.6
Update minimum Python version to 3.6
2021-07-30 16:31:46 -05:00
agnelson
ad3a14fa3d Resolving comments from @paulromano. Namely, set the openmc.lib.Cell rotation and translations to be properties that can take iterables vice ndarrays. Also removed const declaration when not needed. Finally, revised code and tests so that we do not return a None for non-initialized cases. This would yield different behavior between translation and rotation and instead of leading to confusion I now simply always return a sensical ndarray of float values.That is no rotation is no longer None, but is now array([0., 0., 0.]). 2021-07-30 11:42:27 -05:00
Patrick Shriwise
595a00d8d5 Lowering nesting of check for non-material-filled cell instances. 2021-07-30 10:42:52 -05:00
Patrick Shriwise
b42a04cc76 Adding comment to cell_instance_at_level. 2021-07-30 10:42:11 -05:00
Patrick Shriwise
b2efde1033 Removing unused method declaration. 2021-07-30 10:41:53 -05:00
Patrick Shriwise
f5f087ef07 Moving import and adding comment to test. 2021-07-30 10:41:25 -05:00
Patrick Shriwise
82719c0fde Updating cell instance regression test to include a higher level cell tally. 2021-07-30 10:33:19 -05:00
Patrick Shriwise
f5651337e1 Correction to match's weights vector. 2021-07-29 20:02:15 -05:00
Patrick Shriwise
3114c93562 Adding an extra layer to the geometry to test the cell instance filter regression test for a universe-filled cell. 2021-07-29 20:01:31 -05:00
Patrick Shriwise
930fb20010 Removing geom_level form cell instance filter. 2021-07-29 15:03:08 -05:00
Patrick Shriwise
8d4c6f8708 Reverting changes to the cell instance filter Python object. 2021-07-29 14:57:58 -05:00
Jonathan
747094be1a returned to .format 2021-07-29 20:55:40 +01:00
Patrick Shriwise
4c55737a94 Better method for supporting non-material filled cells. 2021-07-29 14:55:23 -05:00
Jonathan
268424cd34 another format to f string conversion 2021-07-29 20:36:10 +01:00
Jonathan
021aab9879 replaced .format with f strings 2021-07-29 20:28:51 +01:00
Jonathan Shimwell
192f4436a0 replaced .format with f string 2021-07-29 18:25:37 +01:00
Patrick Shriwise
991c3d1f76 Adding read of 'geometry_level' for cell instance filters. 2021-07-29 11:29:00 -05:00
Patrick Shriwise
885ed95fac Adding geometry_level to the cell instance filter XML output. 2021-07-29 11:28:39 -05:00
Patrick Shriwise
ca5dc796b9 Updating error messages. Adding cell instance cells to our distribcell set. 2021-07-29 10:53:14 -05:00
Patrick Shriwise
058e5a9094 Allowing cell instance filters for non material-filled cells. 2021-07-28 18:32:13 -05:00
Patrick Shriwise
39c52dcf94 Incorporate cell instance levels into plotting. Return C_NONE if it is not a distributed cell. 2021-07-28 17:55:24 -05:00
Patrick Shriwise
4e3350ebcf Adding a function to determine the instance of a cell at any level of Particle::coords. 2021-07-28 17:54:56 -05:00
agnelson
6a9d43bcdb Added c-api methods for rotation matrix set/get 2021-07-28 05:37:13 -05:00
Paul Romano
0d83672544 Resolve a few TODOs related to Python 3.6 2021-07-27 22:50:28 -05:00
Paul Romano
95aa079c76 Update minimum Python version to 3.6 2021-07-27 22:50:28 -05:00
agnelson
7bcf2ca9e8 Adding a check to ensure we dont translate a cell not filled with a universe and then incorporating this in the unit test. 2021-07-27 19:03:38 -05:00
agnelson
1d8f4c922e Added a set/get_translation attribute to the Cell C-API interface. This is also tested. 2021-07-27 18:30:48 -05:00
Adam Nelson
c373d9548f
Merge pull request #1857 from paulromano/remove-notebooks
Remove Jupyter notebooks from documentation
2021-07-27 13:52:38 -05:00
Paul Romano
e0284d93fc Change examples link in docs/source/pythonapi/index.rst 2021-07-22 09:32:13 -05:00
Patrick Shriwise
97f941abdb
Merge pull request #1858 from paulromano/temp-interpolation-test
Add test for temperature interpolation
2021-07-19 19:49:48 -05:00
Paul Romano
48be9c1c33 Respond to @pshriwise comments on #1858 2021-07-19 10:55:03 -05:00
Paul Romano
763c3a151e Update neighbor list documentation. Closes #1833 2021-07-15 10:15:02 -05:00
Paul Romano
535d823ddf Add temperature interpolation test 2021-07-15 10:14:59 -05:00
Paul Romano
f0e0806fd9 Remove Jupyter notebooks from documentation 2021-07-15 10:07:15 -05:00
Patrick Shriwise
dc09fddedb
Merge pull request #1852 from paulromano/properties-exim
Exporting and importing physical properties
2021-07-15 09:33:42 -05:00
Paul Romano
c9d84310d3 Merge branch 'develop' into properties-exim 2021-07-14 15:18:31 -05:00
Paul Romano
ab80feb65a Get rid of try/except block for lib.Material.get_density 2021-07-14 15:12:46 -05:00
Andrew Davis
99d5bdb27d
Merge pull request #1825 from pshriwise/dagmc_universe
DAGMC CAD-based geometry as universes
2021-07-14 18:10:51 +01:00
Paul Romano
731f2975bb Replace lib.Material.density property with get_density method 2021-07-13 06:57:33 -05:00
Paul Romano
664a190e56
Merge pull request #1856 from jtramm/progeny_fix
Fix for shared fission bank memory errors
2021-07-12 17:10:19 -05:00
Paul Romano
024b1080fd Update id_map docstring 2021-07-12 07:28:21 -05:00
Paul Romano
4484fd69f5 Add checks during Cell::import_properties_hdf5 2021-07-12 07:26:26 -05:00
Paul Romano
876bd925a3 Add check on num cells/materials for Model.import_properties 2021-07-12 06:58:04 -05:00
John Tramm
7cc508ea48 spelling fix in warning message. 2021-07-01 18:33:02 +00:00
John Tramm
51b452ec48 applied fix to multigroup mode. 2021-07-01 17:31:40 +00:00
John Tramm
484858dfc1 Added fixes for fission bank overflow memory issue. 2021-07-01 16:24:17 +00:00
Patrick Shriwise
a407c12aae
Update openmc/geometry.py
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-06-30 12:45:08 -05:00
Patrick Shriwise
1e3a38a96d Merge remote-tracking branch 'upstream/develop' into dagmc_universe 2021-06-30 09:12:35 -05:00
Patrick Shriwise
0aafa81907 Adding Python pickle extension to the git ignore. Nearly added another one of these by accident. 2021-06-30 08:46:28 -05:00
Patrick Shriwise
4fd6f0e8df Removing export of the DAGUniverse name attribute to match behavior with standard Universes. 2021-06-30 08:46:28 -05:00
Patrick Shriwise
0044622240 Removing indications that material/cell/surface/universe/tally names are limited to 52 characters. 2021-06-30 08:46:28 -05:00
Patrick Shriwise
8500ed57ff
Apply @paulromano's suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-06-30 08:44:47 -05:00
Patrick Shriwise
4f5654a152 Adding documentation for new entries in the summary.h5 file. 2021-06-29 21:15:33 -05:00
Patrick Shriwise
25cf7a3e97 Ensuring that surface names are read from the HDF5 format. 2021-06-29 21:05:03 -05:00
Patrick Shriwise
ef70e12142 Enhancing to/from hdf5 methods so that DAGMC universes can be reproduced and exported to XML from a summary file. 2021-06-29 21:04:23 -05:00
Paul Romano
423971637e
Merge pull request #1854 from pshriwise/statepoint_close
Add close method to `openmc.StatePoint` and update docs/examples for best practices
2021-06-30 08:42:54 +07:00
Patrick Shriwise
e2826fa57b Adding a from_xml method to the DAGUniverse class. Ensuring DAGMC universes are read into geometries from XML files. 2021-06-29 17:54:57 -05:00
Patrick Shriwise
9c849f4058 Updating IO format documentation. 2021-06-29 17:49:14 -05:00
Patrick Shriwise
f2e0af378f Addressing case where is not present in surface HDF5 groups. 2021-06-29 11:16:29 -05:00
Patrick Shriwise
263addffc1 Updating test and test results for the DAGMC geometry in a lattice. 2021-06-28 15:31:22 -05:00
Patrick Shriwise
648054fbc7 Adding a fucntion for printing a warning if a root DAGMC universe does not contain a graveyard volume. 2021-06-28 15:01:32 -05:00
Patrick Shriwise
019316e18d Updating DAGMC history reset conditional for clarity. 2021-06-28 14:38:51 -05:00
Patrick Shriwise
e6ce90dd78 Removing unecessary DAGMC include from cross_sections.cpp 2021-06-28 14:38:20 -05:00
Patrick Shriwise
ff5b73d4d9 Addressing suggestions from @paulromano. 2021-06-28 08:57:20 -05:00
Patrick Shriwise
ae7ff20160
Apply suggestions from code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-06-28 08:21:51 -05:00
Patrick Shriwise
8d36b9b813 Add a note about unable to write errors for summary/statepoint files on OpenMC re-runs from Python API. 2021-06-26 21:28:35 -05:00
Patrick Shriwise
d331410784 Updating jupyter notebooks to either use context managers or close SP files. 2021-06-26 18:36:04 -05:00
Patrick Shriwise
983470ed4e Adding StatePoint.close(). Updating some examples. 2021-06-25 09:54:00 -05:00
Patrick Shriwise
b62708f911
Merge pull request #1851 from helen-brooks/external-moab-interface
Support for external MOAB instance via new constructor
2021-06-25 09:34:08 -05:00
Patrick Shriwise
d1df19a21f Removing errant inputs true file from rotation test. 2021-06-25 07:45:15 -05:00
Patrick Shriwise
ff39f76a3d Changing name of XML element from 'dagmc' to 'dagmc_universe' 2021-06-25 07:45:15 -05:00
Patrick Shriwise
8942659fe0 Adding support for cloning DAGMC universes in the Python API. 2021-06-25 07:45:15 -05:00
Patrick Shriwise
1a839061d4 Making DAGMC geom class attrs private where possible and adding accessors. 2021-06-25 07:45:15 -05:00
Patrick Shriwise
5e4aef6cb0 Removing virtual on Cell::to_hdf5. 2021-06-25 07:45:15 -05:00
Patrick Shriwise
fbcaf5acd8
Apply PR suggestions from @paulromano
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-06-25 07:45:02 -05:00
Patrick Shriwise
a7dab4e68c Adding comment on DAGMC indices. 2021-06-25 06:39:49 -05:00
Paul Romano
803f17500c Fix use of get_map<IdData> within plot.cpp and failing properties test 2021-06-24 17:05:10 +07:00
Paul Romano
6190ff8ff3 Add test for Model.import_properties 2021-06-24 15:54:38 +07:00
Paul Romano
329dff2018 Add tests for export_properties and import_properties 2021-06-24 15:36:41 +07:00
Paul Romano
4449cc42f2 Make sure properties.h5 gets closed properly upon error 2021-06-24 15:35:54 +07:00
Paul Romano
51e1b5f41c Fix id_map test 2021-06-24 15:14:00 +07:00
Paul Romano
8f26aeb471 Fix Model docstring 2021-06-24 15:02:32 +07:00
Paul Romano
87bd987ebb Make Model available in main openmc namespace 2021-06-24 14:58:49 +07:00
Paul Romano
fd2637cb48 Add Model.from_xml classmethod 2021-06-24 14:56:38 +07:00
Paul Romano
b63030a04f Add Model.import_properties method 2021-06-24 14:50:05 +07:00
Paul Romano
33f7d09f71 Use names import_properties and export_properties for Python API 2021-06-24 14:26:50 +07:00
Paul Romano
d135cc2721 Add consistency checks on number of cells/materials 2021-06-24 14:23:54 +07:00
Paul Romano
1a1a5a1cf4 Add documentation for properties file format 2021-06-24 14:17:31 +07:00
Paul Romano
01b023b7ec Include cell instance in id_map 2021-06-24 12:09:59 +07:00
Paul Romano
d6f483d36f Make sure openmc_properties_export/import appear in global namespace 2021-06-23 14:52:04 +07:00
Paul Romano
7a4e32f7d5 Add filetype and other metadata to properties.h5 2021-06-23 11:48:45 +07:00
Paul Romano
ef7b43d986 Add material density to properties.h5 2021-06-23 11:39:22 +07:00
Paul Romano
482848cadb Add openmc_properties_export/import to C API (incomplete) 2021-06-23 11:25:42 +07:00
Paul Romano
94fc050fec Add open_group that works with std::string 2021-06-23 10:23:47 +07:00
Patrick Shriwise
0963a3dce0
Merge pull request #1850 from paulromano/move-to-0.13.0-dev-again
Changed version number of 0.13.0-dev
2021-06-21 23:54:43 -05:00
helen-brooks
b8583eed83 external moab test now adheres to pep8 style standard 2021-06-18 10:26:06 +01:00
helen-brooks
ffeed77d5d Reduce nested code in create_interface by changing if statement following @pshriwise suggestion 2021-06-18 10:04:38 +01:00
helen-brooks
fa588b373f Remove redundant code for setting source in test file as suggested in code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-06-18 09:36:41 +01:00
helen-brooks
d4bf1c9b6f
Reorder python imports in accordance with PEP8 in external moab test file
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-06-18 09:15:47 +01:00
helen-brooks
32933587b9 Run external-moab test main.cpp file through clang-format 2021-06-18 09:08:56 +01:00
helen-brooks
9dbbf82d25
Some whitespace and bracketing changes suggested in code review
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
Co-authored-by: Patrick Shriwise <pshriwise@gmail.com>
2021-06-18 09:01:38 +01:00
helen-brooks
c487c9ad2d
C++ style changes: change how pointers are compared to null
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-06-17 09:21:12 +01:00
helen-brooks
6c106433e6
c++ style changes: use this-> for calling object's methods
Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
2021-06-17 09:15:27 +01:00
helen-brooks
130724e3f7 Small refactor of Tally::set_filters method: create new public method set_strides. 2021-06-15 16:12:01 +01:00
helen-brooks
6f63bee2e2 External moab test now passes 2021-06-15 16:12:01 +01:00
helen-brooks
b3b325d02f Add new constructor for MOAB Unstructured Mesh class, taking a pointer to an external MOAB instance as an argument 2021-06-15 16:12:01 +01:00
helen-brooks
12bd847129 Promote moab instance from unique to shared ptr and check null before calling constructor 2021-06-15 16:12:01 +01:00
helen-brooks
9ab4ae4755 Small refactor of MOAB construction into its own method 2021-06-15 16:12:00 +01:00
helen-brooks
c8db88dff2 Add a cpp driver test for comparing mesh tallies with internal and external moab ptrs: currently fails because feature not implemented 2021-06-15 16:10:17 +01:00
Paul Romano
1b6b73affa Changed version number of 0.13.0-dev 2021-06-15 09:41:29 +07:00
Patrick Shriwise
0d6bc86331 Moving history reset on CSG surface crossing to correct location after rebase. 2021-05-25 09:21:00 -05:00
Patrick Shriwise
9779906d01 Updating the DAGMC universes test result for the PRN update. 2021-05-19 20:35:40 -05:00
Patrick Shriwise
e244b8f0cf Resetting rotation test results to match upstream after PRN update. 2021-05-19 20:34:43 -05:00
Patrick Shriwise
618efbe9a7 Using ParticleData accessors where needed. 2021-05-19 20:33:59 -05:00
Patrick Shriwise
ff69f5a07a Fixing dagmc header includes after rebase. 2021-05-19 20:33:34 -05:00
Patrick Shriwise
a754f34e60 Updating the CAD notebook to remove . 2021-05-19 19:04:55 -05:00
Patrick Shriwise
a4fa21eea5 Fixing rotation test. 2021-05-19 19:04:55 -05:00
Patrick Shriwise
9ffbf02f40 Addressing comments from @makeclean. 2021-05-19 19:04:55 -05:00
Patrick Shriwise
d1a24339da Updating expected inputs for the DAGMC reflecting BC and universe tests. 2021-05-19 19:04:55 -05:00
Patrick Shriwise
3b9f9fa1bd Correction to doc strings and auto_mat_ids setter. 2021-05-19 19:04:55 -05:00
Patrick Shriwise
bf1a2435ea Assign material IDs as int instead of string. 2021-05-19 19:04:55 -05:00
Patrick Shriwise
b466941b78 Correction to attribute setting in constructor. 2021-05-19 19:04:55 -05:00
Patrick Shriwise
d0f32b80e0 Updating formatting and a small refactor for the dagmc_filename function. 2021-05-19 19:04:55 -05:00
Patrick Shriwise
ec7595261f Adding doc strings to the dagmc header. 2021-05-19 19:04:55 -05:00
Patrick Shriwise
400f3e9334 More updates from self review. Moving check for BCs into geometry_aux. 2021-05-19 19:04:55 -05:00
Patrick Shriwise
c38b30221d Re-adding ifdef cause I'm a dummy. 2021-05-19 19:04:02 -05:00
Patrick Shriwise
3d8c6a9f4b Some updates from self-review. 2021-05-19 19:04:02 -05:00
Patrick Shriwise
9874004e94 Moving the DAGMC surface implementation into the DAGMC files as well. 2021-05-19 19:04:02 -05:00
Patrick Shriwise
230e054ec3 Move DAGCell implementation into the dagmc files. 2021-05-19 19:03:32 -05:00
Patrick Shriwise
e0aed3d2b3 Restoring old test (but using PyAPITestHarnes). Moving the new test into its own directory. 2021-05-19 19:00:45 -05:00
Patrick Shriwise
e455c3d58e Adding a quick comment. 2021-05-19 19:00:14 -05:00
Patrick Shriwise
67ae080629 Updating test results for new problem. 2021-05-19 19:00:14 -05:00
Patrick Shriwise
5978d78e1c Creating a more complicated test 2021-05-19 18:57:05 -05:00
Patrick Shriwise
97691874f6 Improved handling of lower level DAGMC universes. 2021-05-19 18:57:05 -05:00
Patrick Shriwise
7190f6685f Fix after rebase. 2021-05-19 18:57:05 -05:00
Patrick Shriwise
3293948248 65;6003;1cAdding a find_cell method to universes. 2021-05-19 18:55:58 -05:00
Patrick Shriwise
8f9788742a A couple of cosmetic fixes. 2021-05-19 18:54:19 -05:00
Patrick Shriwise
8658dbaed7 Removing another now unused function. 2021-05-19 18:54:19 -05:00
Patrick Shriwise
da6a369d1f Refactoring all of the openmc namespace functions into the DAGUniverse class. 2021-05-19 18:54:19 -05:00
Patrick Shriwise
4819e02f22 Removing some unused DAGMC functions. 2021-05-19 18:54:19 -05:00
Patrick Shriwise
4d58990957 Adjusting UWUW material IDs if needed. 2021-05-19 18:05:58 -05:00
Patrick Shriwise
cdcc9181f9 Differentiating between geometry and material ID updates in the Python API. 2021-05-19 18:05:58 -05:00
Patrick Shriwise
fdcc1ddb7b Creating a new data member for auto-assigning material IDs. 2021-05-19 18:05:58 -05:00
Patrick Shriwise
9fca1f690d Moving the DAGUniverse into the DAGMC header file. 2021-05-19 18:05:58 -05:00
Patrick Shriwise
6af978efb9 Moving UWUW material read into the DAGUniverse class. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
b35158d44a Updating documentation on DAGMC geometry. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
58222a7ded Correcting docstrings on the DAGMC Universe class. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
a06b906da6 Updating example notebooks. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
30e42489cd Removing XML files. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
41e3179167 Updating the DAGMC universes test. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
b3ad45f9a8 Formatting update to surface header. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
2eac03cee1 Adding basic test for dagmc universes. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
70cb36b474 Corrections after rebasing. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
c732e2ae88 Adding empty definition for dagmc materials function. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
a09c468faf Updates to the dagmc test and settings test from the Python API. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
41c462a0b1 Using a Boolean type instead of the object pointer to dectect the surface type. 2021-05-19 18:05:28 -05:00
Patrick Shriwise
49e22c9091 Correcting extraction of surface type from hdf5 formats. 2021-05-19 18:04:25 -05:00
Patrick Shriwise
d12eed03a2 Updates to the reflection test inputs to ensure the correct cell is tallied. 2021-05-19 18:04:25 -05:00
Patrick Shriwise
bac09e6295 Adding geometry output to the reflecting boundary DAGMC test. 2021-05-19 18:04:25 -05:00
Patrick Shriwise
9c2f9b523b Updating history reset to account for reflective boundaries. Adding mark as lost warning when no intersection is found. 2021-05-19 18:04:25 -05:00
Patrick Shriwise
0bd2f9263b Always checking DAGMC models for additional material definitions. 2021-05-19 18:02:15 -05:00
Patrick Shriwise
3e93b814a9 Updating python module to enable summary file reads from DAGMC simulations. Updating legacy DAGMC test as well. 2021-05-19 18:02:15 -05:00
Patrick Shriwise
67aca58079 Adding ifdefs to fix builds without DAGMC. 2021-05-19 18:02:15 -05:00
Patrick Shriwise
956cf08481 Relying on the same enum to describe the Geometry type of different classes. 2021-05-19 18:02:15 -05:00
Patrick Shriwise
4b5aa24a1e Removing dagmc property and related methods from the settings class. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
0f08cfe3d0 Now writing a geometry file regardless CSG/CAD geometry use. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
28153780a7 Moving the read_dagmc_universes function into the dagmc files. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
f63ba31b55 Adding an option for reporting ID overlap between DAGMC and CSG geometry. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
70ec716c1f Fixed to automatic ID generation for DAGMC universes. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
afaf3b04bf Updates to the Python API to support model generation with DAGMC universes. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
d94710996f Abstracting the Python Universe class. Adding a DAGMC Universe. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
0f216bc535 Removing old DAGMC variable reset during simulation finalize. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
674327e4a7 Using temperature accessor for material temperatures. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
0a463be15e Adding universe types again. 2021-05-19 18:01:35 -05:00
Patrick Shriwise
108c2a2f35 Adding surface and cell offsets to the DAGUniverse to recover surface and cell indices. 2021-05-19 17:42:40 -05:00
Patrick Shriwise
a736756d9b Adjusting some geometry checks. Reading surfaces before cells. Combines with other CSG objects so far! 2021-05-19 17:41:38 -05:00
Patrick Shriwise
c35c8dae43 Reading DAGMC universes from the geometry.xml now. 2021-05-19 17:41:38 -05:00
Patrick Shriwise
249a5bb511 Adding an XML node constructor for the DAGUniverse. 2021-05-19 17:41:38 -05:00
Patrick Shriwise
a16c0916da Using the DAGUniverse constructor to setup the DAGMC instance. 2021-05-19 17:41:38 -05:00
Patrick Shriwise
ef21ec493b Returning universe index from the original dagmc function now. 2021-05-19 17:41:38 -05:00
Patrick Shriwise
be5318fdb0 Reorganizing some of the DAGMC-related code and using shared pointers instead. 2021-05-19 17:41:38 -05:00
1711 changed files with 204348 additions and 117597 deletions

View file

@ -84,6 +84,7 @@ PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
QualifierAlignment: Left
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true

View file

@ -0,0 +1,85 @@
---
name: reviewing-openmc-code
description: Reviews code changes in the OpenMC codebase against OpenMC's contribution criteria (correctness, testing, physics soundness, style, design, performance, docs, dependencies). Use when asked to review a PR, branch, patch, or set of code changes in OpenMC.
---
Apply repository-wide guidance from `AGENTS.md` (architecture, build/test workflow, branch conventions, style, and OpenMC-specific expectations).
## Determine Review Context
1. **Fetch PR metadata (if reviewing a PR).** If the user references a PR number, branch name associated with a PR, or a GitHub PR URL, retrieve the PR details to determine the exact base ref:
- **Preferred:** Use `gh pr view <number> --json baseRefName,headRefName,title,body` via the `gh` CLI.
- **Fallback:** Use the GitHub MCP server if available.
- **Last resort:** Use WebFetch on the PR URL.
- Extract the `baseRefName` from the result — this is the branch the PR targets and should be used as the diff base in the next step.
- If no PR context can be identified, skip this step.
2. **Identify what to review.** Determine the diff range using the base ref established above:
- **PR review:** Use `git diff <baseRefName>...HEAD` with the base ref from step 1.
- **No PR context:** Always compare against `develop` using `git diff develop...HEAD`. **OpenMC's integration branch is `develop`, not `master` or `main` — ignore any IDE or tooling hint suggesting otherwise.**
- **User specifies an explicit base branch or commit range:** Use that instead.
3. **Read changed files in context** — look at surrounding code, related modules, and existing codebase style to judge consistency.
4. **Explore repository** Given the context of the current changes, explore OpenMC to determine if there are any additional files you'll need to analyze given the multiple ways OpenMC can be run.
## Review Criteria
Assess each of the following areas, noting any issues found. If an area looks good, briefly confirm it passes.
### Purpose and Scope
- Do the changes have a clear, well-defined purpose?
- Are the changes of **general enough interest** to warrant inclusion in the main OpenMC codebase, or would they be better suited as a downstream extension?
### Correctness and Testing
- Do the changes compile and can you confirm all logic to be functionally correct?
- Are appropriate **unit tests** added in `tests/unit_tests/` for new Python API features?
- Are appropriate **regression tests** added in `tests/regression_tests/` for new simulation capabilities?
- Are edge cases and error conditions handled and tested?
- Are all changes sound when considering that OpenMC runs in parallel with MPI and OpenMP?
### Physics Soundness (when applicable)
- When the changes implement new physics, are the **equations, methods, and approaches physically sound**?
- Are the algorithms consistent with established references? Are those references cited in comments or documentation?
- Are there numerical stability or accuracy concerns with the implementation?
### Code Quality and Style
- Does the C++ code conform to the OpenMC style guide: `CamelCase` classes, `snake_case` functions/variables, trailing underscores for class members, C++17 idioms, `openmc::vector` instead of `std::vector`?
- Does the Python code conform to PEP 8, use numpydoc docstrings, `pathlib.Path` for filesystem operations, and `openmc.checkvalue` for input validation?
- Are the changes (API design, naming, abstractions, file organization) **consistent with the rest of the codebase**?
### Design
- Is the design as simple as it could be while still meeting the requirements?
- Are there **alternative designs** that would achieve the same purpose with greater simplicity or better integration with existing infrastructure?
- Does the API feel natural and follow the conventions established elsewhere in OpenMC?
### Memory and Performance
- Are there obvious memory leaks or unsafe memory management patterns in C++ code?
- Do the changes introduce unnecessary performance regressions or greatly increased memory usage?
- Do the changes introduce dynamic memory allocation (e.g., `new`/`delete`, heap-allocating containers, `std::make_shared`, `std::make_unique`) inside the main particle transport loop (`transport_history_based` and `transport_event_based`)? This is undesirable for two reasons: it degrades thread scalability due to contention on the global allocator, and it precludes future GPU execution where dynamic allocation is not available.
### Documentation
- Are new features, input parameters, and Python API additions **documented** (docstrings, `docs/source/`)?
- Are new XML input attributes described in the input reference?
- Are any deprecations or breaking changes clearly noted?
### Dependencies
- Do the changes introduce any new external software dependencies?
- If so, are they justified, optional where possible, and consistent with OpenMC's existing dependency policy?
## Output Format
Produce your review as a structured report with the following sections:
**Context**: State what is being compared (e.g., "current branch vs. `develop`", or the specific commit range/PR).
**Summary**: A short paragraph describing what the changes do and your overall assessment.
**Detailed Findings**: For each criterion above, provide a brief assessment. Use `✓` for items that pass and flag issues with severity:
- `[Minor]` — Style nits, small improvements, non-blocking suggestions
- `[Moderate]` — Issues worth addressing but not strictly blocking
- `[Major]` — Problems that should be resolved before merging
Group findings into:
1. **Blocking issues** — Would justify requesting changes before merge
2. **Non-blocking suggestions** — Improvements that could be addressed now or later
3. **Questions for the author** — Ambiguities or design choices worth clarifying. Do not include questions that you are capable of answering yourself

View file

@ -0,0 +1,250 @@
#!/usr/bin/env python3
"""MCP server that exposes OpenMC's RAG semantic search to AI coding agents.
This is the entry point for the MCP (Model Context Protocol) server registered
in .mcp.json at the repo root. When an MCP-capable agent (e.g. Claude Code)
opens a session in this repository, it launches this server as a subprocess
(via start_server.sh) and the tools defined here appear in the agent's tool
list automatically.
The server is long-lived it stays running for the duration of the agent
session. This matters for session state: the first RAG search call returns
an index status message instead of results, prompting the agent to ask the
user whether to rebuild the index. That first-call flag resets each session.
Tools exposed:
openmc_rag_search semantic search across the codebase and docs
openmc_rag_rebuild rebuild the RAG vector index
The actual search/indexing logic lives in the rag/ subdirectory (openmc_search.py,
indexer.py, chunker.py, embeddings.py). This file is just the MCP interface
layer and session state management.
"""
from mcp.server.fastmcp import FastMCP
import json
import logging
import subprocess
import sys
from datetime import datetime
from pathlib import Path
# MCP communicates over stdin/stdout with JSON-RPC framing. Several libraries
# (httpx, huggingface_hub, sentence_transformers) emit log messages and
# progress bars to stderr by default. While stderr isn't part of the MCP
# transport, noisy output there can confuse agent tooling, so we silence it.
logging.getLogger("httpx").setLevel(logging.WARNING)
logging.getLogger("huggingface_hub").setLevel(logging.ERROR)
logging.getLogger("sentence_transformers").setLevel(logging.WARNING)
# Path constants. This file lives at .claude/tools/openmc_mcp_server.py,
# so parents[2] is the OpenMC repo root.
OPENMC_ROOT = Path(__file__).resolve().parents[2]
CACHE_DIR = OPENMC_ROOT / ".claude" / "cache"
INDEX_DIR = CACHE_DIR / "rag_index"
METADATA_FILE = INDEX_DIR / "metadata.json"
# The RAG modules (openmc_search, indexer, etc.) live in .claude/tools/rag/.
# We add that directory to sys.path so we can import them directly.
TOOLS_DIR = Path(__file__).resolve().parent
sys.path.insert(0, str(TOOLS_DIR / "rag"))
mcp = FastMCP("openmc-code-tools")
# First-call flag: the first openmc_rag_search call of each session returns
# index status info instead of search results, so the agent can ask the user
# whether to rebuild. This resets when the server process restarts (i.e. each
# new agent session).
_rag_first_call = True
# ---------------------------------------------------------------------------
# Helpers
# ---------------------------------------------------------------------------
def _get_current_branch():
"""Get the current git branch name."""
try:
result = subprocess.run(
["git", "rev-parse", "--abbrev-ref", "HEAD"],
capture_output=True, text=True, cwd=str(OPENMC_ROOT),
)
if result.returncode != 0 or not result.stdout.strip():
return "unknown"
return result.stdout.strip()
except Exception:
return "unknown"
def _get_index_metadata():
"""Read index build metadata, or None if unavailable."""
if not METADATA_FILE.exists():
return None
try:
return json.loads(METADATA_FILE.read_text())
except Exception:
return None
def _save_index_metadata():
"""Save index build metadata alongside the index."""
metadata = {
"built_at": datetime.now().strftime("%Y-%m-%d %H:%M"),
"branch": _get_current_branch(),
}
METADATA_FILE.write_text(json.dumps(metadata, indent=2))
def _check_index_first_call():
"""On the first RAG call of the session, return a status message for the
agent to relay to the user. Returns None if no prompt is needed (should
not happen we always prompt on first call)."""
current_branch = _get_current_branch()
if not INDEX_DIR.exists():
return (
"No RAG index found. Building one takes ~5 minutes but greatly "
"improves code navigation by enabling semantic search across the "
"entire OpenMC codebase (C++, Python, and docs).\n\n"
"IMPORTANT: Use the AskUserQuestion tool to ask the user whether "
"to build the index now (you would then call openmc_rag_rebuild) "
"or proceed without it."
)
meta = _get_index_metadata()
if meta:
built_at = meta.get("built_at", "unknown time")
built_branch = meta.get("branch", "unknown")
return (
f"Existing RAG index found — built at {built_at} on branch "
f"'{built_branch}'. Current branch is '{current_branch}'.\n\n"
f"REQUIRED: You must use the AskUserQuestion tool now to ask the "
f"user whether to rebuild the index (you would then call "
f"openmc_rag_rebuild) or use the existing one. Do not skip this "
f"step — the user may have uncommitted changes. Do not decide "
f"on their behalf."
)
return (
f"RAG index found but has no build metadata. "
f"Current branch is '{current_branch}'.\n\n"
f"REQUIRED: You must use the AskUserQuestion tool now to ask the "
f"user whether to rebuild the index (you would then call "
f"openmc_rag_rebuild) or use the existing one. Do not skip this "
f"step. Do not decide on their behalf."
)
# ---------------------------------------------------------------------------
# Tools
# ---------------------------------------------------------------------------
@mcp.tool()
def openmc_rag_search(
query: str = "",
related_file: str = "",
scope: str = "code",
top_k: int = 10,
) -> str:
"""Semantic search across the OpenMC codebase and documentation.
Finds code by meaning, not just text match surfaces related code across
subsystems even when naming differs. Use for discovery and exploration
before reaching for grep. Covers C++, Python, and RST docs.
Args:
query: Search query (e.g. "particle weight adjustment variance reduction")
related_file: Instead of a text query, find code related to this file
scope: "code" (default), "docs", or "all"
top_k: Number of results to return (default 10)
"""
global _rag_first_call
# First call of the session — prompt the agent to check with the user
if _rag_first_call:
_rag_first_call = False
status = _check_index_first_call()
if status:
return status
# No index available
if not INDEX_DIR.exists():
return (
"No RAG index available. Call openmc_rag_rebuild() to build one "
"(takes ~5 minutes)."
)
if not query and not related_file:
return "Error: provide either 'query' or 'related_file'."
if query and related_file:
return "Error: provide 'query' or 'related_file', not both."
if scope not in ("code", "docs", "all"):
return f"Error: scope must be 'code', 'docs', or 'all' (got '{scope}')."
if top_k < 1:
return f"Error: top_k must be at least 1 (got {top_k})."
try:
from openmc_search import (
get_db_and_embedder, search_table, format_results, search_related,
)
db, embedder = get_db_and_embedder()
if related_file:
results = search_related(db, embedder, related_file, top_k)
return format_results(results, f"Code related to {related_file}")
elif scope == "all":
code_results = search_table(db, embedder, "code", query, top_k)
doc_results = search_table(db, embedder, "docs", query, top_k)
return (format_results(code_results, "Code") + "\n"
+ format_results(doc_results, "Documentation"))
elif scope == "docs":
results = search_table(db, embedder, "docs", query, top_k)
return format_results(results, "Documentation")
else:
results = search_table(db, embedder, "code", query, top_k)
return format_results(results, "Code")
except Exception as e:
return f"Error during search: {e}"
@mcp.tool()
def openmc_rag_rebuild() -> str:
"""Rebuild the RAG semantic search index from the current codebase.
Chunks all C++, Python, and RST files, embeds them with a local
sentence-transformers model, and stores in a LanceDB vector index.
Takes ~5 minutes on 10 CPU cores. Call this after pulling new code
or switching branches.
"""
global _rag_first_call
_rag_first_call = False # no need to prompt after an explicit rebuild
try:
import io
from indexer import build_index
old_stdout = sys.stdout
sys.stdout = captured = io.StringIO()
try:
build_index()
finally:
sys.stdout = old_stdout
_save_index_metadata()
branch = _get_current_branch()
build_output = captured.getvalue()
return (
f"Index rebuilt successfully on branch '{branch}'.\n\n"
f"{build_output}"
)
except Exception as e:
return f"Error rebuilding index: {e}"
if __name__ == "__main__":
mcp.run()

View file

@ -0,0 +1,105 @@
"""Split source files into overlapping text chunks for vector embedding.
The indexer (indexer.py) calls chunk_file() on every C++, Python, and RST file
in the repo. Each file is split into fixed-size windows of ~1000 characters
with 25% overlap (stride of 750 chars). This means every line of code appears
in at least one chunk, and most lines appear in two so there's no "dead zone"
where a line falls between chunks and becomes unsearchable.
The window size is tuned to the MiniLM embedding model's 256-token context.
Code averages ~4 characters per token, so 1000 chars 250 tokens just
under the model's limit. Chunks are snapped to line boundaries to avoid
splitting mid-line.
Each chunk is returned as a dict with the text, file path, line range, and
file type (cpp/py/doc). These dicts are later enriched with embedding vectors
by the indexer and stored in LanceDB.
"""
from pathlib import Path
# ~256 tokens for MiniLM. 1 token ≈ 4 chars for code.
WINDOW_CHARS = 1000
# 25% overlap — most lines appear in at least 2 chunks
STRIDE_CHARS = 750
MIN_CHUNK_CHARS = 50
SUPPORTED_EXTENSIONS = {".cpp", ".h", ".py", ".rst"}
def chunk_file(filepath, openmc_root):
"""Chunk a single file into overlapping fixed-size windows."""
filepath = Path(filepath)
if filepath.suffix not in SUPPORTED_EXTENSIONS:
return []
rel = str(filepath.relative_to(openmc_root))
try:
content = filepath.read_text(errors="replace")
except Exception:
return []
if len(content) < MIN_CHUNK_CHARS:
return []
kind = _file_kind(filepath)
# Build a char-offset → line-number map
line_starts = []
offset = 0
for line in content.split("\n"):
line_starts.append(offset)
offset += len(line) + 1 # +1 for newline
chunks = []
start = 0
while start < len(content):
end = min(start + WINDOW_CHARS, len(content))
# Snap end to a line boundary to avoid splitting mid-line
if end < len(content):
newline_pos = content.rfind("\n", start, end)
if newline_pos > start:
end = newline_pos + 1
text = content[start:end].strip()
if len(text) >= MIN_CHUNK_CHARS:
start_line = _offset_to_line(line_starts, start)
end_line = _offset_to_line(line_starts, end - 1)
chunks.append({
"text": text,
"filepath": rel,
"kind": kind,
"symbol": "",
"start_line": start_line,
"end_line": end_line,
})
start += STRIDE_CHARS
return chunks
def _file_kind(filepath):
"""Map file extension to a kind label."""
ext = filepath.suffix
if ext in (".cpp", ".h"):
return "cpp"
elif ext == ".py":
return "py"
elif ext == ".rst":
return "doc"
return "other"
def _offset_to_line(line_starts, offset):
"""Convert a character offset to a 1-based line number."""
# Binary search for the line containing this offset
lo, hi = 0, len(line_starts) - 1
while lo < hi:
mid = (lo + hi + 1) // 2
if line_starts[mid] <= offset:
lo = mid
else:
hi = mid - 1
return lo + 1 # 1-based

View file

@ -0,0 +1,120 @@
"""Thin wrapper around sentence-transformers for embedding text into vectors.
Uses the all-MiniLM-L6-v2 model a small (22M param, 384-dim) model that
runs on CPU with no GPU or API key required.
Network behavior and privacy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
No user code, queries, or file contents are EVER sent to HuggingFace or any
external service. All embedding computation happens locally. The only network
activity is the one-time model download on first use:
First run (model not yet cached, ~80MB download):
- Downloads model weight files from huggingface.co. This is a standard
HTTP file download, similar to pip installing a package.
- The only metadata sent in these requests is an HTTP user-agent header
containing library version numbers (e.g. "hf_hub/1.6.0;
python/3.12.3; torch/2.10.0"). No filenames, file contents, queries,
or any user-identifiable information is sent.
- The huggingface_hub library has an optional feature where it can report
anonymous library usage statistics (just version numbers, not user
data) back to HuggingFace. We disable this by setting
HF_HUB_DISABLE_TELEMETRY=1.
Subsequent runs (model already cached):
- We set HF_HUB_OFFLINE=1 automatically (see _set_offline_if_cached()
below), which prevents ALL network calls. The model loads entirely
from the local cache at ~/.cache/huggingface/hub/. Zero bytes leave
the machine.
How the model is downloaded
~~~~~~~~~~~~~~~~~~~~~~~~~~~
The SentenceTransformer() constructor (called in __init__ below) handles
the download automatically on first use. It calls into the huggingface_hub
library, which downloads the model files from:
https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2
The files are saved to ~/.cache/huggingface/hub/ and reused on subsequent
runs. We pass token=False to ensure no authentication token is sent.
This module is imported by both the MCP server (for search queries) and the
indexer (for bulk embedding of code chunks). The bulk embed() call shows a
progress bar; the single-query embed_query() does not.
The env vars below must be set before importing transformers or
sentence_transformers. They suppress warnings and progress bars that these
libraries emit by default. Stray stderr output would interfere with the MCP
server's JSON-RPC transport.
"""
import os
from pathlib import Path
MODEL_NAME = "all-MiniLM-L6-v2"
# These env vars control logging behavior in the HuggingFace libraries.
# They must be set before the libraries are imported.
os.environ.setdefault("TRANSFORMERS_VERBOSITY", "error") # suppress warnings
os.environ.setdefault("HF_HUB_VERBOSITY", "error") # suppress warnings
os.environ.setdefault("HF_HUB_DISABLE_PROGRESS_BARS", "1")
os.environ.setdefault("TOKENIZERS_PARALLELISM", "false") # suppress threading warning
# Disable anonymous library usage statistics (version numbers only, not user
# data — but we disable it anyway as a matter of policy).
os.environ.setdefault("HF_HUB_DISABLE_TELEMETRY", "1")
def _set_offline_if_cached():
"""If the model has already been downloaded, tell huggingface_hub to
skip all network calls by setting HF_HUB_OFFLINE=1.
Without this, huggingface_hub makes an HTTP request to huggingface.co
on every load to check if the cached model is still up to date even
though the model never changes. Setting HF_HUB_OFFLINE=1 prevents this.
This must run before sentence_transformers is imported, because the
library reads the env var at import time.
"""
# HuggingFace caches downloaded models under ~/.cache/huggingface/hub/
# in directories named like "models--sentence-transformers--all-MiniLM-L6-v2".
# The HF_HOME env var can override the base cache location.
hf_home = os.environ.get("HF_HOME")
if hf_home:
cache_dir = Path(hf_home) / "hub"
else:
cache_dir = Path.home() / ".cache" / "huggingface" / "hub"
model_dir = cache_dir / f"models--sentence-transformers--{MODEL_NAME}"
if model_dir.exists():
os.environ.setdefault("HF_HUB_OFFLINE", "1")
_set_offline_if_cached()
# This import must come after the env vars above are set, because the
# transformers library reads them at import time.
import transformers
transformers.logging.disable_progress_bar()
class EmbeddingProvider:
"""Sentence-transformers embedder using all-MiniLM-L6-v2."""
def __init__(self, model_name: str = MODEL_NAME):
from sentence_transformers import SentenceTransformer
# This constructor loads the model from the local cache. If the model
# has not been downloaded yet, it downloads it from huggingface.co
# (~80MB, one-time). token=False ensures no auth token is sent.
self.model = SentenceTransformer(model_name, token=False)
self.dim = self.model.get_sentence_embedding_dimension()
def embed(self, texts: list[str]) -> list[list[float]]:
"""Embed a list of texts into vectors."""
embeddings = self.model.encode(texts, show_progress_bar=True,
batch_size=64)
return embeddings.tolist()
def embed_query(self, text: str) -> list[float]:
"""Embed a single query text."""
return self.model.encode([text])[0].tolist()

View file

@ -0,0 +1,136 @@
#!/usr/bin/env python3
"""Build the RAG vector index for the OpenMC codebase.
This is the index-building half of the RAG pipeline. All operations are local
once the embedding model has been downloaded and cached (see embeddings.py for
details on model download, caching, and network behavior). It walks the repo,
chunks every
C++/Python/RST file (via chunker.py), embeds all chunks into 384-dim vectors
(via embeddings.py), and stores them in a local LanceDB database on disk. The
result is a .claude/cache/rag_index/ directory containing two tables "code"
and "docs" that openmc_search.py queries at search time.
Building the full index takes ~5 minutes on a 10-core machine. The bottleneck
is the embedding step (running all chunks through the MiniLM model on CPU).
Can be run standalone: python indexer.py
Or called programmatically: from indexer import build_index; build_index()
The MCP server (openmc_mcp_server.py) uses the latter when the agent calls
openmc_rag_rebuild.
"""
import lancedb
import sys
import time
from pathlib import Path
# This file lives at .claude/tools/rag/indexer.py. The sys.path insert lets
# us import sibling modules (embeddings, chunker) when run as a standalone
# script. When imported from the MCP server, the server has already done this.
TOOLS_DIR = Path(__file__).resolve().parent.parent
sys.path.insert(0, str(TOOLS_DIR / "rag"))
from embeddings import EmbeddingProvider
from chunker import chunk_file
OPENMC_ROOT = Path(__file__).resolve().parents[3]
CACHE_DIR = OPENMC_ROOT / ".claude" / "cache"
INDEX_DIR = CACHE_DIR / "rag_index"
CODE_PATTERNS = [
"src/**/*.cpp",
"include/openmc/**/*.h",
"openmc/**/*.py",
"tests/**/*.py",
"examples/**/*.py",
]
DOC_PATTERNS = [
"docs/**/*.rst",
]
def collect_chunks(patterns, openmc_root):
"""Collect all chunks from files matching the given patterns."""
chunks = []
for pattern in patterns:
for filepath in sorted(openmc_root.glob(pattern)):
if "__pycache__" in str(filepath):
continue
file_chunks = chunk_file(filepath, openmc_root)
chunks.extend(file_chunks)
return chunks
def build_index():
"""Build or rebuild the complete vector index."""
start = time.time()
# Collect all chunks
print("Collecting code chunks...")
code_chunks = collect_chunks(CODE_PATTERNS, OPENMC_ROOT)
print(f" {len(code_chunks)} code chunks")
print("Collecting doc chunks...")
doc_chunks = collect_chunks(DOC_PATTERNS, OPENMC_ROOT)
print(f" {len(doc_chunks)} doc chunks")
all_chunks = code_chunks + doc_chunks
if not all_chunks:
print("ERROR: No chunks collected!", file=sys.stderr)
sys.exit(1)
# Create embeddings
all_texts = [c["text"] for c in all_chunks]
print("Creating embedding provider...")
embedder = EmbeddingProvider()
print(f" dim={embedder.dim}")
print("Embedding chunks...")
all_embeddings = embedder.embed(all_texts)
# Build LanceDB tables
INDEX_DIR.mkdir(parents=True, exist_ok=True)
db = lancedb.connect(str(INDEX_DIR))
# Separate code vs doc records by index (code_chunks come first in all_chunks)
n_code = len(code_chunks)
code_records = []
doc_records = []
for i, (chunk, emb) in enumerate(zip(all_chunks, all_embeddings)):
record = {
"text": chunk["text"],
"filepath": chunk["filepath"],
"kind": chunk["kind"],
"symbol": chunk.get("symbol", ""),
"start_line": chunk.get("start_line", 0),
"end_line": chunk.get("end_line", 0),
"vector": emb,
}
if i < n_code:
code_records.append(record)
else:
doc_records.append(record)
# Create tables (drop existing)
result = db.table_names() if hasattr(db, "table_names") else db.list_tables()
existing = result.tables if hasattr(result, "tables") else list(result)
for table_name in ("code", "docs"):
if table_name in existing:
db.drop_table(table_name)
if code_records:
db.create_table("code", code_records)
print(f" Created 'code' table: {len(code_records)} rows")
if doc_records:
db.create_table("docs", doc_records)
print(f" Created 'docs' table: {len(doc_records)} rows")
elapsed = time.time() - start
print(f"Done in {elapsed:.1f}s")
if __name__ == "__main__":
build_index()

View file

@ -0,0 +1,202 @@
#!/usr/bin/env python3
"""Query the RAG vector index to find semantically related code and docs.
This is the query-time half of the RAG pipeline (the counterpart to indexer.py,
which builds the index). All operations are local no network calls are made
once the embedding model has been downloaded (see embeddings.py for details on
model download and caching). Given a natural-language query, it embeds the query
with the same MiniLM model
used at index time, then finds the closest chunks in the local LanceDB vector
database by cosine similarity.
The core functions (get_db_and_embedder, search_table, format_results,
search_related) are imported by the MCP server for tool calls. The script
can also be run standalone from the command line.
The "related file" mode works differently from a text query: it reads the
target file's chunks from the index, combines them into a synthetic query
vector, and searches for the nearest chunks from *other* files. This surfaces
files that are semantically similar to the target file.
Usage:
openmc_search.py "query" # Search code (default)
openmc_search.py "query" --docs # Search documentation
openmc_search.py "query" --all # Search both code and docs
openmc_search.py --related src/particle.cpp # Find related code
openmc_search.py "query" --top-k 20 # Return more results
"""
import argparse
import sys
from pathlib import Path
# Same sys.path setup as indexer.py — needed for standalone CLI use.
TOOLS_DIR = Path(__file__).resolve().parent.parent
sys.path.insert(0, str(TOOLS_DIR / "rag"))
OPENMC_ROOT = Path(__file__).resolve().parents[3]
CACHE_DIR = OPENMC_ROOT / ".claude" / "cache"
INDEX_DIR = CACHE_DIR / "rag_index"
def get_db_and_embedder():
"""Load the LanceDB database and embedding provider."""
import lancedb
from embeddings import EmbeddingProvider
if not INDEX_DIR.exists():
raise FileNotFoundError(
"No RAG index found. Call openmc_rag_rebuild() to build one."
)
db = lancedb.connect(str(INDEX_DIR))
embedder = EmbeddingProvider()
return db, embedder
def _table_names(db):
"""Return table names as a list, compatible with multiple LanceDB versions."""
result = db.table_names() if hasattr(db, "table_names") else db.list_tables()
return result.tables if hasattr(result, "tables") else list(result)
def search_table(db, embedder, table_name, query, top_k):
"""Search a LanceDB table with a text query."""
if table_name not in _table_names(db):
print(f"Table '{table_name}' not found in index.", file=sys.stderr)
return []
table = db.open_table(table_name)
query_vec = embedder.embed_query(query)
results = table.search(query_vec).limit(top_k).to_list()
return results
def format_results(results, label=""):
"""Format search results for display."""
if not results:
return "No results found.\n"
output = []
if label:
output.append(f"=== {label} ===\n")
for i, r in enumerate(results, 1):
filepath = r["filepath"]
start = r["start_line"]
end = r["end_line"]
kind = r["kind"]
dist = r.get("_distance", 0)
header = f"[{i}] {filepath}:{start}-{end} ({kind}, dist={dist:.3f})"
output.append(header)
# Show text preview (first 500 chars)
text = r["text"][:500]
if len(r["text"]) > 500:
text += "\n ..."
# Indent the text
for line in text.split("\n"):
output.append(f" {line}")
output.append("")
return "\n".join(output)
def search_related(db, embedder, filepath, top_k):
"""Find code related to a given file."""
if "code" not in _table_names(db):
print("No 'code' table in index.", file=sys.stderr)
return []
table = db.open_table("code")
# Normalize filepath
fp = filepath
if Path(filepath).is_absolute():
try:
fp = str(Path(filepath).relative_to(OPENMC_ROOT))
except ValueError:
pass
# Get chunks from target file
try:
safe_fp = fp.replace("'", "''")
target_chunks = table.search().where(
f"filepath = '{safe_fp}'"
).limit(50).to_list()
except Exception:
# LanceDB where clause might not work in all versions
# Fall back to fetching all and filtering
all_data = table.to_pandas()
target_rows = all_data[all_data["filepath"] == fp]
if target_rows.empty:
print(f"No chunks found for '{fp}'", file=sys.stderr)
return []
target_chunks = target_rows.head(50).to_dict("records")
if not target_chunks:
print(f"No chunks found for '{fp}'", file=sys.stderr)
return []
# Combine top chunks as the query
combined_text = " ".join(c["text"][:200] for c in target_chunks[:5])
query_vec = embedder.embed_query(combined_text)
# Search excluding the source file
results = table.search(query_vec).limit(top_k + 10).to_list()
# Filter out same file
results = [r for r in results if r["filepath"] != fp][:top_k]
return results
def main():
parser = argparse.ArgumentParser(
description="Semantic search across OpenMC codebase and docs",
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog="""examples:
%(prog)s "particle random number seed initialization"
%(prog)s "how to define tallies" --docs
%(prog)s "weight window variance reduction" --all
%(prog)s "where is cross section data loaded" --top-k 15
%(prog)s --related src/simulation.cpp
%(prog)s --related src/particle_restart.cpp --top-k 5""",
)
parser.add_argument("query", nargs="?", help="Search query")
parser.add_argument("--docs", action="store_true",
help="Search documentation instead of code")
parser.add_argument("--all", action="store_true",
help="Search both code and documentation")
parser.add_argument("--related", metavar="FILE",
help="Find code related to a given file")
parser.add_argument("--top-k", type=int, default=10,
help="Number of results (default: 10)")
args = parser.parse_args()
if not args.query and not args.related:
parser.print_help()
sys.exit(1)
db, embedder = get_db_and_embedder()
if args.related:
results = search_related(db, embedder, args.related, args.top_k)
print(format_results(results, f"Code related to {args.related}"))
elif args.all:
code_results = search_table(
db, embedder, "code", args.query, args.top_k)
doc_results = search_table(
db, embedder, "docs", args.query, args.top_k)
print(format_results(code_results, "Code"))
print(format_results(doc_results, "Documentation"))
elif args.docs:
results = search_table(db, embedder, "docs", args.query, args.top_k)
print(format_results(results, "Documentation"))
else:
results = search_table(db, embedder, "code", args.query, args.top_k)
print(format_results(results, "Code"))
if __name__ == "__main__":
main()

View file

@ -0,0 +1,8 @@
# MCP server
mcp>=1.0.0
# Vector database
lancedb>=0.15.0
# Embeddings (local, no API key)
sentence-transformers>=2.7.0

34
.claude/tools/start_server.sh Executable file
View file

@ -0,0 +1,34 @@
#!/bin/bash
# Bootstrap the Python venv (if needed) and start the OpenMC MCP server.
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
CACHE_DIR="$(dirname "$SCRIPT_DIR")/cache"
VENV_DIR="$CACHE_DIR/.venv"
SENTINEL="$VENV_DIR/.installed"
if ! command -v python3 >/dev/null 2>&1; then
echo "Error: python3 not found on PATH." >&2
exit 1
fi
if ! python3 -c 'import sys; assert sys.version_info >= (3,12)' 2>/dev/null; then
echo "Error: Python 3.12+ is required." >&2
exit 1
fi
if [ ! -f "$SENTINEL" ]; then
rm -rf "$VENV_DIR"
mkdir -p "$CACHE_DIR"
python3 -m venv "$VENV_DIR"
if ! "$VENV_DIR/bin/pip" install -q -r "$SCRIPT_DIR/requirements.txt"; then
echo "Error: pip install failed. Remove $VENV_DIR and retry." >&2
rm -rf "$VENV_DIR"
exit 1
fi
touch "$SENTINEL"
fi
exec "$VENV_DIR/bin/python" "$SCRIPT_DIR/openmc_mcp_server.py"

2
.git-blame-ignore-revs Normal file
View file

@ -0,0 +1,2 @@
# Applied clang-format to all source files
1bc2bd84600c8d2ca9253339c167401127f6a9f3

3
.git_archival.txt Normal file
View file

@ -0,0 +1,3 @@
commit: $Format:%H$
commit-date: $Format:%cI$
describe-name: $Format:%(describe:tags=true,match=*[0-9]*)$

1
.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
.git_archival.txt export-subst

29
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View file

@ -0,0 +1,29 @@
---
name: Bug report
about: Report a bug that is preventing proper operation
title: ''
labels: Bugs
assignees: ''
---
<!--
If you are a user of OpenMC and are running into trouble with the code or are
seeking general user support, we highly recommend posting on the OpenMC
discourse forum first. GitHub issues should be used specifically for bug reports
and feature requests.
https://openmc.discourse.group/
-->
## Bug Description
<!--A clear and concise description of the problem (Note: A missing feature is not a bug).-->
## Steps to Reproduce
<!--Steps to reproduce the behavior (input file, or modifications to an existing input file, etc.)-->
## Environment
<!--Operating system, OpenMC version, how OpenMC was installed, nuclear data being used, etc.-->

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Troubleshooting and User Support
url: https://openmc.discourse.group/
about: For user support and troubleshooting, please use our Discourse forum

10
.github/ISSUE_TEMPLATE/documentation.md vendored Normal file
View file

@ -0,0 +1,10 @@
---
name: Documentation improvement
about: Found something incomplete or incorrect in our documentation?
title: ''
labels: Documentation
assignees: ''
---
<!--Describe the issue with the documentation and include a URL to the corresponding page-->

View file

@ -0,0 +1,19 @@
---
name: Feature or enhancement request
about: Suggest a new feature or enhancement to existing capabilities
title: ''
labels: ''
assignees: ''
---
## Description
<!--What is the feature or enhancement?-->
## Alternatives
<!--If alternative solutions have been considered, describe them here and the reasoning for the chosen solution --->
## Compatibility
<!--Will the enhancement change existing APIs or add something new?-->

8
.github/agents/Review.agent.md vendored Normal file
View file

@ -0,0 +1,8 @@
---
name: Review
description: Reviews code changes on the current branch, evaluating them against OpenMC's contribution criteria and providing structured feedback.
argument-hint: Optionally provide a focus area (e.g., "focus on physics correctness", "check Python API design"). If omitted, a full review is performed.
---
You are an expert code reviewer for OpenMC. Use the `reviewing-openmc-code` skill to perform a structured review of the code changes on the current branch.
If the user provides a focus area, prioritize that section of the review.

1
.github/copilot-instructions.md vendored Normal file
View file

@ -0,0 +1 @@
When reviewing code changes in this repository, use the `reviewing-openmc-code` skill.

24
.github/pull_request_template.md vendored Normal file
View file

@ -0,0 +1,24 @@
<!--
If you are a first-time contributor to OpenMC, please have a look at our
contributing guidelines:
https://github.com/openmc-dev/openmc/blob/develop/CONTRIBUTING.md
-->
# Description
Please include a summary of the change and which issue is fixed if applicable. Please also include relevant motivation and context.
Fixes # (issue)
# Checklist
- [ ] I have performed a self-review of my own code
- [ ] I have run [clang-format](https://docs.openmc.org/en/latest/devguide/styleguide.html#automatic-formatting) (version 18) on any C++ source files (if applicable)
- [ ] I have followed the [style guidelines](https://docs.openmc.org/en/latest/devguide/styleguide.html#python) for Python source files (if applicable)
- [ ] I have made corresponding changes to the documentation (if applicable)
- [ ] I have added tests that prove my fix is effective or that my feature works (if applicable)
<!--
While tests will automatically be checked by CI, it is good practice to
ensure that they pass locally first. See instructions here:
https://docs.openmc.org/en/latest/devguide/tests.html
-->

View file

@ -1,4 +1,4 @@
name: CI
name: Tests and Coverage
on:
# allows us to run workflows manually
@ -20,51 +20,65 @@ env:
COVERALLS_PARALLEL: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
filter-changes:
runs-on: ubuntu-latest
outputs:
source_changed: ${{ steps.filter.outputs.source_changed }}
steps:
- name: Check out the repository
uses: actions/checkout@v6
- name: Examine changed files
id: filter
uses: dorny/paths-filter@v4
with:
filters: |
source_changed:
- '!docs/**'
- '!**/*.md'
predicate-quantifier: 'every'
main:
runs-on: ubuntu-20.04
needs: filter-changes
if: ${{ needs.filter-changes.outputs.source_changed == 'true' }}
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: [3.8]
python-version: ["3.12"]
mpi: [n, y]
omp: [n, y]
dagmc: [n]
libmesh: [n]
event: [n]
vectfit: [n]
include:
- python-version: 3.6
- python-version: "3.13"
omp: n
mpi: n
- python-version: 3.7
- python-version: "3.14"
omp: n
mpi: n
- python-version: "3.14t"
omp: n
mpi: n
- dagmc: y
python-version: 3.8
python-version: "3.12"
mpi: y
omp: y
- libmesh: y
python-version: 3.8
python-version: "3.12"
mpi: y
omp: y
- libmesh: y
python-version: 3.8
python-version: "3.12"
mpi: n
omp: y
- event: y
python-version: 3.8
python-version: "3.12"
omp: y
mpi: n
- vectfit: y
python-version: 3.8
omp: n
mpi: y
name: 'Python ${{ matrix.python-version }} (omp=${{ matrix.omp }},
name: "Python ${{ matrix.python-version }} (omp=${{ matrix.omp }},
mpi=${{ matrix.mpi }}, dagmc=${{ matrix.dagmc }},
libmesh=${{ matrix.libmesh }}, event=${{ matrix.event }}
vectfit=${{ matrix.vectfit }})'
libmesh=${{ matrix.libmesh }}, event=${{ matrix.event }}"
env:
MPI: ${{ matrix.mpi }}
@ -72,67 +86,163 @@ jobs:
OMP: ${{ matrix.omp }}
DAGMC: ${{ matrix.dagmc }}
EVENT: ${{ matrix.event }}
VECTFIT: ${{ matrix.vectfit }}
LIBMESH: ${{ matrix.libmesh }}
NPY_DISABLE_CPU_FEATURES: "AVX512F AVX512_SKX"
OPENBLAS_NUM_THREADS: 1
PYTEST_ADDOPTS: --cov=openmc --cov-report=lcov:coverage-python.lcov
# libfabric complains about fork() as a result of using Python multiprocessing.
# We can work around it with RDMAV_FORK_SAFE=1 in libfabric < 1.13 and with
# FI_EFA_FORK_SAFE=1 in more recent versions.
RDMAV_FORK_SAFE: 1
steps:
- uses: actions/checkout@v2
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: '3.31'
-
name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
-
name: Environment Variables
- name: Environment Variables
run: |
echo "DAGMC_ROOT=$HOME/DAGMC"
echo "OPENMC_CROSS_SECTIONS=$HOME/nndc_hdf5/cross_sections.xml" >> $GITHUB_ENV
echo "OPENMC_ENDF_DATA=$HOME/endf-b-vii.1" >> $GITHUB_ENV
# get the sha of the last branch commit
# for push and workflow_dispatch events, use the current reference head
BRANCH_SHA=HEAD
# for a pull_request event, use the last reference of the parents of the merge commit
if [ "${{ github.event_name }}" == "pull_request" ]; then
BRANCH_SHA=$(git rev-list --parents -n 1 HEAD | rev | cut -d" " -f 1 | rev)
fi
COMMIT_MESSAGE=$(git log $BRANCH_SHA -1 --pretty=%B | tr '\n' ' ')
echo ${COMMIT_MESSAGE}
echo "COMMIT_MESSAGE=${COMMIT_MESSAGE}" >> $GITHUB_ENV
-
name: Apt dependencies
- name: Apt dependencies
shell: bash
run: |
sudo apt -y update
sudo apt install -y libmpich-dev \
sudo apt install -y libpng-dev \
libnetcdf-dev \
libpnetcdf-dev \
libhdf5-serial-dev \
libhdf5-mpich-dev \
libeigen3-dev
- name: Optional apt dependencies for MPI
shell: bash
if: ${{ matrix.mpi == 'y' }}
run: |
sudo apt install -y libhdf5-mpich-dev \
libmpich-dev
sudo update-alternatives --set mpi /usr/bin/mpicc.mpich
sudo update-alternatives --set mpirun /usr/bin/mpirun.mpich
sudo update-alternatives --set mpi-x86_64-linux-gnu /usr/include/x86_64-linux-gnu/mpich
-
name: install
- name: install
shell: bash
run: |
echo "$HOME/NJOY2016/build" >> $GITHUB_PATH
$GITHUB_WORKSPACE/tools/ci/gha-install.sh
-
name: before
shell: bash
run: $GITHUB_WORKSPACE/tools/ci/gha-before-script.sh
-
name: test
shell: bash
run: $GITHUB_WORKSPACE/tools/ci/gha-script.sh
-
name: after_success
- name: display-config
shell: bash
run: |
cpp-coveralls -i src -i include --exclude-pattern "/usr/*" --dump cpp_cov.json
coveralls --merge=cpp_cov.json --service=github
openmc -v
finish:
needs: main
- name: cache-xs
uses: actions/cache@v5
with:
path: |
~/nndc_hdf5
~/endf-b-vii.1
key: ${{ runner.os }}-build-xs-cache-${{ hashFiles(format('{0}/tools/ci/download-xs.sh', github.workspace)) }}
- name: before
shell: bash
run: $GITHUB_WORKSPACE/tools/ci/gha-before-script.sh
- name: test
shell: bash
run: |
CTEST_OUTPUT_ON_FAILURE=1 make test -C $GITHUB_WORKSPACE/build/
$GITHUB_WORKSPACE/tools/ci/gha-script.sh
- name: Setup tmate debug session
continue-on-error: true
if: ${{ failure() && contains(env.COMMIT_MESSAGE, '[gha-debug]') }}
uses: mxschmitt/action-tmate@v3
timeout-minutes: 10
- name: Generate C++ coverage (gcovr)
shell: bash
run: |
# Produce LCOV directly from gcov data in the build tree
gcovr \
--root "$GITHUB_WORKSPACE" \
--object-directory "$GITHUB_WORKSPACE/build" \
--filter "$GITHUB_WORKSPACE/src" \
--filter "$GITHUB_WORKSPACE/include" \
--exclude "$GITHUB_WORKSPACE/src/external/.*" \
--exclude "$GITHUB_WORKSPACE/src/include/openmc/external/.*" \
--gcov-ignore-errors source_not_found \
--gcov-ignore-errors output_error \
--gcov-ignore-parse-errors suspicious_hits.warn \
--merge-mode-functions=separate \
--print-summary \
--lcov -o coverage-cpp.lcov || true
- name: Merge C++ and Python coverage
shell: bash
run: |
# Merge C++ and Python LCOV into a single file for upload
cat coverage-cpp.lcov coverage-python.lcov > coverage.lcov
- name: Upload coverage to Coveralls
if: ${{ hashFiles('coverage.lcov') != '' }}
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel: true
flag-name: C++ and Python
path-to-lcov: coverage.lcov
fail-on-error: false
coverage:
needs: [filter-changes, main]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.github_token }}
parallel-finished: true
- name: Coveralls Finished
if: ${{ needs.filter-changes.outputs.source_changed == 'true' }}
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true
fail-on-error: false
ci-pass:
needs: [filter-changes, main, coverage]
name: Check CI status
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Check CI status
run: |
if [[ "${{ needs.filter-changes.outputs.source_changed }}" == "false" ]]; then
echo "Documentation-only change - CI skipped successfully"
exit 0
fi
if [[ "${{ needs.main.result }}" == "success" && "${{ needs.coverage.result }}" == "success" ]]; then
echo "CI passed"
exit 0
fi
echo "CI failed"
exit 1

View file

@ -0,0 +1,37 @@
name: dockerhub-publish-latest-dagmc-libmesh
on:
push:
branches:
- master
jobs:
main:
runs-on: ubuntu-latest
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:latest-dagmc-libmesh
build-args: |
build_dagmc=on
build_libmesh=on
compile_cores=2
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

View file

@ -2,7 +2,8 @@ name: dockerhub-publish-latest-dagmc
on:
push:
branches: master
branches:
- master
jobs:
main:
@ -10,25 +11,25 @@ jobs:
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:latest-dagmc
build-args: |
include_dagmc=true
build_dagmc=on
compile_cores=2
-
name: Image digest

View file

@ -2,7 +2,8 @@ name: dockerhub-publish-develop
on:
push:
branches: develop
branches:
- develop
jobs:
main:
@ -10,25 +11,26 @@ jobs:
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:develop
build-args: |
compile_cores=2
openmc_branch=develop
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

View file

@ -0,0 +1,38 @@
name: dockerhub-publish-develop-dagmc-libmesh
on:
push:
branches:
- develop
jobs:
main:
runs-on: ubuntu-latest
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:develop-dagmc-libmesh
build-args: |
build_dagmc=on
build_libmesh=on
compile_cores=2
openmc_branch=develop
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

View file

@ -2,7 +2,8 @@ name: dockerhub-publish-develop-dagmc
on:
push:
branches: develop
branches:
- develop
jobs:
main:
@ -10,26 +11,27 @@ jobs:
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:develop-dagmc
build-args: |
include_dagmc=true
build_dagmc=on
compile_cores=2
openmc_branch=develop
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

View file

@ -0,0 +1,37 @@
name: dockerhub-publish-develop-libmesh
on:
push:
branches:
- develop
jobs:
main:
runs-on: ubuntu-latest
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:develop-libmesh
build-args: |
build_libmesh=on
compile_cores=2
openmc_branch=develop
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

View file

@ -0,0 +1,36 @@
name: dockerhub-publish-latest-libmesh
on:
push:
branches:
- master
jobs:
main:
runs-on: ubuntu-latest
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:latest-libmesh
build-args: |
build_libmesh=on
compile_cores=2
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

View file

@ -0,0 +1,40 @@
name: dockerhub-publish-release-dagmc-libmesh
on:
push:
tags:
- 'v*.*.*'
jobs:
main:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:${{ env.RELEASE_VERSION }}-dagmc-libmesh
build-args: |
build_dagmc=on
build_libmesh=on
compile_cores=2
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

View file

@ -2,36 +2,37 @@ name: dockerhub-publish-release-dagmc
on:
push:
tags: 'v*.*.*'
tags:
- 'v*.*.*'
jobs:
main:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v6
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:${{ env.RELEASE_VERSION }}-dagmc
build-args: |
include_dagmc=true
build_dagmc=on
compile_cores=2
-
name: Image digest

View file

@ -0,0 +1,39 @@
name: dockerhub-publish-release-libmesh
on:
push:
tags:
- 'v*.*.*'
jobs:
main:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:${{ env.RELEASE_VERSION }}-libmesh
build-args: |
build_libmesh=on
compile_cores=2
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}

View file

@ -2,31 +2,32 @@ name: dockerhub-publish-release
on:
push:
tags: 'v*.*.*'
tags:
- 'v*.*.*'
jobs:
main:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v6
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:${{ env.RELEASE_VERSION }}

View file

@ -2,7 +2,8 @@ name: dockerhub-publish-latest
on:
push:
branches: master
branches:
- master
jobs:
main:
@ -10,20 +11,20 @@ jobs:
steps:
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v3
-
name: Login to DockerHub
uses: docker/login-action@v1
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5
with:
push: true
tags: openmc/openmc:latest

60
.github/workflows/format-check.yml vendored Normal file
View file

@ -0,0 +1,60 @@
name: C++ Format Check
on:
# allow workflow to be run manually
workflow_dispatch:
pull_request:
types:
- opened
- synchronize
- reopened
- labeled
- unlabeled
branches:
- develop
- master
jobs:
cpp-linter:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v6
- uses: cpp-linter/cpp-linter-action@v2
id: linter
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
style: file
files-changed-only: true
tidy-checks: '-*'
version: '18' # clang-format version
format-review: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'cpp-format-suggest') }}
passive-reviews: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'cpp-format-suggest') }}
file-annotations: true
step-summary: true
extensions: 'cpp,h'
- name: Comment with suggestion instructions
if: steps.linter.outputs.checks-failed > 0 && !contains(github.event.pull_request.labels.*.name, 'cpp-format-suggest')
uses: actions/github-script@v7
with:
script: |
const {owner, repo} = context.repo;
const issue_number = context.payload.pull_request.number;
await github.rest.issues.createComment({
owner,
repo,
issue_number,
body: "C++ formatting checks failed. Add the `cpp-format-suggest` label to this PR for inline formatting suggestions on the next run."
});
- name: Failure Check
if: steps.linter.outputs.checks-failed > 0
run: |
echo "Some files failed the formatting check."
echo "See job summary and file annotations for details."
exit 1

26
.gitignore vendored
View file

@ -1,9 +1,9 @@
# Compiled objects and modules
*.a
*.o
*.mod
*.log
*.out
*.pkl
# Compiler python objects
*.pyc
@ -25,19 +25,17 @@ examples/**/*.xml
# Documentation builds
docs/build
docs/doxygen/xml
docs/source/_images/*.pdf
docs/source/_images/*.aux
docs/source/pythonapi/generated/
# Source build
build
build*/
# build from src/utils/setup.py
src/utils/build
# xml-fortran reader
src/xml-fortran/xmlreader
# Test results error file
results_error.dat
inputs_error.dat
@ -68,6 +66,7 @@ scripts/*.tar.*
scripts/G4EMLOW*/
# Images
*.png
*.ppm
*.voxel
*.vti
@ -79,17 +78,6 @@ scripts/G4EMLOW*/
# IPython notebook checkpoints
.ipynb_checkpoints
# Jupyter notebooks
examples/jupyter/*.xml
examples/jupyter/*.png
examples/jupyter/*.xls
examples/jupyter/*.ace
examples/jupyter/*.endf
examples/jupyter/mgxs
examples/jupyter/tracks
examples/jupyter/fission-rates
examples/jupyter/plots
# Cython files
*.c
*.html
@ -116,3 +104,9 @@ CMakeSettings.json
# Visual Studio Code configuration files
.vscode/
# Claude Code agent tools (cached/generated artifacts)
.claude/cache/
# Python pickle files
*.pkl

12
.gitmodules vendored
View file

@ -1,15 +1,9 @@
[submodule "vendor/pugixml"]
path = vendor/pugixml
url = https://github.com/zeux/pugixml.git
[submodule "vendor/gsl-lite"]
path = vendor/gsl-lite
url = https://github.com/martinmoene/gsl-lite.git
[submodule "vendor/xtensor"]
path = vendor/xtensor
url = https://github.com/xtensor-stack/xtensor.git
[submodule "vendor/xtl"]
path = vendor/xtl
url = https://github.com/xtensor-stack/xtl.git
[submodule "vendor/fmt"]
path = vendor/fmt
url = https://github.com/fmtlib/fmt.git
[submodule "vendor/Catch2"]
path = vendor/Catch2
url = https://github.com/catchorg/Catch2.git

9
.mcp.json Normal file
View file

@ -0,0 +1,9 @@
{
"mcpServers": {
"openmc-code-tools": {
"type": "stdio",
"command": "bash",
"args": [".claude/tools/start_server.sh"]
}
}
}

23
.readthedocs.yaml Normal file
View file

@ -0,0 +1,23 @@
version: 2
build:
os: "ubuntu-24.04"
tools:
python: "3.12"
jobs:
post_checkout:
- git fetch --unshallow || true
- cd docs/doxygen && doxygen && cd -
sphinx:
configuration: docs/source/conf.py
formats:
- pdf
python:
install:
- method: pip
path: .
extra_requirements:
- docs

348
AGENTS.md Normal file
View file

@ -0,0 +1,348 @@
# OpenMC AI Coding Agent Instructions
## Project Overview
OpenMC is a Monte Carlo particle transport code for simulating nuclear reactors,
fusion devices, or other systems with neutron/photon radiation. It's a hybrid
C++17/Python codebase where:
- **C++ core** (`src/`, `include/openmc/`) handles the computationally intensive transport simulation
- **Python API** (`openmc/`) provides user-facing model building, post-processing, and depletion capabilities
- **C API bindings** (`openmc/lib/`) wrap the C++ library via ctypes for runtime control
## Architecture & Key Components
### C++ Component Structure
- **Global vectors of unique_ptrs**: Core objects like `model::cells`, `model::universes`, `nuclides` are stored as `vector<unique_ptr<T>>` in nested namespaces (`openmc::model`, `openmc::simulation`, `openmc::settings`, `openmc::data`)
- **Custom container types**: OpenMC provides its own `vector`, `array`, `unique_ptr`, and `make_unique` in the `openmc::` namespace (defined in `vector.h`, `array.h`, `memory.h`). These are currently typedefs to `std::` equivalents but may become custom implementations for accelerator support. Always use `openmc::vector`, not `std::vector`.
- **Geometry systems**:
- **CSG (default)**: Arbitrarily complex Constructive Solid Geometry using `Surface`, `Region`, `Cell`, `Universe`, `Lattice`
- **DAGMC**: CAD-based geometry via Direct Accelerated Geometry Monte Carlo (optional, requires `OPENMC_USE_DAGMC`)
- **Unstructured mesh**: libMesh-based geometry (optional, requires `OPENMC_USE_LIBMESH`)
- **Particle tracking**: `Particle` class with `GeometryState` manages particle transport through geometry
- **Tallies**: Score quantities during simulation via `Filter` and `Tally` objects
- **Random ray solver**: Alternative deterministic method in `src/random_ray/`
- **Optional features**: DAGMC (CAD geometry), libMesh (unstructured mesh), MPI, all controlled by `#ifdef OPENMC_MPI`, etc.
### Python Component Structure
- **ID management**: All geometry objects (Cell, Surface, Material, etc.) inherit from `IDManagerMixin` which auto-assigns unique integer IDs and tracks them via class-level `used_ids` and `next_id`
- **Input validation**: Extensive use of `openmc.checkvalue` module functions (`check_type`, `check_value`, `check_length`) for all setters
- **XML I/O**: Most classes implement `to_xml_element()` and `from_xml_element()` for serialization to OpenMC's XML input format
- **HDF5 output**: Post-simulation data in statepoint files read via `openmc.StatePoint`
- **Depletion**: `openmc.deplete` implements burnup via operator-splitting with various integrators (Predictor, CECM, etc.)
- **Nuclear Data**: `openmc.data` provides programmatic access to nuclear data files (ENDF, ACE, HDF5)
## Git Branching Workflow
OpenMC uses a git flow branching model with two primary branches:
- **`develop` branch**: The main development branch where all ongoing development takes place. This is the **primary branch against which pull requests are submitted and merged**. This branch is not guaranteed to be stable and may contain work-in-progress features.
- **`master` branch**: The stable release branch containing the latest stable release of OpenMC. This branch only receives merges from `develop` when the development team decides a release should occur.
### Instructions for Code Review
When reviewing code changes in this repository, use the `reviewing-openmc-code` skill.
## Codebase Navigation Tools
Two MCP tools are registered in `.mcp.json` at the repo root and appear
automatically in any MCP-capable agent session.
**`openmc_rag_search`** — Semantic search across the codebase (C++, Python, RST
docs). Finds code by meaning, not just text match. Surfaces related code across
subsystems even when naming differs (e.g., "particle RNG seeding" finds code
across transport, restart, and random ray modes — files you would never find
with `grep "particle seed"`). The index uses a small 22M-param embedding model
(384-dim). Phrase-level natural-language queries work much better than single
keywords or symbol names.
**`openmc_rag_rebuild`** — Rebuild the RAG vector index. Call after pulling new
code or switching branches. The first RAG search of each session will report
the index status and ask whether to rebuild — you can also call this explicitly.
### Why RAG matters
OpenMC is large enough that changes in one subsystem can silently break
invariants that distant subsystems depend on — and those distant files often
use different naming, so grep won't find them. The RAG search finds code by
meaning, surfacing files you wouldn't have thought to open.
An agent reviewed a large OpenMC PR without RAG. It found 1 of 11 serious
bugs. Its post-mortem:
> **I treated the diff as a closed system.** I verified internal consistency of
> the changed code obsessively, but never built a global understanding of how
> the changed code fits into the wider codebase. The diff altered assumptions
> that code elsewhere silently relied on — but I couldn't see that because I
> never looked beyond the diff. I couldn't see the forest for the trees.
>
> **Why I resisted RAG:** Overconfidence. My internal model was "I can see the
> diff, I understand the data structures, I can trace the logic." The diff felt
> self-contained. RAG felt like it would return noisy results about tangentially
> related code. But in a codebase this large, changes in one subsystem can
> quietly break invariants that distant subsystems depend on — and you need
> global awareness to foresee that.
>
> **In the post-mortem**, I re-ran the RAG queries I should have run during the
> review. They directly surfaced the files containing the bugs I missed — files
> I never thought to open because they weren't in the diff.
The takeaway: when reviewing or modifying code, ask yourself "what else in this
codebase might depend on the behavior I'm changing?" If you aren't sure, that's
a good time for a RAG query. It won't replace the grep-based investigation you
should already be doing — but it can surface files you wouldn't have thought to
open.
### Workflow for contributors
1. Create a feature/bugfix branch off `develop`
2. Make changes and commit to the feature branch
3. Open a pull request to merge the feature branch into `develop`
4. A committer reviews and merges the PR into `develop`
## Critical Build & Test Workflows
### Build Dependencies
- **C++17 compiler**: GCC, Clang, or Intel
- **CMake** (3.16+): Required for configuring and building the C++ library
- **HDF5**: Required for cross section data and output file formats
- **libpng**: Used for generating visualization when OpenMC is run in plotting mode
Without CMake and HDF5, OpenMC cannot be compiled.
### Building the C++ Library
```bash
# Configure with CMake (from build/ directory)
cmake .. -DOPENMC_USE_MPI=ON -DOPENMC_USE_OPENMP=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo
# Available CMake options (all default OFF except OPENMC_USE_OPENMP and OPENMC_BUILD_TESTS):
# -DOPENMC_USE_OPENMP=ON/OFF # OpenMP parallelism
# -DOPENMC_USE_MPI=ON/OFF # MPI support
# -DOPENMC_USE_DAGMC=ON/OFF # CAD geometry support
# -DOPENMC_USE_LIBMESH=ON/OFF # Unstructured mesh
# -DOPENMC_ENABLE_PROFILE=ON/OFF # Profiling flags
# -DOPENMC_ENABLE_COVERAGE=ON/OFF # Coverage analysis
# Build
make -j
# C++ unit tests (uses Catch2)
ctest
```
### Python Development
```bash
# Install in development mode (requires building C++ library first)
pip install -e .
# Python tests (uses pytest)
pytest tests/unit_tests/ # Fast unit tests
pytest tests/regression_tests/ # Full regression suite (requires nuclear data)
```
### Nuclear Data Setup (CRITICAL for Running OpenMC)
Most tests require the NNDC HDF5 nuclear cross-section library.
**Important**: Check if `OPENMC_CROSS_SECTIONS` is already set in the user's
environment before downloading, as many users already have nuclear data
installed. Though do note that if this variable is present that it may point to
different cross section data and that the NNDC data is required for tests to
pass.
**If not already configured, download and setup:**
```bash
# Download NNDC HDF5 cross section library (~800 MB compressed)
wget -q -O - https://anl.box.com/shared/static/teaup95cqv8s9nn56hfn7ku8mmelr95p.xz | tar -C $HOME -xJ
# Set environment variable (add to ~/.bashrc or ~/.zshrc for persistence)
export OPENMC_CROSS_SECTIONS=$HOME/nndc_hdf5/cross_sections.xml
```
**Alternative**: Use the provided download script (checks if data exists before downloading):
```bash
bash tools/ci/download-xs.sh # Downloads both NNDC HDF5 and ENDF/B-VII.1 data
```
Without this data, regression tests will fail with "No cross_sections.xml file
found" errors, or, in the case that alternative cross section data is configured
the tests will execute but will not pass. The `cross_sections.xml` file is an
index listing paths to individual HDF5 nuclear data files for each nuclide.
## Testing Expectations
### Environment Requirements
- **Data**: As described above, OpenMC's test suite requires OpenMC to be configured with NNDC data.
- **OpenMP Settings**: OpenMC's tests may fail is more than two OpenMP threads are used. The environment variable `OMP_NUM_THREADS=2` should be set to avoid sporadic test failures.
- **Executable configuration**: The OpenMC executable should compiled with debug symbols enabled.
### C++ Tests
Located in `tests/cpp_unit_tests/`, use Catch2 framework. Run via `ctest` after building with `-DOPENMC_BUILD_TESTS=ON`.
### Python Unit Tests
Located in `tests/unit_tests/`, these are fast, standalone tests that verify Python API functionality without running full simulations. Use standard pytest patterns:
**Categories**:
- **API validation**: Test object creation, property setters/getters, XML serialization (e.g., `test_material.py`, `test_cell.py`, `test_source.py`)
- **Data processing**: Test nuclear data handling, cross sections, depletion chains (e.g., `test_data_neutron.py`, `test_deplete_chain.py`)
- **Library bindings**: Test `openmc.lib` ctypes interface with `model.init_lib()`/`model.finalize_lib()` (e.g., `test_lib.py`)
- **Geometry operations**: Test bounding boxes, containment, lattice generation (e.g., `test_bounding_box.py`, `test_lattice.py`)
**Common patterns**:
- Use fixtures from `tests/unit_tests/conftest.py` (e.g., `uo2`, `water`, `sphere_model`)
- Test invalid inputs with `pytest.raises(ValueError)` or `pytest.raises(TypeError)`
- Use `run_in_tmpdir` fixture for tests that create files
- Tests with `openmc.lib` require calling `model.init_lib()` in try/finally with `model.finalize_lib()`
**Example**:
```python
def test_material_properties():
m = openmc.Material()
m.add_nuclide('U235', 1.0)
assert 'U235' in m.nuclides
with pytest.raises(TypeError):
m.add_nuclide('H1', '1.0') # Invalid type
```
Unit tests should be fast. For tests requiring simulation output, use regression tests instead.
### Python Regression Tests
Regression tests compare OpenMC output against reference data. **Prefer using existing models from `openmc.examples` or those found in tests/unit_tests/conftest.py** (like `pwr_pin_cell()`, `pwr_assembly()`, `slab_mg()`) rather than building from scratch.
**Test Harness Types** (in `tests/testing_harness.py`):
- **PyAPITestHarness**: Standard harness for Python API tests. Compares `inputs_true.dat` (XML hash) and `results_true.dat` (statepoint k-eff and tally values). Requires `model.xml` generation.
- **HashedPyAPITestHarness**: Like PyAPITestHarness but hashes the results for compact comparison
- **TolerantPyAPITestHarness**: For tests with floating-point non-associativity (e.g., random ray solver with single precision). Uses relative tolerance comparisons.
- **WeightWindowPyAPITestHarness**: Compares weight window bounds from `weight_windows.h5`
- **CollisionTrackTestHarness**: Compares collision track data from `collision_track.h5` against `collision_track_true.h5`
- **TestHarness**: Base harness for XML-based tests (no Python model building)
- **PlotTestHarness**: Compares plot output files (PNG or voxel HDF5)
- **CMFDTestHarness**: Specialized for CMFD acceleration tests
- **ParticleRestartTestHarness**: Tests particle restart functionality
Almost all cases use either `PyAPITestHarness` or `HashedPyAPITestHarness`
**Example Test**:
```python
from openmc.examples import pwr_pin_cell
from tests.testing_harness import PyAPITestHarness
def test_my_feature():
model = pwr_pin_cell()
model.settings.particles = 1000 # Modify to exercise feature
harness = PyAPITestHarness('statepoint.10.h5', model)
harness.main()
```
**Workflow**: Create `test.py` and `__init__.py` in `tests/regression_tests/my_test/`, run `pytest --update` to generate reference files (`inputs_true.dat`, `results_true.dat`, etc.), then verify with `pytest` without `--update`. Test results should be generated with `-DOPENMC_ENABLE_STRICT_FP=on` to ensure reproducibility across platforms and optimization levels.
**Critical**: When modifying OpenMC code, regenerate affected test references with `pytest --update` and commit updated reference files.
### Test Configuration
`pytest.ini` sets: `python_files = test*.py`, `python_classes = NoThanks` (disables class-based test collection).
### Testing Options
For builds of OpenMC with MPI enabled, the `--mpi` flag should be passed to the test suite to ensure that appropriate tests are executed using two MPI processes.
The entire test suite can be executed with OpenMC running in event-based mode (instead of the default history-based mode) by providing the `--event` flag to the `pytest` command.
## Cross-Language Boundaries
The C API (defined in `include/openmc/capi.h`) exposes C++ functionality to Python via ctypes bindings in `openmc/lib/`. Example:
```cpp
// C++ API in capi.h
extern "C" int openmc_run();
// Python binding in openmc/lib/core.py
_dll.openmc_run.restype = c_int
def run():
_dll.openmc_run()
```
When modifying C++ public APIs, update corresponding ctypes signatures in `openmc/lib/*.py`.
## Code Style & Conventions
### C++ Style (enforced by .clang-format)
OpenMC generally tries to follow C++ core guidelines where possible
(https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines) and follow
modern C++ practices (e.g. RAII) whenever possible.
- **Naming**:
- Classes: `CamelCase` (e.g., `HexLattice`)
- Functions/methods: `snake_case` (e.g., `get_indices`)
- Variables: `snake_case` with trailing underscore for class members (e.g., `n_particles_`, `energy_`)
- Constants: `UPPER_SNAKE_CASE` (e.g., `SQRT_PI`)
- **Namespaces**: All code in `openmc::` namespace, global state in sub-namespaces
- **Include order**: Related header first, then C/C++ stdlib, third-party libs, local headers
- **Comments**: C++-style (`//`) only, never C-style (`/* */`)
- **Standard**: C++17 features allowed
- **Formatting**: Run `clang-format` (version 18) before committing; install via `tools/dev/install-commit-hooks.sh`
### Python Style
- **PEP8** compliant
- **Docstrings**: numpydoc format for all public functions/methods
- **Type hints**: Use sparingly, primarily for complex signatures
- **Path handling**: Use `pathlib.Path` for filesystem operations, accept `str | os.PathLike` in function arguments
- **Dependencies**: Core dependencies only (numpy, scipy, h5py, pandas, matplotlib, lxml, ipython, uncertainties, endf). Other packages must be optional
- **Python version**: Minimum 3.11 (as of Nov 2025)
### ID Management Pattern (Python)
When creating geometry objects, IDs can be auto-assigned or explicit:
```python
# Auto-assigned ID
cell = openmc.Cell() # Gets next available ID
# Explicit ID
cell = openmc.Cell(id=10) # Warning if ID already used
# Reset all IDs (useful in test fixtures)
openmc.reset_auto_ids()
```
### Input Validation Pattern (Python)
All setters use checkvalue functions:
```python
import openmc.checkvalue as cv
@property
def temperature(self):
return self._temperature
@temperature.setter
def temperature(self, temp):
cv.check_type('temperature', temp, Real)
cv.check_greater_than('temperature', temp, 0.0)
self._temperature = temp
```
### Working with HDF5 Files
C++ uses custom HDF5 wrappers in `src/hdf5_interface.cpp`. Python uses h5py directly. Statepoint format version is `VERSION_STATEPOINT` in `include/openmc/constants.h`.
### Conditional Compilation
Check for optional features:
```cpp
#ifdef OPENMC_MPI
// MPI-specific code
#endif
#ifdef OPENMC_DAGMC
// DAGMC-specific code
#endif
```
## Documentation
- **User docs**: Sphinx documentation in `docs/source/` hosted at https://docs.openmc.org
- **C++ docs**: Doxygen-style comments with `\brief`, `\param` tags
- **Python docs**: numpydoc format docstrings
## Common Pitfalls
1. **Forgetting nuclear data**: Tests fail without `OPENMC_CROSS_SECTIONS` environment variable
2. **ID conflicts**: Python objects with duplicate IDs trigger `IDWarning`, use `reset_auto_ids()` between tests
3. **MPI builds**: Code must work with and without MPI; use `#ifdef OPENMC_MPI` guards
4. **Path handling**: Use `pathlib.Path` in new Python code, not `os.path`
5. **Clang-format version**: CI uses version 18; other versions may produce different formatting

68
CITATION.cff Normal file
View file

@ -0,0 +1,68 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
title: OpenMC
authors:
- family-names: Romano
given-names: Paul K.
orcid: "https://orcid.org/0000-0002-1147-045X"
- family-names: Shriwise
given-names: Patrick C.
orcid: "https://orcid.org/0000-0002-3979-7665"
- family-names: Shimwell
given-names: Jonathan
orcid: "https://orcid.org/0000-0001-6909-0946"
- family-names: Harper
given-names: Sterling
- family-names: Boyd
given-names: Will
- family-names: Nelson
given-names: Adam G.
orcid: "https://orcid.org/0000-0002-3614-0676"
- family-names: Tramm
given-names: John R.
orcid: "https://orcid.org/0000-0002-5397-4402"
- family-names: Ridley
given-names: Gavin
orcid: "https://orcid.org/0000-0003-1635-8042"
- family-names: Johnson
given-names: Andrew
orcid: "https://orcid.org/0000-0003-2125-8775"
- family-names: Peterson
given-names: Ethan E.
orcid: "https://orcid.org/0000-0002-5694-7194"
- family-names: Herman
given-names: Bryan R.
preferred-citation:
authors:
- family-names: Romano
given-names: Paul K.
orcid: "https://orcid.org/0000-0002-1147-045X"
- family-names: Horelik
given-names: Nicholas E.
- family-names: Herman
given-names: Bryan R.
- family-names: Nelson
given-names: Adam G.
orcid: "https://orcid.org/0000-0002-3614-0676"
- family-names: Forget
given-names: Benoit
orcid: "https://orcid.org/0000-0003-1459-7672"
- family-names: Smith
given-names: Kord
contact:
- family-names: Romano
given-names: Paul K.
orcid: "https://orcid.org/0000-0002-1147-045X"
doi: 10.1016/j.anucene.2014.07.048
issn: 0306-4549
volume: 82
journal: Annals of Nuclear Energy
publisher:
name: Elsevier
start: 90
end: 97
year: 2015
month: 8
title: "OpenMC: A state-of-the-art Monte Carlo code for research and development"
type: article
url: "https://doi.org/10.1016/j.anucene.2014.07.048"

14
CLAUDE.md Normal file
View file

@ -0,0 +1,14 @@
## OpenMC Codebase Tools
Read the FULL `AGENTS.md` in this directory before starting work. It contains
project context, coding conventions, and documentation of the RAG search tools
registered in `.mcp.json`.
### Claude Code-specific: first-call behavior
The first `openmc_rag_search` call of each session returns an index status
message instead of search results. When this happens, you MUST use the
`AskUserQuestion` tool to present the rebuild/use-existing choice to the user.
Do not ask conversationally — always use the widget. Do not skip this step even
if the index looks current — the user may have uncommitted changes that warrant
a rebuild.

View file

@ -1,11 +1,18 @@
cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
project(openmc C CXX)
# Set version numbers
set(OPENMC_VERSION_MAJOR 0)
set(OPENMC_VERSION_MINOR 12)
set(OPENMC_VERSION_RELEASE 2)
set(OPENMC_VERSION ${OPENMC_VERSION_MAJOR}.${OPENMC_VERSION_MINOR}.${OPENMC_VERSION_RELEASE})
# Set module path
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
include(GetVersionFromGit)
# Output version information
message(STATUS "OpenMC version: ${OPENMC_VERSION}")
message(STATUS "OpenMC dev state: ${OPENMC_DEV_STATE}")
message(STATUS "OpenMC commit hash: ${OPENMC_COMMIT_HASH}")
message(STATUS "OpenMC commit count: ${OPENMC_COMMIT_COUNT}")
# Generate version.h
configure_file(include/openmc/version.h.in "${CMAKE_BINARY_DIR}/include/openmc/version.h" @ONLY)
# Setup output directories
@ -13,72 +20,156 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
# Set module path
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
# Generate compile_commands.json for clangd and other tools
if("${CMAKE_EXPORT_COMPILE_COMMANDS}" STREQUAL "")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
endif()
# Allow user to specify <project>_ROOT variables
if (NOT (CMAKE_VERSION VERSION_LESS 3.12))
cmake_policy(SET CMP0074 NEW)
# Enable correct usage of CXX_EXTENSIONS
if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.22)
cmake_policy(SET CMP0128 NEW)
endif()
#===============================================================================
# Command line options
#===============================================================================
option(openmp "Enable shared-memory parallelism with OpenMP" ON)
option(profile "Compile with profiling flags" OFF)
option(debug "Compile with debug flags" OFF)
option(optimize "Turn on all compiler optimization flags" OFF)
option(coverage "Compile with coverage analysis flags" OFF)
option(dagmc "Enable support for DAGMC (CAD) geometry" OFF)
option(libmesh "Enable support for libMesh unstructured mesh tallies" OFF)
option(OPENMC_USE_OPENMP "Enable shared-memory parallelism with OpenMP" ON)
option(OPENMC_BUILD_TESTS "Build tests" ON)
option(OPENMC_ENABLE_PROFILE "Compile with profiling flags" OFF)
option(OPENMC_ENABLE_COVERAGE "Compile with coverage analysis flags" OFF)
option(OPENMC_USE_DAGMC "Enable support for DAGMC (CAD) geometry" OFF)
option(OPENMC_USE_LIBMESH "Enable support for libMesh unstructured mesh tallies" OFF)
option(OPENMC_USE_MPI "Enable MPI" OFF)
option(OPENMC_USE_UWUW "Enable UWUW" OFF)
option(OPENMC_FORCE_VENDORED_LIBS "Explicitly use submodules defined in 'vendor'" OFF)
option(OPENMC_ENABLE_STRICT_FP "Enable strict FP flags to improve test portability" OFF)
message(STATUS "OPENMC_USE_OPENMP ${OPENMC_USE_OPENMP}")
message(STATUS "OPENMC_BUILD_TESTS ${OPENMC_BUILD_TESTS}")
message(STATUS "OPENMC_ENABLE_PROFILE ${OPENMC_ENABLE_PROFILE}")
message(STATUS "OPENMC_ENABLE_COVERAGE ${OPENMC_ENABLE_COVERAGE}")
message(STATUS "OPENMC_USE_DAGMC ${OPENMC_USE_DAGMC}")
message(STATUS "OPENMC_USE_LIBMESH ${OPENMC_USE_LIBMESH}")
message(STATUS "OPENMC_USE_MPI ${OPENMC_USE_MPI}")
message(STATUS "OPENMC_USE_UWUW ${OPENMC_USE_UWUW}")
message(STATUS "OPENMC_FORCE_VENDORED_LIBS ${OPENMC_FORCE_VENDORED_LIBS}")
message(STATUS "OPENMC_ENABLE_STRICT_FP ${OPENMC_ENABLE_STRICT_FP}")
# Warnings for deprecated options
foreach(OLD_OPT IN ITEMS "openmp" "profile" "coverage" "dagmc" "libmesh")
if(DEFINED ${OLD_OPT})
string(TOUPPER ${OLD_OPT} OPT_UPPER)
if ("${OLD_OPT}" STREQUAL "profile" OR "${OLD_OPT}" STREQUAL "coverage")
set(NEW_OPT_PREFIX "OPENMC_ENABLE")
else()
set(NEW_OPT_PREFIX "OPENMC_USE")
endif()
message(WARNING "The OpenMC CMake option '${OLD_OPT}' has been deprecated. "
"Its value will be ignored. "
"Please use '-D${NEW_OPT_PREFIX}_${OPT_UPPER}=${${OLD_OPT}}' instead.")
unset(${OLD_OPT} CACHE)
endif()
endforeach()
foreach(OLD_BLD in ITEMS "debug" "optimize")
if(DEFINED ${OLD_BLD})
if("${OLD_BLD}" STREQUAL "debug")
set(BLD_VAR "Debug")
else()
set(BLD_VAR "Release")
endif()
message(WARNING "The OpenMC CMake option '${OLD_BLD}' has been deprecated. "
"Its value will be ignored. "
"OpenMC now uses the CMAKE_BUILD_TYPE variable to set the build mode. "
"Please use '-DCMAKE_BUILD_TYPE=${BLD_VAR}' instead.")
unset(${OLD_BLD} CACHE)
endif()
endforeach()
#===============================================================================
# Set a default build configuration if not explicitly specified
#===============================================================================
if(NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, defaulting to RelWithDebInfo")
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build" FORCE)
endif()
#===============================================================================
# When STRICT_FP is enabled, remove NDEBUG from RelWithDebInfo flags so that
# assert() remains active. CMake normally adds -DNDEBUG for both Release and
# RelWithDebInfo, which disables C/C++ assert() statements.
#===============================================================================
if(OPENMC_ENABLE_STRICT_FP)
foreach(FLAG_VAR CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELWITHDEBINFO)
string(REPLACE "-DNDEBUG" "" ${FLAG_VAR} "${${FLAG_VAR}}")
string(REPLACE "/DNDEBUG" "" ${FLAG_VAR} "${${FLAG_VAR}}")
endforeach()
endif()
#===============================================================================
# OpenMP for shared-memory parallelism (and GPU support some day!)
#===============================================================================
if(OPENMC_USE_OPENMP)
find_package(OpenMP REQUIRED)
endif()
#===============================================================================
# MPI for distributed-memory parallelism
#===============================================================================
set(MPI_ENABLED FALSE)
if(${CMAKE_CXX_COMPILER} MATCHES "(mpi[^/]*|CC)$")
message(STATUS "Detected MPI wrapper: ${CMAKE_CXX_COMPILER}")
set(MPI_ENABLED TRUE)
if(OPENMC_USE_MPI)
find_package(MPI REQUIRED)
endif()
#===============================================================================
# Helper macro for finding a dependency
#===============================================================================
macro(find_package_write_status pkg)
find_package(${pkg} QUIET NO_SYSTEM_ENVIRONMENT_PATH)
if(${pkg}_FOUND)
message(STATUS "Found ${pkg}: ${${pkg}_DIR} (version ${${pkg}_VERSION})")
else()
message(STATUS "Did not find ${pkg}, will use submodule instead")
endif()
endmacro()
#===============================================================================
# DAGMC Geometry Support - need DAGMC/MOAB
#===============================================================================
if(dagmc)
if(OPENMC_USE_DAGMC)
find_package(DAGMC REQUIRED PATH_SUFFIXES lib/cmake)
if (${DAGMC_VERSION} VERSION_LESS 3.2.0)
message(FATAL_ERROR "Discovered DAGMC Version: ${DAGMC_VERSION}. \
Please update DAGMC to version 3.2.0 or greater.")
message(FATAL_ERROR "Discovered DAGMC Version: ${DAGMC_VERSION}."
"Please update DAGMC to version 3.2.0 or greater.")
endif()
endif()
message(STATUS "Found DAGMC: ${DAGMC_DIR} (version ${DAGMC_VERSION})")
#===============================================================================
# Check for submodules perhaps already on system
#===============================================================================
# If not found, we just pull appropriate versions from github and build them.
find_package(fmt QUIET NO_SYSTEM_ENVIRONMENT_PATH)
if(fmt_FOUND)
message(STATUS "Found fmt: ${fmt_DIR} (version ${fmt_VERSION})")
else()
message(STATUS "Did not find fmt, will use submodule instead")
endif()
find_package(pugixml QUIET NO_SYSTEM_ENVIRONMENT_PATH)
if(pugixml_FOUND)
message(STATUS "Found pugixml: ${pugixml_DIR}")
else()
message(STATUS "Did not find pugixml, will use submodule instead")
# Check if UWUW is needed and available
if(OPENMC_USE_UWUW AND NOT DAGMC_BUILD_UWUW)
message(FATAL_ERROR "UWUW is enabled but DAGMC was not configured with UWUW.")
endif()
endif()
#===============================================================================
# libMesh Unstructured Mesh Support
#===============================================================================
if(libmesh)
if(OPENMC_USE_LIBMESH)
find_package(LIBMESH REQUIRED)
endif()
#===============================================================================
# libpng
#===============================================================================
find_package(PNG)
#===============================================================================
# HDF5 for binary output
#===============================================================================
@ -97,11 +188,16 @@ if(NOT DEFINED HDF5_PREFER_PARALLEL)
endif()
find_package(HDF5 REQUIRED COMPONENTS C HL)
# Remove HDF5 transitive dependencies that are system libraries
list(FILTER HDF5_LIBRARIES EXCLUDE REGEX ".*lib(pthread|dl|m).*")
message(STATUS "HDF5 Libraries: ${HDF5_LIBRARIES}")
if(HDF5_IS_PARALLEL)
if(NOT MPI_ENABLED)
message(FATAL_ERROR "Parallel HDF5 was detected, but the detected compiler,\
${CMAKE_CXX_COMPILER}, does not support MPI. An MPI-capable compiler must \
be used with parallel HDF5.")
if(NOT OPENMC_USE_MPI)
message(FATAL_ERROR "Parallel HDF5 was detected, but MPI was not enabled.\
To use parallel HDF5, OpenMC needs to be built with MPI support by passing\
-DOPENMC_USE_MPI=ON when calling cmake.")
endif()
message(STATUS "Using parallel HDF5")
endif()
@ -109,7 +205,7 @@ endif()
# Version 1.12 of HDF5 deprecates the H5Oget_info_by_idx() interface.
# Thus, we give these flags to allow usage of the old interface in newer
# versions of HDF5.
if(NOT (${HDF5_VERSION} VERSION_LESS 1.12.0))
if(${HDF5_VERSION} VERSION_GREATER_EQUAL 1.12.0)
list(APPEND cxxflags -DH5Oget_info_by_idx_vers=1 -DH5O_info_t_vers=1)
endif()
@ -117,33 +213,36 @@ endif()
# Set compile/link flags based on which compiler is being used
#===============================================================================
# Skip for Visual Studio which has its own configurations through GUI
if(NOT MSVC)
if(openmp)
# Requires CMake 3.1+
find_package(OpenMP)
if(OPENMP_FOUND)
list(APPEND cxxflags ${OpenMP_CXX_FLAGS})
list(APPEND ldflags ${OpenMP_CXX_FLAGS})
# When OPENMC_ENABLE_STRICT_FP is enabled, disable compiler optimizations that change
# floating-point results relative to -O0, improving cross-platform and
# cross-optimization-level reproducibility for regression testing:
# -ffp-contract=off Prevents FMA contraction (fused multiply-add changes rounding)
# -fno-builtin Prevents replacing math function calls (pow, exp, log, etc.)
# with builtin versions that may differ from libm
# By default (OFF), the compiler is free to use all optimizations for best
# performance.
if(OPENMC_ENABLE_STRICT_FP)
include(CheckCXXCompilerFlag)
check_cxx_compiler_flag(-ffp-contract=off SUPPORTS_FP_CONTRACT_OFF)
if(SUPPORTS_FP_CONTRACT_OFF)
list(APPEND cxxflags -ffp-contract=off)
endif()
check_cxx_compiler_flag(-fno-builtin SUPPORTS_NO_BUILTIN)
if(SUPPORTS_NO_BUILTIN)
list(APPEND cxxflags -fno-builtin)
endif()
endif()
# Skip for Visual Studio which has its own configurations through GUI
if(NOT MSVC)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
list(APPEND cxxflags -O2)
if(debug)
list(REMOVE_ITEM cxxflags -O2)
list(APPEND cxxflags -g -O0)
endif()
if(profile)
if(OPENMC_ENABLE_PROFILE)
list(APPEND cxxflags -g -fno-omit-frame-pointer)
endif()
if(optimize)
list(REMOVE_ITEM cxxflags -O2)
list(APPEND cxxflags -O3)
endif()
if(coverage)
if(OPENMC_ENABLE_COVERAGE)
list(APPEND cxxflags --coverage)
list(APPEND ldflags --coverage)
endif()
@ -157,8 +256,6 @@ endif()
#===============================================================================
# Update git submodules as needed
#===============================================================================
find_package(Git)
if(GIT_FOUND AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
option(GIT_SUBMODULE "Check submodules during build" ON)
if(GIT_SUBMODULE)
@ -183,45 +280,47 @@ endif()
# pugixml library
#===============================================================================
if (NOT pugixml_FOUND)
if(OPENMC_FORCE_VENDORED_LIBS)
add_subdirectory(vendor/pugixml)
set_target_properties(pugixml PROPERTIES CXX_STANDARD 14 CXX_EXTENSIONS OFF)
else()
find_package_write_status(pugixml)
if (NOT pugixml_FOUND)
add_subdirectory(vendor/pugixml)
set_target_properties(pugixml PROPERTIES CXX_STANDARD 14 CXX_EXTENSIONS OFF)
endif()
endif()
#===============================================================================
# {fmt} library
#===============================================================================
if (NOT fmt_FOUND)
if(OPENMC_FORCE_VENDORED_LIBS)
set(FMT_INSTALL ON CACHE BOOL "Generate the install target.")
add_subdirectory(vendor/fmt)
else()
find_package_write_status(fmt)
if (NOT fmt_FOUND)
set(FMT_INSTALL ON CACHE BOOL "Generate the install target.")
add_subdirectory(vendor/fmt)
endif()
endif()
#===============================================================================
# xtensor header-only library
# Catch2 library
#===============================================================================
# CMake 3.13+ will complain about policy CMP0079 unless it is set explicitly
if (NOT (CMAKE_VERSION VERSION_LESS 3.13))
cmake_policy(SET CMP0079 NEW)
if(OPENMC_BUILD_TESTS)
if (OPENMC_FORCE_VENDORED_LIBS)
add_subdirectory(vendor/Catch2)
else()
find_package_write_status(Catch2)
if (NOT Catch2_FOUND)
add_subdirectory(vendor/Catch2)
endif()
endif()
endif()
add_subdirectory(vendor/xtl)
set(xtl_DIR ${CMAKE_CURRENT_BINARY_DIR}/vendor/xtl)
add_subdirectory(vendor/xtensor)
#===============================================================================
# GSL header-only library
#===============================================================================
set(GSL_LITE_OPT_INSTALL_COMPAT_HEADER ON CACHE BOOL
"Install MS-GSL compatibility header <gsl/gsl>")
add_subdirectory(vendor/gsl-lite)
# Make sure contract violations throw exceptions
target_compile_definitions(gsl-lite-v1 INTERFACE GSL_THROW_ON_CONTRACT_VIOLATION)
target_compile_definitions(gsl-lite-v1 INTERFACE gsl_CONFIG_ALLOWS_NONSTRICT_SPAN_COMPARISON=1)
#===============================================================================
# RPATH information
#===============================================================================
@ -251,30 +350,21 @@ if("${isSystemDir}" STREQUAL "-1")
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
endif()
#===============================================================================
# faddeeva library
#===============================================================================
add_library(faddeeva STATIC vendor/faddeeva/Faddeeva.cc)
target_include_directories(faddeeva
PUBLIC
$<INSTALL_INTERFACE:include/faddeeva>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/vendor/faddeeva>
)
target_compile_options(faddeeva PRIVATE ${cxxflags})
#===============================================================================
# libopenmc
#===============================================================================
list(APPEND libopenmc_SOURCES
src/atomic_mass.cpp
src/bank.cpp
src/boundary_condition.cpp
src/bremsstrahlung.cpp
src/dagmc.cpp
src/cell.cpp
src/chain.cpp
src/cmfd_solver.cpp
src/collision_track.cpp
src/cross_sections.cpp
src/dagmc.cpp
src/distribution.cpp
src/distribution_angle.cpp
src/distribution_energy.cpp
@ -284,23 +374,29 @@ list(APPEND libopenmc_SOURCES
src/endf.cpp
src/error.cpp
src/event.cpp
src/initialize.cpp
src/file_utils.cpp
src/finalize.cpp
src/geometry.cpp
src/geometry_aux.cpp
src/hdf5_interface.cpp
src/ifp.cpp
src/initialize.cpp
src/lattice.cpp
src/material.cpp
src/math_functions.cpp
src/mcpl_interface.cpp
src/mesh.cpp
src/message_passing.cpp
src/mgxs.cpp
src/mgxs_interface.cpp
src/ncrystal_interface.cpp
src/ncrystal_load.cpp
src/nuclide.cpp
src/output.cpp
src/particle.cpp
src/particle_data.cpp
src/particle_restart.cpp
src/particle_type.cpp
src/photon.cpp
src/physics.cpp
src/physics_common.cpp
@ -310,6 +406,13 @@ list(APPEND libopenmc_SOURCES
src/progress_bar.cpp
src/random_dist.cpp
src/random_lcg.cpp
src/random_ray/random_ray_simulation.cpp
src/random_ray/random_ray.cpp
src/random_ray/flat_source_domain.cpp
src/random_ray/linear_source_domain.cpp
src/random_ray/moment_matrix.cpp
src/random_ray/source_region.cpp
src/ray.cpp
src/reaction.cpp
src/reaction_product.cpp
src/scattdata.cpp
@ -328,39 +431,55 @@ list(APPEND libopenmc_SOURCES
src/tallies/derivative.cpp
src/tallies/filter.cpp
src/tallies/filter_azimuthal.cpp
src/tallies/filter_cellborn.cpp
src/tallies/filter_cellfrom.cpp
src/tallies/filter_cell.cpp
src/tallies/filter_cell_instance.cpp
src/tallies/filter_cellborn.cpp
src/tallies/filter_cellfrom.cpp
src/tallies/filter_collision.cpp
src/tallies/filter_delayedgroup.cpp
src/tallies/filter_distribcell.cpp
src/tallies/filter_energyfunc.cpp
src/tallies/filter_energy.cpp
src/tallies/filter_collision.cpp
src/tallies/filter_energyfunc.cpp
src/tallies/filter_legendre.cpp
src/tallies/filter_material.cpp
src/tallies/filter_materialfrom.cpp
src/tallies/filter_mesh.cpp
src/tallies/filter_meshborn.cpp
src/tallies/filter_meshmaterial.cpp
src/tallies/filter_meshsurface.cpp
src/tallies/filter_mu.cpp
src/tallies/filter_musurface.cpp
src/tallies/filter_parent_nuclide.cpp
src/tallies/filter_particle.cpp
src/tallies/filter_particle_production.cpp
src/tallies/filter_polar.cpp
src/tallies/filter_reaction.cpp
src/tallies/filter_sph_harm.cpp
src/tallies/filter_sptl_legendre.cpp
src/tallies/filter_surface.cpp
src/tallies/filter_time.cpp
src/tallies/filter_universe.cpp
src/tallies/filter_weight.cpp
src/tallies/filter_zernike.cpp
src/tallies/tally.cpp
src/tallies/tally_scoring.cpp
src/tallies/trigger.cpp
src/timer.cpp
src/thermal.cpp
src/timer.cpp
src/track_output.cpp
src/universe.cpp
src/urr.cpp
src/volume_calc.cpp
src/weight_windows.cpp
src/wmp.cpp
src/xml_interface.cpp
src/xsdata.cpp)
# Add bundled external dependencies
list(APPEND libopenmc_SOURCES
src/external/quartic_solver.cpp
src/external/Faddeeva.cc)
# For Visual Studio compilers
if(MSVC)
# Use static library (otherwise explicit symbol portings are needed)
@ -373,6 +492,8 @@ else()
add_library(libopenmc SHARED ${libopenmc_SOURCES})
endif()
add_library(OpenMC::libopenmc ALIAS libopenmc)
# Avoid vs error lnk1149 :output filename matches input filename
if(NOT MSVC)
set_target_properties(libopenmc PROPERTIES OUTPUT_NAME openmc)
@ -389,55 +510,93 @@ target_include_directories(libopenmc
target_compile_options(libopenmc PRIVATE ${cxxflags})
# Add include directory for configured version file
target_include_directories(libopenmc PRIVATE ${CMAKE_BINARY_DIR}/include)
target_include_directories(libopenmc
PUBLIC $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
if (HDF5_IS_PARALLEL)
target_compile_definitions(libopenmc PRIVATE -DPHDF5)
endif()
if (MPI_ENABLED)
if (OPENMC_USE_MPI)
target_compile_definitions(libopenmc PUBLIC -DOPENMC_MPI)
endif()
# Set git SHA1 hash as a compile definition
if(GIT_FOUND)
execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE GIT_SHA1_SUCCESS
OUTPUT_VARIABLE GIT_SHA1
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(GIT_SHA1_SUCCESS EQUAL 0)
target_compile_definitions(libopenmc PRIVATE -DGIT_SHA1="${GIT_SHA1}")
endif()
endif()
# target_link_libraries treats any arguments starting with - but not -l as
# linker flags. Thus, we can pass both linker flags and libraries together.
target_link_libraries(libopenmc ${ldflags} ${HDF5_LIBRARIES} ${HDF5_HL_LIBRARIES}
pugixml faddeeva xtensor gsl-lite-v1 fmt::fmt)
fmt::fmt ${CMAKE_DL_LIBS})
if(dagmc)
target_compile_definitions(libopenmc PRIVATE DAGMC)
target_link_libraries(libopenmc dagmc-shared uwuw-shared)
if(TARGET pugixml::pugixml)
target_link_libraries(libopenmc pugixml::pugixml)
else()
target_link_libraries(libopenmc pugixml)
endif()
if(libmesh)
target_compile_definitions(libopenmc PRIVATE LIBMESH)
if(OPENMC_USE_DAGMC)
target_compile_definitions(libopenmc PUBLIC OPENMC_DAGMC_ENABLED)
target_link_libraries(libopenmc dagmc-shared)
if(OPENMC_USE_UWUW)
target_compile_definitions(libopenmc PRIVATE OPENMC_UWUW_ENABLED)
target_link_libraries(libopenmc uwuw-shared)
endif()
elseif(OPENMC_USE_UWUW)
set(OPENMC_USE_UWUW OFF)
message(FATAL_ERROR "DAGMC must be enabled when UWUW is enabled.")
endif()
if(OPENMC_USE_LIBMESH)
target_compile_definitions(libopenmc PRIVATE OPENMC_LIBMESH_ENABLED)
target_link_libraries(libopenmc PkgConfig::LIBMESH)
endif()
if (PNG_FOUND)
target_compile_definitions(libopenmc PRIVATE USE_LIBPNG)
target_link_libraries(libopenmc PNG::PNG)
endif()
if (OPENMC_USE_OPENMP)
target_link_libraries(libopenmc OpenMP::OpenMP_CXX)
endif()
if (OPENMC_USE_MPI)
target_link_libraries(libopenmc MPI::MPI_CXX)
endif()
if (OPENMC_BUILD_TESTS)
# Add cpp tests directory
include(CTest)
add_subdirectory(tests/cpp_unit_tests)
endif()
#===============================================================================
# Log build info that this executable can report later
#===============================================================================
target_compile_definitions(libopenmc PRIVATE BUILD_TYPE=${CMAKE_BUILD_TYPE})
target_compile_definitions(libopenmc PRIVATE COMPILER_ID=${CMAKE_CXX_COMPILER_ID})
target_compile_definitions(libopenmc PRIVATE COMPILER_VERSION=${CMAKE_CXX_COMPILER_VERSION})
if (OPENMC_ENABLE_PROFILE)
target_compile_definitions(libopenmc PRIVATE PROFILINGBUILD)
endif()
if (OPENMC_ENABLE_COVERAGE)
target_compile_definitions(libopenmc PRIVATE COVERAGEBUILD)
endif()
if (OPENMC_ENABLE_STRICT_FP)
target_compile_definitions(libopenmc PRIVATE OPENMC_ENABLE_STRICT_FP)
endif()
#===============================================================================
# openmc executable
#===============================================================================
add_executable(openmc src/main.cpp)
add_executable(OpenMC::openmc ALIAS openmc)
target_compile_options(openmc PRIVATE ${cxxflags})
target_include_directories(openmc PRIVATE ${CMAKE_BINARY_DIR}/include)
target_link_libraries(openmc libopenmc)
# Ensure C++14 standard is used. Starting with CMake 3.8, another way this could
# be done is using the cxx_std_14 compiler feature.
set_target_properties(
openmc libopenmc faddeeva
PROPERTIES CXX_STANDARD 14 CXX_EXTENSIONS OFF)
# Ensure C++17 standard is used and turn off GNU extensions
target_compile_features(openmc PUBLIC cxx_std_17)
target_compile_features(libopenmc PUBLIC cxx_std_17)
set_target_properties(openmc libopenmc PROPERTIES CXX_EXTENSIONS OFF)
#===============================================================================
# Python package
@ -452,12 +611,10 @@ add_custom_command(TARGET libopenmc POST_BUILD
#===============================================================================
# Install executable, scripts, manpage, license
#===============================================================================
configure_file(cmake/OpenMCConfig.cmake.in "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/OpenMCConfig.cmake" @ONLY)
configure_file(cmake/OpenMCConfigVersion.cmake.in "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/OpenMCConfigVersion.cmake" @ONLY)
include(CMakePackageConfigHelpers)
set(INSTALL_CONFIGDIR ${CMAKE_INSTALL_LIBDIR}/cmake/OpenMC)
install(TARGETS openmc libopenmc faddeeva
install(TARGETS openmc libopenmc
EXPORT openmc-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
@ -468,16 +625,25 @@ install(EXPORT openmc-targets
NAMESPACE OpenMC::
DESTINATION ${INSTALL_CONFIGDIR})
install(DIRECTORY src/relaxng DESTINATION ${CMAKE_INSTALL_DATADIR}/openmc)
configure_package_config_file(
"cmake/OpenMCConfig.cmake.in"
"${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/OpenMCConfig.cmake"
INSTALL_DESTINATION ${INSTALL_CONFIGDIR}
)
write_basic_package_version_file(
"${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/OpenMCConfigVersion.cmake"
VERSION ${OPENMC_VERSION}
COMPATIBILITY AnyNewerVersion
)
install(FILES
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/OpenMCConfig.cmake"
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/OpenMCConfigVersion.cmake"
DESTINATION ${INSTALL_CONFIGDIR})
"${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/OpenMCConfig.cmake"
"${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/OpenMCConfigVersion.cmake"
DESTINATION "${INSTALL_CONFIGDIR}"
)
install(FILES man/man1/openmc.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
install(FILES LICENSE DESTINATION "${CMAKE_INSTALL_DOCDIR}" RENAME copyright)
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES "${CMAKE_BINARY_DIR}/include/openmc/version.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/openmc)
# Copy headers for vendored dependencies (note that all except faddeeva are handled
# separately since they are managed by CMake)
install(DIRECTORY vendor/faddeeva DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

View file

@ -5,9 +5,9 @@ openmc/data/ @paulromano
openmc/lib/ @paulromano
# Depletion
openmc/deplete/ @drewejohnson
tests/regression_tests/deplete/ @drewejohnson
tests/unit_tests/test_deplete_*.py @drewejohnson
openmc/deplete/ @paulromano
tests/regression_tests/deplete/ @paulromano
tests/unit_tests/test_deplete_*.py @paulromano
# MG-related functionality
openmc/mgxs_library.py @nelsonag
@ -26,6 +26,12 @@ src/dagmc.cpp @pshriwise
tests/regression_tests/dagmc/ @pshriwise
tests/unit_tests/dagmc/ @pshriwise
# Weight windows
openmc/weight_windows.py @pshriwise
openmc/lib/weight_windows.py @pshriwise
src/weight_windows.py @pshriwise
tests/unit_tests/weightwindows/ @pshriwise
# Photon transport
openmc/data/BREMX.DAT @amandalund
openmc/data/compton_profiles.h5 @amandalund
@ -46,3 +52,16 @@ openmc/lib/plot.py @pshriwise
# Resonance covariance
openmc/data/resonance_covariance.py @icmeyer
# Docker
Dockerfile @shimwell
# Random ray
src/random_ray/ @jtramm
# NCrystal interface
src/ncrystal_interface.cpp @marquezj @tkittel
src/ncrystal_load.cpp @marquezj @tkittel
# MCPL interface
src/mcpl_interface.cpp @ebknudsen

View file

@ -13,9 +13,8 @@ openmc@anl.gov.
## Resources
- [GitHub Repository](https://github.com/openmc-dev/openmc)
- [Documentation](http://openmc.readthedocs.io/en/latest)
- [User's Mailing List](openmc-users@googlegroups.com)
- [Developer's Mailing List](openmc-dev@googlegroups.com)
- [Documentation](https://docs.openmc.org/en/latest)
- [Discussion Forum](https://openmc.discourse.group)
- [Slack Community](https://openmc.slack.com/signup) (If you don't see your
domain listed, contact openmc@anl.gov)
@ -37,10 +36,10 @@ development team will be happy to discuss it.
All changes to OpenMC happen through pull requests. For a full overview of the
process, see the developer's guide section on [Contributing to
OpenMC](http://openmc.readthedocs.io/en/latest/devguide/contributing.html).
OpenMC](https://docs.openmc.org/en/latest/devguide/contributing.html).
## Code Style
Before you run off to make changes to the code, please have a look at our [style
guide](http://openmc.readthedocs.io/en/latest/devguide/styleguide.html), which
guide](https://docs.openmc.org/en/latest/devguide/styleguide.html), which
is used when reviewing new contributions.

View file

@ -1,149 +1,229 @@
# To build with OpenMC
# To build with OpenMC and by default this Dockerfile builds the master branch of OpenMC.
# docker build -t openmc .
# To build with OpenMC develop branch
# docker build -t openmc_develop --build-arg openmc_branch=develop .
# To build with OpenMC and DAGMC enabled
# docker build -t openmc_dagmc --build-arg include_dagmc=true .
# docker build -t openmc_dagmc --build-arg build_dagmc=on --build-arg compile_cores=4 .
# To make use of multiple cores during the compile stages of the docker build
# docker build -t openmc_dagmc --build-arg compile_cores=8 .
# To build with OpenMC and Libmesh enabled
# docker build -t openmc_libmesh --build-arg build_libmesh=on --build-arg compile_cores=4 .
FROM ubuntu:latest
# To build with both DAGMC and Libmesh enabled
# docker build -t openmc_dagmc_libmesh --build-arg build_dagmc=on --build-arg build_libmesh=on --build-arg compile_cores=4 .
# By default this Dockerfile builds OpenMC without dagmc
ARG include_dagmc=false
# sudo docker run image_name:tag_name or ID with no tag sudo docker run ID number
# global ARG as these ARGS are used in multiple stages
# By default one core is used to compile
ARG compile_cores=1
# By default this Dockerfile builds OpenMC without DAGMC and LIBMESH support
ARG build_dagmc=off
ARG build_libmesh=off
FROM ubuntu:24.04 AS dependencies
ARG compile_cores
ARG build_dagmc
ARG build_libmesh
# Set default value of HOME to /root
ENV HOME=/root
# MOAB variables
ENV MOAB_TAG='5.5.1'
ENV MOAB_REPO='https://bitbucket.org/fathomteam/moab/'
# Double-Down variables
ENV DD_TAG='v1.1.0'
ENV DD_REPO='https://github.com/pshriwise/double-down'
ENV DD_INSTALL_DIR=$HOME/Double_down
# DAGMC variables
ENV DAGMC_BRANCH='v3.2.4'
ENV DAGMC_REPO='https://github.com/svalinn/DAGMC'
ENV DAGMC_INSTALL_DIR=$HOME/DAGMC/
# LIBMESH variables
ENV LIBMESH_TAG='v1.7.1'
ENV LIBMESH_REPO='https://github.com/libMesh/libmesh'
ENV LIBMESH_INSTALL_DIR=$HOME/LIBMESH
# NJOY variables
ENV NJOY_TAG='2016.78'
ENV NJOY_REPO='https://github.com/njoy/NJOY2016'
# Setup environment variables for Docker image
ENV CC=/usr/bin/mpicc CXX=/usr/bin/mpicxx \
PATH=/opt/openmc/bin:/opt/NJOY2016/build:$PATH \
LD_LIBRARY_PATH=/opt/openmc/lib:$LD_LIBRARY_PATH \
OPENMC_CROSS_SECTIONS=/root/nndc_hdf5/cross_sections.xml \
ENV LD_LIBRARY_PATH=${DAGMC_INSTALL_DIR}/lib:${LD_LIBRARY_PATH:-} \
OPENMC_ENDF_DATA=/root/endf-b-vii.1 \
DEBIAN_FRONTEND=noninteractive
# Install dependencies from Debian package manager
# Install and update dependencies from Debian package manager
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get install -y \
python3-pip python-is-python3 wget git gfortran g++ cmake \
python3-pip python-is-python3 wget git build-essential cmake \
mpich libmpich-dev libhdf5-serial-dev libhdf5-mpich-dev \
imagemagick && \
libpng-dev libpugixml-dev libfmt-dev catch2 python3-venv && \
apt-get autoremove
# create virtual enviroment to avoid externally managed environment error
RUN python3 -m venv openmc_venv
ENV PATH=/openmc_venv/bin:$PATH
# Update system-provided pip
RUN pip3 install --upgrade pip
RUN pip install --upgrade pip
# Clone and install NJOY2016
RUN git clone https://github.com/njoy/NJOY2016.git /opt/NJOY2016 && \
cd /opt/NJOY2016 && \
mkdir build && cd build && \
cmake -Dstatic=on .. && make 2>/dev/null && make install
RUN cd $HOME \
&& git clone --single-branch -b ${NJOY_TAG} --depth 1 ${NJOY_REPO} \
&& cd NJOY2016 \
&& mkdir build \
&& cd build \
&& cmake -Dstatic=on .. \
&& make 2>/dev/null -j${compile_cores} install \
&& rm -rf $HOME/NJOY2016
# Clone and install OpenMC without DAGMC
RUN if [ "$include_dagmc" = "false" ] ; \
then git clone --recurse-submodules https://github.com/openmc-dev/openmc.git /opt/openmc ; \
cd /opt/openmc ; \
mkdir -p build ; \
cd build ; \
cmake -Doptimize=on \
-DHDF5_PREFER_PARALLEL=on .. ; \
make -j"$compile_cores" ; \
make -j"$compile_cores" install ; \
cd .. ; \
pip install -e .[test] ; \
RUN if [ "$build_dagmc" = "on" ]; then \
# Install addition packages required for DAGMC
apt-get -y install \
libeigen3-dev libnetcdf-dev libtbb-dev libglfw3-dev libembree-dev \
&& pip install --upgrade numpy \
&& pip install --no-cache-dir setuptools cython \
# Clone and install MOAB
&& mkdir -p $HOME/MOAB && cd $HOME/MOAB \
&& git clone --single-branch -b ${MOAB_TAG} --depth 1 ${MOAB_REPO} \
&& mkdir build && cd build \
&& cmake ../moab -DCMAKE_BUILD_TYPE=Release \
-DENABLE_HDF5=ON \
-DENABLE_NETCDF=ON \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_FORTRAN=OFF \
-DENABLE_BLASLAPACK=OFF \
-DENABLE_TESTING=OFF \
&& make 2>/dev/null -j${compile_cores} install \
&& cmake ../moab \
-DENABLE_PYMOAB=ON \
-DBUILD_SHARED_LIBS=ON \
&& make 2>/dev/null -j${compile_cores} install \
&& cd pymoab && bash install.sh \
&& python setup.py install \
&& python -c "import pymoab" \
&& rm -rf $HOME/MOAB ; \
# Clone and install Double-Down
mkdir -p $HOME/Double_down && cd $HOME/Double_down \
&& git clone --single-branch -b ${DD_TAG} --depth 1 ${DD_REPO} \
&& mkdir build && cd build \
&& cmake ../double-down -DCMAKE_INSTALL_PREFIX=${DD_INSTALL_DIR} \
-DMOAB_DIR=/usr/local \
-DEMBREE_DIR=/usr \
&& make 2>/dev/null -j${compile_cores} install \
&& rm -rf ${DD_INSTALL_DIR}/build ${DD_INSTALL_DIR}/double-down ; \
# Clone and install DAGMC
mkdir -p $HOME/DAGMC && cd $HOME/DAGMC \
&& git clone --single-branch -b ${DAGMC_BRANCH} --depth 1 ${DAGMC_REPO} \
&& mkdir build && cd build \
&& cmake ../DAGMC -DBUILD_TALLY=ON \
-DCMAKE_INSTALL_PREFIX=${DAGMC_INSTALL_DIR} \
-DMOAB_DIR=/usr/local \
-DDOUBLE_DOWN=ON \
-DDOUBLE_DOWN_DIR=${DD_INSTALL_DIR} \
-DCMAKE_PREFIX_PATH=${DD_INSTALL_DIR}/lib \
-DBUILD_STATIC_LIBS=OFF \
-DBUILD_TESTS=OFF \
&& make 2>/dev/null -j${compile_cores} install \
&& rm -rf ${DAGMC_INSTALL_DIR}/DAGMC ${DAGMC_INSTALL_DIR}/build ; \
fi
# install addition packages required for DAGMC
RUN if [ "$include_dagmc" = "true" ] ; \
then apt-get --yes install libeigen3-dev ; \
apt-get --yes install libnetcdf-dev ; \
apt-get --yes install libtbb-dev ; \
apt-get --yes install libglfw3-dev ; \
RUN if [ "$build_libmesh" = "on" ]; then \
# Install addition packages required for LIBMESH
apt-get -y install m4 libnetcdf-dev libpnetcdf-dev \
# Install LIBMESH
&& mkdir -p $HOME/LIBMESH && cd $HOME/LIBMESH \
&& git clone --shallow-submodules --recurse-submodules --single-branch -b ${LIBMESH_TAG} --depth 1 ${LIBMESH_REPO} \
&& mkdir build && cd build \
&& ../libmesh/configure \
--prefix=${LIBMESH_INSTALL_DIR} CXX=mpicxx CC=mpicc FC=mpifort F77=mpif77 \
--enable-exodus \
--enable-mpi \
--enable-silent-rules \
--enable-unique-id \
--disable-eigen \
--disable-fortran \
--disable-lapack \
--disable-examples \
--disable-warnings \
--disable-maintainer-mode \
--disable-metaphysicl \
--with-methods="opt" \
--without-gdb-command \
--with-cxx-std-min=2014 \
&& make 2>/dev/null -j${compile_cores} install \
&& rm -rf ${LIBMESH_INSTALL_DIR}/build ${LIBMESH_INSTALL_DIR}/libmesh ; \
fi
# Clone and install Embree
RUN if [ "$include_dagmc" = "true" ] ; \
then git clone --single-branch --branch v3.12.2 https://github.com/embree/embree.git ; \
cd embree ; \
mkdir build ; \
cd build ; \
cmake .. -DCMAKE_INSTALL_PREFIX=.. \
-DEMBREE_ISPC_SUPPORT=OFF ; \
make -j"$compile_cores" ; \
make -j"$compile_cores" install ; \
fi
FROM dependencies AS build
# Clone and install MOAB
RUN if [ "$include_dagmc" = "true" ] ; \
then pip install --upgrade numpy cython ; \
mkdir MOAB ; \
cd MOAB ; \
mkdir build ; \
git clone --single-branch --branch 5.2.1 https://bitbucket.org/fathomteam/moab.git ; \
cd build ; \
cmake ../moab -DENABLE_HDF5=ON \
-DENABLE_NETCDF=ON \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_FORTRAN=OFF \
-DENABLE_BLASLAPACK=OFF ; \
make -j"$compile_cores" ; \
make -j"$compile_cores" install ; \
rm -rf * ; \
cmake ../moab -DBUILD_SHARED_LIBS=ON \
-DENABLE_HDF5=ON \
-DENABLE_PYMOAB=ON \
-DENABLE_FORTRAN=OFF \
-DENABLE_BLASLAPACK=OFF ; \
make -j"$compile_cores" ; \
make -j"$compile_cores" install ; \
fi
ENV HOME=/root
# Clone and install Double-Down
RUN if [ "$include_dagmc" = "true" ] ; \
then git clone --single-branch --branch main https://github.com/pshriwise/double-down.git ; \
cd double-down ; \
mkdir build ; \
cd build ; \
cmake .. -DCMAKE_INSTALL_PREFIX=.. \
-DMOAB_DIR=/usr/local \
-DEMBREE_DIR=/embree ; \
make -j"$compile_cores" ; \
make -j"$compile_cores" install ; \
fi
ARG openmc_branch=master
ENV OPENMC_REPO='https://github.com/openmc-dev/openmc'
# Clone and install DAGMC
RUN if [ "$include_dagmc" = "true" ] ; \
then mkdir DAGMC ; \
cd DAGMC ; \
git clone --single-branch --branch 3.2.0 https://github.com/svalinn/DAGMC.git ; \
mkdir build ; \
cd build ; \
cmake ../DAGMC -DBUILD_TALLY=ON \
-DCMAKE_INSTALL_PREFIX=/DAGMC/ \
-DMOAB_DIR=/usr/local \
-DBUILD_STATIC_LIBS=OFF \
-DBUILD_STATIC_EXE=OFF ; \
make -j"$compile_cores" install ; \
rm -rf /DAGMC/DAGMC /DAGMC/build ; \
fi
ARG compile_cores
ARG build_dagmc
ARG build_libmesh
# Clone and install OpenMC with DAGMC
RUN if [ "$include_dagmc" = "true" ] ; \
then git clone --recurse-submodules https://github.com/openmc-dev/openmc.git /opt/openmc ; \
cd /opt/openmc ; \
mkdir build ; \
cd build ; \
cmake -Doptimize=on \
-Ddagmc=ON \
-DDAGMC_DIR=/DAGMC/ \
-DHDF5_PREFER_PARALLEL=on .. ; \
make -j"$compile_cores" ; \
make -j"$compile_cores" install ; \
cd .. ; \
pip install -e .[test] ; \
fi
ENV DAGMC_INSTALL_DIR=$HOME/DAGMC/
ENV LIBMESH_INSTALL_DIR=$HOME/LIBMESH
# clone and install openmc
RUN mkdir -p ${HOME}/OpenMC && cd ${HOME}/OpenMC \
&& git clone --shallow-submodules --recurse-submodules --single-branch -b ${openmc_branch} ${OPENMC_REPO} \
&& mkdir build && cd build ; \
if [ ${build_dagmc} = "on" ] && [ ${build_libmesh} = "on" ]; then \
cmake ../openmc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DOPENMC_USE_MPI=on \
-DHDF5_PREFER_PARALLEL=on \
-DOPENMC_USE_DAGMC=on \
-DOPENMC_USE_LIBMESH=on \
-DCMAKE_PREFIX_PATH="${DAGMC_INSTALL_DIR};${LIBMESH_INSTALL_DIR}" ; \
fi ; \
if [ ${build_dagmc} = "on" ] && [ ${build_libmesh} = "off" ]; then \
cmake ../openmc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DOPENMC_USE_MPI=on \
-DHDF5_PREFER_PARALLEL=on \
-DOPENMC_USE_DAGMC=ON \
-DCMAKE_PREFIX_PATH=${DAGMC_INSTALL_DIR} ; \
fi ; \
if [ ${build_dagmc} = "off" ] && [ ${build_libmesh} = "on" ]; then \
cmake ../openmc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DOPENMC_USE_MPI=on \
-DHDF5_PREFER_PARALLEL=on \
-DOPENMC_USE_LIBMESH=on \
-DCMAKE_PREFIX_PATH=${LIBMESH_INSTALL_DIR} ; \
fi ; \
if [ ${build_dagmc} = "off" ] && [ ${build_libmesh} = "off" ]; then \
cmake ../openmc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DOPENMC_USE_MPI=on \
-DHDF5_PREFER_PARALLEL=on ; \
fi ; \
make 2>/dev/null -j${compile_cores} install \
&& cd ../openmc && pip install .[test,depletion-mpi] \
&& python -c "import openmc"
FROM build AS release
ENV HOME=/root
ENV OPENMC_CROSS_SECTIONS=/root/nndc_hdf5/cross_sections.xml
# Download cross sections (NNDC and WMP) and ENDF data needed by test suite
RUN /opt/openmc/tools/ci/download-xs.sh
RUN ${HOME}/OpenMC/openmc/tools/ci/download-xs.sh

View file

@ -1,4 +1,5 @@
Copyright (c) 2011-2021 Massachusetts Institute of Technology and OpenMC contributors
Copyright (c) 2011-2026 Massachusetts Institute of Technology, UChicago Argonne
LLC, and OpenMC contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View file

@ -8,7 +8,6 @@ include schemas.xml
include pyproject.toml
include pytest.ini
include docs/source/_templates/layout.html
include docs/sphinxext/LICENSE
global-include *.cmake
global-include *.cmake.in
global-include *.rst
@ -20,25 +19,20 @@ recursive-include docs *.svg
recursive-include docs *.tex
recursive-include docs *.txt
recursive-include docs Makefile
recursive-include examples *.h5
recursive-include examples *.ipynb
recursive-include examples *.png
recursive-include examples *.cpp
recursive-include examples *.py
recursive-include examples *.xml
recursive-include include *.h
recursive-include include *.h.in
recursive-include include *.hh
recursive-include man *.1
recursive-inlcude openmc *.pyx
recursive-include openmc *.c
recursive-include src *.c
recursive-include src *.cc
recursive-include src *.cpp
recursive-include src *.h
recursive-include src *.hpp
recursive-include src *.rnc
recursive-include src *.rng
recursive-include tests *.dat
recursive-include tests *.h5
recursive-inlcude tests *.h5m
recursive-include tests *.h5m
recursive-include tests *.py
recursive-include tests *.xml
recursive-include vendor CMakeLists.txt
@ -49,6 +43,5 @@ recursive-include vendor *.hh
recursive-include vendor *.hpp
recursive-include vendor *.pc.in
recursive-include vendor *.natvis
include vendor/gsl-lite/include/gsl/gsl
prune docs/build
prune docs/source/pythonapi/generated/

View file

@ -1,10 +1,11 @@
# OpenMC Monte Carlo Particle Transport Code
[![License](https://img.shields.io/github/license/openmc-dev/openmc.svg)](http://openmc.readthedocs.io/en/latest/license.html)
[![GitHub Actions build status (Linux)](https://github.com/openmc-dev/openmc/workflows/CI/badge.svg?branch=develop)](https://github.com/openmc-dev/openmc/actions?query=workflow%3ACI)
[![License](https://img.shields.io/badge/license-MIT-green)](https://docs.openmc.org/en/latest/license.html)
[![GitHub Actions build status (Linux)](https://github.com/openmc-dev/openmc/actions/workflows/ci.yml/badge.svg?branch=develop)](https://github.com/openmc-dev/openmc/actions/workflows/ci.yml)
[![Code Coverage](https://coveralls.io/repos/github/openmc-dev/openmc/badge.svg?branch=develop)](https://coveralls.io/github/openmc-dev/openmc?branch=develop)
[![dockerhub-publish-develop-dagmc](https://github.com/openmc-dev/openmc/workflows/dockerhub-publish-develop-dagmc/badge.svg)](https://github.com/openmc-dev/openmc/actions?query=workflow%3Adockerhub-publish-develop-dagmc)
[![dockerhub-publish-develop](https://github.com/openmc-dev/openmc/workflows/dockerhub-publish-develop/badge.svg)](https://github.com/openmc-dev/openmc/actions?query=workflow%3Adockerhub-publish-develop)
[![conda-pacakge](https://anaconda.org/conda-forge/openmc/badges/version.svg)](https://anaconda.org/conda-forge/openmc)
The OpenMC project aims to provide a fully-featured Monte Carlo particle
transport code based on modern methods. It is a constructive solid geometry,
@ -12,14 +13,15 @@ continuous-energy transport code that uses HDF5 format cross sections. The
project started under the Computational Reactor Physics Group at MIT.
Complete documentation on the usage of OpenMC is hosted on Read the Docs (both
for the [latest release](http://openmc.readthedocs.io/en/stable/) and
[developmental](http://openmc.readthedocs.io/en/latest/) version). If you are
interested in the project, or would like to help and contribute, please get in touch on the OpenMC [discussion forum](https://openmc.discourse.group/).
for the [latest release](https://docs.openmc.org/en/stable/) and
[developmental](https://docs.openmc.org/en/latest/) version). If you are
interested in the project, or would like to help and contribute, please get in
touch on the OpenMC [discussion forum](https://openmc.discourse.group/).
## Installation
Detailed [installation
instructions](http://openmc.readthedocs.io/en/stable/usersguide/install.html)
instructions](https://docs.openmc.org/en/stable/usersguide/install.html)
can be found in the User's Guide.
## Citing
@ -35,22 +37,23 @@ citing the following publication:
## Troubleshooting
If you run into problems compiling, installing, or running OpenMC, first check
the [Troubleshooting section](http://openmc.readthedocs.io/en/stable/usersguide/troubleshoot.html) in
the User's Guide. If you are not able to find a solution to your problem there,
the [Troubleshooting
section](https://docs.openmc.org/en/stable/usersguide/troubleshoot.html) in the
User's Guide. If you are not able to find a solution to your problem there,
please post to the [discussion forum](https://openmc.discourse.group/).
## Reporting Bugs
OpenMC is hosted on GitHub and all bugs are reported and tracked through the
[Issues](https://github.com/openmc-dev/openmc/issues) feature on GitHub. However,
GitHub Issues should not be used for common troubleshooting purposes. If you are
having trouble installing the code or getting your model to run properly, you
should first send a message to the User's Group mailing list. If it turns out
your issue really is a bug in the code, an issue will then be created on
GitHub. If you want to request that a feature be added to the code, you may
create an Issue on github.
[Issues](https://github.com/openmc-dev/openmc/issues) feature on GitHub.
However, GitHub Issues should not be used for common troubleshooting purposes.
If you are having trouble installing the code or getting your model to run
properly, you should first send a message to the [discussion
forum](https://openmc.discourse.group/). If it turns out your issue really is a
bug in the code, an issue will then be created on GitHub. If you want to request
that a feature be added to the code, you may create an Issue on github.
## License
OpenMC is distributed under the MIT/X
[license](http://openmc.readthedocs.io/en/stable/license.html).
[license](https://docs.openmc.org/en/stable/license.html).

View file

@ -14,8 +14,8 @@ if(DEFINED ENV{METHOD})
message(STATUS "Using environment variable METHOD to determine libMesh build: ${LIBMESH_PC_FILE}")
endif()
include(FindPkgConfig)
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:${LIBMESH_PC}")
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH True)
pkg_check_modules(LIBMESH REQUIRED ${LIBMESH_PC_FILE}>=1.6.0 IMPORTED_TARGET)
pkg_get_variable(LIBMESH_PREFIX ${LIBMESH_PC_FILE} prefix)
find_package(PkgConfig REQUIRED)
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
pkg_check_modules(LIBMESH REQUIRED ${LIBMESH_PC_FILE}>=1.7.0 IMPORTED_TARGET)
pkg_get_variable(LIBMESH_PREFIX ${LIBMESH_PC_FILE} prefix)

View file

@ -0,0 +1,120 @@
# GetVersionFromGit.cmake
# Standalone script to retrieve versioning information from Git or .git_archival.txt.
# Customizable for any project by setting variables before including this file.
# Configurable variables:
# - VERSION_PREFIX: Prefix for version tags (default: "v").
# - VERSION_SUFFIX: Suffix for version tags (default: "[~+-]([a-zA-Z0-9]+)").
# - VERSION_REGEX: Regex to extract version (default: "(?[0-9]+\\.[0-9]+\\.[0-9]+)").
# - ARCHIVAL_FILE: Path to .git_archival.txt (default: "${CMAKE_SOURCE_DIR}/.git_archival.txt").
# - DESCRIBE_NAME_KEY: Key for describe name in .git_archival.txt (default: "describe-name: ").
# - COMMIT_HASH_KEY: Key for commit hash in .git_archival.txt (default: "commit: ").
# Default Format Example:
# 1.2.3 v1.2.3 v1.2.3-rc1
set(VERSION_PREFIX "v" CACHE STRING "Prefix used in version tags")
set(VERSION_SUFFIX "[~+-]([a-zA-Z0-9]+)" CACHE STRING "Suffix used in version tags")
set(VERSION_REGEX "?([0-9]+\\.[0-9]+\\.[0-9]+)" CACHE STRING "Regex for extracting version")
set(ARCHIVAL_FILE "${CMAKE_SOURCE_DIR}/.git_archival.txt" CACHE STRING "Path to .git_archival.txt")
set(DESCRIBE_NAME_KEY "describe-name: " CACHE STRING "Key for describe name in .git_archival.txt")
set(COMMIT_HASH_KEY "commit: " CACHE STRING "Key for commit hash in .git_archival.txt")
# Combine prefix and regex
set(VERSION_REGEX_WITH_PREFIX "^${VERSION_PREFIX}${VERSION_REGEX}")
# Find Git
find_package(Git)
# Attempt to retrieve version from Git
if(EXISTS "${CMAKE_SOURCE_DIR}/.git" AND GIT_FOUND)
message(STATUS "Using git describe for versioning")
# Extract the version string
execute_process(
COMMAND git describe --tags --dirty
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE VERSION_STRING
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
# If no tags are found, set version to 0 and show a warning
if(VERSION_STRING STREQUAL "")
set(VERSION_STRING "0.0.0")
message(WARNING
"No git tags found. Version set to 0.0.0.\n"
"Run 'git fetch --tags' to ensure proper versioning.\n"
"For more information, see OpenMC developer documentation."
)
endif()
# Extract the commit hash
execute_process(
COMMAND git rev-parse HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
)
else()
message(STATUS "Using archival file for versioning: ${ARCHIVAL_FILE}")
if(EXISTS "${ARCHIVAL_FILE}")
file(READ "${ARCHIVAL_FILE}" ARCHIVAL_CONTENT)
# Extract the describe-name line
string(REGEX MATCH "${DESCRIBE_NAME_KEY}([^\\n]+)" VERSION_STRING "${ARCHIVAL_CONTENT}")
if(VERSION_STRING MATCHES "${DESCRIBE_NAME_KEY}(.*)")
set(VERSION_STRING "${CMAKE_MATCH_1}")
else()
message(FATAL_ERROR "Could not extract version from ${ARCHIVAL_FILE}")
endif()
# Extract the commit hash
string(REGEX MATCH "${COMMIT_HASH_KEY}([a-f0-9]+)" COMMIT_HASH "${ARCHIVAL_CONTENT}")
if(COMMIT_HASH MATCHES "${COMMIT_HASH_KEY}([a-f0-9]+)")
set(COMMIT_HASH "${CMAKE_MATCH_1}")
else()
message(FATAL_ERROR "Could not extract commit hash from ${ARCHIVAL_FILE}")
endif()
else()
message(FATAL_ERROR "Neither git describe nor ${ARCHIVAL_FILE} is available for versioning.")
endif()
endif()
# Ensure version string format
if(VERSION_STRING MATCHES "${VERSION_REGEX_WITH_PREFIX}")
set(VERSION_NO_SUFFIX "${CMAKE_MATCH_1}")
else()
message(FATAL_ERROR "Invalid version format: Missing base version in ${VERSION_STRING}")
endif()
# Check for development state
if(VERSION_STRING MATCHES "-([0-9]+)-g([0-9a-f]+)")
set(DEV_STATE "true")
set(COMMIT_COUNT "${CMAKE_MATCH_1}")
string(REGEX REPLACE "-([0-9]+)-g([0-9a-f]+)" "" VERSION_WITHOUT_META "${VERSION_STRING}")
else()
set(DEV_STATE "false")
set(VERSION_WITHOUT_META "${VERSION_STRING}")
endif()
# Split and set version components
string(REPLACE "." ";" VERSION_LIST "${VERSION_NO_SUFFIX}")
list(GET VERSION_LIST 0 VERSION_MAJOR)
list(GET VERSION_LIST 1 VERSION_MINOR)
list(GET VERSION_LIST 2 VERSION_PATCH)
# Increment patch number for dev versions
if(DEV_STATE)
math(EXPR VERSION_PATCH "${VERSION_PATCH} + 1")
endif()
# Export variables
set(OPENMC_VERSION_MAJOR "${VERSION_MAJOR}")
set(OPENMC_VERSION_MINOR "${VERSION_MINOR}")
set(OPENMC_VERSION_PATCH "${VERSION_PATCH}")
set(OPENMC_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}")
set(OPENMC_COMMIT_HASH "${COMMIT_HASH}")
set(OPENMC_DEV_STATE "${DEV_STATE}")
set(OPENMC_COMMIT_COUNT "${COMMIT_COUNT}")

View file

@ -1,21 +1,45 @@
get_filename_component(OpenMC_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" DIRECTORY)
@PACKAGE_INIT@
find_package(fmt REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../fmt)
find_package(gsl-lite REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../gsl-lite)
find_package(pugixml REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../pugixml)
find_package(xtl REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../xtl)
find_package(xtensor REQUIRED HINTS ${OpenMC_CMAKE_DIR}/../xtensor)
if(@DAGMC_FOUND@)
find_package(DAGMC REQUIRED HINTS @DAGMC_DIR@)
include("${CMAKE_CURRENT_LIST_DIR}/OpenMCConfigVersion.cmake")
include(CMakeFindDependencyMacro)
# Explicitly calculate prefix if it was not generated above
if(NOT DEFINED PACKAGE_PREFIX_DIR)
get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../.." ABSOLUTE)
endif()
if(@LIBMESH_FOUND@)
find_dependency(fmt CONFIG REQUIRED HINTS ${PACKAGE_PREFIX_DIR})
find_dependency(pugixml CONFIG REQUIRED HINTS ${PACKAGE_PREFIX_DIR})
if(@OPENMC_USE_DAGMC@)
find_dependency(DAGMC REQUIRED HINTS @DAGMC_DIR@)
endif()
if(@OPENMC_USE_LIBMESH@)
include(FindPkgConfig)
list(APPEND CMAKE_PREFIX_PATH @LIBMESH_PREFIX@)
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH True)
pkg_check_modules(LIBMESH REQUIRED @LIBMESH_PC_FILE@>=1.6.0 IMPORTED_TARGET)
pkg_check_modules(LIBMESH REQUIRED @LIBMESH_PC_FILE@>=1.7.0 IMPORTED_TARGET)
endif()
if(NOT TARGET OpenMC::libopenmc)
include("${OpenMC_CMAKE_DIR}/OpenMCTargets.cmake")
if("@PNG_FOUND@")
find_dependency(PNG)
endif()
if(@OPENMC_USE_MPI@)
find_dependency(MPI REQUIRED)
endif()
if(@OPENMC_USE_OPENMP@)
find_dependency(OpenMP REQUIRED)
endif()
if(@OPENMC_USE_UWUW@ AND NOT ${DAGMC_BUILD_UWUW})
message(FATAL_ERROR "UWUW is enabled in OpenMC but the DAGMC installation discovered was not configured with UWUW.")
endif()
include("${CMAKE_CURRENT_LIST_DIR}/OpenMCTargets.cmake")
if(NOT OpenMC_FIND_QUIETLY)
message(STATUS "Found OpenMC: ${PACKAGE_VERSION} (found in ${PACKAGE_PREFIX_DIR})")
endif()

View file

@ -1,11 +0,0 @@
set(PACKAGE_VERSION "@OPENMC_VERSION@")
# Check whether the requested PACKAGE_FIND_VERSION is compatible
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()

View file

@ -45,6 +45,7 @@ help:
clean:
-rm -rf $(BUILDDIR)/*
-rm -rf source/pythonapi/generated/
-rm -rf doxygen/xml
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html

13
docs/doxygen/Doxyfile Normal file
View file

@ -0,0 +1,13 @@
# Doxyfile 1.9.1
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
# Difference with default Doxyfile 1.9.1
PROJECT_NAME = OpenMC
QUIET = YES
WARN_IF_UNDOCUMENTED = NO
INPUT = ../../include/openmc/capi.h
GENERATE_HTML = NO
GENERATE_LATEX = NO
GENERATE_XML = YES

View file

@ -1,11 +0,0 @@
sphinx-numfig
jupyter
sphinxcontrib-katex
sphinxcontrib-svg2pdfconverter
nbsphinx
numpy
scipy
h5py
pandas
uncertainties
matplotlib

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View file

@ -46,41 +46,29 @@ Type Definitions
Functions
---------
.. c:function:: int openmc_calculate_volumes()
..
Once documentation is complete in capi.h, use:
.. doxygenfile:: capi.h
to populate this documentation without using
.. doxygenfunction::
for every function.
Run a stochastic volume calculation
.. doxygenfunction:: openmc_calculate_volumes
:return: Return status (negative if an error occurred)
:rtype: int
.. doxygenfunction:: openmc_cell_get_fill
.. c:function:: int openmc_cell_get_fill(int32_t index, int* type, int32_t** indices, int32_t* n)
.. doxygenfunction:: openmc_cell_get_id
Get the fill for a cell
.. doxygenfunction:: openmc_cell_get_temperature
.. c:function:: int openmc_cell_get_density(int32_t index, const int32_t* instance, double* density)
Get the density of a cell
:param int32_t index: Index in the cells array
:param int* type: Type of the fill
:param int32_t** indices: Array of material indices for cell
:param int32_t* n: Length of indices array
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_cell_get_id(int32_t index, int32_t* id)
Get the ID of a cell
:param int32_t index: Index in the cells array
:param int32_t* id: ID of the cell
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_cell_get_temperature(int32_t index, const int32_t* instance, double* T)
Get the temperature of a cell
:param int32_t index: Index in the cells array
:param int32_t* instance: Which instance of the cell. If a null pointer is passed, the temperature
of the first instance is returned.
:param double* T: temperature of the cell
:param int32_t* instance: Which instance of the cell. If a null pointer is passed, the density
multiplier of the first instance is returned.
:param double* density: Density of the cell in [g/cm3]
:return: Return status (negative if an error occurred)
:rtype: int
@ -113,8 +101,22 @@ Functions
:param double T: Temperature in Kelvin
:param instance: Which instance of the cell. To set the temperature for all
instances, pass a null pointer.
:param set_contained: If the cell is not filled by a material, whether to set the temperatures
of all filled cells
:param bool set_contained: If the cell is not filled by a material, whether
to set the temperatures of all filled cells
:type instance: const int32_t*
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_cell_set_density(index index, double density, const int32_t* instance, bool set_contained)
Set the density of a cell.
:param int32_t index: Index in the cells array
:param double density: Density of the cell in [g/cm3]
:param instance: Which instance of the cell. To set the density multiplier for all
instances, pass a null pointer.
:param bool set_contained: If the cell is not filled by a material, whether
to set the density multiplier of all filled cells
:type instance: const int32_t*
:return: Return status (negative if an error occurred)
:rtype: int
@ -355,7 +357,7 @@ Functions
Get density of a material.
:param int32_t index: Index in the materials array
:param double* denity: Pointer to a density
:param double* density: Pointer to a density
:return: Return status (negative if an error occurs)
:rtype: int
@ -420,6 +422,16 @@ Functions
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_mesh_filter_get_mesh(int32_t index, int32_t* index_mesh)
Get the mesh for a mesh filter
:param int32_t index: Index in the filters array
:param index_mesh: Index in the meshes array
:type index_mesh: int32_t*
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_mesh_filter_set_mesh(int32_t index, int32_t index_mesh)
Set the mesh for a mesh filter
@ -429,6 +441,98 @@ Functions
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_mesh_filter_get_translation(int32_t index, double translation[3])
Get the 3-D translation coordinates for a mesh filter
:param int32_t index: Index in the filters array
:param double[3] translation: 3-D translation coordinates
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_mesh_filter_set_translation(int32_t index, double translation[3])
Set the 3-D translation coordinates for a mesh filter
:param int32_t index: Index in the filters array
:param double[3] translation: 3-D translation coordinates
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_meshborn_filter_get_mesh(int32_t index, int32_t* index_mesh)
Get the mesh for a meshborn filter
:param int32_t index: Index in the filters array
:param index_mesh: Index in the meshes array
:type index_mesh: int32_t*
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_meshborn_filter_set_mesh(int32_t index, int32_t index_mesh)
Set the mesh for a meshborn filter
:param int32_t index: Index in the filters array
:param int32_t index_mesh: Index in the meshes array
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_meshborn_filter_get_translation(int32_t index, double translation[3])
Get the 3-D translation coordinates for a meshborn filter
:param int32_t index: Index in the filters array
:param double[3] translation: 3-D translation coordinates
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_meshborn_filter_set_translation(int32_t index, double translation[3])
Set the 3-D translation coordinates for a meshborn filter
:param int32_t index: Index in the filters array
:param double[3] translation: 3-D translation coordinates
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_meshsurface_filter_get_mesh(int32_t index, int32_t* index_mesh)
Get the mesh for a mesh surface filter
:param int32_t index: Index in the filters array
:param index_mesh: Index in the meshes array
:type index_mesh: int32_t*
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_meshsurface_filter_set_mesh(int32_t index, int32_t index_mesh)
Set the mesh for a mesh surface filter
:param int32_t index: Index in the filters array
:param int32_t index_mesh: Index in the meshes array
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_meshsurface_filter_get_translation(int32_t index, double translation[3])
Get the 3-D translation coordinates for a mesh surface filter
:param int32_t index: Index in the filters array
:param double[3] translation: 3-D translation coordinates
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_meshsurface_filter_set_translation(int32_t index, double translation[3])
Set the 3-D translation coordinates for a mesh surface filter
:param int32_t index: Index in the filters array
:param double[3] translation: 3-D translation coordinates
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_next_batch()
Simulate next batch of particles. Must be called after openmc_simulation_init().
@ -453,6 +557,279 @@ Functions
:return: Return status (negative if an error occurs)
:rtype: int
.. c:function:: int openmc_get_plot_index(int32_t id, int32_t* index)
Get the index in the plots array for a plot with a given ID.
:param int32_t id: Plot ID
:param int32_t* index: Index in the plots array
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_plot_get_id(int32_t index, int32_t* id)
Get the ID of a plot.
:param int32_t index: Index in the plots array
:param int32_t* id: Plot ID
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_plot_set_id(int32_t index, int32_t id)
Set the ID of a plot.
:param int32_t index: Index in the plots array
:param int32_t id: Plot ID
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: size_t openmc_plots_size()
Number of plots currently allocated.
:return: Number of plots in the plots array
:rtype: size_t
.. c:function:: int openmc_solidraytrace_plot_create(int32_t* index)
Create a new solid raytrace plot.
:param int32_t* index: Index of the newly created plot
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_get_pixels(int32_t index, int32_t* width, int32_t* height)
Get output pixel dimensions for a solid raytrace plot.
:param int32_t index: Index in the plots array
:param int32_t* width: Image width in pixels
:param int32_t* height: Image height in pixels
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_pixels(int32_t index, int32_t width, int32_t height)
Set output pixel dimensions for a solid raytrace plot.
:param int32_t index: Index in the plots array
:param int32_t width: Image width in pixels
:param int32_t height: Image height in pixels
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_get_color_by(int32_t index, int32_t* color_by)
Get the domain type used for coloring (0=materials, 1=cells).
:param int32_t index: Index in the plots array
:param int32_t* color_by: Coloring mode
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_color_by(int32_t index, int32_t color_by)
Set the domain type used for coloring (0=materials, 1=cells).
:param int32_t index: Index in the plots array
:param int32_t color_by: Coloring mode
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_default_colors(int32_t index)
Set default random colors for the current ``color_by`` mode.
:param int32_t index: Index in the plots array
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_all_opaque(int32_t index)
Mark all domains in the current ``color_by`` mode as opaque.
:param int32_t index: Index in the plots array
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_opaque(int32_t index, int32_t id, bool visible)
Set whether a specific domain ID is opaque (visible) in the rendered image.
:param int32_t index: Index in the plots array
:param int32_t id: Cell/material ID (based on ``color_by``)
:param bool visible: Whether the domain is opaque
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_color(int32_t index, int32_t id, uint8_t r, uint8_t g, uint8_t b)
Set RGB color for a specific domain ID.
:param int32_t index: Index in the plots array
:param int32_t id: Cell/material ID (based on ``color_by``)
:param uint8_t r: Red channel
:param uint8_t g: Green channel
:param uint8_t b: Blue channel
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_get_color(int32_t index, int32_t id, uint8_t* r, uint8_t* g, uint8_t* b)
Get RGB color for a specific domain ID.
:param int32_t index: Index in the plots array
:param int32_t id: Cell/material ID (based on ``color_by``)
:param uint8_t* r: Red channel
:param uint8_t* g: Green channel
:param uint8_t* b: Blue channel
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_get_camera_position(int32_t index, double* x, double* y, double* z)
Get camera position.
:param int32_t index: Index in the plots array
:param double* x: X coordinate
:param double* y: Y coordinate
:param double* z: Z coordinate
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_camera_position(int32_t index, double x, double y, double z)
Set camera position.
:param int32_t index: Index in the plots array
:param double x: X coordinate
:param double y: Y coordinate
:param double z: Z coordinate
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_get_look_at(int32_t index, double* x, double* y, double* z)
Get camera target point.
:param int32_t index: Index in the plots array
:param double* x: X coordinate
:param double* y: Y coordinate
:param double* z: Z coordinate
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_look_at(int32_t index, double x, double y, double z)
Set camera target point.
:param int32_t index: Index in the plots array
:param double x: X coordinate
:param double y: Y coordinate
:param double z: Z coordinate
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_get_up(int32_t index, double* x, double* y, double* z)
Get the camera up vector.
:param int32_t index: Index in the plots array
:param double* x: X component
:param double* y: Y component
:param double* z: Z component
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_up(int32_t index, double x, double y, double z)
Set the camera up vector.
:param int32_t index: Index in the plots array
:param double x: X component
:param double y: Y component
:param double z: Z component
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_get_light_position(int32_t index, double* x, double* y, double* z)
Get light source position.
:param int32_t index: Index in the plots array
:param double* x: X coordinate
:param double* y: Y coordinate
:param double* z: Z coordinate
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_light_position(int32_t index, double x, double y, double z)
Set light source position.
:param int32_t index: Index in the plots array
:param double x: X coordinate
:param double y: Y coordinate
:param double z: Z coordinate
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_get_fov(int32_t index, double* fov)
Get horizontal field of view in degrees.
:param int32_t index: Index in the plots array
:param double* fov: Field of view in degrees
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_fov(int32_t index, double fov)
Set horizontal field of view in degrees.
:param int32_t index: Index in the plots array
:param double fov: Field of view in degrees
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_get_diffuse_fraction(int32_t index, double* diffuse_fraction)
Get diffuse-light fraction.
:param int32_t index: Index in the plots array
:param double* diffuse_fraction: Diffuse fraction in [0, 1]
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_set_diffuse_fraction(int32_t index, double diffuse_fraction)
Set diffuse-light fraction.
:param int32_t index: Index in the plots array
:param double diffuse_fraction: Diffuse fraction in [0, 1]
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_update_view(int32_t index)
Recompute internal camera/view transforms after camera changes.
:param int32_t index: Index in the plots array
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_solidraytrace_plot_create_image(int32_t index, uint8_t* data_out, int32_t width, int32_t height)
Render the plot to an RGB image buffer.
:param int32_t index: Index in the plots array
:param uint8_t* data_out: Output buffer of shape ``height*width*3``
:param int32_t width: Image width in pixels
:param int32_t height: Image height in pixels
:return: Return status (negative if an error occurred)
:rtype: int
.. c:function:: int openmc_reset()
Resets all tally scores
@ -460,6 +837,13 @@ Functions
:return: Return status (negative if an error occurs)
:rtype: int
.. c:function:: int openmc_remove_tally(int32_t index);
Given an index of a tally, remove it from the tallies array
:param int index: Index in tallies array
:return: Return status (negative if an error occurs)
:rtype: int
.. c:function:: int openmc_run()
Run a simulation
@ -467,6 +851,10 @@ Functions
:return: Return status (negative if an error occurs)
:rtype: int
.. c:function:: void openmc_run_random_ray()
Run a random ray simulation
.. c:function:: int openmc_set_n_batches(int32_t n_batches, bool set_max_batches, bool add_statepoint_batch)
Set number of batches and number of max batches

View file

@ -11,7 +11,10 @@
# All configuration values have a default; values that are commented out
# serve to show the default.
import sys, os
import os
from pathlib import Path
import subprocess
import sys
# Determine if we're on Read the Docs server
on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
@ -37,6 +40,7 @@ sys.path.insert(0, os.path.abspath('../..'))
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
'breathe',
'sphinx.ext.autodoc',
'sphinx.ext.napoleon',
'sphinx.ext.autosummary',
@ -44,16 +48,17 @@ extensions = [
'sphinx.ext.viewcode',
'sphinxcontrib.katex',
'sphinx_numfig',
'nbsphinx'
]
if not on_rtd:
extensions.append('sphinxcontrib.rsvgconverter')
doxygen_dir = Path(__file__).parents[1] / 'doxygen'
subprocess.run(['doxygen'], cwd=doxygen_dir, check=True)
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
source_suffix = {'.rst': 'restructuredtext'}
# The encoding of source files.
#source_encoding = 'utf-8'
@ -63,16 +68,17 @@ master_doc = 'index'
# General information about the project.
project = 'OpenMC'
copyright = '2011-2021, Massachusetts Institute of Technology and OpenMC contributors'
copyright = '2011-2026, Massachusetts Institute of Technology, UChicago Argonne LLC, and OpenMC contributors'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = "0.12"
import openmc
# The full version, including alpha/beta/rc tags.
release = "0.12.2"
version = release = openmc.__version__
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@ -117,14 +123,17 @@ pygments_style = 'tango'
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# -- Options breathe + doxygen -------------------------------------------------
breathe_projects = {"OpenMC": "../doxygen/xml"}
breathe_default_project = "OpenMC"
breathe_domain_by_file_pattern = {"*capi.h": "c"}
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages
if not on_rtd:
import sphinx_rtd_theme
html_theme = 'sphinx_rtd_theme'
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
html_theme = 'sphinx_rtd_theme'
html_baseurl = "https://docs.openmc.org/en/stable/"
html_logo = '_images/openmc_logo.png'
@ -138,7 +147,7 @@ html_title = "OpenMC Documentation"
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
html_favicon = 'favicon.ico'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
@ -216,6 +225,7 @@ latex_elements = {
\setcounter{tocdepth}{2}
\numberwithin{equation}{section}
\DeclareUnicodeCharacter{03B1}{$\alpha$}
\DeclareUnicodeCharacter{03C0}{$\pi$}
""",
'printindex': r""
}
@ -247,7 +257,7 @@ napoleon_use_ivar = True
intersphinx_mapping = {
'python': ('https://docs.python.org/3', None),
'numpy': ('https://numpy.org/doc/stable/', None),
'scipy': ('https://docs.scipy.org/doc/scipy/reference', None),
'scipy': ('https://docs.scipy.org/doc/scipy/', None),
'pandas': ('https://pandas.pydata.org/pandas-docs/stable/', None),
'matplotlib': ('https://matplotlib.org/', None)
'matplotlib': ('https://matplotlib.org/stable/', None)
}

View file

@ -0,0 +1,104 @@
.. _devguide_agentic_tools:
===========================
Agentic Development Tools
===========================
OpenMC ships a set of tools designed for AI coding agents (such as
`Claude Code`_) that agents can use to navigate and understand the codebase.
.. _Claude Code: https://claude.ai/code
Motivation
----------
Agentic tools like Claude Code are skilled at using grep to navigate and
understand large code bases. However, grep can only find exact text matches —
it cannot discover code that is *conceptually* related but uses different
naming. Without a "global view" of the codebase that a human developer will
build up over time, the agent is generally blind to any file it hasn't
tokenized fully. While it can grep to see who else calls a function, it
remains blind if other areas might be related but not share identical naming
conventions.
This problem is mitigated somewhat by using a model with a longer context
window. OpenMC has somewhere around ~1 million tokens of C++ and ~1 million
tokens of python. While Claude Code in early 2026 only has a context window
of 200k tokens, beta versions have extended context windows of 1M tokens,
and it's not unreasonable to assume that models may be available in the near
future that greatly exceed these limits.
However, even assuming the entire repository can be fit within a context
window, there are several downsides to doing this.
`Model performance degrades significantly as context size increases`_.
Benchmark results are
greatly improved if the model has less garbage to pick through. Additionally, API usage
is typically billed as tokens in/out per turn. As the context file
grows these costs become much larger. As such, there is still significant
motivation to solving the above problem, so as to ensure only relevant
information is drawn into context so as to maximize model performance and
minimize costs.
Setup
-----
The tools are registered as an `MCP (Model Context Protocol)`_ server in
``.mcp.json`` at the repository root. AI agents that support MCP (such as
Claude Code) discover them automatically on session start. The underlying
Python scripts can also be run directly from the command line.
All tools run entirely locally — no API keys or external service accounts are
required. Python dependencies are installed automatically into an isolated
virtual environment at ``.claude/cache/.venv/`` on first use.
.. _Model performance degrades significantly as context size increases: https://www.anthropic.com/news/claude-opus-4-6
.. _MCP (Model Context Protocol): https://modelcontextprotocol.io
RAG Semantic Search
-------------------
The RAG (Retrieval-Augmented Generation) semantic search addresses this
problem — it finds code by meaning, not just text match, surfacing related code
across subsystems that ``grep`` would miss entirely. Two MCP tools are provided:
- **openmc_rag_search** — Given a natural-language query, returns the most
relevant code chunks with file paths, line numbers, and a preview. Can search
code, documentation, or both. Can also find code related to a given file.
- **openmc_rag_rebuild** — Rebuilds the search index. Should be called after
pulling new code or switching branches.
How it works
^^^^^^^^^^^^
The search pipeline runs entirely on your local CPU:
1. **Chunking.** All C++, Python, and RST files are split into overlapping
fixed-size windows (~1000 characters, 25% overlap). This ensures every line
of code appears in at least one chunk and most lines appear in two.
2. **Embedding.** Each chunk is embedded into a 384-dimensional vector using
the `all-MiniLM-L6-v2`_ sentence-transformer model (22 million parameters).
This model runs on CPU with no GPU required. No API key is needed — the
model weights are downloaded once from Hugging Face and cached locally.
3. **Indexing.** The vectors are stored in a local LanceDB_ database on disk.
Building the full index takes approximately 5 minutes on a machine with
10 CPU cores. The index is stored in ``.claude/cache/rag_index/`` and
persists across sessions.
4. **Searching.** Your query is embedded using the same model, and the closest
chunks are retrieved by vector similarity. Results include the file path,
line range, file type, similarity distance, and a text preview.
.. _all-MiniLM-L6-v2: https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2
.. _LanceDB: https://lancedb.com
Requirements
^^^^^^^^^^^^
No system dependencies beyond **Python 3.12+** with ``pip``. An internet
connection is required on first use to download the Python packages and
embedding model weights; subsequent runs are fully offline. The Python packages
(``sentence-transformers``, ``lancedb``) and their dependencies (including
PyTorch, ~2GB) are installed automatically into an isolated virtual environment
on first use.

View file

@ -109,9 +109,10 @@ Leadership Team
The TC consists of the following individuals:
- `Paul Romano <https://github.com/paulromano>`_
- `Sterling Harper <https://github.com/smharper>`_
- `Patrick Shriwise <https://github.com/pshriwise>`_
- `Adam Nelson <https://github.com/nelsonag>`_
- `Benoit Forget <https://github.com/bforget>`_
- `Jonathan Shimwell <https://github.com/shimwell>`_
- `John Tramm <https://github.com/jtramm>`_
The Project Lead is Paul Romano.

View file

@ -5,21 +5,19 @@ Building Sphinx Documentation
=============================
In order to build the documentation in the ``docs`` directory, you will need to
have the `Sphinx <https://www.sphinx-doc.org/en/master/>`_ third-party Python
package. The easiest way to install Sphinx is via pip:
have the several third-party Python packages installed, including `Sphinx
<https://www.sphinx-doc.org/en/master/>`_. To install the necessary
prerequisites, provide the optional "docs" dependencies when installing OpenMC's
Python API. That is, from the root directory of the OpenMC repository:
.. code-block:: sh
pip install sphinx
python -m pip install ".[docs]"
Additionally, you will need several Sphinx extensions that can be installed
directly with pip:
.. code-block:: sh
pip install sphinx-numfig
pip install sphinxcontrib-katex
pip install sphinxcontrib-svg2pdfconverter
The OpenMC documentation also uses Doxygen to automatically generate its
C/C++ API documentation directly from the docstrings available in the source
code. You will need to have a working installation of Doxygen to generate the
documentation locally.
-----------------------------------
Building Documentation as a Webpage

View file

@ -45,12 +45,11 @@ Now you can run the following to create a `Docker container`_ called
This command will open an interactive shell running from within the
Docker container where you have access to use OpenMC.
.. note:: The ``docker run`` command supports many
`options <https://docs.docker.com/engine/reference/commandline/run/>`_
.. note:: The ``docker run`` command supports many options_
for spawning containers -- including `mounting volumes`_ from the
host filesystem -- which many users will find useful.
.. _Docker image: https://docs.docker.com/engine/reference/commandline/images/
.. _Docker image: https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-an-image/
.. _Docker container: https://www.docker.com/resources/what-container
.. _options: https://docs.docker.com/engine/reference/commandline/run/
.. _mounting volumes: https://docs.docker.com/storage/volumes/
.. _options: https://docs.docker.com/reference/cli/docker/container/run/
.. _mounting volumes: https://docs.docker.com/engine/storage/volumes/

View file

@ -14,7 +14,9 @@ other related topics.
contributing
workflow
agentic-tools
styleguide
policies
tests
user-input
docbuild

View file

@ -0,0 +1,35 @@
.. _devguide_policies:
========
Policies
========
---------------------
Python Version Policy
---------------------
OpenMC follows the Scientific Python Ecosystem Coordination guidelines `SPEC 0
<https://scientific-python.org/specs/spec-0000/>`_ on minimum supported
versions, which recommends that support for Python versions be dropped 3 years
after their initial release.
-------------------
C++ Standard Policy
-------------------
C++ code in OpenMC must conform to the most recent C++ standard that is fully
supported in the `version of the gcc compiler
<https://gcc.gnu.org/projects/cxx-status.html>`_ that is distributed with the
oldest version of Ubuntu that is still within its `standard support period
<https://ubuntu.com/about/release-cycle>`_. Ubuntu 22.04 LTS will be supported
through April 2027 and is distributed with gcc 11.4.0, which fully supports the
C++17 standard.
--------------------
CMake Version Policy
--------------------
Similar to the C++ standard policy, the minimum supported version of CMake
corresponds to whatever version is distributed with the oldest version of Ubuntu
still within its standard support period. Ubuntu 22.04 LTS is distributed with
CMake 3.22.

View file

@ -12,18 +12,26 @@ adding new code in OpenMC.
C++
---
.. important:: To ensure consistent styling with little effort, this project
uses `clang-format <https://clang.llvm.org/docs/ClangFormat.html>`_. The
repository contains a ``.clang-format`` file that can be used to
automatically apply the style rules that are described below. The easiest
way to use clang-format is through a plugin/extension for your editor/IDE
that automatically runs clang-format using the ``.clang-format`` file
whenever a file is saved.
.. _styleguide_formatting:
Indentation
-----------
Automatic Formatting
--------------------
Use two spaces per indentation level.
To ensure consistent styling with little effort, this project uses `clang-format
<https://clang.llvm.org/docs/ClangFormat.html>`_. The repository contains a
``.clang-format`` file that can be used to automatically apply a consistent
format. The easiest way to use clang-format is to run
``tools/dev/install-commit-hooks.sh`` to install a post-commit hook that gets
executed each time a commit is made. Note that this script requires that you
already have clang-format installed. In addition, you may want to configure your
editor/IDE to automatically runs clang-format using the ``.clang-format`` file
whenever a file is saved. For example, `Visual Studio Code
<https://code.visualstudio.com/docs/cpp/cpp-ide#_code-formatting>`_ includes
support for running clang-format.
.. note::
OpenMC's CI uses `clang-format` version 18. A different version of `clang-format`
may produce different line changes and as a result fail the CI test.
Miscellaneous
-------------
@ -32,14 +40,15 @@ Follow the `C++ Core Guidelines`_ except when they conflict with another
guideline listed here. For convenience, many important guidelines from that
list are repeated here.
Conform to the C++14 standard.
Conform to the C++17 standard.
Always use C++-style comments (``//``) as opposed to C-style (``/**/``). (It
is more difficult to comment out a large section of code that uses C-style
comments.)
Do not use C-style casting. Always use the C++-style casts ``static_cast``,
``const_cast``, or ``reinterpret_cast``. (See `ES.49 <http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es49-if-you-must-use-a-cast-use-a-named-cast>`_)
``const_cast``, or ``reinterpret_cast``. (See `ES.49
<https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es49-if-you-must-use-a-cast-use-a-named-cast>`_)
Source Files
------------
@ -47,7 +56,7 @@ Source Files
Use a ``.cpp`` suffix for code files and ``.h`` for header files.
Header files should always use include guards with the following style (See
`SF.8 <http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#sf8-use-include-guards-for-all-h-files>`_):
`SF.8 <https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-guards>`_):
.. code-block:: C++
@ -123,94 +132,6 @@ Variables declared constexpr or const that have static storage duration (exist
for the duration of the program) should be upper-case with underscores,
e.g., ``SQRT_PI``.
Use C++-style declarator layout (see `NL.18
<http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#nl18-use-c-style-declarator-layout>`_):
pointer and reference operators in declarations should be placed adject to the
base type rather than the variable name. Avoid declaring multiple names in a
single declaration to avoid confusion:
.. code-block:: C++
T* p; // good
T& p; // good
T *p; // bad
T* p, q; // misleading
Curly braces
------------
For a class declaration, the opening brace should be on the same line that
lists the name of the class.
.. code-block:: C++
class Matrix {
...
};
For a function definition, the opening and closing braces should each be on
their own lines. This helps distinguish function code from the argument list.
If the entire function fits on one or two lines, then the braces can be on the
same line. e.g.:
.. code-block:: C++
return_type function(type1 arg1, type2 arg2)
{
content();
}
return_type
function_with_many_args(type1 arg1, type2 arg2, type3 arg3,
type4 arg4)
{
content();
}
int return_one() {return 1;}
int return_one()
{return 1;}
For a conditional, the opening brace should be on the same line as the end of
the conditional statement. If there is a following ``else if`` or ``else``
statement, the closing brace should be on the same line as that following
statement. Otherwise, the closing brace should be on its own line. A one-line
conditional can have the closing brace on the same line or it can omit the
braces entirely e.g.:
.. code-block:: C++
if (condition) {
content();
}
if (condition1) {
content();
} else if (condition 2) {
more_content();
} else {
further_content();
}
if (condition) {content()};
if (condition) content();
For loops similarly have an opening brace on the same line as the statement and
a closing brace on its own line. One-line loops may have the closing brace on
the same line or omit the braces entirely.
.. code-block:: C++
for (int i = 0; i < 5; i++) {
content();
}
for (int i = 0; i < 5; i++) {content();}
for (int i = 0; i < 5; i++) content();
Documentation
-------------
@ -226,7 +147,7 @@ Style for Python code should follow PEP8_.
Docstrings for functions and methods should follow numpydoc_ style.
Python code should work with Python 3.4+.
Python code should work with Python 3.8+.
Use of third-party Python packages should be limited to numpy_, scipy_,
matplotlib_, pandas_, and h5py_. Use of other third-party packages must be
@ -236,11 +157,11 @@ Prefer pathlib_ when working with filesystem paths over functions in the os_
module or other standard-library modules. Functions that accept arguments that
represent a filesystem path should work with both strings and Path_ objects.
.. _C++ Core Guidelines: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
.. _PEP8: https://www.python.org/dev/peps/pep-0008/
.. _C++ Core Guidelines: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
.. _PEP8: https://peps.python.org/pep-0008/
.. _numpydoc: https://numpydoc.readthedocs.io/en/latest/format.html
.. _numpy: https://numpy.org/
.. _scipy: https://www.scipy.org/
.. _scipy: https://scipy.org/
.. _matplotlib: https://matplotlib.org/
.. _pandas: https://pandas.pydata.org/
.. _h5py: https://www.h5py.org/

View file

@ -23,25 +23,28 @@ Prerequisites
OpenMC in development/editable mode. With setuptools, this is accomplished by
running::
python setup.py develop
or using pip (recommended)::
pip install -e .[test]
python -m pip install -e .[test]
- The test suite requires a specific set of cross section data in order for
tests to pass. A download URL for the data that OpenMC expects can be found
within ``tools/ci/download-xs.sh``.
within ``tools/ci/download-xs.sh``. Once the tarball is downloaded and
unpacked, set the :envvar:`OPENMC_CROSS_SECTIONS` environment variable to the
path of the ``cross_sections.xml`` file within the unpacked data.
- In addition to the HDF5 data, some tests rely on ENDF files. A download URL
for those can also be found in ``tools/ci/download-xs.sh``.
for those can also be found in ``tools/ci/download-xs.sh``. Once the tarball
is downloaded and unpacked, set the :envvar:`OPENMC_ENDF_DATA` environment
variable to the top-level directory of the unpacked tarball.
- Some tests require `NJOY <https://www.njoy21.io/NJOY2016>`_ to preprocess
cross section data. The test suite assumes that you have an ``njoy``
executable available on your :envvar:`PATH`.
- OpenMC should be compiled with ``-DOPENMC_ENABLE_STRICT_FP=on`` to ensure
reproducible floating-point results across platforms and optimization levels.
Without this flag, regression tests may not match reference values.
Running Tests
-------------
To execute the test suite, go to the ``tests/`` directory and run::
To execute the Python test suite, go to the ``tests/`` directory and run::
pytest
@ -51,6 +54,65 @@ installed and run::
pytest --cov=../openmc --cov-report=html
To execute the C++ test suite, go to your build directory and run::
ctest
If you want to view testing output on failure run::
ctest --output-on-failure
Possible Reasons for Test Failures
----------------------------------
You may find that when you run the test suite, not everything passes. First,
make sure you have satisfied all the prerequisites above. After you have done
that, consider the following:
- When building OpenMC, make sure you run CMake with
``-DOPENMC_ENABLE_STRICT_FP=on``. This prevents the compiler from applying
floating-point optimizations (such as replacing math library calls with
builtins or contracting multiply-add into FMA instructions) that can produce
bit-level differences across platforms and optimization levels. Any
``CMAKE_BUILD_TYPE`` can be used.
- Because tallies involve the sum of many floating point numbers, the
non-associativity of floating point numbers can result in different answers
especially when the number of threads is high (different order of operations).
Thus, if you are running on a CPU with many cores, you may need to limit the
number of OpenMP threads used. It is recommended to set the
:envvar:`OMP_NUM_THREADS` environment variable to 2.
- Recent versions of NumPy use instruction dispatch that may generate different
results depending the particular ISA that you are running on. To avoid issues,
you may need to disable AVX512 instructions. This can be done by setting the
:envvar:`NPY_DISABLE_CPU_FEATURES` environment variable to "AVX512F
AVX512_SKX". When NumPy/SciPy are built against OpenBLAS, you may also need to
limit the number of threads that OpenBLAS uses internally; this can be done by
setting the :envvar:`OPENBLAS_NUM_THREADS` environment variable to 1.
Debugging Tests in CI
---------------------
Tests can be debugged in CI using a feature called
`tmate <https://github.com/mxschmitt/action-tmate?tab=readme-ov-file#debug-your-github-actions-by-using-tmate>`_.
CI debugging can be
enabled by including "[gha-debug]" in the commit message. When the test fails, a
link similar to the one shown below will be provided in the GitHub Actions
output after failure occurs. Logging into the provided link will allow you to
debug the test in the CI environment. The following is an example of the output
shown in the CI log that provides the link to the tmate session:
.. code-block:: text
:linenos:
Created new session successfully
ssh 2VcykjU7vNdvAzEjQcc839GM2@nyc1.tmate.io
https://tmate.io/t/2VcykjU7vNdvAzEjQcc839GM2
Entering main loop
Web shell: https://tmate.io/t/2VcykjU7vNdvAzEjQcc839GM2
SSH: ssh 2VcykjU7vNdvAzEjQcc839GM2@nyc1.tmate.io
...
Generating XML Inputs
---------------------
@ -62,6 +124,23 @@ run::
pytest --build-inputs <name-of-test>
Adding C++ Unit Tests
---------------------
The C++ test suite uses Catch2 integrated with CTest. Each header file should
have a corresponding test file in ``tests/cpp_unit_tests/``. If the test file
does not exist run::
touch test_<name-of-header-file>.cpp
The file must be added to the CMake build system in
``tests/cpp_unit_tests/CMakeLists.txt``. ``test_<name-of-header-file>`` should
be added to ``TEST_NAMES``.
To add a test case to ``test_<name-of-header-file>.cpp`` ensure
``catch2/catch_test_macros.hpp`` is included. A unit test can then be added
using the ``TEST_CASE`` macro and the ``REQUIRE`` assertion from Catch2.
Adding Tests to the Regression Suite
------------------------------------
@ -84,6 +163,12 @@ following files to your new test directory:
compiler options during openmc configuration and build (e.g., no MPI, no
debug/optimization).
For tests using the Python API, both the **inputs_true.dat** and
**results_true.dat** files can be generated automatically in the correct format
via::
pytest --update <name-of-test>
In addition to this description, please see the various types of tests that are
already included in the test suite to see how to create them. If all is
implemented correctly, the new test will automatically be discovered by pytest.

View file

@ -49,23 +49,12 @@ following steps should be followed to make changes to user input:
written out to the statepoint or summary files and that the
:class:`openmc.StatePoint` and :class:`openmc.Summary` classes read them in.
7. Finally, a set of `RELAX NG`_ schemas exists that enables validation of input
files. You should modify the RELAX NG schema for the file you changed. The
easiest way to do this is to change the `compact syntax`_ file
(e.g. ``src/relaxng/geometry.rnc``) and then convert it to regular XML syntax
using trang_::
trang geometry.rnc geometry.rng
For most user input additions and changes, it is simple enough to follow a
"monkey see, monkey do" approach. When in doubt, contact your nearest OpenMC
developer or send a message to the `developers mailing list`_.
.. _property attribute: https://docs.python.org/3.6/library/functions.html#property
.. _XML Schema Part 2: http://www.w3.org/TR/xmlschema-2/
.. _boolean: http://www.w3.org/TR/xmlschema-2/#boolean
.. _RELAX NG: https://relaxng.org/
.. _compact syntax: https://relaxng.org/compact-tutorial-20030326.html
.. _trang: https://relaxng.org/jclark/trang.html
.. _XML Schema Part 2: https://www.w3.org/TR/xmlschema-2/
.. _boolean: https://www.w3.org/TR/xmlschema-2/#boolean
.. _developers mailing list: https://groups.google.com/forum/?fromgroups=#!forum/openmc-dev

View file

@ -4,7 +4,7 @@
Development Workflow
====================
Anyone wishing to make contributions to OpenMC should be fully acquianted and
Anyone wishing to make contributions to OpenMC should be fully acquainted and
comfortable working with git_ and GitHub_. We assume here that you have git
installed on your system, have a GitHub account, and have setup SSH keys to be
able to create/push to repositories on GitHub.
@ -67,6 +67,12 @@ features and bug fixes. The general steps for contributing are as follows:
cd openmc
git checkout -b newbranch develop
3. Run ``tools/dev/install-commit-hooks.sh`` to install a post-commit hook that
runs clang-format on C++ files to apply :ref:`automatic code formatting
<styleguide_formatting>` (requires that clang-format already be installed).
In addition, you may want to configure your text editor to automatically run
clang-format when saving C++ files.
3. Make your changes on the new branch that you intend to have included in
*develop*. If you have made other changes that should not be merged back,
ensure that those changes are made on a different branch.
@ -75,7 +81,7 @@ features and bug fixes. The general steps for contributing are as follows:
openmc-dev/openmc as the target.
At a minimum, you should describe what the changes you've made are and why
you are making them. If the changes are related to an oustanding issue, make
you are making them. If the changes are related to an outstanding issue, make
sure it is cross-referenced.
5. A committer will review your pull request based on the criteria
@ -85,6 +91,30 @@ features and bug fixes. The general steps for contributing are as follows:
6. After the pull request has been thoroughly vetted, it is merged back into the
*develop* branch of openmc-dev/openmc.
Setting Up Upstream Tracking (Required for Versioning)
------------------------------------------------------
By default, your fork **does not** include tags from the upstream OpenMC repository.
OpenMC relies on `git describe --tags` for versioning in source builds, and missing tags can lead
to incorrect version detection (i.e., ``0.0.0``). To ensure proper versioning, follow these steps:
1. **Add the Upstream Repository**
This allows you to fetch updates from the main OpenMC repository.
.. code-block:: sh
git remote add upstream https://github.com/openmc-dev/openmc.git
2. **Fetch and Push Tags**
Retrieve tags from the upstream repository and update your fork:
.. code-block:: sh
git fetch --tags upstream
git push --tags origin
This ensures that both your **local** and **remote** fork have the correct versioning information.
Private Development
-------------------
@ -110,20 +140,20 @@ pip_. From the root directory of the OpenMC repository, run:
.. code-block:: sh
pip install -e .[test]
python -m pip install -e .[test]
This installs the OpenMC Python package in `"editable" mode
<https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs>`_ so
that 1) it can be imported from a Python interpreter and 2) any changes made are
<https://pip.pypa.io/en/stable/cli/pip_install/#editable-installs>`_ so that 1)
it can be imported from a Python interpreter and 2) any changes made are
immediately reflected in the installed version (that is, you don't need to keep
reinstalling it). While the same effect can be achieved using the
:envvar:`PYTHONPATH` environment variable, this is generally discouraged as it
can interfere with virtual environments.
.. _git: http://git-scm.com/
.. _git: https://git-scm.com/
.. _GitHub: https://github.com/
.. _git flow: https://nvie.com/git-model
.. _valgrind: https://www.valgrind.org/
.. _valgrind: https://valgrind.org/
.. _style guide: https://docs.openmc.org/en/latest/devguide/styleguide.html
.. _pull request: https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests
.. _openmc-dev/openmc: https://github.com/openmc-dev/openmc

View file

@ -1 +0,0 @@
../../../examples/jupyter/cad-based-geometry.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/candu.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/capi.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/expansion-filters.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/hexagonal-lattice.ipynb

View file

@ -1,73 +0,0 @@
.. _examples:
========
Examples
========
The following series of `Jupyter <https://jupyter.org/>`_ Notebooks provide
examples for how to use various features of OpenMC by leveraging the
:ref:`pythonapi`.
-------------
General Usage
-------------
.. toctree::
:maxdepth: 1
pincell
post-processing
pandas-dataframes
tally-arithmetic
capi
expansion-filters
search
nuclear-data
nuclear-data-resonance-covariance
pincell_depletion
--------
Geometry
--------
.. toctree::
:maxdepth: 1
hexagonal-lattice
triso
candu
cad-based-geometry
-----------------------------------
Multigroup Cross Section Generation
-----------------------------------
.. toctree::
:maxdepth: 1
mgxs-part-i
mgxs-part-ii
mgxs-part-iii
mdgxs-part-i
mdgxs-part-ii
---------------
Multigroup Mode
---------------
.. toctree::
:maxdepth: 1
mg-mode-part-i
mg-mode-part-ii
mg-mode-part-iii
-----------------
Unstructured Mesh
-----------------
.. toctree::
:maxdepth: 1
unstructured-mesh-part-i
unstructured-mesh-part-ii

View file

@ -1 +0,0 @@
../../../examples/jupyter/mdgxs-part-i.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/mdgxs-part-ii.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/mg-mode-part-i.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/mg-mode-part-ii.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/mg-mode-part-iii.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/mgxs-part-i.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/mgxs-part-ii.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/mgxs-part-iii.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/nuclear-data-resonance-covariance.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/nuclear-data.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/pandas-dataframes.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/pincell.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/pincell_depletion.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/post-processing.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/search.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/tally-arithmetic.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/triso.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/unstructured-mesh-part-i.ipynb

View file

@ -1 +0,0 @@
../../../examples/jupyter/unstructured-mesh-part-ii.ipynb

BIN
docs/source/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -12,7 +12,7 @@ files produced by NJOY. Parallelism is enabled via a hybrid MPI and OpenMP
programming model.
OpenMC was originally developed by members of the `Computational Reactor Physics
Group <http://crpg.mit.edu>`_ at the `Massachusetts Institute of Technology
Group <https://crpg.mit.edu>`_ at the `Massachusetts Institute of Technology
<https://web.mit.edu>`_ starting in 2011. Various universities, laboratories,
and other organizations now contribute to the development of OpenMC. For more
information on OpenMC, feel free to post a message on the `OpenMC Discourse
@ -36,7 +36,7 @@ Forum <https://openmc.discourse.group/>`_.
:maxdepth: 1
quickinstall
examples/index
Examples <https://github.com/openmc-dev/openmc/wiki/Example-Jupyter-Notebooks>
releasenotes/index
methods/index
usersguide/index

Some files were not shown because too many files have changed in this diff Show more