Extend GEMSEO features#
The simplest way is to create a subclass associated to the feature you want to extend, respectively:
for optimizers, inherit from
BaseOptimizationLibrary, and put the Python file in thesrc/gemseo/algos/optpackage,for DOEs, inherit from
BaseDOELibrary, and put the Python file in thesrc/gemseo/algos/doepackage,for surrogate models, inherit from
BaseRegressor, and put the Python file in thesrc/gemseo/mlearning/regression/algospackage,for MDAs, inherit from
BaseMDA, and put the Python file in thesrc/gemseo/mdapackage,for MDO formulations, inherit from
BaseMDOFormulation, and put the Python file in thesrc/gemseo/formulationspackage,for disciplines, inherit from
Discipline, and put the Python file in thesrc/gemseo/disciplinespackage, which you created.for job schedulers and HPC submission, inherit from
JobSchedulerDisciplineWrapper, and put the Python file in thesrc/gemseo/disciplines/wrappers/job_schedulerspackage, which you created.
GEMSEO features can be extended with external Python modules. All kinds of additional features can be implemented: disciplines, algorithms, formulations, post-processors, surrogate models, ... There are 2 ways to extend GEMSEO with Python modules:
by creating a pip installable package with a setuptools entry point, see
Factoryfor more details,by setting the environment variable
GEMSEO_PATHwith the path to the directory that contains the Python modules, multiple directories can be separated by:.