ncrystal-python 3.9.87__tar.gz → 3.9.88__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. {ncrystal_python-3.9.87/ncrystal_python.egg-info → ncrystal_python-3.9.88}/PKG-INFO +31 -36
  2. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88}/README.md +30 -35
  3. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/__init__.py +3 -3
  4. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/__main__.py +1 -1
  5. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_chooks.py +1 -1
  6. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cli_cif2ncmat.py +1 -1
  7. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cli_endf2ncmat.py +2 -2
  8. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cli_hfg2ncmat.py +1 -1
  9. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cli_mcstasunion.py +1 -1
  10. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cli_ncmat2cpp.py +1 -1
  11. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cli_ncmat2hkl.py +1 -1
  12. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cli_nctool.py +1 -1
  13. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cli_vdos2ncmat.py +1 -1
  14. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cli_verifyatompos.py +1 -1
  15. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cliimpl.py +1 -1
  16. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_cliwrap_config.py +1 -1
  17. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_common.py +1 -1
  18. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_coreimpl.py +1 -1
  19. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_hfgdata.py +1 -1
  20. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_hklobjects.py +1 -1
  21. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_locatelib.py +1 -1
  22. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_miscimpl.py +1 -1
  23. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_mmc.py +1 -1
  24. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_msg.py +1 -1
  25. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_ncmat2cpp_impl.py +1 -1
  26. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_ncmatimpl.py +1 -1
  27. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_numpy.py +1 -1
  28. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_testimpl.py +2 -2
  29. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/api.py +1 -1
  30. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/atomdata.py +1 -1
  31. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/cfgstr.py +1 -1
  32. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/cifutils.py +1 -1
  33. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/cli.py +1 -1
  34. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/constants.py +1 -1
  35. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/core.py +1 -1
  36. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/datasrc.py +1 -1
  37. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/exceptions.py +1 -1
  38. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/hfg2ncmat.py +1 -1
  39. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/mcstasutils.py +1 -1
  40. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/misc.py +1 -1
  41. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/mmc.py +1 -1
  42. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/ncmat.py +1 -1
  43. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/ncmat2cpp.py +1 -1
  44. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/obsolete.py +1 -1
  45. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/plot.py +1 -1
  46. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/plugins.py +1 -1
  47. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/test.py +1 -1
  48. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/vdos.py +1 -1
  49. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src/ncrystal_python.egg-info}/PKG-INFO +31 -36
  50. ncrystal_python-3.9.88/src/ncrystal_python.egg-info/SOURCES.txt +56 -0
  51. ncrystal_python-3.9.87/ncrystal_python.egg-info/SOURCES.txt +0 -56
  52. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88}/LICENSE +0 -0
  53. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88}/pyproject.toml +0 -0
  54. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88}/setup.cfg +0 -0
  55. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/NCrystal/_is_std.py +0 -0
  56. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/ncrystal_python.egg-info/dependency_links.txt +0 -0
  57. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/ncrystal_python.egg-info/entry_points.txt +0 -0
  58. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/ncrystal_python.egg-info/requires.txt +0 -0
  59. {ncrystal_python-3.9.87 → ncrystal_python-3.9.88/src}/ncrystal_python.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ncrystal-python
3
- Version: 3.9.87
3
+ Version: 3.9.88
4
4
  Summary: Library for thermal neutron transport in crystals and other materials.
5
5
  Author: NCrystal developers (Thomas Kittelmann, Xiao Xiao Cai)
6
6
  License: The Apache 2.0 license is reproduced in the following. See the NOTICE file for
@@ -236,8 +236,8 @@ facilitate integration into existing simulation frameworks such as OpenMC
236
236
  code or via command-line tools. While the C++ library is designed with a high
237
237
  degree of flexibility in mind for developers, typical end-user configuration is
238
238
  deliberately kept simple and uniform across various applications and APIs - this
239
- for instance allows tuning and validation of a particular crystal setup to be
240
- performed in one tool before it is then deployed in another.
239
+ for instance allows tuning and validation of a particular material configuration
240
+ to be performed in one tool before it is then deployed in another.
241
241
 
242
242
  In addition to code and tools, the NCrystal distribution also includes a set of
243
243
  validated data files, covering many crystals important at neutron scattering
@@ -309,16 +309,17 @@ $> nctool 'Al_sg225.ncmat;temp=10C'
309
309
 
310
310
 
311
311
 
312
- Using the NCrystal installation from C++ (including Geant4), C or Python code
312
+ Using the NCrystal installation from C++, C or Python code
313
313
  -----------------------------------------------------------------------------
314
314
 
315
- If you wish to use NCrystal from Python code, there is no special setup
316
- needed. If you on the other hand wish to use NCrystal from your compiled C++ or
317
- C code, you must put appropriate build flags. The recommended way is using CMake
318
- to do this (see next section), but otherwise you must ensure that the NCrystal
319
- header files are in your compiler's include path, and that the NCrystal library
320
- is linked correctly. Here are some examples of how this could for instance be
321
- done, with a C and a C++ app respectively:
315
+ If you wish to use NCrystal from Python code, there is no special setup needed,
316
+ assuming NCrystal was installed correctly (cf. INSTALL.md). If you on the other
317
+ hand wish to use NCrystal from your compiled C++ or C code, you must put
318
+ appropriate build flags. The recommended way is using CMake to do this (see next
319
+ section), but otherwise you must ensure that the NCrystal header files are in
320
+ your compiler's include path, and that the NCrystal library is linked
321
+ correctly. Here are some examples of how this could for instance be done, with a
322
+ C and a C++ app respectively:
322
323
 
323
324
  export LDFLAGS="${LDFLAGS:-} -Wl,-rpath,$(ncrystal-config --show libdir) $(ncrystal-config --show libpath)"
324
325
  export CFLAGS="${CFLAGS:-} -I$(ncrystal-config --show includedir)"
@@ -326,22 +327,17 @@ done, with a C and a C++ app respectively:
326
327
  cc -std=c11 ${LDFLAGS} ${CFLAGS} my_c_code.c -o my_c_app
327
328
  c++ -std=c++17 ${LDFLAGS} ${CXXFLAGS} my_cpp_code.cpp -o my_cpp_app
328
329
 
329
- If using the NCrystal-Geant4 interfaces, you should also add "-lG4NCrystal" to
330
- the link flags.
331
-
332
330
  Then, in your code you can access the relevant APIs with with statements like:
333
331
 
334
332
  #include "NCrystal/NCrystal.hh" // C++ code, core NCrystal
335
- #include "G4NCrystal/G4NCrystal.hh" // C++ code, for Geant4 users
336
333
  #include "NCrystal/ncrystal.h" // C code
337
334
  import NCrystal ## Python code
338
335
 
339
336
  In the ./examples/ directory of your NCrystal distribution that you got after
340
337
  downloading and unpacking the NCrystal source tar-ball, you will find small
341
- examples of code using NCrystal. For C++/C and Geant4, there is currently no
342
- documentation beyond the header files and examples. In the case of Python, there
343
- is integrated documentation available via the usual "help" function, accessed
344
- with:
338
+ examples of code using NCrystal. For C++/C, there is currently no documentation
339
+ beyond the header files and examples. In the case of Python, there is integrated
340
+ documentation available via the usual "help" function, accessed with:
345
341
 
346
342
  import NCrystal
347
343
  help(NCrystal)
@@ -369,10 +365,10 @@ CMake code for a small project using NCrystal might look like the following
369
365
 
370
366
  cmake_minimum_required(VERSION 3.10...3.26)
371
367
  project(MyExampleProject LANGUAGES CXX)
372
- execute_process( COMMAND ncrystal-config --show cmakedir
368
+ execute_process( COMMAND "ncrystal-config" "--show" "cmakedir"
373
369
  OUTPUT_VARIABLE NCrystal_DIR
374
370
  OUTPUT_STRIP_TRAILING_WHITESPACE )
375
- find_package(NCrystal REQUIRED)
371
+ find_package(NCrystal 4.0.0 REQUIRED)
376
372
  add_executable(exampleapp "${PROJECT_SOURCE_DIR}/exampleapp.cc")
377
373
  target_link_libraries( exampleapp NCrystal::NCrystal )
378
374
  install( TARGETS exampleapp DESTINATION bin )
@@ -382,22 +378,21 @@ required before the code can work in an environment where the NCrystal CMake
382
378
  modules are not automatically injected into the CMake package search path (this
383
379
  notably includes NCrystal installed via "pip install ncrystal").
384
380
 
385
- If the NCrystal-Geant4 bindings are needed, they must be explicitly requested,
386
- and the NCrystal::G4NCrystal target added as a dependency for downstream code:
387
381
 
388
- find_package(NCrystal REQUIRED COMPONENTS GEANT4BINDINGS )
389
- target_link_libraries( exampleapp NCrystal::G4NCrystal )
390
382
 
391
- This will of course fail if NCrystal was not build with Geant4 support
392
- (i.e. configured with -DNCRYSTAL_ENABLE_GEANT4=ON). Note: currently (August
393
- 2024), NCrystal conda and pip packages are built *without* Geant4 support.
383
+ Using the NCrystal with Geant4
384
+ ------------------------------
394
385
 
386
+ The instructions for the NCrystal-Geant4 bindings are currently being
387
+ updated. Once complete, they will appear on
388
+ https://github.com/mctools/ncrystal-geant4
395
389
 
396
390
 
397
- Using the NCrystal installation from OpenMC
398
- -----------------------------------------------------------------------------
399
391
 
400
- Using NCrystal materials in openmc is supported since OpenMC release 13.3, and
392
+ Using NCrystal with OpenMC
393
+ --------------------------
394
+
395
+ Using NCrystal materials in OpenMc is supported since OpenMC release 13.3, and
401
396
  uses a nice simple syntax in the Python API:
402
397
 
403
398
  ```
@@ -454,8 +449,8 @@ the sections:
454
449
 
455
450
 
456
451
 
457
- Using the NCrystal installation from McStas
458
- -----------------------------------------------------------------------------
452
+ Using NCrystal with McStas
453
+ --------------------------
459
454
 
460
455
  NOTE: The following discussion concerns the modern McStas 3 branch, and might in
461
456
  particular not be 100% accurate for releases earlier than McStas 3.3 (probably
@@ -471,9 +466,8 @@ the correct settings for doing so. Thus, you can always invoke "ncrystal-config
471
466
  active. Depending on how you installed McStas, NCrystal is most likely already
472
467
  available. If not, you can try one of the following ways of enabling it:
473
468
 
474
- $> conda install -c conda-forge ncrystal [if you are in a conda-forge env]
469
+ $> conda install conda-forge::ncrystal [if you are in a conda-forge env]
475
470
  $> python3 -mpip install ncrystal [for non-conda users]
476
- $> . $MCSTAS/setup.sh [obsolete way]
477
471
 
478
472
  It is beyond the scope for this README to provide a full documentation of
479
473
  McStas, or the Union sub-system, but if you are using McStasScript to compose
@@ -511,4 +505,5 @@ For more documentation about the NCrystal_sample component, run:
511
505
 
512
506
  $> mcdoc NCrystal_sample
513
507
 
514
- Or consult the documentation online at https://www.mcstas.org/download/components/
508
+ Or consult the documentation online at
509
+ https://www.mcstas.org/download/components/
@@ -15,8 +15,8 @@ facilitate integration into existing simulation frameworks such as OpenMC
15
15
  code or via command-line tools. While the C++ library is designed with a high
16
16
  degree of flexibility in mind for developers, typical end-user configuration is
17
17
  deliberately kept simple and uniform across various applications and APIs - this
18
- for instance allows tuning and validation of a particular crystal setup to be
19
- performed in one tool before it is then deployed in another.
18
+ for instance allows tuning and validation of a particular material configuration
19
+ to be performed in one tool before it is then deployed in another.
20
20
 
21
21
  In addition to code and tools, the NCrystal distribution also includes a set of
22
22
  validated data files, covering many crystals important at neutron scattering
@@ -88,16 +88,17 @@ $> nctool 'Al_sg225.ncmat;temp=10C'
88
88
 
89
89
 
90
90
 
91
- Using the NCrystal installation from C++ (including Geant4), C or Python code
91
+ Using the NCrystal installation from C++, C or Python code
92
92
  -----------------------------------------------------------------------------
93
93
 
94
- If you wish to use NCrystal from Python code, there is no special setup
95
- needed. If you on the other hand wish to use NCrystal from your compiled C++ or
96
- C code, you must put appropriate build flags. The recommended way is using CMake
97
- to do this (see next section), but otherwise you must ensure that the NCrystal
98
- header files are in your compiler's include path, and that the NCrystal library
99
- is linked correctly. Here are some examples of how this could for instance be
100
- done, with a C and a C++ app respectively:
94
+ If you wish to use NCrystal from Python code, there is no special setup needed,
95
+ assuming NCrystal was installed correctly (cf. INSTALL.md). If you on the other
96
+ hand wish to use NCrystal from your compiled C++ or C code, you must put
97
+ appropriate build flags. The recommended way is using CMake to do this (see next
98
+ section), but otherwise you must ensure that the NCrystal header files are in
99
+ your compiler's include path, and that the NCrystal library is linked
100
+ correctly. Here are some examples of how this could for instance be done, with a
101
+ C and a C++ app respectively:
101
102
 
102
103
  export LDFLAGS="${LDFLAGS:-} -Wl,-rpath,$(ncrystal-config --show libdir) $(ncrystal-config --show libpath)"
103
104
  export CFLAGS="${CFLAGS:-} -I$(ncrystal-config --show includedir)"
@@ -105,22 +106,17 @@ done, with a C and a C++ app respectively:
105
106
  cc -std=c11 ${LDFLAGS} ${CFLAGS} my_c_code.c -o my_c_app
106
107
  c++ -std=c++17 ${LDFLAGS} ${CXXFLAGS} my_cpp_code.cpp -o my_cpp_app
107
108
 
108
- If using the NCrystal-Geant4 interfaces, you should also add "-lG4NCrystal" to
109
- the link flags.
110
-
111
109
  Then, in your code you can access the relevant APIs with with statements like:
112
110
 
113
111
  #include "NCrystal/NCrystal.hh" // C++ code, core NCrystal
114
- #include "G4NCrystal/G4NCrystal.hh" // C++ code, for Geant4 users
115
112
  #include "NCrystal/ncrystal.h" // C code
116
113
  import NCrystal ## Python code
117
114
 
118
115
  In the ./examples/ directory of your NCrystal distribution that you got after
119
116
  downloading and unpacking the NCrystal source tar-ball, you will find small
120
- examples of code using NCrystal. For C++/C and Geant4, there is currently no
121
- documentation beyond the header files and examples. In the case of Python, there
122
- is integrated documentation available via the usual "help" function, accessed
123
- with:
117
+ examples of code using NCrystal. For C++/C, there is currently no documentation
118
+ beyond the header files and examples. In the case of Python, there is integrated
119
+ documentation available via the usual "help" function, accessed with:
124
120
 
125
121
  import NCrystal
126
122
  help(NCrystal)
@@ -148,10 +144,10 @@ CMake code for a small project using NCrystal might look like the following
148
144
 
149
145
  cmake_minimum_required(VERSION 3.10...3.26)
150
146
  project(MyExampleProject LANGUAGES CXX)
151
- execute_process( COMMAND ncrystal-config --show cmakedir
147
+ execute_process( COMMAND "ncrystal-config" "--show" "cmakedir"
152
148
  OUTPUT_VARIABLE NCrystal_DIR
153
149
  OUTPUT_STRIP_TRAILING_WHITESPACE )
154
- find_package(NCrystal REQUIRED)
150
+ find_package(NCrystal 4.0.0 REQUIRED)
155
151
  add_executable(exampleapp "${PROJECT_SOURCE_DIR}/exampleapp.cc")
156
152
  target_link_libraries( exampleapp NCrystal::NCrystal )
157
153
  install( TARGETS exampleapp DESTINATION bin )
@@ -161,22 +157,21 @@ required before the code can work in an environment where the NCrystal CMake
161
157
  modules are not automatically injected into the CMake package search path (this
162
158
  notably includes NCrystal installed via "pip install ncrystal").
163
159
 
164
- If the NCrystal-Geant4 bindings are needed, they must be explicitly requested,
165
- and the NCrystal::G4NCrystal target added as a dependency for downstream code:
166
160
 
167
- find_package(NCrystal REQUIRED COMPONENTS GEANT4BINDINGS )
168
- target_link_libraries( exampleapp NCrystal::G4NCrystal )
169
161
 
170
- This will of course fail if NCrystal was not build with Geant4 support
171
- (i.e. configured with -DNCRYSTAL_ENABLE_GEANT4=ON). Note: currently (August
172
- 2024), NCrystal conda and pip packages are built *without* Geant4 support.
162
+ Using the NCrystal with Geant4
163
+ ------------------------------
173
164
 
165
+ The instructions for the NCrystal-Geant4 bindings are currently being
166
+ updated. Once complete, they will appear on
167
+ https://github.com/mctools/ncrystal-geant4
174
168
 
175
169
 
176
- Using the NCrystal installation from OpenMC
177
- -----------------------------------------------------------------------------
178
170
 
179
- Using NCrystal materials in openmc is supported since OpenMC release 13.3, and
171
+ Using NCrystal with OpenMC
172
+ --------------------------
173
+
174
+ Using NCrystal materials in OpenMc is supported since OpenMC release 13.3, and
180
175
  uses a nice simple syntax in the Python API:
181
176
 
182
177
  ```
@@ -233,8 +228,8 @@ the sections:
233
228
 
234
229
 
235
230
 
236
- Using the NCrystal installation from McStas
237
- -----------------------------------------------------------------------------
231
+ Using NCrystal with McStas
232
+ --------------------------
238
233
 
239
234
  NOTE: The following discussion concerns the modern McStas 3 branch, and might in
240
235
  particular not be 100% accurate for releases earlier than McStas 3.3 (probably
@@ -250,9 +245,8 @@ the correct settings for doing so. Thus, you can always invoke "ncrystal-config
250
245
  active. Depending on how you installed McStas, NCrystal is most likely already
251
246
  available. If not, you can try one of the following ways of enabling it:
252
247
 
253
- $> conda install -c conda-forge ncrystal [if you are in a conda-forge env]
248
+ $> conda install conda-forge::ncrystal [if you are in a conda-forge env]
254
249
  $> python3 -mpip install ncrystal [for non-conda users]
255
- $> . $MCSTAS/setup.sh [obsolete way]
256
250
 
257
251
  It is beyond the scope for this README to provide a full documentation of
258
252
  McStas, or the Union sub-system, but if you are using McStasScript to compose
@@ -290,4 +284,5 @@ For more documentation about the NCrystal_sample component, run:
290
284
 
291
285
  $> mcdoc NCrystal_sample
292
286
 
293
- Or consult the documentation online at https://www.mcstas.org/download/components/
287
+ Or consult the documentation online at
288
+ https://www.mcstas.org/download/components/
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -30,7 +30,7 @@ Please find more information about NCrystal at the website:
30
30
 
31
31
  In particular, a small example using the NCrystal python module can be found at:
32
32
 
33
- https://github.com/mctools/ncrystal/blob/master/examples/ncrystal_example_py
33
+ https://github.com/mctools/ncrystal/blob/HEAD/examples/ncrystal_example_py
34
34
 
35
35
  A substantial effort went into developing NCrystal. If you use it for your work,
36
36
  we would appreciate it if you would use the following reference in your work:
@@ -55,7 +55,7 @@ For detailed usage conditions and licensing of this open source project, see:
55
55
 
56
56
  #NB: Synchronize meta-data below with fields in setup.py+template_setup.py.in meta data:
57
57
  __license__ = "Apache 2.0, http://www.apache.org/licenses/LICENSE-2.0"
58
- __version__ = '3.9.87'
58
+ __version__ = '3.9.88'
59
59
  __status__ = "Production"
60
60
  __author__ = "NCrystal developers (Thomas Kittelmann, Xiao Xiao Cai)"
61
61
  __copyright__ = "Copyright 2015-2024 %s"%__author__
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -305,7 +305,7 @@ Note that this script exists for the benefit of experts only. Most users are
305
305
  recommended to simply download and use one of the pre-converted files shipped
306
306
  with NCrystal or found at:
307
307
 
308
- https://github.com/mctools/ncrystal-extra/tree/master/data
308
+ https://github.com/mctools/ncrystal-extra/tree/HEAD/data
309
309
 
310
310
  Only information for NCMAT @DYNINFO sections are extracted from ENDF files, so
311
311
  it is recommended to provide the initial parts of the target NCMAT file in a
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -138,7 +138,7 @@ def _actualtest( verbose ):
138
138
  #and to avoid consuming random numbers from other streams.
139
139
  alpc = NC.createScatterIndependentRNG(_cfgstr2)
140
140
  prfct('Verifying loaded Scatter object')
141
- require( alpc.name == 'PCBragg' )
141
+ require( alpc.name == 'PowderBragg' )
142
142
  require( isinstance(alpc.name,str) )
143
143
  require( alpc.refCount() in (1,2) )
144
144
  require( type(alpc.refCount()) == int ) # noqa E721
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -3,7 +3,7 @@
3
3
  ## ##
4
4
  ## This file is part of NCrystal (see https://mctools.github.io/ncrystal/) ##
5
5
  ## ##
6
- ## Copyright 2015-2024 NCrystal developers ##
6
+ ## Copyright 2015-2025 NCrystal developers ##
7
7
  ## ##
8
8
  ## Licensed under the Apache License, Version 2.0 (the "License"); ##
9
9
  ## you may not use this file except in compliance with the License. ##
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: ncrystal-python
3
- Version: 3.9.87
3
+ Version: 3.9.88
4
4
  Summary: Library for thermal neutron transport in crystals and other materials.
5
5
  Author: NCrystal developers (Thomas Kittelmann, Xiao Xiao Cai)
6
6
  License: The Apache 2.0 license is reproduced in the following. See the NOTICE file for
@@ -236,8 +236,8 @@ facilitate integration into existing simulation frameworks such as OpenMC
236
236
  code or via command-line tools. While the C++ library is designed with a high
237
237
  degree of flexibility in mind for developers, typical end-user configuration is
238
238
  deliberately kept simple and uniform across various applications and APIs - this
239
- for instance allows tuning and validation of a particular crystal setup to be
240
- performed in one tool before it is then deployed in another.
239
+ for instance allows tuning and validation of a particular material configuration
240
+ to be performed in one tool before it is then deployed in another.
241
241
 
242
242
  In addition to code and tools, the NCrystal distribution also includes a set of
243
243
  validated data files, covering many crystals important at neutron scattering
@@ -309,16 +309,17 @@ $> nctool 'Al_sg225.ncmat;temp=10C'
309
309
 
310
310
 
311
311
 
312
- Using the NCrystal installation from C++ (including Geant4), C or Python code
312
+ Using the NCrystal installation from C++, C or Python code
313
313
  -----------------------------------------------------------------------------
314
314
 
315
- If you wish to use NCrystal from Python code, there is no special setup
316
- needed. If you on the other hand wish to use NCrystal from your compiled C++ or
317
- C code, you must put appropriate build flags. The recommended way is using CMake
318
- to do this (see next section), but otherwise you must ensure that the NCrystal
319
- header files are in your compiler's include path, and that the NCrystal library
320
- is linked correctly. Here are some examples of how this could for instance be
321
- done, with a C and a C++ app respectively:
315
+ If you wish to use NCrystal from Python code, there is no special setup needed,
316
+ assuming NCrystal was installed correctly (cf. INSTALL.md). If you on the other
317
+ hand wish to use NCrystal from your compiled C++ or C code, you must put
318
+ appropriate build flags. The recommended way is using CMake to do this (see next
319
+ section), but otherwise you must ensure that the NCrystal header files are in
320
+ your compiler's include path, and that the NCrystal library is linked
321
+ correctly. Here are some examples of how this could for instance be done, with a
322
+ C and a C++ app respectively:
322
323
 
323
324
  export LDFLAGS="${LDFLAGS:-} -Wl,-rpath,$(ncrystal-config --show libdir) $(ncrystal-config --show libpath)"
324
325
  export CFLAGS="${CFLAGS:-} -I$(ncrystal-config --show includedir)"
@@ -326,22 +327,17 @@ done, with a C and a C++ app respectively:
326
327
  cc -std=c11 ${LDFLAGS} ${CFLAGS} my_c_code.c -o my_c_app
327
328
  c++ -std=c++17 ${LDFLAGS} ${CXXFLAGS} my_cpp_code.cpp -o my_cpp_app
328
329
 
329
- If using the NCrystal-Geant4 interfaces, you should also add "-lG4NCrystal" to
330
- the link flags.
331
-
332
330
  Then, in your code you can access the relevant APIs with with statements like:
333
331
 
334
332
  #include "NCrystal/NCrystal.hh" // C++ code, core NCrystal
335
- #include "G4NCrystal/G4NCrystal.hh" // C++ code, for Geant4 users
336
333
  #include "NCrystal/ncrystal.h" // C code
337
334
  import NCrystal ## Python code
338
335
 
339
336
  In the ./examples/ directory of your NCrystal distribution that you got after
340
337
  downloading and unpacking the NCrystal source tar-ball, you will find small
341
- examples of code using NCrystal. For C++/C and Geant4, there is currently no
342
- documentation beyond the header files and examples. In the case of Python, there
343
- is integrated documentation available via the usual "help" function, accessed
344
- with:
338
+ examples of code using NCrystal. For C++/C, there is currently no documentation
339
+ beyond the header files and examples. In the case of Python, there is integrated
340
+ documentation available via the usual "help" function, accessed with:
345
341
 
346
342
  import NCrystal
347
343
  help(NCrystal)
@@ -369,10 +365,10 @@ CMake code for a small project using NCrystal might look like the following
369
365
 
370
366
  cmake_minimum_required(VERSION 3.10...3.26)
371
367
  project(MyExampleProject LANGUAGES CXX)
372
- execute_process( COMMAND ncrystal-config --show cmakedir
368
+ execute_process( COMMAND "ncrystal-config" "--show" "cmakedir"
373
369
  OUTPUT_VARIABLE NCrystal_DIR
374
370
  OUTPUT_STRIP_TRAILING_WHITESPACE )
375
- find_package(NCrystal REQUIRED)
371
+ find_package(NCrystal 4.0.0 REQUIRED)
376
372
  add_executable(exampleapp "${PROJECT_SOURCE_DIR}/exampleapp.cc")
377
373
  target_link_libraries( exampleapp NCrystal::NCrystal )
378
374
  install( TARGETS exampleapp DESTINATION bin )
@@ -382,22 +378,21 @@ required before the code can work in an environment where the NCrystal CMake
382
378
  modules are not automatically injected into the CMake package search path (this
383
379
  notably includes NCrystal installed via "pip install ncrystal").
384
380
 
385
- If the NCrystal-Geant4 bindings are needed, they must be explicitly requested,
386
- and the NCrystal::G4NCrystal target added as a dependency for downstream code:
387
381
 
388
- find_package(NCrystal REQUIRED COMPONENTS GEANT4BINDINGS )
389
- target_link_libraries( exampleapp NCrystal::G4NCrystal )
390
382
 
391
- This will of course fail if NCrystal was not build with Geant4 support
392
- (i.e. configured with -DNCRYSTAL_ENABLE_GEANT4=ON). Note: currently (August
393
- 2024), NCrystal conda and pip packages are built *without* Geant4 support.
383
+ Using the NCrystal with Geant4
384
+ ------------------------------
394
385
 
386
+ The instructions for the NCrystal-Geant4 bindings are currently being
387
+ updated. Once complete, they will appear on
388
+ https://github.com/mctools/ncrystal-geant4
395
389
 
396
390
 
397
- Using the NCrystal installation from OpenMC
398
- -----------------------------------------------------------------------------
399
391
 
400
- Using NCrystal materials in openmc is supported since OpenMC release 13.3, and
392
+ Using NCrystal with OpenMC
393
+ --------------------------
394
+
395
+ Using NCrystal materials in OpenMc is supported since OpenMC release 13.3, and
401
396
  uses a nice simple syntax in the Python API:
402
397
 
403
398
  ```
@@ -454,8 +449,8 @@ the sections:
454
449
 
455
450
 
456
451
 
457
- Using the NCrystal installation from McStas
458
- -----------------------------------------------------------------------------
452
+ Using NCrystal with McStas
453
+ --------------------------
459
454
 
460
455
  NOTE: The following discussion concerns the modern McStas 3 branch, and might in
461
456
  particular not be 100% accurate for releases earlier than McStas 3.3 (probably
@@ -471,9 +466,8 @@ the correct settings for doing so. Thus, you can always invoke "ncrystal-config
471
466
  active. Depending on how you installed McStas, NCrystal is most likely already
472
467
  available. If not, you can try one of the following ways of enabling it:
473
468
 
474
- $> conda install -c conda-forge ncrystal [if you are in a conda-forge env]
469
+ $> conda install conda-forge::ncrystal [if you are in a conda-forge env]
475
470
  $> python3 -mpip install ncrystal [for non-conda users]
476
- $> . $MCSTAS/setup.sh [obsolete way]
477
471
 
478
472
  It is beyond the scope for this README to provide a full documentation of
479
473
  McStas, or the Union sub-system, but if you are using McStasScript to compose
@@ -511,4 +505,5 @@ For more documentation about the NCrystal_sample component, run:
511
505
 
512
506
  $> mcdoc NCrystal_sample
513
507
 
514
- Or consult the documentation online at https://www.mcstas.org/download/components/
508
+ Or consult the documentation online at
509
+ https://www.mcstas.org/download/components/
@@ -0,0 +1,56 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ src/NCrystal/__init__.py
5
+ src/NCrystal/__main__.py
6
+ src/NCrystal/_chooks.py
7
+ src/NCrystal/_cli_cif2ncmat.py
8
+ src/NCrystal/_cli_endf2ncmat.py
9
+ src/NCrystal/_cli_hfg2ncmat.py
10
+ src/NCrystal/_cli_mcstasunion.py
11
+ src/NCrystal/_cli_ncmat2cpp.py
12
+ src/NCrystal/_cli_ncmat2hkl.py
13
+ src/NCrystal/_cli_nctool.py
14
+ src/NCrystal/_cli_vdos2ncmat.py
15
+ src/NCrystal/_cli_verifyatompos.py
16
+ src/NCrystal/_cliimpl.py
17
+ src/NCrystal/_cliwrap_config.py
18
+ src/NCrystal/_common.py
19
+ src/NCrystal/_coreimpl.py
20
+ src/NCrystal/_hfgdata.py
21
+ src/NCrystal/_hklobjects.py
22
+ src/NCrystal/_is_std.py
23
+ src/NCrystal/_locatelib.py
24
+ src/NCrystal/_miscimpl.py
25
+ src/NCrystal/_mmc.py
26
+ src/NCrystal/_msg.py
27
+ src/NCrystal/_ncmat2cpp_impl.py
28
+ src/NCrystal/_ncmatimpl.py
29
+ src/NCrystal/_numpy.py
30
+ src/NCrystal/_testimpl.py
31
+ src/NCrystal/api.py
32
+ src/NCrystal/atomdata.py
33
+ src/NCrystal/cfgstr.py
34
+ src/NCrystal/cifutils.py
35
+ src/NCrystal/cli.py
36
+ src/NCrystal/constants.py
37
+ src/NCrystal/core.py
38
+ src/NCrystal/datasrc.py
39
+ src/NCrystal/exceptions.py
40
+ src/NCrystal/hfg2ncmat.py
41
+ src/NCrystal/mcstasutils.py
42
+ src/NCrystal/misc.py
43
+ src/NCrystal/mmc.py
44
+ src/NCrystal/ncmat.py
45
+ src/NCrystal/ncmat2cpp.py
46
+ src/NCrystal/obsolete.py
47
+ src/NCrystal/plot.py
48
+ src/NCrystal/plugins.py
49
+ src/NCrystal/test.py
50
+ src/NCrystal/vdos.py
51
+ src/ncrystal_python.egg-info/PKG-INFO
52
+ src/ncrystal_python.egg-info/SOURCES.txt
53
+ src/ncrystal_python.egg-info/dependency_links.txt
54
+ src/ncrystal_python.egg-info/entry_points.txt
55
+ src/ncrystal_python.egg-info/requires.txt
56
+ src/ncrystal_python.egg-info/top_level.txt
@@ -1,56 +0,0 @@
1
- LICENSE
2
- README.md
3
- pyproject.toml
4
- NCrystal/__init__.py
5
- NCrystal/__main__.py
6
- NCrystal/_chooks.py
7
- NCrystal/_cli_cif2ncmat.py
8
- NCrystal/_cli_endf2ncmat.py
9
- NCrystal/_cli_hfg2ncmat.py
10
- NCrystal/_cli_mcstasunion.py
11
- NCrystal/_cli_ncmat2cpp.py
12
- NCrystal/_cli_ncmat2hkl.py
13
- NCrystal/_cli_nctool.py
14
- NCrystal/_cli_vdos2ncmat.py
15
- NCrystal/_cli_verifyatompos.py
16
- NCrystal/_cliimpl.py
17
- NCrystal/_cliwrap_config.py
18
- NCrystal/_common.py
19
- NCrystal/_coreimpl.py
20
- NCrystal/_hfgdata.py
21
- NCrystal/_hklobjects.py
22
- NCrystal/_is_std.py
23
- NCrystal/_locatelib.py
24
- NCrystal/_miscimpl.py
25
- NCrystal/_mmc.py
26
- NCrystal/_msg.py
27
- NCrystal/_ncmat2cpp_impl.py
28
- NCrystal/_ncmatimpl.py
29
- NCrystal/_numpy.py
30
- NCrystal/_testimpl.py
31
- NCrystal/api.py
32
- NCrystal/atomdata.py
33
- NCrystal/cfgstr.py
34
- NCrystal/cifutils.py
35
- NCrystal/cli.py
36
- NCrystal/constants.py
37
- NCrystal/core.py
38
- NCrystal/datasrc.py
39
- NCrystal/exceptions.py
40
- NCrystal/hfg2ncmat.py
41
- NCrystal/mcstasutils.py
42
- NCrystal/misc.py
43
- NCrystal/mmc.py
44
- NCrystal/ncmat.py
45
- NCrystal/ncmat2cpp.py
46
- NCrystal/obsolete.py
47
- NCrystal/plot.py
48
- NCrystal/plugins.py
49
- NCrystal/test.py
50
- NCrystal/vdos.py
51
- ncrystal_python.egg-info/PKG-INFO
52
- ncrystal_python.egg-info/SOURCES.txt
53
- ncrystal_python.egg-info/dependency_links.txt
54
- ncrystal_python.egg-info/entry_points.txt
55
- ncrystal_python.egg-info/requires.txt
56
- ncrystal_python.egg-info/top_level.txt