gemseo / uncertainty / sensitivity

factory module

Module with a factory to create an instance of SensitivityAnalysis.

Classes:

SensitivityAnalysisFactory()

Factory to build instances of SensitivityAnalysis.

class gemseo.uncertainty.sensitivity.factory.SensitivityAnalysisFactory[source]

Bases: object

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 with “gemseo_”.

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.api 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_dict=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()

Attributes:

available_sensitivity_analyses

The available classes for sensitivity analysis.

Methods:

create(sensitivity_analysis, discipline, ...)

Create the sensitivity analysis.

is_available(sensitivity_analysis)

Check the availability of a SensitivityAnalysis child.

Return type

None

property available_sensitivity_analyses

The available classes for sensitivity analysis.

create(sensitivity_analysis, discipline, parameter_space, **options)[source]

Create the sensitivity analysis.

Parameters
  • sensitivity_analysis (str) – The name of a class defining a sensitivity analysis.

  • discipline (MDODiscipline) – A discipline.

  • parameter_space (ParameterSpace) – A parameter space.

  • **options – The options of the sensitivity analysis.

Returns

A sensitivity analysis.

Return type

SensitivityAnalysis

is_available(sensitivity_analysis)[source]

Check the availability of a SensitivityAnalysis child.

Parameters

sensitivity_analysis (str) – The name of the sensitivity analysis.

Returns

Availability of a sensitivity analysis.

True if the type of sensitivity analysis is available.

Return type

bool