Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
213 commits
Select commit Hold shift + click to select a range
0725f5f
refactor simulation.py
ilhamv Jul 9, 2026
d5649f6
refactor simulation.py
ilhamv Jul 9, 2026
69965f7
improve hints
ilhamv Jul 9, 2026
49dcd70
set overall simulation object
ilhamv Jul 13, 2026
1f7f796
remove objectSingleton
ilhamv Jul 13, 2026
7bee17e
Update object base
ilhamv Jul 13, 2026
d4bbdcf
Update object base
ilhamv Jul 13, 2026
dc61e05
update object base
ilhamv Jul 13, 2026
2f016da
update object base
ilhamv Jul 13, 2026
812912a
update Data objects
ilhamv Jul 13, 2026
2143e53
update simulation
ilhamv Jul 13, 2026
707758c
update distribution
ilhamv Jul 13, 2026
aae2cd0
rename stale workflow
ilhamv Jul 16, 2026
0447095
use shared organization workflow
ilhamv Jul 16, 2026
94eccde
Merge pull request #476 from ilhamv/dev
ilhamv Jul 16, 2026
c478f5c
update material, particle, settings, simulation, universe
ilhamv Jul 18, 2026
5ce8f88
update cell, material, mesh, source, surface
ilhamv Jul 18, 2026
c01eaa5
update tally
ilhamv Jul 18, 2026
f3c1673
wip
ilhamv Jul 19, 2026
a09a8cd
add object compilation
ilhamv Jul 20, 2026
0e18649
Moved regression tests to pytest
massimolarsen Jul 1, 2026
f5aef48
update settings
ilhamv Jul 21, 2026
86dd3f5
update objects
ilhamv Jul 21, 2026
f1a7660
update objects
ilhamv Jul 22, 2026
69f9c24
update objects
ilhamv Jul 22, 2026
5e8bc8c
running
ilhamv Jul 22, 2026
991b77e
edit input
ilhamv Jul 22, 2026
c608c20
fix bug
ilhamv Jul 22, 2026
cc48f04
fix tally filter bug
ilhamv Jul 22, 2026
83020b9
relabel mesh_base consistently
ilhamv Jul 22, 2026
980f831
working numba object generator
ilhamv Jul 25, 2026
519d55d
add verbose option in pytest workflow
ilhamv Jul 25, 2026
3f6e508
add verbose option in pytest workflow
ilhamv Jul 25, 2026
c788a90
Merge pull request #488 from massimolarsen/feature/regression-pytest
ilhamv Jul 25, 2026
dd1d332
Update IDing
ilhamv Jul 26, 2026
e521059
reconfigure polymorphic base flagging
ilhamv Jul 26, 2026
029e89c
reorganize data evaluation call
ilhamv Jul 26, 2026
3e8d5a7
rename data_base
ilhamv Jul 26, 2026
b7f006b
update object base/sub inconsistency
ilhamv Jul 26, 2026
479be9a
update object base/sub inconsistency
ilhamv Jul 26, 2026
6be601c
update object base/sub inconsistency
ilhamv Jul 26, 2026
d1e7274
update object base/sub inconsistency
ilhamv Jul 26, 2026
a601cc2
update sub/base IDing
ilhamv Jul 27, 2026
021326c
debug for numba mode
ilhamv Jul 27, 2026
168ad1f
update docs
ilhamv Jul 27, 2026
ba3800e
update regtest
ilhamv Jul 27, 2026
7dfb5b2
update recombine tally
ilhamv Jul 27, 2026
15b4fd1
update k-mode output
ilhamv Jul 27, 2026
2078fbd
fix complement region bug
ilhamv Jul 27, 2026
b8d0f5f
fix material/nuclide/element compilation
ilhamv Jul 27, 2026
8bf59b4
update lattice
ilhamv Jul 27, 2026
de337cc
update unit tests
ilhamv Jul 27, 2026
b842853
fix bug on source. update docstring
ilhamv Jul 27, 2026
405d53e
rearrange functions
ilhamv Jul 27, 2026
abd6fc7
Fix all-groups tally bin allocation for multigroup simulations
ilhamv Jul 27, 2026
56770c1
Merge branch 'dev' into encapsulation
ilhamv Jul 27, 2026
ae608ed
update changelog
ilhamv Jul 27, 2026
aa8f654
Python 3.10 compatibile f strings
ilhamv Jul 27, 2026
4386906
fix bug in getting inelastic scattering multiplicity
ilhamv Jul 27, 2026
d3f32c3
Update examples
ilhamv Jul 27, 2026
ca3af8d
Refactor object compilation to traverse model members
ilhamv Jul 30, 2026
5af6595
update Python API docs
ilhamv Jul 30, 2026
70a3aa7
update python API docs
ilhamv Jul 30, 2026
314ea5d
update per encapsulation
ilhamv Jul 30, 2026
6e7b368
update per encapsulation
ilhamv Jul 30, 2026
fd31580
update per encapsulation
ilhamv Jul 30, 2026
cfbcae8
update per encapsulation
ilhamv Jul 30, 2026
7dee244
update examples per encapsulation
ilhamv Jul 30, 2026
b6351d0
migrate to PyData Sphinx Theme
ilhamv Jul 30, 2026
4eda937
draft for Dev Doc
ilhamv Jul 31, 2026
048b45b
add docs on numba use
ilhamv Jul 31, 2026
2f26243
use plain language in numba pge
ilhamv Jul 31, 2026
adef1f4
make python mode discussion consistent
ilhamv Jul 31, 2026
59b0617
finalize numba page
ilhamv Jul 31, 2026
6ebfe54
remove unnecessary image
ilhamv Jul 31, 2026
9febfcd
update changelog mention
ilhamv Jul 31, 2026
e83c372
update architecture index doc
ilhamv Aug 1, 2026
9fbf7bb
add iterative simulations eample
ilhamv Aug 1, 2026
6384aa7
add space after table
ilhamv Aug 1, 2026
cd5c763
update architecture table
ilhamv Aug 1, 2026
731a221
minor edit docs
ilhamv Aug 1, 2026
c244c18
update docs
ilhamv Aug 2, 2026
4435d83
update docs
ilhamv Aug 2, 2026
979f4a0
reformat
ilhamv Aug 2, 2026
f6d3f23
update docs
ilhamv Aug 2, 2026
4fa4673
update docs
ilhamv Aug 2, 2026
7a4725c
use png not svg
ilhamv Aug 3, 2026
974842f
minor edit docs
ilhamv Aug 3, 2026
02eb600
update docs
ilhamv Aug 3, 2026
8f6310b
add integer casting to mcdc_get
ilhamv Aug 3, 2026
e3668d7
update transport exec dev doc
ilhamv Aug 3, 2026
11690a8
update docs
ilhamv Aug 3, 2026
f62d38e
update transport exec dev doc
ilhamv Aug 3, 2026
2a8794b
update docs
ilhamv Aug 3, 2026
ebf4456
update docs
ilhamv Aug 3, 2026
7171af5
update docs
ilhamv Aug 3, 2026
50cc999
update docs
ilhamv Aug 3, 2026
b71bf57
separate CPU and GPU transport guidance
ilhamv Aug 5, 2026
ca70f1f
organize prepare and simulation compilation finalization
ilhamv Aug 5, 2026
262504c
minor update
ilhamv Aug 5, 2026
959b109
use local_array for collision_data
ilhamv Aug 5, 2026
7bd374e
finalize extending
ilhamv Aug 5, 2026
0e52e43
remove config import
ilhamv Aug 5, 2026
edd8862
include output, config, and constant
ilhamv Aug 5, 2026
3d423e2
clean up printers
ilhamv Aug 5, 2026
278e278
clean up printers
ilhamv Aug 5, 2026
315ac16
consider method vs framework development area
ilhamv Aug 5, 2026
6b36760
more expressive annotation
ilhamv Aug 6, 2026
14195a6
move type checker from base to util
ilhamv Aug 6, 2026
ff9348b
reorganize constant. add mgxs modes
ilhamv Aug 6, 2026
4530023
add test for annotation sizing
ilhamv Aug 6, 2026
fd104a3
add mgxs class
ilhamv Aug 6, 2026
23deff5
MGXS registration and packing
ilhamv Aug 6, 2026
ffa1f0f
unified material
ilhamv Aug 6, 2026
99d934e
add material multigroup creation helper
ilhamv Aug 6, 2026
6c209a6
update examples
ilhamv Aug 6, 2026
a6c477c
update regresstion tests
ilhamv Aug 6, 2026
069f13d
dinalize unified python material
ilhamv Aug 6, 2026
e61f1f4
update transport
ilhamv Aug 6, 2026
6158947
update examples
ilhamv Aug 6, 2026
ef1dba1
update regression tests
ilhamv Aug 6, 2026
3ea8a29
update unit tests
ilhamv Aug 6, 2026
cf4b784
update docs
ilhamv Aug 6, 2026
b2858a6
make group independent of energy in particle
ilhamv Aug 6, 2026
b858301
add particle_type to tally
ilhamv Aug 6, 2026
b5165ce
add type check
ilhamv Aug 6, 2026
89cd826
introduce PARTICLE_ANY
ilhamv Aug 6, 2026
89fb712
imporve particle type filtering
ilhamv Aug 6, 2026
7516d77
comment out file-based source
ilhamv Aug 6, 2026
d8e3fbb
cleanup inconsistencies
ilhamv Aug 6, 2026
c8f43b4
clean leftover
ilhamv Aug 6, 2026
da2fa08
update examples
ilhamv Aug 6, 2026
3754680
update regression tests
ilhamv Aug 6, 2026
2233841
update unit tests
ilhamv Aug 6, 2026
d4b6e0f
update api docs
ilhamv Aug 6, 2026
5a6d4cb
update dev docs
ilhamv Aug 6, 2026
43a1c34
update user docs
ilhamv Aug 6, 2026
90ed629
Update mcdc/code_factory/numba_objects_generator.py
ilhamv Aug 6, 2026
0d8cd1b
update docstrings for Simulation.set_*
ilhamv Aug 6, 2026
dec571c
Merge branch 'encapsulation' of https://github.com/ilhamv/mcdc into e…
ilhamv Aug 6, 2026
e5baad1
specify the returned boolean in _compile_into_simulation
ilhamv Aug 6, 2026
47ea2d0
specify else behavior in member value compilation
ilhamv Aug 6, 2026
50230fc
Update mcdc/object_/base.py
ilhamv Aug 6, 2026
37b10b2
update CHANGELOG
ilhamv Aug 6, 2026
ac06122
Merge branch 'encapsulation' of https://github.com/ilhamv/mcdc into e…
ilhamv Aug 6, 2026
bce990c
Merge pull request #490 from ilhamv/encapsulation
ilhamv Aug 6, 2026
6f4d956
Merge branch 'dev' into update_docs_dev_workflow
ilhamv Aug 6, 2026
a2230cf
update key API class summary
ilhamv Aug 6, 2026
b4c19d9
Merge pull request #494 from ilhamv/update_docs_dev_workflow
ilhamv Aug 6, 2026
81603bf
update favicon
ilhamv Aug 6, 2026
3e355b8
Merge branch 'dev' into unified_material
ilhamv Aug 7, 2026
bf207ab
update docstrings
ilhamv Aug 7, 2026
e33117a
update docs
ilhamv Aug 7, 2026
2efeca9
update docs
ilhamv Aug 7, 2026
0c276eb
add mg energy rep policy to docs
ilhamv Aug 7, 2026
59b98d3
reformat, one-sentence one-line
ilhamv Aug 7, 2026
e67e0ee
update source
ilhamv Aug 7, 2026
116f41b
update particle
ilhamv Aug 7, 2026
867c760
consolidate inspect_geometry and locate_particle
ilhamv Aug 7, 2026
282e215
introduce speed-aware geometry interface variants
ilhamv Aug 7, 2026
fca8b8a
set the interface design
ilhamv Aug 7, 2026
13f2415
implement the redesign
ilhamv Aug 7, 2026
3d7567b
implement new design in transport
ilhamv Aug 7, 2026
30e8837
implement new design in transport
ilhamv Aug 7, 2026
a04cf3d
add test
ilhamv Aug 7, 2026
692b128
start removing particle\'s group attribute
ilhamv Aug 7, 2026
5376484
better checkers for source position and direction
ilhamv Aug 7, 2026
0476cd0
remove group from tally
ilhamv Aug 7, 2026
939f2ad
update examples and tests
ilhamv Aug 7, 2026
b6ac38c
working implementation
ilhamv Aug 8, 2026
6bc00fb
debug and add checks for non-integer standard MG mode source
ilhamv Aug 8, 2026
d67a54e
debug
ilhamv Aug 8, 2026
8655a0f
debug
ilhamv Aug 8, 2026
749fc32
update docs
ilhamv Aug 8, 2026
7a73167
update CHANGELOG
ilhamv Aug 8, 2026
a55630a
add hybrid nultigroup example
ilhamv Aug 9, 2026
0df0ce4
exclude examples that need library in unit tests
ilhamv Aug 10, 2026
1923a09
debug bank printer
ilhamv Aug 10, 2026
d59bbc3
Merge pull request #495 from ilhamv/unified_material
ilhamv Aug 10, 2026
d650dff
update release policy
ilhamv Aug 10, 2026
132d0c9
remove legacy items
ilhamv Aug 10, 2026
e8de880
update front matters
ilhamv Aug 11, 2026
143990a
update version banner in docs
ilhamv Aug 11, 2026
d924916
update pyproject
ilhamv Aug 11, 2026
a415e73
update pyproject
ilhamv Aug 11, 2026
e1ee087
update typing on API
ilhamv Aug 11, 2026
086d0f8
update typing on API
ilhamv Aug 11, 2026
b05bb27
make Region typed
ilhamv Aug 11, 2026
1555e08
update visualization typing
ilhamv Aug 11, 2026
d5ad9ee
add pyright api checker
ilhamv Aug 11, 2026
d0ae751
consolidate mcdc logo files
ilhamv Aug 11, 2026
f2b7ff4
support only the tested Python 3.13
ilhamv Aug 11, 2026
3a087d6
minor edit
ilhamv Aug 11, 2026
f33eed2
make release policy language consistent
ilhamv Aug 11, 2026
29a2562
update CHANGELOG and CITATION
ilhamv Aug 11, 2026
5c1607b
temporary python compatibility test workflow
ilhamv Aug 11, 2026
0be9452
update workflow test
ilhamv Aug 11, 2026
6a85669
update workflow test
ilhamv Aug 11, 2026
69fb2bf
temporary numba only test
ilhamv Aug 11, 2026
a1247a1
temporary numba only test
ilhamv Aug 11, 2026
5a47a33
python version compatibility update
ilhamv Aug 11, 2026
3c03afd
python version compatibility update
ilhamv Aug 11, 2026
ef73d24
python version compatibility update
ilhamv Aug 11, 2026
31eaeb2
finalize python compatibility runner and clearn up the others
ilhamv Aug 11, 2026
01e7817
python version compatibility update
ilhamv Aug 11, 2026
d6e1d71
remove duplicate
ilhamv Aug 11, 2026
f586039
python version compatibility update
ilhamv Aug 11, 2026
db1e8b9
one-sentence-per-line format
ilhamv Aug 11, 2026
8f63f85
python-compatibility update. one-sentence-per-line format
ilhamv Aug 11, 2026
b62e485
python-compatibility update. one-sentence-per-line format
ilhamv Aug 11, 2026
3781a2c
add a helper component map
ilhamv Aug 11, 2026
0b8ffd4
fix docs workflow runner
ilhamv Aug 11, 2026
e1cc321
Merge pull request #497 from ilhamv/make_release
ilhamv Aug 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ htmlcov

# Documentation builds
docs/build
docs/source/pythonapi/generated/
docs

# Container artifacts
Expand Down Expand Up @@ -135,7 +134,6 @@ htmlcov

# Documentation builds
docs/build
docs/source/pythonapi/generated/
docs

# Container artifacts
Expand All @@ -161,4 +159,4 @@ source_particles.h5

# Regression test data
dummy_nuclide.h5
source_particles.h5
source_particles.h5
4 changes: 2 additions & 2 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
Put an `x` in all boxes once completed.
-->

- [ ] I have read the [contributing guide](https://mcdc.readthedocs.io/en/latest/contribution/index.html).
- [ ] My code follows the [code style](https://mcdc.readthedocs.io/en/latest/contribution/index.html#code-styling) of this project.
- [ ] I have read the [contributing guide](https://mcdc.readthedocs.io/en/dev/contributing/index.html).
- [ ] My code follows the [code style](https://mcdc.readthedocs.io/en/dev/contributing/index.html#code-styling) of this project.
- [ ] I have updated the documentation as needed. <!-- Delete if not applicable -->
- [ ] I have updated `CHANGELOG.md` as needed. <!-- Delete if not applicable -->
- [ ] I have added or updated tests to cover my changes. <!-- Delete if not applicable -->
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,14 +120,14 @@ jobs:
run: |
docker run --rm \
-w /opt/mcdc/test/unit \
mcdc:${{ needs.build.outputs.image_tag }} python -m pytest .
mcdc:${{ needs.build.outputs.image_tag }} python -m pytest -v .

- name: Run unit tests (with workspace mount)
run: |
docker run --rm \
-v ${{ github.workspace }}:/opt/mcdc \
-w /opt/mcdc/test/unit \
mcdc:${{ needs.build.outputs.image_tag }} python -m pytest .
mcdc:${{ needs.build.outputs.image_tag }} python -m pytest -v .

# ---------------------------------------------------------------------------
# Stage 2b: Regression — only on push, or on PRs touching docker-relevant files
Expand All @@ -145,18 +145,18 @@ jobs:
matrix:
include:
- mode: Python-Serial
run_cmd: "python run.py"
run_cmd: "python -m pytest -v test/regression"
timeout: 10
- mode: Python-MPI
run_cmd: |
python run.py --mpiexec=2
python -m pytest -v test/regression --mpiexec=2
timeout: 20
- mode: Numba-Serial
run_cmd: "python run.py --mode numba"
run_cmd: "python -m pytest -v test/regression --mode numba"
timeout: 120
- mode: Numba-MPI
run_cmd: |
python run.py --mode numba --mpiexec=2
python -m pytest -v test/regression --mode numba --mpiexec=2
timeout: 120

steps:
Expand All @@ -183,7 +183,7 @@ jobs:
run: |
docker run --rm \
-v ${{ github.workspace }}:/opt/mcdc \
-w /opt/mcdc/test/regression \
-w /opt/mcdc \
mcdc:${{ needs.build.outputs.image_tag }} bash -lc '
git config --global --add safe.directory /opt/mcdc
git config --global --add safe.directory /opt/mcdc/test/regression/mcdc-regression_test_data
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/docs_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ on:
pull_request:
workflow_dispatch:

env:
UCX_TLS: self,sm,tcp

jobs:
build-docs:
runs-on: "ubuntu-latest"
Expand All @@ -31,12 +34,9 @@ jobs:
- name: Install docs dependencies
run: |
python -m pip install --upgrade pip
# If you have extras for docs, use this:
python -m pip install ".[docs]"
# Otherwise, something like:
# python -m pip install . sphinx sphinx-autodoc-typehints ...
python -m pip list

- name: Build the docs
working-directory: docs
run: make html
run: make html
28 changes: 0 additions & 28 deletions .github/workflows/mark_stale_issues.yml

This file was deleted.

7 changes: 6 additions & 1 deletion .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
# Set up the Python version supported by this project.
# Set up the project's primary automatically tested Python version.
- name: Set up Python
uses: actions/setup-python@v5
with:
Expand All @@ -46,6 +46,11 @@ jobs:
# and the wheel into the dist/ directory.
- name: Build distributions
run: python -m build
# Confirm that type checkers can detect MC/DC's inline annotations.
- name: Verify typing marker
run: |
unzip -l dist/*.whl | grep "mcdc/py.typed"
tar -tzf dist/*.tar.gz | grep "/mcdc/py.typed"
# Hand the built distributions over to the publish job.
- name: Upload distributions
uses: actions/upload-artifact@v4
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/python_compatibility.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Python Compatibility Tests

on:
workflow_dispatch:

env:
UCX_TLS: self,sm,tcp

jobs:
compatibility-test:
name: Python ${{ matrix.python-version }}
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.14"]

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: pip

- name: Set up MPI
uses: mpi4py/setup-mpi@v1

- name: Install mpi4py
run: |
pip install --upgrade pip
pip install --no-binary=mpi4py mpi4py

- name: Install MC/DC
id: install
run: pip install -e ".[dev]"

- name: Run unit tests
run: python -m pytest -v test/unit

- name: Run regression tests (Python)
if: always() && steps.install.outcome == 'success'
run: python -m pytest -v test/regression

- name: Run regression tests (Numba)
if: always() && steps.install.outcome == 'success'
run: python -m pytest -v test/regression --mode numba
3 changes: 1 addition & 2 deletions .github/workflows/regression_test-gpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,5 +35,4 @@ jobs:
run: |
pwd
source ../ci_testing/bin/activate
cd test/regression
python run.py --mode=numba --target=gpu
python -m pytest -v test/regression --mode=numba --target=gpu
11 changes: 4 additions & 7 deletions .github/workflows/regression_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,24 +34,22 @@ jobs:
# Python modes:
- mode: Python-Serial
python-version: '3.13'
run_cmd: "python run.py"
run_cmd: "python -m pytest -v test/regression"
timeout: 10
- mode: Python-MPI
python-version: '3.13'
run_cmd: |
python run.py --mpiexec=4
python run.py --mpiexec=16 --name=slab_reed_dd_3d
python -m pytest -v test/regression --mpiexec=4
timeout: 30
# Numba modes:
- mode: Numba-Serial
python-version: '3.13'
run_cmd: "python run.py --mode numba"
run_cmd: "python -m pytest -v test/regression --mode numba"
timeout: 120
- mode: Numba-MPI
python-version: '3.13'
run_cmd: |
python run.py --mode numba --mpiexec=4
python run.py --mode numba --mpiexec=16 --name=slab_reed_dd_3d
python -m pytest -v test/regression --mode numba --mpiexec=4
timeout: 120

steps:
Expand Down Expand Up @@ -79,5 +77,4 @@ jobs:
python -c "import mpi4py; print(f'mpi4py {mpi4py.__version__} from {mpi4py.__file__}')"

- name: Run regression tests (${{ matrix.mode }})
working-directory: test/regression
run: ${{ matrix.run_cmd }}
13 changes: 13 additions & 0 deletions .github/workflows/stale-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Mark stale issues

on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:

permissions:
issues: write

jobs:
stale:
uses: mcdc-project/.github/.github/workflows/stale-issues.yml@main
5 changes: 4 additions & 1 deletion .github/workflows/unit_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,7 @@ jobs:

- name: Run unit tests
run: |
python -m pytest test/unit
python -m pytest -v test/unit

- name: Run public API type checks
run: pyright
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ pytestdebug.log

# Documentation builds
docs/build
docs/source/pythonapi/generated/
docs/source/reference/python_api/generated/
dist/
mcdc/_version.py

Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ repos:
# supported by your project here, or alternatively use
# pre-commit's default_language_version, see
# https://pre-commit.com/#top_level-default_language_version
language_version: python3.11
language_version: python3.13
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
python: "3.13"
apt_packages:
- libopenmpi-dev
- openmpi-bin
Expand Down
21 changes: 16 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,29 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/2.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [0.15.0] - 2026-08-11

### Added

- Add `NeutronMultigroupData` and hybrid neutron multigroup transport with material-local physical energy grids and energy-representation policies, together with the `Material.multigroup()` convenience interface, from [@ilhamv]
- Add manually triggered unit and serial regression compatibility testing for Python 3.11, 3.12, and 3.14 while retaining Python 3.13 for automatic testing, from [@ilhamv]
- Add PEP 561-compatible inline type information and strict Pyright checks for the public Python API, from [@ilhamv]

### Changed

### Deprecated
- **Breaking:** Unify native and neutron multigroup materials under one non-polymorphic `Material` and runtime layout, replacing `MaterialMG` and the separate native and multigroup material structures, from [@ilhamv]
- Group transport techniques under `simulation.technique`, from [@ilhamv]
- **Breaking:** Encapsulate MC/DC model building and execution within an explicit `mcdc.Simulation` instance, replacing the global simulation state and interface from [@ilhamv]
- Modernize and reorganize the documentation around distinct user, API reference, theory, project, and developer paths; adopt the PyData Sphinx Theme; and expand the architecture and extension guidance from [@ilhamv]
- Move model-specific finalization into simulation compilation and reserve runtime preparation for framework-level packing and execution setup from [@ilhamv]
- Move regression tests from the custom `run.py` harness to pytest-based collection and reporting from [@massimolarsen]
- **Breaking:** Require Python 3.11 or newer and designate Python 3.13 as the primary automatic test version, from [@ilhamv]
- Run Black and Pyright with Python 3.14 while keeping Black output compatible with every supported Python version, from [@ilhamv]
- Adopt a three-month seasonal cycle for minor releases while continuing to publish patch releases as needed, from [@ilhamv]

### Removed

### Fixed

### Security
- Remove the legacy `install.sh` installation helper, from [@ilhamv]

## [0.14.2] - 2026-07-15

Expand Down Expand Up @@ -128,6 +138,7 @@ The pre-refactor implementation remains available in the `cement` branch as a re
- Multi-table distribution table selection sampling from [@melekderman]

[Unreleased]: https://github.com/mcdc-project/mcdc/tree/dev
[0.15.0]: https://github.com/mcdc-project/mcdc/releases/tag/v0.15.0
[0.14.2]: https://github.com/mcdc-project/mcdc/releases/tag/v0.14.2
[0.14.1]: https://github.com/mcdc-project/mcdc/releases/tag/v0.14.1
[0.14.0]: https://github.com/mcdc-project/mcdc/releases/tag/v0.14.0
Expand Down
Loading
Loading