Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
864 commits
Select commit Hold shift + click to select a range
d13dd65
Correcting keywords and documentation
whaeck Aug 1, 2023
09cd2a2
Updating ...
whaeck Aug 16, 2023
3610564
Addign resources for eprdata files
whaeck Aug 21, 2023
4ac23c9
Updating ...
whaeck Aug 23, 2023
5aed538
Removing some extraneous round calls
whaeck Aug 23, 2023
97d3650
Removing unused files
whaeck Aug 23, 2023
8782876
Adding the eprdata subshell block
whaeck Aug 23, 2023
8685093
Addign test for the subshell block
whaeck Aug 29, 2023
b2a4923
Adding python bindings
whaeck Aug 29, 2023
de2d418
Addign python test
whaeck Aug 29, 2023
2729308
Updating some comments
whaeck Aug 30, 2023
da970d3
Adding the electron cross section block for eprdata
whaeck Aug 30, 2023
9252c52
Adding python bindings and test for ESZE block
whaeck Aug 30, 2023
1f945d1
Adding the EXCIT block
whaeck Aug 30, 2023
d88214e
Adding python bindings
whaeck Aug 30, 2023
4c3bb99
Updating eprdata test files
whaeck Aug 31, 2023
2ae9335
Changes to documentation
whaeck Aug 31, 2023
a6d1545
Addng the BREML block
whaeck Aug 31, 2023
b9792ef
Adding the python bindings
whaeck Aug 31, 2023
1440cb7
Extending the PhotoAtomicTable with the SUBSH block
whaeck Sep 6, 2023
eff3e3b
Modified JINC to include the eprdata style in addition to the mcplib …
whaeck Sep 6, 2023
a879260
Modified JINC to include the eprdata style in addition to the mcplib …
whaeck Sep 6, 2023
8ee457d
Updating unit test with the first eprdata file
whaeck Sep 6, 2023
14a015c
Adding the subsh block to the photoatomic python bindings
whaeck Sep 6, 2023
4084a33
Adding the eprdata style CoherentFormFactorBlock tests
whaeck Sep 7, 2023
530529b
Adding the eprdata style IncoherentScatteringFunctionBlock tests
whaeck Sep 7, 2023
c375fb1
Adding the photoelectric xs block
whaeck Sep 8, 2023
b47e1be
Adding python bindings and test
whaeck Sep 8, 2023
0e6be59
Adding the SPHEL block to the photoatomic table
whaeck Sep 8, 2023
8b51b55
Adding the ESZE block to the pa table
whaeck Sep 9, 2023
914d02a
Small correction
whaeck Sep 11, 2023
6373e1a
Renamed file properly, corrected unit test config
whaeck Sep 11, 2023
db132e3
Adding the electron excitation energy loss block to the pa table
whaeck Sep 11, 2023
9ba76d8
Adding EXCIT to the pa table testing
whaeck Sep 11, 2023
a72707f
Adding BREML
whaeck Sep 11, 2023
30ca3a5
Updating test for BREML
whaeck Sep 11, 2023
1207c6d
Removing duplicate property
whaeck Sep 11, 2023
c4a4155
Adding access to the EXCIT and BREML block on the python side
whaeck Sep 11, 2023
2bf7ffb
Adding the transition data block for a subshell
whaeck Sep 12, 2023
d5c578e
Adding python bindings and test for the transition data
whaeck Sep 13, 2023
ef8ec01
Modify the BaseBlockWithLocators to use locators or offsets
whaeck Sep 14, 2023
935ecc7
Adding the subshell transition data block
whaeck Sep 15, 2023
900c651
Updating documentation, adding python bindings and unit test
whaeck Sep 18, 2023
8a90ec3
Adding the XPROB to the pa table, update test for eprdata12
whaeck Sep 18, 2023
d46e7ea
Extending the xprob tests
whaeck Sep 18, 2023
f63f98e
Adding the electron tabulated angular distribution
whaeck Sep 18, 2023
d388664
Adding the angular distribution table for electrons
whaeck Sep 18, 2023
18c1492
Adding python test
whaeck Sep 18, 2023
ef94064
Updating ArrayData
whaeck Sep 19, 2023
9c8cc4f
Adding a base block for electron blocks with offsets
whaeck Sep 19, 2023
177ef05
Adding the electron elastic angular distribution block
whaeck Sep 19, 2023
0964ad0
Add python bindings
whaeck Sep 20, 2023
04dc5ec
Adding test for the ELAS block in the pa table
whaeck Sep 20, 2023
b8ae5c0
Adding the outgoing energy distribution table for Brensstrahlung
whaeck Sep 20, 2023
b96f72a
Renaming a few functions
whaeck Sep 20, 2023
570854e
Updating ...
whaeck Sep 20, 2023
039d6cb
Adding the BREME block on the C++ side
whaeck Sep 20, 2023
5e0b448
Adding the python bindings
whaeck Sep 20, 2023
b077826
Adding python bindings and unit test for the BREME block
whaeck Sep 20, 2023
05eaa38
Addign test for the python version of the eprdata energy distribution
whaeck Sep 20, 2023
03e6e44
Adding the BREME block to the pa table, updated test
whaeck Sep 20, 2023
15a123e
Some renaming of the ElectronBremsstrahlungEnergyDistributionBlock to…
whaeck Sep 21, 2023
8a22cef
More renaming
whaeck Sep 21, 2023
d42c4cf
Adding the EION blocks to the photoatomic table
whaeck Sep 21, 2023
e398201
Adding some missing blocks on the python side and renamed a method
whaeck Sep 25, 2023
58a1465
Renamed test file, removed one and added one test file, started eprda…
whaeck Sep 25, 2023
6235d1c
Changing population to floating point instead of int
whaeck Sep 25, 2023
34e4054
More eprdata14 testing
whaeck Sep 25, 2023
7ff61cd
Update function name
whaeck Sep 25, 2023
2fd7935
More testing
whaeck Sep 25, 2023
52a14cf
almost done with eprdata14
whaeck Sep 25, 2023
f889376
Finished testing eprdata14 up to eprdata12 standards
whaeck Sep 26, 2023
7c9a34a
Extending the constructor of the photoatomic table to the new eprdata…
whaeck Sep 26, 2023
3815b03
Finished generating xss for eprdata12 format
whaeck Sep 26, 2023
dd0a9ce
Testing the generation of eprdata12 data
whaeck Sep 26, 2023
3f47c3a
Adding the eprdata14 SELAS block
whaeck Sep 26, 2023
f957894
Adding python bindings
whaeck Sep 26, 2023
10a7076
Testing reading eprdata14 completed
whaeck Sep 26, 2023
66ceceb
generating xss with SELAS and debugging
whaeck Sep 26, 2023
d1e0f7d
Adding NXS(13) and NXS(14) and we're done!
whaeck Sep 26, 2023
5c5689d
Consolidating photoatomic blocks in their own directories
whaeck Sep 27, 2023
74f5355
Finished moving photaatomic files around
whaeck Sep 27, 2023
03d271d
Adding __init__.py in new subfolder
whaeck Sep 27, 2023
c4898e5
Renaming block namespace into photoatomic for specific files
whaeck Sep 27, 2023
b1a3a7d
Update python bindings
whaeck Sep 27, 2023
1d71951
Adding a missing cmake file
whaeck Sep 27, 2023
4bac891
Adding a missing source file
whaeck Sep 27, 2023
0f5b256
Updates following review
whaeck Sep 27, 2023
489c67d
correcting test
whaeck Sep 27, 2023
01961ad
Updated error message
whaeck Sep 27, 2023
fffd67f
Updating ...
whaeck Sep 27, 2023
cd4c774
Moving electron components
whaeck Sep 27, 2023
625da56
renaming files
whaeck Sep 27, 2023
9c249fe
Updating names and namespace to electron
whaeck Sep 27, 2023
4275b10
Renaming python cpp files
whaeck Sep 27, 2023
d94681b
Update python code and move test files
whaeck Sep 27, 2023
711d161
Updating pyhton tests
whaeck Sep 27, 2023
b1874bd
renamed test files
whaeck Sep 27, 2023
d7f0bee
making it all work
whaeck Sep 27, 2023
ae12061
adding __init__.py
whaeck Sep 27, 2023
92c4c3f
Updating some documentation
whaeck Sep 27, 2023
85e60b7
Changes following review
whaeck Sep 27, 2023
56ace61
A few more tests on random snippets in BREML and EION
whaeck Sep 28, 2023
ed0053c
nesting ternaries
whaeck Sep 28, 2023
ba93153
Removing unused code
whaeck Sep 28, 2023
2761c45
Moving legacy eprdata code to a legacy folder for now
whaeck Sep 28, 2023
1fc8034
Removing dependencies
whaeck Sep 28, 2023
5ff8285
Setting up includes for the new namespaces
whaeck Sep 28, 2023
ad354ac
Moved dosimetry files to dosimetry folders
whaeck Sep 28, 2023
f9a8be4
changed namespace to dosimetry
whaeck Sep 28, 2023
ea7a8c3
Adding namspace include
whaeck Sep 28, 2023
f68f706
moving thermal scattering files
whaeck Sep 28, 2023
d3a0bbe
Adding thermal include file
whaeck Sep 28, 2023
fb37f02
Updating to thermal namespace
whaeck Sep 28, 2023
8fed52c
Updating dosimetry example
whaeck Sep 28, 2023
217145f
moving photonuclear files
whaeck Sep 28, 2023
ccb96ae
adding the photonuclear namespace
whaeck Sep 28, 2023
87f8b63
Merge pull request #98 from njoy/fix/more-rounding
whaeck Sep 28, 2023
10ab2c0
Merge pull request #99 from njoy/feature/eprdata
whaeck Sep 28, 2023
4efa09c
Merge pull request #100 from njoy/feature/eprdata-part2
whaeck Sep 28, 2023
d21d543
Merge pull request #101 from njoy/feature/eprdata-part3
whaeck Sep 28, 2023
8c3fd57
Merge pull request #102 from njoy/feature/eprdata-part4
whaeck Sep 28, 2023
9f59a07
Merge pull request #103 from njoy/feature/eprdata-part5
whaeck Sep 28, 2023
0de304b
Merge pull request #104 from njoy/feature/eprdata-part6
whaeck Sep 28, 2023
74a04e5
Merge pull request #105 from njoy/feature/eprdata-part7
whaeck Sep 28, 2023
7a67f0f
Updating PhoatatomicTable follwoing review
whaeck Sep 28, 2023
9058201
Merge pull request #107 from njoy/feature/eprdata-part8
whaeck Sep 28, 2023
bf0b31e
Merge pull request #108 from njoy/feature/eprdata-part9
whaeck Sep 28, 2023
cf646c3
Merge pull request #109 from njoy/fix/review-epr1
whaeck Sep 28, 2023
9e7bbb2
Merge pull request #110 from njoy/feature/refactor-block
whaeck Sep 28, 2023
1fe353c
Merge pull request #111 from njoy/feature/refactor-block-part2
whaeck Sep 28, 2023
281409d
Merge pull request #112 from njoy/fix/review-epr2
whaeck Sep 28, 2023
1e04c9a
Merge pull request #113 from njoy/feature/refactor-block-part3
whaeck Sep 28, 2023
dade5af
Merge pull request #114 from njoy/feature/refactor-block-part4
whaeck Sep 28, 2023
ec53b20
because I can be wrong
whaeck Sep 28, 2023
9fde0e0
Merge pull request #115 from njoy/feature/refactor-block-part5
whaeck Sep 29, 2023
f6718af
moving base classes
whaeck Sep 29, 2023
99317b3
Introducing the base namespace
whaeck Sep 29, 2023
25502e2
Updating base class names
whaeck Sep 29, 2023
b87c20d
Renaming files for continuous namespace
whaeck Sep 29, 2023
7fc1f6e
Moving around files
whaeck Sep 29, 2023
7642bea
More moving around things
whaeck Sep 29, 2023
10d645f
more moving files around
whaeck Sep 29, 2023
15ea4a6
Updating test cmake file for python
whaeck Sep 29, 2023
082fef9
Changing block to continuous namespace
whaeck Sep 30, 2023
169cceb
done with namespace refactor
whaeck Sep 30, 2023
22074da
Finish updating the python unit test setup to the scion form
whaeck Sep 30, 2023
cc3a23a
Changing the catch-adapter dependency to actual Catch2
whaeck Sep 30, 2023
909d4f7
Upgrading xsdir unit tests to Catch2
whaeck Sep 30, 2023
a655235
Updating CE and photonuclear test to Catch2
whaeck Sep 30, 2023
b980740
Updating remaining tables to Catch2
whaeck Sep 30, 2023
efd83a8
Updating thermal blocks to Catch2
whaeck Sep 30, 2023
59c3162
Updating Table tests to Catch2
whaeck Sep 30, 2023
55db669
Updating photoatomic blocks to Catch2
whaeck Sep 30, 2023
0b6edca
Updating electron block to Catch2
whaeck Sep 30, 2023
58c8d86
Updating dosimetry to Catch2
whaeck Sep 30, 2023
b7ebe1b
Starting to update continuous namespace tests
whaeck Oct 2, 2023
4ecb306
removing unused include in test files
whaeck Oct 2, 2023
8763927
Finished updating continuous namespace unit testing
whaeck Oct 2, 2023
0e5dce4
Removing catch-adapter as a direct dependency for ACEtk
whaeck Oct 2, 2023
eed6158
Some more cleanup
whaeck Oct 2, 2023
cd58938
Updated the ACEtk.hpp file
whaeck Oct 3, 2023
29e7197
Adding python init function for the PolynomialFissionMultiplicity
whaeck Oct 3, 2023
b5764b5
Adding tests for LNU=1
whaeck Oct 3, 2023
38b8555
Adding C++ test for InterpolationData
whaeck Oct 3, 2023
3833bee
Updating list of python unit tests
whaeck Oct 3, 2023
0e40d0b
Updating jupyter notebooks
whaeck Oct 3, 2023
b5a0f36
Adding the python test for FissionMultiplicityBlock
whaeck Oct 3, 2023
0d63544
Some update to test names
whaeck Oct 3, 2023
5aa825d
Putting back the EnergyDistributionBlock test
whaeck Oct 3, 2023
55eb4d6
Updating ...
whaeck Oct 3, 2023
5497596
Updating ...
whaeck Oct 3, 2023
699a016
Updating ...
whaeck Oct 3, 2023
eae9007
Updating ...
whaeck Oct 3, 2023
af9a4b3
Some updates to the cmake files
whaeck Oct 9, 2023
480cd44
Updating CMakeLists.txt some more
whaeck Oct 11, 2023
018d091
Some whitespace changes
whaeck Oct 12, 2023
dcc147d
Changing cmake to fetch pybind only when python bindings are selected
whaeck Oct 12, 2023
15caabc
removing the local overload and introducing the njoy::tools library
whaeck Oct 12, 2023
c3920b1
Updating release dependencies
whaeck Oct 12, 2023
aa481c5
let's put that -fPIC back
whaeck Oct 12, 2023
4f142e8
Merge pull request #116 from njoy/feature/refactor-block-part5
whaeck Nov 3, 2023
8ac0f84
Merge pull request #117 from njoy/feature/refactor-block-part7
whaeck Nov 3, 2023
7bddf5a
Merge pull request #118 from njoy/feature/catch2-upgrade
whaeck Nov 3, 2023
b00b5ca
Merge pull request #119 from njoy/feature/more-cleanup
whaeck Nov 3, 2023
84e6846
Merge pull request #120 from njoy/feature/update-cmake
whaeck Nov 3, 2023
9596c59
Merge pull request #121 from njoy/feature/tools-dependency
whaeck Nov 3, 2023
867bc47
Updating CI
whaeck Nov 9, 2023
49ee810
Updating CI
whaeck Feb 6, 2024
2d7242e
Changes to documentation (heating numbers)
whaeck Feb 6, 2024
d656bc5
Z() and A() now consistently return their values (no longer the NXS v…
whaeck Feb 6, 2024
493fe5d
Renamed NTYPE to be consistent between CE and PN tables
whaeck Feb 6, 2024
0803ceb
S, Z and A are added to the NXS array as required
whaeck Feb 6, 2024
ae9efab
Adding S and A functions to photoatomic data
whaeck Feb 6, 2024
7cf7af7
A few more changes
whaeck Feb 6, 2024
3c4f46b
Updating CE python
whaeck Feb 6, 2024
477a2be
Adding SZA to photonuclear files
whaeck Feb 6, 2024
137206e
Fixing typo
whaeck Feb 6, 2024
59ea9a6
Need to use the ZAID and use MCNP mass estimate
whaeck Feb 7, 2024
6b5d675
changes following review
whaeck Feb 12, 2024
03c4558
Merge pull request #122 from njoy/feature/consistent-interface
whaeck Feb 13, 2024
8753b6a
updating dependencies
whaeck Mar 4, 2024
97f4be2
Replacing ranges-v3 code
whaeck Mar 4, 2024
c75816f
Updating dependencies and CMakeLists.txt
whaeck Mar 5, 2024
6fe01d7
Update dependency
whaeck Mar 5, 2024
b81bca0
Adding additional interface functions to ixsu block
whaeck Mar 5, 2024
a235028
Adding bindings and python tests
whaeck Mar 5, 2024
e9b7602
switching off python bindings for now
whaeck Mar 5, 2024
3c70b40
really switching off the python bindings
whaeck Mar 5, 2024
54072e5
Merge pull request #123 from njoy/feature/ixsu-improved-interface
whaeck Mar 5, 2024
6a2656b
Merge branch 'develop' into update/tools-dependency
whaeck Mar 5, 2024
97466eb
Updating dependency and removing range-v3 as a dependency
whaeck Mar 8, 2024
063e555
Removing range-v3 from views.hpp in python bindings
whaeck Mar 8, 2024
24e2226
Updating view module type names
whaeck Mar 8, 2024
e6bc2b5
Switching python bindings back on
whaeck Mar 8, 2024
bfb4ed5
alea iacta est
whaeck Mar 8, 2024
0a2e9a0
alea iacta est - again
whaeck Mar 8, 2024
f531715
Updating dependency again
whaeck Mar 11, 2024
6529376
Skipping over comment lines
whaeck Mar 19, 2024
2df5261
Skip comment lines in the atomic weight block, apply proper MCNP rules
whaeck Mar 19, 2024
86cb0c6
Reading comment lines in the entry part of the xsdir
whaeck Mar 19, 2024
f10ec55
Adding a comment line among the entries
whaeck Mar 20, 2024
08f2dbe
fixing an eof issue - probably due to CRLF line endings
whaeck Mar 20, 2024
0cb2971
Updating dependency
whaeck Mar 21, 2024
4b79014
A few changes to cmake
whaeck Mar 21, 2024
1ab0c86
Merge branch 'fix/cmake' into update/tools-dependency
whaeck Mar 21, 2024
4d25562
Adding continuation line test to xsdir
whaeck Mar 25, 2024
81b5121
No need to use ternary here
whaeck Mar 25, 2024
b6210e1
Adding include
whaeck Mar 25, 2024
365249e
Merge branch 'fix/xsdir-comment-lines' of github.com:njoy/ACEtk into …
whaeck Mar 25, 2024
2e67ceb
Merge pull request #125 from njoy/fix/xsdir-comment-lines
whaeck Mar 25, 2024
09cb761
Merge pull request #126 from njoy/fix/cmake
whaeck Mar 25, 2024
4181800
Updating ...
whaeck Mar 26, 2024
07bbfce
Updating dependency again
whaeck Mar 26, 2024
ba4a621
Adding missing include files for msvc
whaeck Mar 26, 2024
c73a573
replacing auto with the return type to fix msvc errors
whaeck Mar 26, 2024
c43be65
Merge pull request #127 from njoy/fix/msvc
whaeck Mar 28, 2024
2fbf3de
Replacing disco with the tools version
whaeck Apr 5, 2024
877a66c
Updating dependency
whaeck Apr 5, 2024
035488d
Updating tools dependency
whaeck Apr 16, 2024
d39d07f
Replace ACEtk's anyview bindings with the tools one
whaeck Apr 22, 2024
5637f80
updating cmake
whaeck Apr 22, 2024
e8a684e
finishing cmake updates
whaeck Apr 23, 2024
e272dff
updating release dependencies
whaeck Apr 23, 2024
0dd7a42
Update cmake
whaeck Apr 23, 2024
2792300
Merge pull request #128 from njoy/update/tools-dependency
whaeck Apr 23, 2024
73e1d91
Updating to tagged tools version v0.3.0
whaeck Apr 23, 2024
89705dd
Merge pull request #129 from njoy/update/tools-dependency
whaeck Apr 24, 2024
d76c1fa
Updating readme and release notes
whaeck Apr 24, 2024
97edb68
Updating version
whaeck Apr 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .github/workflows/ContinuousIntegration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,20 @@ jobs:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ ubuntu-18.04, macos-10.15 ]
cxx: [ clang++, g++-9 ]
os: [ ubuntu-20.04, macos-11 ]
cxx: [ clang++, g++-10 ]
build_type: [ Debug, Release ]

steps:
- name: which CXX
run: |
which ${{matrix.cxx}}
${{matrix.cxx}} --version
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: mkdir bin
run: mkdir bin
- name: cmake
run: cmake -D CMAKE_CXX_COMPILER=`which ${{matrix.cxx}}` -D CMAKE_BUILD_TYPE=${{matrix.build_type}} ..
run: cmake -DPYTHON_EXECUTABLE=$(which python3) -D CMAKE_CXX_COMPILER=`which ${{matrix.cxx}}` -D CMAKE_BUILD_TYPE=${{matrix.build_type}} -D ACEtk.tests=ON -D ACEtk.python=ON ..
working-directory: ./bin
- name: make
run: make -j2
Expand Down
214 changes: 179 additions & 35 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,20 @@
########################################################################

cmake_minimum_required( VERSION 3.14 )
project( ACEtk LANGUAGES CXX )

set( subproject OFF )
if( DEFINED PROJECT_NAME )
set( subproject ON )
endif()

project( ACEtk
VERSION 1.0.0
LANGUAGES CXX
)

include( CTest )
include( CMakeDependentOption )
include( GNUInstallDirs )

########################################################################
# Project-wide setup
Expand All @@ -13,19 +25,19 @@ project( ACEtk LANGUAGES CXX )
set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_CXX_STANDARD_REQUIRED YES )

option( ACEtk_unit_tests
"Compile the ACEtk unit tests and integrate with ctest" ON
)
option( strict_compile
"Treat all warnings as errors." ON
)

# Compile flags
set( common_flags "-Wall" "-Wextra" "-Wpedantic" )
set( strict_flags "-Werror" )
set( release_flags "-O3" )
set( debug_flags "-O0" "-g" )

cmake_dependent_option(
ACEtk.tests
"Build the ACEtk unit tests and integrate with ctest" ON
"BUILD_TESTING AND NOT ${subproject}" OFF
)
cmake_dependent_option(
ACEtk.python
"Build ACEtk python bindings" ON
"NOT ${subproject} OR DEFINED require.ACEtk.python " OFF
)
if ( ACEtk.python )
set( require.tools.python CACHE BOOL ON )
endif()

########################################################################
# Dependencies
Expand Down Expand Up @@ -54,31 +66,163 @@ endif()
# Project targets
########################################################################

add_library( ACEtk INTERFACE
)
target_include_directories( ACEtk INTERFACE src/ )
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# ACEtk : library
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

add_library( ACEtk INTERFACE )
add_library( njoy::ACEtk ALIAS ACEtk )
target_include_directories( ACEtk
INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/src>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)
target_link_libraries( ACEtk
INTERFACE Log
INTERFACE catch-adapter
INTERFACE date-adapter
INTERFACE dimwits
INTERFACE disco
INTERFACE interpolation
INTERFACE hana-adapter
INTERFACE header-utilities
INTERFACE range-v3-adapter
)
INTERFACE
njoy::tools
)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# ACEtk : python bindings
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

#######################################################################
# Top-level Only
#######################################################################
if( ACEtk.python )

if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
FetchContent_MakeAvailable(
pybind11
)

# unit testing
if( ACEtk_unit_tests )
include( cmake/unit_testing.cmake )
endif()
pybind11_add_module( ACEtk.python
${CMAKE_CURRENT_SOURCE_DIR}/python/src/ACEtk.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/XsdirEntry.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/Xsdir.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/Header.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/Header201.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/Data.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/Table.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/ReferenceFrame.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/AngularDistributionType.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/EnergyDistributionType.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/InterpolationData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/CrossSectionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/PrincipalCrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/PolynomialFissionMultiplicity.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TabulatedFissionMultiplicity.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/FissionMultiplicityBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/ReactionNumberBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/ReactionQValueBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/FrameAndMultiplicityBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/CrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/EquiprobableAngularBins.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TabulatedAngularDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TabulatedAngularDistributionWithProbability.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/IsotropicAngularDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/AngularDistributionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/FullyIsotropicDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/DistributionGivenElsewhere.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/AngularDistributionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/SecondaryParticleAngularDistributionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/EquiprobableOutgoingEnergyBins.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/EquiprobableOutgoingEnergyBinData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/LevelScatteringDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/DiscretePhotonDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TabulatedEnergyDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/OutgoingEnergyDistributionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/GeneralEvaporationSpectrum.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/SimpleMaxwellianFissionSpectrum.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/EvaporationSpectrum.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/ParameterData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/EnergyDependentWattSpectrum.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TabulatedKalbachMannDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/KalbachMannDistributionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/NBodyPhaseSpaceDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TwoBodyTransferDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TabulatedEnergyAngleDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/EnergyAngleDistributionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TabulatedAngleEnergyDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/AngleEnergyDistributionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/DistributionProbability.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/MultiDistributionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/EnergyDistributionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/SecondaryParticleEnergyDistributionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/DelayedNeutronPrecursorData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/PhotonProductionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/PhotonProductionCrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/MultiplicityReactionNumberBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TabulatedMultiplicity.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/TabulatedSecondaryParticleMultiplicity.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/PhotonProductionCrossSectionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/DelayedNeutronPrecursorBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/SecondaryParticleTypeBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/SecondaryParticleInformationBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/SecondaryParticleLocatorBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/SecondaryParticleProductionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/SecondaryParticleProductionCrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/ProbabilityTable.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/continuous/ProbabilityTableBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photonuclear.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photonuclear/PrincipalCrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photonuclear/SecondaryParticleLocatorBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photoatomic.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photoatomic/PrincipalCrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photoatomic/IncoherentScatteringFunctionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photoatomic/CoherentFormFactorBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photoatomic/FluorescenceDataBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photoatomic/HeatingNumbersBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photoatomic/ComptonProfile.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photoatomic/ComptonProfileBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/photoatomic/PhotoelectricCrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/dosimetry.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/dosimetry/CrossSectionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/dosimetry/CrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/ElectronShellBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/ElectronSubshellBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/PrincipalCrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/ElasticCrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/ExcitationBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/BremsstrahlungBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/SubshellTransitionData.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/SubshellTransitionDataBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/TabulatedAngularDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/ElasticAngularDistributionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/TabulatedEnergyDistribution.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/electron/EnergyDistributionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/thermal.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/thermal/CrossSectionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/thermal/DiscreteCosines.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/thermal/DiscreteCosinesWithProbability.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/thermal/ElasticAngularDistributionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/thermal/InelasticAngularDistributionBlock.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/ContinuousEnergyTable.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/DosimetryTable.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/ThermalScatteringTable.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/PhotoatomicTable.python.cpp
${CMAKE_CURRENT_SOURCE_DIR}/python/src/PhotonuclearTable.python.cpp
)

target_link_libraries( ACEtk.python PRIVATE ACEtk )
add_dependencies( ACEtk.python tools.python )
target_include_directories( ACEtk.python PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/python/src )
target_compile_options( ACEtk.python PRIVATE -fvisibility=hidden )
set_target_properties( ACEtk.python PROPERTIES OUTPUT_NAME ACEtk )
set_target_properties( ACEtk.python PROPERTIES COMPILE_DEFINITIONS "PYBIND11" )
set_target_properties( ACEtk.python PROPERTIES POSITION_INDEPENDENT_CODE ON )

message( STATUS "Building ACEtk's python API" )

list( APPEND ACEtk_PYTHONPATH ${CMAKE_CURRENT_BINARY_DIR} )
list( APPEND tools_PYTHONPATH ${CMAKE_CURRENT_BINARY_DIR}/_deps/tools-build )

if( ACEtk.tests )
include( cmake/unit_testing_python.cmake )
endif()

endif()

if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
if( ACEtk.tests )
include( cmake/unit_testing.cmake )
endif()
endif()
Loading