--- myst: substitutions: macro: python: 1-8,22-63,67-80,83-167 cpp: 5-7,14-52,56-65,68-151 bloc1: python: "56" cpp: "45" --- # Macro "**sensitivitySobolLeveLE.{{extension}}**" ```{warning} The `levele` command will be installed on your machine only if a Fortran compiler is found ``` ## Objective The objective of this macro is to perform a full Sobol analysis on the temporal use-case `levele`. This use-case is an example of code that takes a dozen of entries in order to compute the evolution of dose as a function of time. The result of every computation consists in 3 vectors: the time (always the same value disregarding all entries), the dose called "y" and a third useless information. ## Macro {{uranie}} {{ "```{" "literalinclude" "} " + parent_dir + "/roottest/uranie/doc/sensitivity/use_cases/" + language + "/sensitivitySobolLeveLE." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + macro[language] + "\n" + "```" }} The `levele` external code is located in the bin directory of the {{uranie}} installation. When looking at the code and comparing it to an usual Sobol estimation, the organisation is completely transparent. The only noticeable (and compulsory) thing to do is to change the default type of the attribute read at the end of the job. This is done in this line: {{ "```{" "literalinclude" "} " + parent_dir + "/roottest/uranie/doc/sensitivity/use_cases/" + language + "/sensitivitySobolLeveLE." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc1[language] + "\n" + "```" }} where the output attribute is provided, changing its nature to a vector, thanks to the second argument of the `TAttribute` constructor from the default (`kReal`) to the desired nature (`kVector`). Once this is done, this information is broadcast internally to the code that knows how to deal with this type of attribute. The rest of the code is the graphical part, leading to the figure below (it is provided to illustrate how to represent results). ## Graph The results of the previous macro is shown in {numref}`use_cases_sensitivitySobolLeveLE`, where the evolution of the sobol coefficient is shown for all inputs with the uncertainty band, for the first order coefficient and the total one, respectively on the top and bottom panel. {{ "```{" "figure" "} " + parent_dir + "/roottest/build/uranie/doc/sensitivity/use_cases/" + language + "/sobol_levelE/sensitivitySobolLeveLE.png\n" + ":align: center\n" + ":name: use_cases_sensitivitySobolLeveLE\n" + figure_scale + "\n" + "\n" + "Graph of the macro **\"sensitivitySobolLeveLE." + extension + "\"**" + "\n" + "```" }}