gemseo / problems

disciplines_factory module

Factory to create GEMSEO disciplines

class gemseo.problems.disciplines_factory.DisciplinesFactory[source]

Bases: object

The DisciplinesFactory is used to create MDODiscipline objects that are known to GEMSEO

Three types of directories are scanned to import the MDODiscipline classes:

  • the environment variable “GEMSEO_PATH” may contain the list of directories to scan,

  • the present directory (gemseo.problems) contains some benchmark test cases,

The constructor initializes the factory by scanning the directories to search for subclasses of MDODiscipline objects. Searches in “GEMSEO_PATH” and gemseo.problems.

create(discipline_name, **options)[source]

Create a MDODiscipline from its name.

  • discipline_name (str) – name of the discipline

  • options (dict) – options of the discipline, both the options to be passed to the constructor and the options that are generic to all the disciplines


the discipline instance

property disciplines

Lists the available MDODiscipline, known to this factory.


the list of available disciplines names (ie their class names)

get_options_grammar(name, write_schema=False, schema_file=None)[source]

Get the options default values for the given class name Only addresses kwargs Generates

  • name (str) – name of the class

  • schema_file (str) – the output json file path. If None: input.json or output.json depending on grammar type. (Default value = None)

  • write_schema (bool) – if True, writes the schema files (Default value = False)


the json grammar for options


Updates the paths, to be used if GEMSEO_PATH was changed.