English Français

Documentation / Developer's manual

Available modules

Calibration,  DataServer,  Launcher,  MetaModelOptim,  Modeler,  Optimizer,  ReLauncher,  Reliability,  ReOptimizer,  Sampler,  Sensitivity,  UncertModeler,  XmlProblem,   Uranie / Modeler: URANIE::Modeler::TAnisp Class Reference
Uranie / Modeler v4.9.0
/* @license-end */
URANIE::Modeler::TAnisp Class Reference

Description of the class TAnisp. More...

#include <TAnisp.h>

Inheritance diagram for URANIE::Modeler::TAnisp:
Collaboration diagram for URANIE::Modeler::TAnisp:

Public Types

enum  ANISP_TYPE { kAnalyticalFunction , kCode }
 Enum for TCode or analytical function. More...
 

Public Member Functions

Constructor and Destructor
 TAnisp (TDataServer *tds, void(*analyticalFunction)(Double_t *, Double_t *), const char *fname, TString sinput="", TString soutput="", Option_t *option="")
 Construct an instance of the TAnisp object from a TDataServer object and a void * (analytical function)
 
 TAnisp (TDataServer *tds, const char *analyticalFunction, TString sinput="", TString soutput="", Option_t *option="")
 Construct an instance of the TAnisp object from a TDataServer object and a void * (analytical function)
 
 TAnisp (TDataServer *tds, TCode *code, Option_t *option="")
 Construct an instance of the TAnisp object from a TDataServer object and a TCode object.
 
virtual ~TAnisp ()
 Destructor.
 
Export the model in extrenal langage
void exportModelCplusplus (std::ofstream *sourcefile) const
 Export the model in C++ langage in a file.
 
void exportModelFortran (std::ofstream *sourcefile) const
 Export the model in Fortran langage in a file (not yet implemented)
 
void exportModelPMML (const char *file="", const char *name="", Option_t *option="") const
 Export the model in a PMML file (not yet implemented)
 
void exportModelPython (std::ofstream *sourcefile) const
 Export the model in Python langage in a file (not yet implemented)
 
Printing Log
virtual void printLog (Option_t *option="")
 Print log.
 
Setter and getter functions
void setKMin (Int_t kmin)
 Set the value of the _nKMin attribute to "kmin".
 
Int_t getKMin ()
 Get the order of interaction for adaptative integration.
 
void setTolerance (Double_t tol)
 Set the tolerance for the adaptative integration.
 
Double_t getTolerance ()
 Get the tolerance for the adaptative integration.
 
void setNumberMaxOfSimulations (Int_t nmos)
 Set the criterion of maximum number of simulations before stopping the adaptative integration.
 
Int_t getNumberMaxOfSimulations ()
 Get the criterion of maximum number of simulations before stopping the adaptative integration.
 
void setGreaterIndice (Int_t greatInd)
 Set the greater value possible for an indice.
 
Int_t getGreaterIndice ()
 Get the greater value possible for an indice.
 
void setMaxIndices (Int_t maxInd)
 Set the number maximum of indices for the integration.
 
Int_t getMaxIndices ()
 Get the number maximum of indices for the integration.
 
void setDegreeMax (Int_t degMax)
 Set the degree maximum for the Polynomial Chaos expansion.
 
Int_t getDegreeMax ()
 Get the degree maximum for the Polynomial Chaos expansion.
 
Int_t getCible ()
 Get the ANISP_TYPE which indicates if ANISP approximate a code (TCode) or a function (void *)
 
Int_t getIterationNumber ()
 Get the number of iteration of the integration algorithm.
 
void setlog (Bool_t blog)
 Set the _blog parameter.
 
void setRootFilename (TString rootName)
 Set the root name of the output files of the Anisp library.
 
TString getRootFilename ()
 Get the root name of the output files of the Anisp library.
 
TNtupleD * getErrorIndicator ()
 Get the list of error indicators.
 
TNtupleD * getIntegrationIndices ()
 Get the list of integration indices.
 
TPolynomialChaos getTPolynomialChaos ()
 Get the TPolynomialChaos computed by the Anisp method.
 
TString getVariablesName (TString inputs="")
 Get a TString containing the name of all attributes separated by ':'.
 
Anisp library files
TString getDataAnispFile () const
 Get the Anisp intern data file name.
 
TString getResultFile () const
 Get the computed polynomial coefficients file name.
 
TString getStochasticFile () const
 Get the stochastic points file name.
 
TString getErrorIndicatorFile () const
 Get the error indicator values file name.
 
TString getIndicesFile () const
 Get the integration indices file name.
 
Set parameters functions
void setAllAnispParameters (Double_t tol, Int_t kmin, Int_t nmos, Int_t greatInd, Int_t maxInd, Bool_t blog, Int_t degMax, TString rootName)
 Set all the Anisp parameters.
 
void setAnispParameters (Double_t tol, Int_t kmin, Int_t nmos, Int_t greatInd, Int_t maxInd, Bool_t blog)
 Set most of the Anisp parameters.
 
void setLightAnispParameters (Double_t tol, Int_t kmin, Int_t nmos)
 Set the Anisp calcul parameters.
 
- Public Member Functions inherited from URANIE::Modeler::TModeler
 TModeler (URANIE::DataServer::TDataServer *tds, TString architecture, Option_t *option="")
 Constructor with a dataserver.
 
 TModeler (URANIE::DataServer::TDataServer *tds, const char *varexpinput, const char *varexpoutput, Option_t *option="")
 Default constructor with input and output attributes.
 
virtual ~TModeler ()
 Default destructor.
 
TVectorD getParameters ()
 Return the parameter vector of the model.
 
Double_t getR2 () const
 Return the R2 quality.
 
const char * getInputName (Int_t i) const
 Return the name of input attributes.
 
const char * getOutputName (Int_t i=0)
 Return the name of output attribute.
 
Int_t getNInput ()
 Gets the number of input.
 
Bool_t getIntercept ()
 Gets the boolean attribut _bIntercept.
 
void setDrawProgressBar (Bool_t bbool=kTRUE)
 Set the "draw progress bar" flag.
 
Bool_t getDrawProgressBar ()
 Get the "draw progress bar" flag.
 
void train (Option_t *option="text")
 
virtual void exportFunction (const char *lang, const char *file="", const char *name="", Option_t *option="")
 Export the model in an external file with a specified langage.
 
void setLog ()
 
void unsetLog ()
 
void changeLog ()
 
Bool_t getLog ()
 

Private Attributes

TObjArray * _drawingGarbageCollector
 Garbage collector list for drawing.
 
Double_t _dTolerance
 Tolerance of the adaptative integration algorithm.
 
Int_t _nKMin
 Order minimum of interaction for the adaptative integration.
 
Int_t _nNumberMaxOfSimulations
 Stop criterion of the adaptative integration algorithm based of the number of simulations.
 
Int_t _nGreaterIndice
 Greater value possible for an indice.
 
Int_t _nMaxIndices
 Number maximum of indices of integration (memory size)
 
Int_t _nDegreeMax
 Degree maximum possible for the Polynomial Chaos expansion.
 
TString _sRootFilename
 Root of the output files name.
 
TString _sLaws
 Laws of probability for each variable.
 
Int_t _nIterationNumber
 Number of iteration of adaptative integration algorithm.
 
TLauncherFunction * _tAnalyticalFunction
 Object of type TLauncherFunction.
 
TCode * _Code
 Object of type TCode.
 
TLauncher * _tlauncher
 Object of type TLauncher.
 
ANISP_TYPE _nCible
 Variable containing the ANISP_TYPE.
 
TPolynomialChaos_tpc
 Object of type TPolynomialChaos.
 
TNisp_nisp
 Object of type TNisp.
 
TNtupleD * _tErrorIndicator
 List of error indicators from the integration algorithm.
 
TNtupleD * _tIntegrationIndices
 List of integration indices.
 
Int_t _nNumberOfLaunching
 Number of use of the launchCalculs method.
 
Int_t _nNumberOfPoints
 Number of computed points.
 
TString _sinput
 Names of the input arguments.
 
TString _soutput
 Names of the output arguments.
 
TDataServer * _tdsAnisp
 Object of type TDataServer which contains all the launchs data.
 
void(* _analyticalFunction )(Double_t *, Double_t *)
 analytical function
 
TString _sFunctionName
 name of the analytical function
 
Int_t _ninputs
 number of stochastic inputs
 
Int_t _nUranieAnisp
 number of launching of the ANISP method
 
TString _sLaunchNumber
 name of the TAttribute containing the number of launching
 

Friends

void StepByStepOutput (Double_t *val, vector< Int_t * > indices)
 Friend function to pass to the anisp function.
 
void functionLauncher (vector< Double_t * > ptEXp)
 Friend function which launchs the calculs.
 

Run the ANISP method

void runAnisp ()
 Run the Anisp method to compute a Polynomial Chaos expansion.
 
void restartAnisp ()
 Restart the Anisp method to compute a Polynomial Chaos expansion from a previous calcul.
 
void initialize ()
 Initialize attributes of the TAnisp object.
 
void addErrorIndicator (Double_t *errInd)
 Add an error indicator to _tErrorIndicator.
 
void addIntegrationIndices (Double_t *ind)
 Add an error indicator to _tIntegrationIndices.
 
void launchCalculs (vector< Double_t * > ptExp)
 Launch batchs of calculs during the numerical integration step of the ANISP method.
 
void EndIterationActions (Double_t *errIndicator, vector< Double_t * > integrationIndices)
 Run at the end of an iteration of the integration algorithm and exploit the integration indices and error indicators to show graphical output of the progress of the ANISP method

 
void changeOfVariable (Double_t *x)
 Do a changement of variable to change standart stochastic values into the problem uncertain values.
 
void setTPolynomialChaos ()
 Open the result file of the Anisp library and use the coefficients stored there to create a TPolynomialChaos object and set its coefficients.
 

Additional Inherited Members

- Public Attributes inherited from URANIE::Modeler::TModeler
Bool_t _blog
 Boolean for edit the log.
 
Bool_t _bdrawProgressBar
 Boolean to know if the progress bar has to be drawn.
 
Bool_t _bStoreYHat
 Boolean to specify if we add the \hat{} attribute in the TDS [default kTRUE].
 
URANIE::DataServer::TDataServer * _tds
 
Int_t _nS
 Pointer to a TDS.
 
TString _sInputAttributes
 The string of input attributes (separated by the character ":".
 
TString _sOutputAttributes
 The string of output attributes (separated by the character ":".
 
TString _sIntermediateArchitecture
 The intermediate (between the first and last character ",") information.
 
TList * _listOfInputAttributes
 The list of input Leaf.
 
TList * _listOfOutputAttributes
 The list of output Leaf.
 
Int_t _nX
 The number of input attributes.
 
Int_t _nY
 The number of output attributes.
 
TString _sFileName
 The name of the file when export the model without extension.
 
TString _sFunctionName
 The name of the function when export the model.
 
TVectorD _parameterValues
 The list of parameters.
 
Double_t _dr2
 The R2 quality.
 
Bool_t _bIntercept
 For certain models, add the intercept (Default is TRUE)
 

Detailed Description

Description of the class TAnisp.

A wrapper class for the Anisp library which permit to interface the Anisp library with the URANIE platform. The Anisp library is a research code which uses the ANISP method developped by the CEA to approximate the Polynomial Chaos expansion using adaptive numerical integration and selecting an adapted and smaller Polynomial Chaos basis.

Polynomial Chaos expansion for uncertainty propagation in numerical simulation

Let's consider a model of the form $\mathcal{M}(D,y)=0$ where $D$ represent the datas and $y$ the scalar output of the model. In the deterministic case $D$ is certain and so is $y$. Now, we consider the stochastic case where $D$ is uncertain and we express that by putting the datas that depend of a stochactic event $\omega$. The model of the stochastic case is thus

\begin{equation}
\mathcal{M}(D(\omega),y(\omega)) = 0,
\end{equation}

and the output is now an uncertain variable.

Knowing the uncertainties on the datas, we want to propagate them to know the uncertainty of the output. The approach chosen is to parametrize these uncertainties by using a finite vector of independent random variables :

\begin{equation}
\mbox{\boldmath$\xi$} (\omega) =(\xi_1(\omega), \ldots, \xi_d(\omega))
\end{equation}

and so our model becomes:

\begin{equation}
\mathcal{M}(D(\mbox{\boldmath$\xi$}(\omega)),y(\mbox{\boldmath$\xi$}(\omega))) = 0.
\end{equation}

From now on we will stop writing the dependence on $\omega$.

All random variable with a finite variance is equal to an infinite Polynomial Chaos expansion:

\begin{equation}
y(\mbox{\boldmath$\xi$}) = \sum_{k=0}^{\infty} y_k \Psi_k(\mbox{\boldmath$\xi$}), 
\end{equation}

where $\Psi_k$ are orthonormal polynomials and

\begin{equation}
y_{k} = \frac{\left< y, \Psi_{k} \right> } { \| \Psi_{k}\|^2 } \mbox{ with } \left< X,Y \right> = E(XY) 
\mbox{ and } \| \Psi_{k}\| = 1,
\end{equation}

so,

\begin{equation}
y_{k} = E( y \Psi_{k} ) = \int_{\Omega_d} y(\mbox{\boldmath$\xi$})\Psi_{k}(\mbox{\boldmath$\xi$}) 
pdf(\mbox{\boldmath$\xi$}) d\mbox{$\boldmath{\xi}$} . 
\end{equation}

The ANISP method consist to approximate this infinite polynomial expansion by a finite adapted polynomial expansion where the polynomial coefficients are computed by using adaptive numerical integration. The integration algorithm used is adaptive cubature algorithm.

The strong points of this method are that it automates the construction of a adapted cubature formula for numerical integration, the selection of finite and adapted set of polynomials and the computation of the coefficients.

Description of the links between the methods of the TAnips class.

The two constructors call the method initialize :

dot_inline_dotgraph_1.png

The runAnisp and restartAnisp methods, which are the core of this class as they call the anisp function of the Anisp library, activate indirectly the call of several methods:

dot_inline_dotgraph_2.png

Member Enumeration Documentation

◆ ANISP_TYPE

Enum for TCode or analytical function.

Enumerator
kAnalyticalFunction 
kCode 

Constructor & Destructor Documentation

◆ TAnisp() [1/3]

URANIE::Modeler::TAnisp::TAnisp ( TDataServer *  tds,
void(*)(Double_t *, Double_t *)  analyticalFunction,
const char *  fname,
TString  sinput = "",
TString  soutput = "",
Option_t *  option = "" 
)

Construct an instance of the TAnisp object from a TDataServer object and a void * (analytical function)

Parameters
tds: pointer to a TDataServer object
analyticalFunction: void * (analytical function)
sinput: TString value containing the names of the inputs variables
soutput: TString value containing the name of the unique output variable
option: pointer to Option_t value

Referenced by ClassImp().

◆ TAnisp() [2/3]

URANIE::Modeler::TAnisp::TAnisp ( TDataServer *  tds,
const char *  analyticalFunction,
TString  sinput = "",
TString  soutput = "",
Option_t *  option = "" 
)

Construct an instance of the TAnisp object from a TDataServer object and a void * (analytical function)

Parameters
tds: pointer to a TDataServer object
analyticalFunction: const char* (name of the analytical function)
sinput: TString value containing the names of the inputs variables
soutput: TString value containing the name of the unique output variable
option: pointer to Option_t value

◆ TAnisp() [3/3]

URANIE::Modeler::TAnisp::TAnisp ( TDataServer *  tds,
TCode *  code,
Option_t *  option = "" 
)

Construct an instance of the TAnisp object from a TDataServer object and a TCode object.

Parameters
tds: pointer to a TDataServer object
code: pointer to a TCode object
option: pointer to Option_t value

◆ ~TAnisp()

virtual URANIE::Modeler::TAnisp::~TAnisp ( )
virtual

Destructor.

Destruct an instance of TAnisp object.

Referenced by ClassImp().

Member Function Documentation

◆ addErrorIndicator()

void URANIE::Modeler::TAnisp::addErrorIndicator ( Double_t *  errInd)
inlineprivate

Add an error indicator to _tErrorIndicator.

this vector contains 2 columns of double

  • number of simulations
  • value of the error indicator
Parameters
errInd: pointer to a Double_t containing a number of simulations and a value of the error indicator

References _tErrorIndicator.

Referenced by ClassImp().

◆ addIntegrationIndices()

void URANIE::Modeler::TAnisp::addIntegrationIndices ( Double_t *  ind)
inlineprivate

Add an error indicator to _tIntegrationIndices.

this vector contains one column by uncertain variable

Parameters
ind: pointer to a Double_t fill with the values of a multi-indice

References _tIntegrationIndices.

Referenced by ClassImp().

◆ changeOfVariable()

void URANIE::Modeler::TAnisp::changeOfVariable ( Double_t *  x)
private

Do a changement of variable to change standart stochastic values into the problem uncertain values.

Parameters
x: pointer to a Double_t

Referenced by ClassImp().

◆ EndIterationActions()

void URANIE::Modeler::TAnisp::EndIterationActions ( Double_t *  errIndicator,
vector< Double_t * >  integrationIndices 
)
private

Run at the end of an iteration of the integration algorithm and exploit the integration indices and error indicators to show graphical output of the progress of the ANISP method

Parameters
errIndicator: pointer to a Double_t fill with the values of a multi-indice
integrationIndices: vector of Double_t * which contains the iterator number, the value of the point where the calcul is launched, the result of this calcul and the number of running of the ANISP method

Referenced by ClassImp().

◆ exportModelCplusplus()

void URANIE::Modeler::TAnisp::exportModelCplusplus ( std::ofstream *  sourcefile) const
virtual

Export the model in C++ langage in a file.

Warning
Don't use this method. Use the main method TModeler::exportFunction.
Parameters
sourcefile(ofstream *) the pointer to the file to export the modeler.

Implements URANIE::Modeler::TModeler.

Referenced by ClassImp().

◆ exportModelFortran()

void URANIE::Modeler::TAnisp::exportModelFortran ( std::ofstream *  sourcefile) const
inlinevirtual

Export the model in Fortran langage in a file (not yet implemented)

Warning
Don't use this method. Use the main method TModeler::exportFunction.
Parameters
sourcefile(ofstream *) the pointer to the file to export the modeler.

Implements URANIE::Modeler::TModeler.

◆ exportModelPMML()

void URANIE::Modeler::TAnisp::exportModelPMML ( const char *  file = "",
const char *  name = "",
Option_t *  option = "" 
) const
inlinevirtual

Export the model in a PMML file (not yet implemented)

Warning
Don't use this method. Use the main method TModeler::exportFunction.
Parameters
sourcefile(ofstream *) the pointer to the file to export the modeler.

Implements URANIE::Modeler::TModeler.

◆ exportModelPython()

void URANIE::Modeler::TAnisp::exportModelPython ( std::ofstream *  sourcefile) const
inlinevirtual

Export the model in Python langage in a file (not yet implemented)

Warning
Don't use this method. Use the main method TModeler::exportFunction.
Parameters
sourcefile(ofstream *) the pointer to the file to export the modeler.

Implements URANIE::Modeler::TModeler.

◆ getCible()

Int_t URANIE::Modeler::TAnisp::getCible ( )
inline

Get the ANISP_TYPE which indicates if ANISP approximate a code (TCode) or a function (void *)

Returns
the ANISP_TYPE of the _nCible attribute

References _nCible.

◆ getDataAnispFile()

TString URANIE::Modeler::TAnisp::getDataAnispFile ( ) const
inline

Get the Anisp intern data file name.

Returns
the data file name

References _sRootFilename.

Referenced by ClassImp().

◆ getDegreeMax()

Int_t URANIE::Modeler::TAnisp::getDegreeMax ( )
inline

Get the degree maximum for the Polynomial Chaos expansion.

Returns
the degree maximum of the polynomial

References _nDegreeMax.

◆ getErrorIndicator()

TNtupleD * URANIE::Modeler::TAnisp::getErrorIndicator ( )
inline

Get the list of error indicators.

Returns
the list of error indicators

References _tErrorIndicator.

◆ getErrorIndicatorFile()

TString URANIE::Modeler::TAnisp::getErrorIndicatorFile ( ) const
inline

Get the error indicator values file name.

Returns
the error indicator values file name

References _sRootFilename.

Referenced by ClassImp().

◆ getGreaterIndice()

Int_t URANIE::Modeler::TAnisp::getGreaterIndice ( )
inline

Get the greater value possible for an indice.

Returns
the greater value of an indice

References _nGreaterIndice.

◆ getIndicesFile()

TString URANIE::Modeler::TAnisp::getIndicesFile ( ) const
inline

Get the integration indices file name.

Returns
the integration indices file name

References _sRootFilename.

Referenced by ClassImp().

◆ getIntegrationIndices()

TNtupleD * URANIE::Modeler::TAnisp::getIntegrationIndices ( )
inline

Get the list of integration indices.

Returns
the list of integration indices

References _tIntegrationIndices.

◆ getIterationNumber()

Int_t URANIE::Modeler::TAnisp::getIterationNumber ( )
inline

Get the number of iteration of the integration algorithm.

Get the number of iteration of the integration algorithm

Returns
the number of iteration of the integration algorithm

References _nIterationNumber.

◆ getKMin()

Int_t URANIE::Modeler::TAnisp::getKMin ( )
inline

Get the order of interaction for adaptative integration.

Returns
the minimum order of interaction

References _nKMin.

◆ getMaxIndices()

Int_t URANIE::Modeler::TAnisp::getMaxIndices ( )
inline

Get the number maximum of indices for the integration.

Returns
the number maximum of indices

References _nMaxIndices.

◆ getNumberMaxOfSimulations()

Int_t URANIE::Modeler::TAnisp::getNumberMaxOfSimulations ( )
inline

Get the criterion of maximum number of simulations before stopping the adaptative integration.

Returns
the maximum number of simulations

References _nNumberMaxOfSimulations.

◆ getResultFile()

TString URANIE::Modeler::TAnisp::getResultFile ( ) const
inline

Get the computed polynomial coefficients file name.

Returns
the computed coefficients file name

References _sRootFilename.

Referenced by ClassImp().

◆ getRootFilename()

TString URANIE::Modeler::TAnisp::getRootFilename ( )
inline

Get the root name of the output files of the Anisp library.

Returns
the root name of the output files of the Anisp library

References _sRootFilename.

◆ getStochasticFile()

TString URANIE::Modeler::TAnisp::getStochasticFile ( ) const
inline

Get the stochastic points file name.

Returns
the stochastic points file name

References _sRootFilename.

Referenced by ClassImp().

◆ getTolerance()

Double_t URANIE::Modeler::TAnisp::getTolerance ( )
inline

Get the tolerance for the adaptative integration.

Returns
the tolerance value for the adaptative integration

References _dTolerance.

◆ getTPolynomialChaos()

TPolynomialChaos URANIE::Modeler::TAnisp::getTPolynomialChaos ( )

Get the TPolynomialChaos computed by the Anisp method.

Returns
the TPolynomialChaos computed

Referenced by ClassImp().

◆ getVariablesName()

TString URANIE::Modeler::TAnisp::getVariablesName ( TString  inputs = "")

Get a TString containing the name of all attributes separated by ':'.

Parameters
inputs: TString value containing the name of the inputs attributes separated by ':'
Returns
names of all attributes

Referenced by ClassImp().

◆ initialize()

void URANIE::Modeler::TAnisp::initialize ( )
private

Initialize attributes of the TAnisp object.

Referenced by ClassImp().

◆ launchCalculs()

void URANIE::Modeler::TAnisp::launchCalculs ( vector< Double_t * >  ptExp)
private

Launch batchs of calculs during the numerical integration step of the ANISP method.

Parameters
ptExp: vector of Double_t * which contains the iterator number, the value of the point where the calcul is launched, the result of this calcul and the number of running of the ANISP method

Referenced by ClassImp().

◆ printLog()

virtual void URANIE::Modeler::TAnisp::printLog ( Option_t *  option = "")
virtual

Print log.

Parameters
option: pointer to an Option_t object

Reimplemented from URANIE::Modeler::TModeler.

Referenced by ClassImp().

◆ restartAnisp()

void URANIE::Modeler::TAnisp::restartAnisp ( )

Restart the Anisp method to compute a Polynomial Chaos expansion from a previous calcul.

Referenced by ClassImp().

◆ runAnisp()

void URANIE::Modeler::TAnisp::runAnisp ( )

Run the Anisp method to compute a Polynomial Chaos expansion.

Referenced by ClassImp().

◆ setAllAnispParameters()

void URANIE::Modeler::TAnisp::setAllAnispParameters ( Double_t  tol,
Int_t  kmin,
Int_t  nmos,
Int_t  greatInd,
Int_t  maxInd,
Bool_t  blog,
Int_t  degMax,
TString  rootName 
)

Set all the Anisp parameters.

Parameters
toldouble value to set the tolerance criterion of the integration algorithm
kminint value to set the minimum level of interaction of the integration algorithm
nmosint value to set the criterion of maximum number of simulations of the integration algorithm
greatIndint value to set the greater value for an indice reachable by the integration algorithm
maxIndint value to set the maximum number of indices for the integration algorithm (memory criterion)
blogBool_t value to indicate if we wante the graphical and console outputs
degMaxint value to set the maximum degree of the Polynomial Chaos expansion
rootNameTString value which serves as root for all the names of the output files of the Anisp library

Referenced by ClassImp().

◆ setAnispParameters()

void URANIE::Modeler::TAnisp::setAnispParameters ( Double_t  tol,
Int_t  kmin,
Int_t  nmos,
Int_t  greatInd,
Int_t  maxInd,
Bool_t  blog 
)

Set most of the Anisp parameters.

Parameters
toldouble value to set the tolerance criterion of the integration algorithm
kminint value to set the minimum level of interaction of the integration algorithm
nmosint value to set the criterion of maximum number of simulations of the integration algorithm
greatIndint value to set the greater value for an indice reachable by the integration algorithm
maxIndint value to set the maximum number of indices for the integration algorithm (memory criterion)
blogBool_t value to indicate if we wante the graphical and console outputs

Referenced by ClassImp().

◆ setDegreeMax()

void URANIE::Modeler::TAnisp::setDegreeMax ( Int_t  degMax)

Set the degree maximum for the Polynomial Chaos expansion.

Parameters
degMax: int value to set the maximum degree of the Polynomial Chaos expansion

Referenced by ClassImp().

◆ setGreaterIndice()

void URANIE::Modeler::TAnisp::setGreaterIndice ( Int_t  greatInd)

Set the greater value possible for an indice.

Parameters
greatInd: int value to set the greater value for an indice reachable by the integration algorithm

Referenced by ClassImp().

◆ setKMin()

void URANIE::Modeler::TAnisp::setKMin ( Int_t  kmin)

Set the value of the _nKMin attribute to "kmin".

Parameters
kmin: int value to set the minimum level of interaction of the integration algorithm

Referenced by ClassImp().

◆ setLightAnispParameters()

void URANIE::Modeler::TAnisp::setLightAnispParameters ( Double_t  tol,
Int_t  kmin,
Int_t  nmos 
)

Set the Anisp calcul parameters.

Parameters
toldouble value to set the tolerance criterion of the integration algorithm
kminint value to set the minimum level of interaction of the integration algorithm
nmosint value to set the criterion of maximum number of simulations of the integration algorithm

Referenced by ClassImp().

◆ setlog()

void URANIE::Modeler::TAnisp::setlog ( Bool_t  blog)

Set the _blog parameter.

Parameters
blog: Bool_t value to indicate if we wante the graphical and console outputs

Referenced by ClassImp().

◆ setMaxIndices()

void URANIE::Modeler::TAnisp::setMaxIndices ( Int_t  maxInd)

Set the number maximum of indices for the integration.

Parameters
maxInd: int value to set the maximum number of indices for the integration algorithm (memory criterion)

Referenced by ClassImp().

◆ setNumberMaxOfSimulations()

void URANIE::Modeler::TAnisp::setNumberMaxOfSimulations ( Int_t  nmos)

Set the criterion of maximum number of simulations before stopping the adaptative integration.

Parameters
nmos: int value to set the criterion of maximum number of simulations of the integration algorithm

Referenced by ClassImp().

◆ setRootFilename()

void URANIE::Modeler::TAnisp::setRootFilename ( TString  rootName)

Set the root name of the output files of the Anisp library.

Parameters
rootName: TString value which serves as root for all the names of the output files of the Anisp library

Referenced by ClassImp().

◆ setTolerance()

void URANIE::Modeler::TAnisp::setTolerance ( Double_t  tol)

Set the tolerance for the adaptative integration.

Set the value of the tolerance for the adaptative integration

Parameters
tol: double value to set the tolerance criterion of the integration algorithm

Referenced by ClassImp().

◆ setTPolynomialChaos()

void URANIE::Modeler::TAnisp::setTPolynomialChaos ( )
private

Open the result file of the Anisp library and use the coefficients stored there to create a TPolynomialChaos object and set its coefficients.

Referenced by ClassImp().

Friends And Related Symbol Documentation

◆ functionLauncher

void functionLauncher ( vector< Double_t * >  ptEXp)
friend

Friend function which launchs the calculs.

Parameters
ptExp: vector of Double_t * which contains the iterator number, the value of the point where the calcul is launched, the result of this calcul and the number of running of the ANISP method

Referenced by ClassImp().

◆ StepByStepOutput

void StepByStepOutput ( Double_t *  val,
vector< Int_t * >  indices 
)
friend

Friend function to pass to the anisp function.

Parameters
val: pointer to a Double_t fill with the values of a multi-indice
indices: vector of Double_t * which contains the iterator number, the value of the point where the calcul is launched, the result of this calcul and the number of running of the ANISP method

Referenced by ClassImp().

Member Data Documentation

◆ _analyticalFunction

void(* URANIE::Modeler::TAnisp::_analyticalFunction) (Double_t *, Double_t *)
private

analytical function

Referenced by ClassImp().

◆ _Code

TCode* URANIE::Modeler::TAnisp::_Code
private

Object of type TCode.

Referenced by ClassImp().

◆ _drawingGarbageCollector

TObjArray* URANIE::Modeler::TAnisp::_drawingGarbageCollector
private

Garbage collector list for drawing.

Referenced by ClassImp().

◆ _dTolerance

Double_t URANIE::Modeler::TAnisp::_dTolerance
private

Tolerance of the adaptative integration algorithm.

Referenced by ClassImp(), and getTolerance().

◆ _nCible

ANISP_TYPE URANIE::Modeler::TAnisp::_nCible
private

Variable containing the ANISP_TYPE.

Referenced by ClassImp(), and getCible().

◆ _nDegreeMax

Int_t URANIE::Modeler::TAnisp::_nDegreeMax
private

Degree maximum possible for the Polynomial Chaos expansion.

Referenced by ClassImp(), and getDegreeMax().

◆ _nGreaterIndice

Int_t URANIE::Modeler::TAnisp::_nGreaterIndice
private

Greater value possible for an indice.

Referenced by ClassImp(), and getGreaterIndice().

◆ _ninputs

Int_t URANIE::Modeler::TAnisp::_ninputs
private

number of stochastic inputs

Referenced by ClassImp().

◆ _nisp

TNisp* URANIE::Modeler::TAnisp::_nisp
private

Object of type TNisp.

Referenced by ClassImp().

◆ _nIterationNumber

Int_t URANIE::Modeler::TAnisp::_nIterationNumber
private

Number of iteration of adaptative integration algorithm.

Referenced by ClassImp(), and getIterationNumber().

◆ _nKMin

Int_t URANIE::Modeler::TAnisp::_nKMin
private

Order minimum of interaction for the adaptative integration.

Referenced by ClassImp(), and getKMin().

◆ _nMaxIndices

Int_t URANIE::Modeler::TAnisp::_nMaxIndices
private

Number maximum of indices of integration (memory size)

Referenced by ClassImp(), and getMaxIndices().

◆ _nNumberMaxOfSimulations

Int_t URANIE::Modeler::TAnisp::_nNumberMaxOfSimulations
private

Stop criterion of the adaptative integration algorithm based of the number of simulations.

Referenced by ClassImp(), and getNumberMaxOfSimulations().

◆ _nNumberOfLaunching

Int_t URANIE::Modeler::TAnisp::_nNumberOfLaunching
private

Number of use of the launchCalculs method.

Referenced by ClassImp().

◆ _nNumberOfPoints

Int_t URANIE::Modeler::TAnisp::_nNumberOfPoints
private

Number of computed points.

Referenced by ClassImp().

◆ _nUranieAnisp

Int_t URANIE::Modeler::TAnisp::_nUranieAnisp
private

number of launching of the ANISP method

Referenced by ClassImp().

◆ _sFunctionName

TString URANIE::Modeler::TAnisp::_sFunctionName
private

name of the analytical function

Referenced by ClassImp().

◆ _sinput

TString URANIE::Modeler::TAnisp::_sinput
private

Names of the input arguments.

Referenced by ClassImp().

◆ _sLaunchNumber

TString URANIE::Modeler::TAnisp::_sLaunchNumber
private

name of the TAttribute containing the number of launching

Referenced by ClassImp().

◆ _sLaws

TString URANIE::Modeler::TAnisp::_sLaws
private

Laws of probability for each variable.

Referenced by ClassImp().

◆ _soutput

TString URANIE::Modeler::TAnisp::_soutput
private

Names of the output arguments.

Referenced by ClassImp().

◆ _sRootFilename

TString URANIE::Modeler::TAnisp::_sRootFilename
private

◆ _tAnalyticalFunction

TLauncherFunction* URANIE::Modeler::TAnisp::_tAnalyticalFunction
private

Object of type TLauncherFunction.

Referenced by ClassImp().

◆ _tdsAnisp

TDataServer* URANIE::Modeler::TAnisp::_tdsAnisp
private

Object of type TDataServer which contains all the launchs data.

Referenced by ClassImp().

◆ _tErrorIndicator

TNtupleD* URANIE::Modeler::TAnisp::_tErrorIndicator
private

List of error indicators from the integration algorithm.

Referenced by addErrorIndicator(), ClassImp(), and getErrorIndicator().

◆ _tIntegrationIndices

TNtupleD* URANIE::Modeler::TAnisp::_tIntegrationIndices
private

List of integration indices.

Referenced by addIntegrationIndices(), ClassImp(), and getIntegrationIndices().

◆ _tlauncher

TLauncher* URANIE::Modeler::TAnisp::_tlauncher
private

Object of type TLauncher.

Referenced by ClassImp().

◆ _tpc

TPolynomialChaos* URANIE::Modeler::TAnisp::_tpc
private

Object of type TPolynomialChaos.

Referenced by ClassImp().