scenario module¶
A module to calibrate a multidisciplinary system from data.
- class gemseo_calibration.scenario.CalibrationScenario(disciplines, input_names, control_outputs, calibration_space, formulation='MDF', name='', **formulation_options)[source]
Bases:
MDOScenario
A
Scenario
to calibrate a multidisciplinary system from reference data.Set from parameters, this multidisciplinary system computes output data from input data.
The reference input-output data are used to calibrate the parameters so that the model output data are close to the reference output data for some outputs of interest. This distance is evaluated with a
CalibrationMeasure
. to compare the discipline outputs with the reference data.Warning
Just like inputs, the parameters should be defined in the input grammars of the disciplines.
Initialize self. See help(type(self)) for accurate signature.
- Parameters:
disciplines (MDODiscipline | list[MDODiscipline]) – The disciplines whose parameters must be calibrated from the reference data.
input_names (str | Iterable[str]) – The names of the inputs to be considered for the calibration.
control_outputs (CalibrationMeasure | Sequence[CalibrationMeasure]) – The names of the outputs used to calibrate the disciplines with the name of the calibration measure and the corresponding weight comprised between 0 and 1 (the weights must sum to 1). When the output is a 1D function discretized over an irregular mesh, the name of the mesh can be provided. E.g.
CalibrationMeasure(output="z", measure="MSE")
CalibrationMeasure(output="z", measure="MSE", weight=0.3)
orCalibrationMeasure(output="z", measure="MSE", mesh="z_mesh")
Lastly,CalibrationMeasure
can be imported fromgemseo-calibration.scenario
.calibration_space (DesignSpace) – The space of the parameters to be calibrated, whose current values are consider as a prior for calibration.
formulation (str) –
The name of a formulation to manage the multidisciplinary coupling.
By default it is set to “MDF”.
name (str) –
A name for this calibration scenario. If empty, use the name of the class.
By default it is set to “”.
**formulation_options (Any) – The options of the formulation.
- add_constraint(control_outputs, constraint_type=ConstraintType.EQ, constraint_name='', value=0.0, positive=False)[source]
Define a constraint from a calibration measure related to discipline outputs.
- Parameters:
control_outputs (CalibrationMeasure | Iterable[CalibrationMeasure]) – The names of the outputs used to calibrate the disciplines with the name of the calibration measure and the corresponding weight comprised between 0 and 1 (the weights must sum to 1). When the output is a 1D function discretized over an irregular mesh, the name of the mesh can be provided. E.g.
CalibrationMeasure(output="z", measure="MSE")
CalibrationMeasure(output="z", measure="MSE", weight=0.3)
orCalibrationMeasure(output="z", measure="MSE", mesh="z_mesh")
Lastly,CalibrationMeasure
can be imported fromgemseo-calibration.scenario
.constraint_type (MDOFunction.ConstraintType) –
The type of constraint,
"eq"
for equality constraint and"ineq"
for inequality constraint.By default it is set to “eq”.
constraint_name (str) –
The name of the constraint to be stored. If empty, the name of the constraint is generated from the output name.
By default it is set to “”.
value (float) –
The value for which the constraint is active.
By default it is set to 0.0.
positive (bool) –
Whether to consider the inequality constraint as positive.
By default it is set to False.
- Raises:
ValueError – If the constraint type is neither ‘eq’ or ‘ineq’.
- Return type:
None
- post_process(post_name, **options)[source]
Post-process the optimization history.
- Parameters:
post_name (str) – The name of the post-processor, i.e. the name of a class inheriting from
OptPostProcessor
.**options (Any) – The options for the post-processor.
- Return type:
None
- cache: AbstractCache | None
The cache containing one or several executions of the discipline according to the cache policy.
- property calibrator: Calibrator
The discipline computing calibration measures from the parameter values.
- clear_history_before_run: bool
If True, clear history before run.
- data_processor: DataProcessor
A tool to pre- and post-process discipline data.
- exec_for_lin: bool
Whether the last execution was due to a linearization.
- formulation: MDOFormulation
The MDO formulation.
- formulation_name: str
The name of the MDO formulation.
- input_grammar: BaseGrammar
The input grammar.
- jac: dict[str, dict[str, ndarray]]
The Jacobians of the outputs wrt inputs.
The structure is
{output: {input: matrix}}
.
- name: str
The name of the discipline.
- optimization_result: OptimizationResult
The optimization result.
- output_grammar: BaseGrammar
The output grammar.
- property posterior_parameters: Dict[str, ndarray]
The values of the parameters after the calibration stage.
- property prior_parameters: Dict[str, ndarray]
The values of the parameters before the calibration stage.
- re_exec_policy: ReExecutionPolicy
The policy to re-execute the same discipline.
- residual_variables: Mapping[str, str]
The output variables mapping to their inputs, to be considered as residuals; they shall be equal to zero.
- run_solves_residuals: bool
Whether the run method shall solve the residuals.