gemseo / problems

disciplines_factory module

Factory to create disciplines.

class gemseo.problems.disciplines_factory.DisciplinesFactory[source]

Bases: object

The DisciplinesFactory is used to create MDODiscipline objects.

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.

Parameters
  • discipline_name – The name of the discipline

  • **options – The options of the discipline, both the options to be passed to the constructor and the options that are generic to all the disciplines.

Returns

The discipline.

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

Get the options default values for the given class name.

Parameters
  • name – The name of the class.

  • schema_path

    the output json file path. If None: input.json or output.json depending on grammar type.

    By default it is set to None.

  • write_schema

    Whether to write the schema files

    By default it is set to False.

Returns

The JSON grammar of the options.

update()[source]

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

property disciplines: list[str]

The names of the available disciplines.