factory module¶
Module with a factory to create an instance of SensitivityAnalysis
.
- class gemseo.uncertainty.sensitivity.factory.SensitivityAnalysisFactory[source]
Bases:
BaseFactory
Factory to build instances of
SensitivityAnalysis
.At initialization, this factory scans the following modules to search for subclasses of this class:
the modules located in
gemseo.uncertainty.sensitivity
and its sub-packages,the modules referenced in the
GEMSEO_PATH,
the modules referenced in the
PYTHONPATH
and starting withgemseo_
.
Then, it can check if a class is present or return the list of available classes.
Lastly, it can create an instance of a class.
Examples
>>> from numpy import pi >>> from gemseo import create_discipline, create_parameter_space >>> from gemseo.uncertainty.sensitivity.factory import ( ... SensitivityAnalysisFactory, ... ) >>> >>> expressions = {"y": "sin(x1)+7*sin(x2)**2+0.1*x3**4*sin(x1)"} >>> discipline = create_discipline( ... "AnalyticDiscipline", expressions=expressions ... ) >>> >>> parameter_space = create_parameter_space() >>> parameter_space.add_random_variable( ... "x1", "OTUniformDistribution", minimum=-pi, maximum=pi ... ) >>> parameter_space.add_random_variable( ... "x2", "OTUniformDistribution", minimum=-pi, maximum=pi ... ) >>> parameter_space.add_random_variable( ... "x3", "OTUniformDistribution", minimum=-pi, maximum=pi ... ) >>> >>> factory = SensitivityAnalysisFactory() >>> analysis = factory.create( ... "MorrisIndices", discipline, parameter_space, n_replicates=5 ... ) >>> indices = analysis.compute_indices()
- Return type:
Any
- create(sensitivity_analysis, disciplines, parameter_space, n_samples=None, output_names=(), algo='', algo_options=mappingproxy({}), formulation='MDF', **formulation_options)[source]
Create the sensitivity analysis.
- Parameters:
sensitivity_analysis (str) – The name of a class defining a sensitivity analysis.
disciplines (Collection[MDODiscipline]) – The discipline or disciplines to use for the analysis.
parameter_space (ParameterSpace) – A parameter space.
n_samples (int | None) – A number of samples. If
None
, the number of samples is computed by the algorithm.output_names (Iterable[str]) –
The disciplines’ outputs to be considered for the analysis. If empty, use all the outputs.
By default it is set to ().
algo (str) –
The name of the DOE algorithm. If empty, use the
SensitivityAnalysis.DEFAULT_DRIVER
.By default it is set to “”.
algo_options (Mapping[str, DOELibraryOptionType]) –
The options of the DOE algorithm.
By default it is set to {}.
formulation (str) –
The name of the
MDOFormulation
to sample the disciplines.By default it is set to “MDF”.
**formulation_options (Any) – The options of the
MDOFormulation
.
- Returns:
A sensitivity analysis.
- Raises:
TypeError – If the class cannot be instantiated.
- Return type: