Skip to content

Commit 8a5d271

Browse files
committed
improved doc
1 parent 32f23dc commit 8a5d271

File tree

163 files changed

+9369
-8536
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

163 files changed

+9369
-8536
lines changed
461 KB
Binary file not shown.
Binary file not shown.
130 KB
Binary file not shown.
23.3 KB
Binary file not shown.
34.7 KB
Binary file not shown.

docs/build/doctrees/index.doctree

330 Bytes
Binary file not shown.
8.87 KB
Binary file not shown.
10.1 KB
Binary file not shown.
1.86 KB
Binary file not shown.
3.1 KB
Binary file not shown.
8.64 KB
Binary file not shown.

docs/build/html/.buildinfo

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 8473858754355e49f07419d55bf4d936
3+
config: 624aeecfb5e89613f24f6f6850736515
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

docs/build/html/LICENSE.html

+6-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
99

10-
<title>License &mdash; JADE v1.2.0 documentation</title>
10+
<title>License &mdash; JADE v1.3.0 documentation</title>
1111

1212

1313

@@ -116,6 +116,11 @@
116116
<p class="caption"><span class="caption-text">JADE Developer Guide (TBD):</span></p>
117117
<ul>
118118
<li class="toctree-l1"><a class="reference internal" href="dev/intro.html">Introduction</a></li>
119+
<li class="toctree-l1"><a class="reference internal" href="dev/insertbenchmarks.html">Insert Custom Benchmarks</a></li>
120+
</ul>
121+
<p class="caption"><span class="caption-text">JADE API</span></p>
122+
<ul>
123+
<li class="toctree-l1"><a class="reference internal" href="api/autoapi.html">JADE API</a></li>
119124
</ul>
120125

121126

79.4 KB
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
########
2+
JADE API
3+
########
4+
5+
Input generation
6+
================
7+
8+
matreader module
9+
----------------
10+
.. autoclass:: matreader.MatCardsList
11+
:members:
12+
13+
.. autoclass:: matreader.Material
14+
:members:
15+
16+
.. autoclass:: matreader.SubMaterial
17+
:members:
18+
19+
.. autoclass:: matreader.Element
20+
:members:
21+
22+
.. autoclass:: matreader.Zaid
23+
:members:
24+
25+
testrun module
26+
--------------
27+
.. autoclass:: testrun.Test
28+
:members:
29+
30+
31+
.. autoclass:: testrun.MultipleTest
32+
:members:
33+
34+
35+
inputfile module
36+
----------------
37+
.. autoclass:: inputfile.InputFile
38+
:members:
39+
.. autoclass:: inputfile.D1S_Input
40+
:members:
41+
.. autoclass:: inputfile.D1S5_InputFile
42+
:members:
43+
44+
parsersD1S module
45+
-----------------
46+
.. autoclass:: parsersD1S.IrradiationFile
47+
:members:
48+
.. autoclass:: parsersD1S.Irradiation
49+
:members:
50+
.. autoclass:: parsersD1S.ReactionFile
51+
:members:
52+
.. autoclass:: parsersD1S.Reaction
53+
:members:
54+
55+
Post-Processing
56+
===============
57+
58+
output module
59+
-------------
60+
.. autoclass:: output.AbstractOutput
61+
:members:
62+
:private-members:
63+
.. autoclass:: output.BenchmarkOutput
64+
:members:
65+
:private-members:
66+
.. autoclass:: output.MCNPoutput
67+
:members:
68+
.. autoclass:: output.ExcelOutputSheet
69+
:members:
70+
71+
expoutput module
72+
----------------
73+
.. autoclass:: expoutput.ExperimentalOutput
74+
:members:
75+
:private-members:
76+
77+
plotter class
78+
--------------
79+
.. autoclass:: plotter.Plotter
80+
:members:
81+
:special-members:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
################
2+
Input Generation
3+
################
4+
5+
In this section the most useful classes that can be used during benchmark
6+
input preparation are described.
7+
8+
================
9+
matreader module
10+
================
11+
12+
MatCardsList
13+
------------
14+
.. autoclass:: matreader.MatCardsList
15+
:members:
16+
17+
Material
18+
--------
19+
.. autoclass:: matreader.Material
20+
:members:
21+
22+
Submaterial
23+
-----------
24+
.. autoclass:: matreader.SubMaterial
25+
:members:
26+
27+
Element
28+
------------
29+
.. autoclass:: matreader.Element
30+
:members:
31+
32+
Zaid
33+
------------
34+
.. autoclass:: matreader.Zaid
35+
:members:
36+
37+
.. _testrunmodule:
38+
39+
==============
40+
testrun module
41+
==============
42+
43+
Test
44+
----
45+
.. autoclass:: testrun.Test
46+
:members:
47+
48+
MultipleTest
49+
------------
50+
.. autoclass:: testrun.MultipleTest
51+
:members:
52+
53+
================
54+
inputfile module
55+
================
56+
57+
InputFile
58+
------------
59+
.. autoclass:: inputfile.InputFile
60+
:members:
61+
62+
D1S_Input
63+
---------
64+
.. autoclass:: inputfile.D1S_Input
65+
:members:
66+
67+
D1S5_InputFile
68+
--------------
69+
.. autoclass:: inputfile.D1S5_InputFile
70+
:members:
71+
72+
=================
73+
parsersD1S module
74+
=================
75+
76+
IrradiationFile
77+
---------------
78+
.. autoclass:: parsersD1S.IrradiationFile
79+
:members:
80+
81+
Irradiation
82+
-----------
83+
.. autoclass:: parsersD1S.Irradiation
84+
:members:
85+
86+
ReactionFile
87+
---------------
88+
.. autoclass:: parsersD1S.ReactionFile
89+
:members:
90+
91+
Reaction
92+
---------------
93+
.. autoclass:: parsersD1S.Reaction
94+
:members:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
###############
2+
Post-Processing
3+
###############
4+
In this section the most useful classes that can be used during benchmark
5+
post-processing are described.
6+
7+
=============
8+
output module
9+
=============
10+
11+
AbstractOutput
12+
--------------
13+
.. autoclass:: output.AbstractOutput
14+
:members:
15+
:private-members:
16+
17+
BenchmarkOutput
18+
---------------
19+
.. autoclass:: output.BenchmarkOutput
20+
:members:
21+
:private-members:
22+
23+
MCNPOutput
24+
----------
25+
.. autoclass:: output.MCNPoutput
26+
:members:
27+
28+
ExcelOutputSheet
29+
----------------
30+
.. autoclass:: output.ExcelOutputSheet
31+
:members:
32+
33+
================
34+
expoutput module
35+
================
36+
37+
.. _expoutputclass:
38+
39+
ExperimentalOutput
40+
------------------
41+
.. autoclass:: expoutput.ExperimentalOutput
42+
:members:
43+
:private-members:
44+
45+
==============
46+
plotter module
47+
==============
48+
49+
Plotter
50+
-------
51+
.. autoclass:: plotter.Plotter
52+
:members:
53+
:special-members:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
########################
2+
Insert Custom Benchmarks
3+
########################
4+
5+
This section of the guide describes how to add custom benchmarks to the JADE suite. The procedures
6+
necessary to implement new computational and experimental benchmarks are different and are
7+
described respectively in :ref:`customcompbench` and :ref:`customexpbench`.
8+
9+
.. _customcompbench:
10+
11+
Insert Custom Computational Benchmark
12+
=====================================
13+
Implementing a new computational benchmark is relatively easy and, theoretically, no additional
14+
code is required. The procedure is composed by the following steps:
15+
16+
#. Once the benchmark input has been finalized, save it as ``<JADE_root>\Benchmark inputs\<name>.i``.
17+
#. Add the benchmark to the main configuration file in the computational sheet. See :ref:`compsheet`
18+
for additional information on this.
19+
#. [OPTIONAL] if external weight windows (WW) are used, the WW file must be named *wwinp* and inserted in
20+
``<JADE_root>\Benchmark inputs\VRT\<name>\``.
21+
#. Create a custom post-processing configuration file as described in :ref:`ppconf` and save it in
22+
``<JADE_root>\Configuration\Benchmarks Configuration\<name>.xlsx``
23+
24+
.. note::
25+
The benchmark input should not contain any STOP paramaters or NPS card (this is regulated by the
26+
main configuration file).
27+
.. note::
28+
It is recommended to provide a comment card (FC) for each tally. These comments are considered the
29+
extended tally names and are used during post-processing.
30+
.. warning::
31+
benchmark input file name cannot end with 'o' or 'm'.
32+
33+
.. _customexpbench:
34+
35+
Insert Custom Experimental Benchmark
36+
====================================
37+
Inserting a custom experimental benchmark is slightly more complex, but a significant higher order
38+
of customization is guaranteed.
39+
Steps 1) and 2) of the computational benchmarks procedure still need to be followed but then some
40+
additional coding needs to be performed, specifically, a new child of the :ref:`expoutputclass`
41+
class needs to be defined inside ``<JADE_root>\Code\expoutput.py``.
42+
In order to do that, at least the three abstract methods ``_processMCNPdata()``, ``_pp_excel_comparison()``
43+
and ``_build_atlas()`` need to be implemented in the new class.
44+
Once this has been done, a few other adjustments need to be done to the code.
45+
46+
Call the right Output class
47+
---------------------------
48+
In ``<JADE_root>\Code\postprocess.py``, the function ``_get_output()`` controls the creation of the
49+
benchmark object during post-processing depending on the benchmark. Here an *elif* statement needs
50+
to be added to ensure that the newly created custom class is called when generating the output for
51+
the custom added experimental benchmark. Here is an example of how the FNG benchmark was added:
52+
53+
.. code-block:: python
54+
55+
...
56+
57+
elif testname == 'FNG':
58+
if action == 'compare':
59+
out = expo.FNGOutput(lib, testname, session, multiplerun=True)
60+
elif action == 'pp':
61+
print(exp_pp_message)
62+
return False
63+
64+
...
65+
66+
The user should just substitute ``FNG`` with the name of the benchmark input and ``FNGOutput`` with
67+
the newly created class. Attention should be paid also to the ``multiplerun`` keyword, set True if
68+
the benchmark is actually composed by more than one input (i.e. multiple MCNP/D1S runs).
69+
70+
Additional actions for multi-run benchmarks
71+
-------------------------------------------
72+
.. warning::
73+
these next actions need to be performed **only** if the benchmark is composed by more than one input.
74+
75+
In ``<JADE_root>\Code\status.py`` the name of the benchmark input needs to be added to the MULTI_TEST
76+
77+
.. code-block:: python
78+
79+
MULTI_TEST = ['Sphere', 'Oktavian', 'SphereSDDR', 'FNG']
80+
81+
In ``<JADE_root>\Code\computational.py`` the function ``executeBenchmarksRoutines`` is responsible for
82+
the generation and run of the benchmarks during a JADE session. The modification here is to be performed
83+
in the part that is responsible for choosing the Test object to be used depending on the benchmark.
84+
Here is the code snippet of interest:
85+
86+
.. code-block:: python
87+
88+
...
89+
90+
# Handle special cases
91+
if testname == 'Sphere Leakage Test':
92+
test = testrun.SphereTest(*args)
93+
94+
elif testname == 'Sphere SDDR':
95+
test = testrun.SphereTestSDDR(*args)
96+
97+
elif fname == 'Oktavian':
98+
test = testrun.MultipleTest(*args)
99+
100+
elif fname == 'FNG':
101+
test = testrun.MultipleTest(*args, TestOb=testrun.FNGTest)
102+
103+
else:
104+
test = testrun.Test(*args)
105+
106+
...
107+
108+
The default option is to simply create a ``Test`` object. Clearly, if a children was defined
109+
specifically for the new experimental benchmark, an option would need to be added here.
110+
If the benchmark is a multirun one, an additional *elif* statement needs to be added similarly
111+
to what has been done for the FNG benchmark.
112+
113+
.. seealso::
114+
see also :ref:`testrunmodule` for a better description of the Test object and his children

docs/build/html/_sources/index.rst.txt

+8-1
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,15 @@ GitHub repository [link].
4949
:caption: JADE Developer Guide (TBD):
5050

5151
dev/intro
52+
dev/insertbenchmarks
53+
54+
.. toctree::
55+
:maxdepth: 2
56+
:caption: JADE API
57+
58+
api/inputgeneration
59+
api/postprocessing
5260

53-
5461

5562
Indices and tables
5663
==================

0 commit comments

Comments
 (0)