--- myst: substitutions: macro: python: 1-5,11-42 cpp: 4-6,9-36 bloc1: python: "13" cpp: "10" bloc2: python: 16-24 cpp: 5,12-19 bloc3: python: 26-33 cpp: 22-29 bloc4: python: 36-38 cpp: "32" bloc5: python: "40" cpp: "34" console: python: 2- cpp: 5- --- # Macro "**sensitivityFiniteDifferencesFunctionFlowrate.{{extension}}**" ## Objective The objective of this macro is to compute the finite differences indexes on a function. ## Macro {{uranie}} {{ "```{" "literalinclude" "} " + parent_dir + "/roottest/uranie/doc/sensitivity/use_cases/" + language + "/sensitivityFiniteDifferencesFunctionFlowrate." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + macro[language] + "\n" + "```" }} The function `flowrateModel` is loaded from the macro `UserFunctions.C` (the file can be found in `${URANIESYS}/share/uranie/macros`) {{ "```{" "literalinclude" "} " + parent_dir + "/roottest/uranie/doc/sensitivity/use_cases/" + language + "/sensitivityFiniteDifferencesFunctionFlowrate." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc1[language] + "\n" + "```" }} Each parameter is related to the {{tds}} as a `TAttribute` and obeys an uniform law on specific interval: {{ "```{" "literalinclude" "} " + parent_dir + "/roottest/uranie/doc/sensitivity/use_cases/" + language + "/sensitivityFiniteDifferencesFunctionFlowrate." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc2[language] + "\n" + "```" }} Each parameter gets a default value: {{ "```{" "literalinclude" "} " + parent_dir + "/roottest/uranie/doc/sensitivity/use_cases/" + language + "/sensitivityFiniteDifferencesFunctionFlowrate." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc3[language] + "\n" + "```" }} To instantiate the `TFiniteDifferences` object, one uses the {{tds}}, the name of the function, the name of the output of the function, the names of the input variables separated by ":" and the option to specify the sampling: {{ "```{" "literalinclude" "} " + parent_dir + "/roottest/uranie/doc/sensitivity/use_cases/" + language + "/sensitivityFiniteDifferencesFunctionFlowrate." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc4[language] + "\n" + "```" }} Computation of sensitivity indexes: {{ "```{" "literalinclude" "} " + parent_dir + "/roottest/uranie/doc/sensitivity/use_cases/" + language + "/sensitivityFiniteDifferencesFunctionFlowrate." + extension + "\n" + ":language: " + language + "\n" + ":lines: " + bloc5[language] + "\n" + "```" }} ## Console {{ "```{" "literalinclude" "} " + parent_dir + "/roottest/build/uranie/doc/sensitivity/use_cases/" + language + "/sensitivityFiniteDifferencesFunctionFlowrate_clean.log" + "\n" + ":language: none\n" + ":lines: " + console[language] + "\n" + "```" }}