Metadata-Version: 2.4
Name: gemseo-multi-fidelity
Version: 0.0.1
Summary: A plugin for multi-fidelity MDO
Author-email: GEMSEO Team <contact@gemseo.org>
License-Expression: LGPL-3.0
Project-URL: Homepage, https://gemseo.org
Project-URL: Source, https://gitlab.com/gemseo/dev/gemseo-multi-fidelity
Project-URL: Issues, https://gitlab.com/gemseo/dev/gemseo-multi-fidelity/-/issues
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: <3.14,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: gemseo[all]<7,>=6.1
Dynamic: license-file

<!--
Copyright 2021 IRT Saint Exupéry, https://www.irt-saintexupery.com

This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
International License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative
Commons, PO Box 1866, Mountain View, CA 94042, USA.
-->

# gemseo-multi-fidelity

[![PyPI - License](https://img.shields.io/pypi/l/gemseo-multi-fidelity)](https://www.gnu.org/licenses/lgpl-3.0.en.html)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/gemseo-multi-fidelity)](https://pypi.org/project/gemseo-multi-fidelity/)
[![PyPI](https://img.shields.io/pypi/v/gemseo-multi-fidelity)](https://pypi.org/project/gemseo-multi-fidelity/)
[![Codecov branch](https://img.shields.io/codecov/c/gitlab/gemseo:dev/gemseo-multi-fidelity/develop)](https://app.codecov.io/gl/gemseo:dev/gemseo-multi-fidelity)

## Overview
A preliminary version of the GEMSEO&reg; plugin for Multi-fidelity MDO.

This plugin originates from works performed at Airbus, in the frame of Romain Olivanti's CIFRE PhD funded by Airbus:

- Olivanti, R., [Multi-fidelity aerodynamic shape optimization considering flexible adjoint at multiple operating conditions](https://theses.fr/2021ESAE0046). PhD thesis manuscript. ISAE, Toulouse. 2021.
- Olivanti, R., Gallard, F., Brézillon, J. and Gourdain, N., [Comparison of generic multi-fidelity approaches for bound-constrained nonlinear optimization applied to adjoint-based CFD applications](https://arc.aiaa.org/doi/10.2514/6.2019-3102). AIAA Aviation 2019 Forum. 2019.

It was later improved and ported by IRT Saint Exupéry, in the frame of the MDA/MDO project funded by
 [Investments for the Future Programme](https://www.gouvernement.fr/le-programme-d-investissements-d-avenir) (French acronym: PIA)
and the European Union's Clean Aviation project [ODE4HERA](https://www.ode4hera.eu/).

The goal of Multi-fidelity is to speed up optimization processes using degraded levels of fidelity (_low_ fidelity), in addition to high-fidelity levels that are generally more accurate but as well more costly.

The plugin eases the creation of a main _Multi-fidelity scenario_, relying on several GEMSEO MDO scenarios based on different levels of fidelity.

This main scenario is executed as a usual GEMSEO scenario, however, during the process the driver is able to switch from a level of fidelity to another, based on criteria defined by the chosen Multi-fidelity formulation.

The level of fidelity associated with a scenario is defined from a variety of parameters (related to disciplines, MDO formulations, ...) that can be consulted in the following [list of opportunities](./user_guide/How_To_Create_Multiple_Scenario_Fidelity_Levels.md).

The Multi-fidelity scenario can be created and executed with simple commands, specifying pre-defined sub-scenarios and the formulation settings:

```py
mf_scenario = MFMDOScenario(scenarios, formulation_name="Refinement", name="mf_process")
mf_scenario.execute(algo_settings_model=MFRefine_Settings(n_levels=2))
```

## Installation

Install the latest version with `pip install gemseo-multi-fidelity`.

See [pip](https://pip.pypa.io/en/stable/getting-started/) for more information.

## Bugs and questions

Please use the [gitlab issue tracker](https://gitlab.com/gemseo/dev/gemseo-multi-fidelity/-/issues)
to submit bugs or questions.

You can also contact the authors using our [Discourse channel](https://gemseo.discourse.group/).

## Contributing

See the [contributing section of GEMSEO](https://gemseo.readthedocs.io/en/stable/software/developing.html#dev).

## Contributors

- Romain Olivanti (Airbus)
- François Gallard (IRT Saint Exupéry)
- Yann David (IRT Saint Exupéry)
- Sylvain Béchet (IRT Saint Exupéry)
- Jean-Christophe Giret (IRT Saint Exupéry)
- Antoine Dechaume (IRT Saint Exupéry)

The funding comes from ANR FR2030 [Investments for the Future Programme](https://www.gouvernement.fr/le-programme-d-investissements-d-avenir),
in the frame of the MDA/MDO project, and European Union [Clean Aviation](https://www.clean-aviation.eu/) project [ODE4HERA](https://www.ode4hera.eu/), co-funded by the European Union under GA no. 101140510

The authors wish to acknowledge the PIA framework (SGPI, ANR) and the industrial members of the project Airbus,
Airbus Defence and Space, Capgemini, Cenaero, CERFACS, Expleo, Liebherr, for their support, financial funding and own knowledge.
