Disciplines#

Warning

Some capabilities may require the installation of GEMSEO with all its features and some others may depend on plugins.

Warning

All the features of the wrapped libraries may not be exposed through GEMSEO.

AdditiveNoiser#

Note

The plugin gemseo_umdo is required.

Module: gemseo_umdo.disciplines.additive_noiser

Required settings
  • noised_variable_name : str

    The name of the variable once noised.

  • uncertain_variable_name : str

    The name of the uncertain variable.

  • variable_name : str

    The name of the variable to be noised.

Aerodynamics#

Module: gemseo.problems.mdo.aerostructure.aerostructure

AnalyticDiscipline#

Module: gemseo.disciplines.analytic

Required settings
  • expressions : Mapping[str, str | Expr]

    The outputs expressed as functions of the inputs.

Optional settings
  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

ArrayBasedFunctionDiscipline#

Module: gemseo.disciplines.array_based_function

Required settings
  • function : Callable[[RealArray], RealArray]

    The function of interest whose both the unique argument and the output are NumPy arrays.

  • input_names_to_sizes : dict[str, int]

    The mapping from the names to the sizes for the input.

  • output_names_to_sizes : dict[str, int]

    The mapping from the names to the sizes for the output.

Optional settings
  • jac_function : Callable[[RealArray], RealArray] | None, optional

    The function computing the derivatives of the function of interest; both its unique argument and its output (i.e. a Jacobian matrix) are NumPy arrays. If None, the derivatives will have to be approximated if required.

    By default it is set to None.

AutoJAXDiscipline#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.auto_jax_discipline

Required settings
  • function : Callable[[NumberLike, ..., Any, ...], tuple[NumberLike]]

    The JAX function.

Optional settings
  • differentiate_at_execution : bool, optional

    Whether to compute the Jacobian when executing the discipline.

    By default it is set to False.

  • differentiation_method : JAXDiscipline.DifferentiationMethod, optional

    The method to compute the Jacobian.

    By default it is set to auto.

  • name : str | None, optional

    The name of the discipline. If empty, use the name of the class.

    By default it is set to None.

  • static_args : Mapping[str, Any], optional

    The names and values of the static arguments of the JAX function. These arguments are constant at discipline execution. The non-numeric arguments can also be included.

    By default it is set to {}.

AutoPyDiscipline#

Module: gemseo.disciplines.auto_py

Required settings
  • py_func : Callable

    The Python function to compute the outputs from the inputs.

Optional settings
  • name : str

    The name of the discipline. If empty, use the name of the Python function.

    By default it is set to .

  • py_jac : Callable | None, optional

    The Python function to compute the Jacobian from the inputs; its output value must be a 2D NumPy array with rows corresponding to the outputs and columns to the inputs.

    By default it is set to None.

  • use_arrays : bool, optional

    Whether the function py_func is expected to take arrays as inputs and give outputs as arrays.

    By default it is set to False.

BaseFMUDiscipline#

Note

The plugin gemseo_fmu is required.

Module: gemseo_fmu.disciplines.base_fmu_discipline

Required settings
  • file_path : str | Path

    The path to the FMU model file.

Optional settings
  • add_time_to_output_grammar : bool, optional

    Whether the time is added to the output grammar.

    By default it is set to True.

  • delete_model_instance_directory : bool, optional

    Whether to delete the directory of the FMU instance when deleting the discipline.

    By default it is set to True.

  • do_step : bool, optional

    Whether the model is simulated over only one time_step when calling [execute()][gemseo_fmu.disciplines.fmu_discipline.FMUDiscipline.execute]. Otherwise, simulate the model from current time to final time in one go.

    By default it is set to False.

  • final_time : TimeDurationType | None, optional

    The final time of the simulation; either a number in seconds or a string of characters (see [TimeDuration][gemseo_fmu.utils.time_duration.TimeDuration]); if None, use the stop time defined in the FMU model if any; otherwise use the initial time.

    By default it is set to None.

  • initial_time : TimeDurationType | None, optional

    The initial time of the simulation; either a number in seconds or a string of characters (see [TimeDuration][gemseo_fmu.utils.time_duration.TimeDuration]); if None, use the start time defined in the FMU model if any; otherwise use 0.

    By default it is set to None.

  • input_names : Iterable[str] | None, optional

    The names of the FMU model inputs; if empty, use all the inputs and parameters of the FMU model; if None, do not use inputs.

    By default it is set to ().

  • model_instance_directory : str | Path

    The directory of the FMU instance, containing the files extracted from the FMU model file; if empty, let fmpy create a temporary directory.

    By default it is set to .

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • output_names : Iterable[str], optional

    The names of the FMU model outputs. if empty, use all the outputs of the FMU model.

    By default it is set to ().

  • restart : bool, optional

    Whether the model is restarted at initial_time after execution.

    By default it is set to True.

  • solver_name : Solver, optional

    The name of the solver to simulate a model-exchange model.

    By default it is set to CVode.

  • time_name : str, optional

    The name of the time variable in the FMU model.

    By default it is set to time.

  • time_step : TimeDurationType, optional

    The time step of the simulation; either a number in seconds or a string of characters (see [TimeDuration][gemseo_fmu.utils.time_duration.TimeDuration]); if 0., use the stop time defined in the FMU model if any; otherwise use 0..

    By default it is set to 0.0.

  • use_co_simulation : bool, optional

    Whether the co-simulation FMI type is used. Otherwise, use model-exchange FMI type. When do_step is True, the co-simulation FMI type is required.

    By default it is set to True.

  • validate : bool, optional

    Whether the FMU file must be checked.

    By default it is set to True.

  • variable_names : Mapping[str, str], optional

    The names of the discipline inputs and outputs associated with the names of the FMU model inputs and outputs, passed as {fmu_model_variable_name: discipline_variable_name, ...}. When missing, use the names of the FMU model inputs and outputs.

    By default it is set to {}.

  • **pre_instantiation_parameters : Any, optional

    The parameters to be passed to _pre_instantiate().

Beam#

Note

The plugin gemseo_umdo is required.

Module: gemseo_umdo.use_cases.beam_model.discipline

Optional settings
  • n_y : int, optional

    The number of discretization points in the y-direction.

    By default it is set to 3.

  • n_z : int, optional

    The number of discretization points in the z-direction.

    By default it is set to 3.

BeamConstraints#

Note

The plugin gemseo_umdo is required.

Module: gemseo_umdo.use_cases.beam_model.constraints

BraninDiscipline#

Note

The plugin gemseo_mlearning is required.

Module: gemseo_mlearning.problems.branin.branin_discipline

Calibrator#

Note

The plugin gemseo_calibration is required.

Module: gemseo_calibration.calibrator

Required settings
  • disciplines : Discipline | list[Discipline]

    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.

  • metric_settings_models : CalibrationMetricSettings | Sequence[CalibrationMetricSettings]

    A collection of calibration settings, including the name of the observed output, the name of the calibration metric and the corresponding weight comprised between 0 and 1 (the weights must sum to 1). When the output is a 1D function discretized over a mesh, the name of the mesh can be provided. E.g. CalibrationMetricSettings(output_name="z", metric_name="MSE") CalibrationMetricSettings(output_name="z", metric_name="MSE", weight=0.3) or CalibrationMetricSettings(output_name="z", metric_name="MSE", mesh_name="z_mesh") Lastly, CalibrationMetric can be imported from [gemseo_calibration.calibrator][gemseo_calibration.calibrator].

  • parameter_names : str | Iterable[str]

    The names of the parameters to be calibrated.

Optional settings
  • formulation_settings_model : BaseFormulationSettings | None, optional

    The MDO formulation settings as a Pydantic model. If None, use **settings.

    By default it is set to None.

  • **formulation_settings : Any, optional

    The MDO formulation settings, including the formulation name (use the keyword "formulation_name"). These arguments are ignored when settings_model is not None. If none and settings_model is None, the calibrator uses the default MDF formulation.

CatalogueInterpolation#

Note

The plugin gemseo_bilevel_outer_approximation is required.

Module: gemseo_bilevel_outer_approximation.disciplines.catalogue_interpolation

Required settings
  • catalogue : ndarray[Any]

    The catalog used for the interpolation.

  • n_components : int

    The number of component of the catalog design variables.

  • output_name : str

    The name of discipline output.

  • variable_name : str

    The name of the categorical variable in input.

Optional settings
  • contrast : float, optional

    The ratio between the ensured minimum and the minimum value in the catalog.

    By default it is set to 1000.0.

  • ensure_minimum : bool, optional

    True, if the interpolation on the catalog should ensure a minimum value.

    By default it is set to False.

  • penalty : float, optional

    The exponent adopted by the SIMP approach for intermediate choice penalization.

    By default it is set to 1.0.

Concatenater#

Module: gemseo.disciplines.concatenater

Required settings
  • input_variables : Sequence[str]

    The input variables to concatenate.

  • output_variable : str

    The output variable name.

Optional settings
  • input_coefficients : dict[str, float] | None, optional

    The coefficients related to the different input variables.

    By default it is set to None.

ConstraintAggregation#

Module: gemseo.disciplines.constraint_aggregation

Required settings
  • aggregation_function : EvaluationFunction

    The aggregation function or its name, e.g. IKS, lower_bound_KS,upper_bound_KS, POS_SUM and SUM.

  • constraint_names : Sequence[str]

    The names of the constraints to aggregate, which must be discipline outputs.

Optional settings
  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • **options : Any, optional

    The options for the aggregation method.

ConvexificationCorrection#

Note

The plugin gemseo_bilevel_outer_approximation is required.

Module: gemseo_bilevel_outer_approximation.algos.convexification.convexification_correction

Required settings
  • design_space : CatalogueDesignSpace

    The catalogue design space of the optimization problem.

  • variables : Iterable[str]

    The variables to be convexified.

Optional settings
  • convexification : float, optional

    The convexification constant.

    By default it is set to 0.0.

ConvexificationDiscipline#

Note

The plugin gemseo_bilevel_outer_approximation is required.

Module: gemseo_bilevel_outer_approximation.algos.convexification.convexification_discipline

Required settings
  • design_space : CatalogueDesignSpace

    The catalogue design space of the optimization problem.

  • discipline : Discipline

    The GEMSEO discipline that need to be convexified.

Optional settings
  • convexification : float, optional

    The convexification constant.

    By default it is set to 0.0.

  • convexified_outputs : Iterable[str], optional

    The outputs that need to be convexified. If empty, all discipline outputs are convexified.

    By default it is set to ().

  • variables : Iterable[str], optional

    The variables to be convexified. If empty, all categorical variables are convexified.

    By default it is set to ().

DataDrivenScalableDiscipline#

Module: gemseo.problems.mdo.scalable.data_driven.discipline

Required settings
  • data : IODataset

    The training dataset.

  • name : str

    The name of the class of the scalable model.

Optional settings
  • sizes : Mapping[str, int], optional

    The sizes of the input and output variables. If empty, use the original sizes.

    By default it is set to {}.

  • **parameters : Any, optional

    The parameters for the model.

DensityFilter#

Module: gemseo.problems.topology_optimization.density_filter_disc

Optional settings
  • min_member_size : float, optional

    The minimum structural member size.

    By default it is set to 1.5.

  • n_x : int, optional

    The number of elements in the x-direction.

    By default it is set to 100.

  • n_y : int, optional

    The number of elements in the y-direction.

    By default it is set to 100.

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

DiscFromExe#

Module: gemseo.disciplines.wrappers.disc_from_exe

Required settings
  • command_line : str

    The command line to run the executable. E.g. python my_script.py -i input.txt -o output.txt

  • input_filename : str | Path

    The name of the input file to be generated in the output folder. E.g. "input.txt".

  • input_template : str | Path

    The path to the input template file. The input locations in the file are marked by GEMSEO_INPUT{input_name::1.0}, where input_name is the name of the input variable, and 1.0 is its default value.

  • output_filename : str | Path

    The name of the output file to be generated in the output folder. E.g. "output.txt".

  • output_template : str | Path

    The path to the output template file. The output locations in the file are marked by GEMSEO_OUTPUT{output_name::1.0}, where output_name is the name of the output variable, and 1.0 is its default value.

  • root_directory : str | Path

    The base path of the execution directories.

Optional settings
  • clean_after_execution : bool, optional

    Whether to clean the last created directory after execution.

    By default it is set to False.

  • directory_naming_method : DirectoryNamingMethod, optional

    The method to create the execution directories.

    By default it is set to NUMBERED.

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • parse_out_separator : str, optional

    The separator used for the KEY_VALUE output parser.

    By default it is set to =.

  • parse_outfile_method : Parser | OutputParser, optional

    The optional method that can be provided by the user to parse the output template file. If the KEY_VALUE is used as output parser, the user may specify the separator key.

    By default it is set to TEMPLATE.

  • write_input_file_method : InputWriter | None, optional

    The method to write the input data file. If None, use write_input_file().

    By default it is set to None.

DoStepFMUDiscipline#

Note

The plugin gemseo_fmu is required.

Module: gemseo_fmu.disciplines.do_step_fmu_discipline

Required settings
  • file_path : str | Path

    The path to the FMU model file.

Optional settings
  • add_time_to_output_grammar : bool, optional

    Whether the time is added to the output grammar.

    By default it is set to True.

  • delete_fmu_instance_directory : bool, optional

    The description is missing.

    By default it is set to True.

  • final_time : TimeType | None, optional

    The final time of the simulation; either a number in seconds or a string of characters (see [TimeDuration][gemseo_fmu.utils.time_duration.TimeDuration]); if None, use the stop time defined in the FMU model if any; otherwise use the initial time.

    By default it is set to None.

  • fmu_instance_directory : str | Path

    The description is missing.

    By default it is set to .

  • initial_time : TimeType | None, optional

    The initial time of the simulation; either a number in seconds or a string of characters (see [TimeDuration][gemseo_fmu.utils.time_duration.TimeDuration]); if None, use the start time defined in the FMU model if any; otherwise use 0.

    By default it is set to None.

  • input_names : Iterable[str] | None, optional

    The names of the FMU model inputs; if empty, use all the inputs and parameters of the FMU model; if None, do not use inputs.

    By default it is set to ().

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • output_names : Iterable[str], optional

    The names of the FMU model outputs. if empty, use all the outputs of the FMU model.

    By default it is set to ().

  • restart : bool, optional

    Whether the model is restarted at initial_time after execution.

    By default it is set to False.

  • solver_name : FMUDiscipline.Solver, optional

    The name of the solver to simulate a model-exchange model.

    By default it is set to CVode.

  • time_step : TimeType, optional

    The time step of the simulation; either a number in seconds or a string of characters (see [TimeDuration][gemseo_fmu.utils.time_duration.TimeDuration]); if 0., use the stop time defined in the FMU model if any; otherwise use 0..

    By default it is set to 0.0.

  • validate : bool, optional

    Whether the FMU file must be checked.

    By default it is set to True.

  • variable_names : Mapping[str, str], optional

    The names of the discipline inputs and outputs associated with the names of the FMU model inputs and outputs, passed as {fmu_model_variable_name: discipline_variable_name, ...}. When missing, use the names of the FMU model inputs and outputs.

    By default it is set to {}.

  • **pre_instantiation_parameters : Any, optional

    The parameters to be passed to _pre_instantiate().

EnumerativeToOneHot#

Note

The plugin gemseo_bilevel_outer_approximation is required.

Module: gemseo_bilevel_outer_approximation.disciplines.enumerative_to_one_hot

Required settings
  • catalogue : ndarray

    The catalogue of possible choices.

  • n_components : int

    The size of the categorical design variable.

  • output_name : str

    The output variable name.

  • variable_name : str

    The input variable name.

Optional settings
  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

FMUDiscipline#

Note

The plugin gemseo_fmu is required.

Module: gemseo_fmu.disciplines.fmu_discipline

Required settings
  • file_path : str | Path

    The path to the FMU model file.

Optional settings
  • add_time_to_output_grammar : bool, optional

    Whether the time is added to the output grammar.

    By default it is set to True.

  • delete_model_instance_directory : bool, optional

    Whether to delete the directory of the FMU instance when deleting the discipline.

    By default it is set to True.

  • do_step : bool, optional

    Whether the model is simulated over only one time_step when calling [execute()][gemseo_fmu.disciplines.fmu_discipline.FMUDiscipline.execute]. Otherwise, simulate the model from current time to final time in one go.

    By default it is set to False.

  • final_time : TimeDurationType | None, optional

    The final time of the simulation; either a number in seconds or a string of characters (see [TimeDuration][gemseo_fmu.utils.time_duration.TimeDuration]); if None, use the stop time defined in the FMU model if any; otherwise use the initial time.

    By default it is set to None.

  • initial_time : TimeDurationType | None, optional

    The initial time of the simulation; either a number in seconds or a string of characters (see [TimeDuration][gemseo_fmu.utils.time_duration.TimeDuration]); if None, use the start time defined in the FMU model if any; otherwise use 0.

    By default it is set to None.

  • input_names : Iterable[str] | None, optional

    The names of the FMU model inputs; if empty, use all the inputs and parameters of the FMU model; if None, do not use inputs.

    By default it is set to ().

  • model_instance_directory : str | Path

    The directory of the FMU instance, containing the files extracted from the FMU model file; if empty, let fmpy create a temporary directory.

    By default it is set to .

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • output_names : Iterable[str], optional

    The names of the FMU model outputs. if empty, use all the outputs of the FMU model.

    By default it is set to ().

  • restart : bool, optional

    Whether the model is restarted at initial_time after execution.

    By default it is set to True.

  • solver_name : Solver, optional

    The name of the solver to simulate a model-exchange model.

    By default it is set to CVode.

  • time_name : str, optional

    The name of the time variable in the FMU model.

    By default it is set to time.

  • time_step : TimeDurationType, optional

    The time step of the simulation; either a number in seconds or a string of characters (see [TimeDuration][gemseo_fmu.utils.time_duration.TimeDuration]); if 0., use the stop time defined in the FMU model if any; otherwise use 0..

    By default it is set to 0.0.

  • use_co_simulation : bool, optional

    Whether the co-simulation FMI type is used. Otherwise, use model-exchange FMI type. When do_step is True, the co-simulation FMI type is required.

    By default it is set to True.

  • validate : bool, optional

    Whether the FMU file must be checked.

    By default it is set to True.

  • variable_names : Mapping[str, str], optional

    The names of the discipline inputs and outputs associated with the names of the FMU model inputs and outputs, passed as {fmu_model_variable_name: discipline_variable_name, ...}. When missing, use the names of the FMU model inputs and outputs.

    By default it is set to {}.

  • **pre_instantiation_parameters : Any, optional

    The parameters to be passed to _pre_instantiate().

FilteringDiscipline#

Module: gemseo.disciplines.wrappers.filtering_discipline

Required settings
  • discipline : Discipline

    The original discipline.

Optional settings
  • input_names : Iterable[str], optional

    The names of the inputs of interest. If empty, use all the inputs.

    By default it is set to ().

  • keep_in : bool, optional

    Whether to keep the inputs of interest. Otherwise, remove them.

    By default it is set to True.

  • keep_out : bool, optional

    Whether to keep the outputs of interest. Otherwise, remove them.

    By default it is set to True.

  • output_names : Iterable[str], optional

    The names of the outputs of interest. If empty, use all the outputs.

    By default it is set to ().

FiniteElementAnalysis#

Module: gemseo.problems.topology_optimization.fea_disc

Optional settings
  • f_amplitude : int | Sequence[int], optional

    The force amplitude for each pair (f_node, f_direction).

    By default it is set to -1.

  • f_direction : int | Sequence[int], optional

    The force direction for each f_node, either 0 for x or 1 for y.

    By default it is set to 1.

  • f_node : int | Sequence[int], optional

    The indices of the nodes where the forces are applied.

    By default it is set to 10200.

  • fixed_dir : int | Sequence[int] | None, optional

    The clamped direction for each node, encode 0 for x and 1 for y. If None, a default value is used.

    By default it is set to None.

  • fixed_nodes : int | Sequence[int] | None, optional

    The indices of the nodes where the structure is clamped. If None, a default value is used.

    By default it is set to None.

  • n_x : int, optional

    The number of elements in the x-direction.

    By default it is set to 100.

  • n_y : int, optional

    The number of elements in the y-direction.

    By default it is set to 100.

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • nu : float, optional

    The material Poisson's ratio.

    By default it is set to 0.3.

HeatEquation#

Note

The plugin gemseo_umdo is required.

Module: gemseo_umdo.use_cases.heat_equation.discipline

Optional settings
  • final_time : float, optional

    The time of interest.

    By default it is set to 0.5.

  • mesh_size : int, optional

    The number of equispaced spatial nodes.

    By default it is set to 100.

  • n_modes : int, optional

    The number of modes of the truncated Fourier expansion.

    By default it is set to 21.

  • nu_bounds : tuple[float, float], optional

    The bounds of the thermal diffusivity.

    By default it is set to (0.001, 0.009).

  • rod_length : float, optional

    The length of the rod.

    By default it is set to 1.0.

HypercubeToOneHot#

Note

The plugin gemseo_bilevel_outer_approximation is required.

Module: gemseo_bilevel_outer_approximation.disciplines.hypercube_to_one_hot

Required settings
  • catalogue : ndarray[Any]

    The catalog of the categorical design variable.

  • n_components : int

    The number of component of the catalog design

  • output_name : str

    The name of the variable in output.

  • variable_name : str

    The name of the categorical variable in input.

Optional settings
  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • repeat_vertex : bool, optional

    If True, repeat the vertices on unused catalog choices.

    By default it is set to False.

IshigamiDiscipline#

Module: gemseo.problems.uncertainty.ishigami.ishigami_discipline

JAXChain#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.jax_chain

Required settings
  • disciplines : Sequence[JAXDiscipline]

    The JAX disciplines to create the chain over.

Optional settings
  • differentiate_at_execution : bool, optional

    Whether to compute the Jacobian when executing the discipline.

    By default it is set to False.

  • differentiation_method : DifferentiationMethod, optional

    The method to compute the Jacobian.

    By default it is set to auto.

  • name : str | None, optional

    The name of the discipline. If empty, use the name of the class.

    By default it is set to None.

JAXDiscipline#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.jax_discipline

Required settings
  • default_inputs : Mapping[str, NumberLike]

    The default values of the input variables.

  • function : Callable[[DataType], DataType]

    The JAX function that takes a dictionary {input_name: input_value, ...} as argument and returns a dictionary {output_name: output_value, ...}.

  • input_names : Sequence[str]

    The names of the input variables.

  • output_names : Sequence[str]

    The names of the output variables.

Optional settings
  • differentiate_at_execution : bool, optional

    Whether to compute the Jacobian when executing the discipline.

    By default it is set to False.

  • differentiation_method : DifferentiationMethod, optional

    The method to compute the Jacobian.

    By default it is set to auto.

  • name : str | None, optional

    The name of the discipline. If empty, use the name of the class.

    By default it is set to None.

JAXSellar1#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.problems.sellar.sellar_1

Optional settings
  • differentiate_at_execution : bool, optional

    Whether to compute the Jacobian when executing the discipline.

    By default it is set to False.

  • differentiation_method : BaseJAXSellar.DifferentiationMethod, optional

    The method to compute the Jacobian.

    By default it is set to auto.

  • k : float, optional

    The shared coefficient controlling the coupling strength.

    By default it is set to 1.0.

  • n : int, optional

    The size of the local design variables and coupling variables.

    By default it is set to 1.

  • static_args : Mapping[str, Any], optional

    The names and values of the static arguments of the JAX function. These arguments are constant at discipline execution. The non-numeric arguments can also be included.

    By default it is set to {}.

JAXSellar2#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.problems.sellar.sellar_2

Optional settings
  • differentiate_at_execution : bool, optional

    Whether to compute the Jacobian when executing the discipline.

    By default it is set to False.

  • differentiation_method : BaseJAXSellar.DifferentiationMethod, optional

    The method to compute the Jacobian.

    By default it is set to auto.

  • k : float, optional

    The shared coefficient controlling the coupling strength.

    By default it is set to 1.0.

  • n : int, optional

    The size of the local design variables and coupling variables.

    By default it is set to 1.

  • static_args : Mapping[str, Any], optional

    The names and values of the static arguments of the JAX function. These arguments are constant at discipline execution. The non-numeric arguments can also be included.

    By default it is set to {}.

JAXSellarChain#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.problems.sellar.sellar_chain

Optional settings
  • k : float, optional

    The description is missing.

    By default it is set to 1.0.

  • n : int, optional

    The description is missing.

    By default it is set to 1.

  • pre_run : bool, optional

    Whether to pre run the jit.

    By default it is set to True.

  • **kwargs : Any, optional

    The arguments passed to JAXChain.

JAXSellarSystem#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.problems.sellar.sellar_system

Optional settings
  • differentiate_at_execution : bool, optional

    Whether to compute the Jacobian when executing the discipline.

    By default it is set to False.

  • differentiation_method : BaseJAXSellar.DifferentiationMethod, optional

    The method to compute the Jacobian.

    By default it is set to auto.

  • n : int, optional

    The size of the local design variables and coupling variables.

    By default it is set to 1.

  • static_args : Mapping[str, Any], optional

    The names and values of the static arguments of the JAX function. These arguments are constant at discipline execution. The non-numeric arguments can also be included.

    By default it is set to {}.

JAXSobieskiAerodynamics#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.problems.sobieski.aerodynamics

JAXSobieskiChain#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.problems.sobieski.chain

JAXSobieskiMission#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.problems.sobieski.mission

JAXSobieskiPropulsion#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.problems.sobieski.propulsion

JAXSobieskiStructure#

Note

The plugin gemseo_jax is required.

Module: gemseo_jax.problems.sobieski.structure

JobSchedulerDisciplineWrapper#

Module: gemseo.disciplines.wrappers.job_schedulers.discipline_wrapper

Required settings
  • discipline : Discipline

    The discipline to wrap in the job scheduler.

  • workdir_path : Path

    The path to the workdir where the files will be generated.

Optional settings
  • job_out_filename : str, optional

    The output job file name.

    By default it is set to batch.srun.

  • job_template_path : Path | str

    The path to the template to be used to make a submission to the job scheduler command.

    By default it is set to .

  • scheduler_run_command : str, optional

    The command to call the job scheduler and submit the generated script.

    By default it is set to sbatch --wait.

  • setup_cmd : str

    The command used before running the executable.

    By default it is set to .

  • use_template : bool, optional

    whether to use template based interface to the job scheduler.

    By default it is set to True.

LSF#

Module: gemseo.disciplines.wrappers.job_schedulers.lsf

Required settings
  • discipline : Discipline

    The discipline to wrap in the job scheduler.

  • workdir_path : Path

    The path to the workdir where the files will be generated.

Optional settings
  • job_out_filename : str, optional

    The output job file name.

    By default it is set to batch.sh.

  • job_template_path : Path | str

    The path to the template to be used to make a submission to the job scheduler command.

    By default it is set to .

  • mem_per_cpu : str, optional

    The memory per CPU.

    By default it is set to 1G.

  • ntasks : int, optional

    The number of tasks.

    By default it is set to 1.

  • ntasks_per_node : int, optional

    The number of tasks per node.

    By default it is set to 1.

  • scheduler_run_command : str, optional

    The command to call the job scheduler and submit the generated script.

    By default it is set to bsub -K.

  • setup_cmd : str

    The command used before running the executable.

    By default it is set to .

  • user_email : str

    The user email to send the run status.

    By default it is set to .

  • wall_time : str, optional

    The wall time.

    By default it is set to 24:00:00.

  • **options : dict[str:Any], optional

    The job scheduler specific options to be used in the template.

LinearCombination#

Module: gemseo.disciplines.linear_combination

Required settings
  • input_names : Iterable[str]

    The names of the input variables.

  • output_name : str

    The name of the output variable.

Optional settings
  • average : bool, optional

    Whether to average the inputs when input_coefficients is empty,

    By default it is set to False.

  • input_coefficients : Mapping[str, float], optional

    The coefficients related to the input variables. If empty, use 1 for all the \(d\) input variables when average is False. or \(1/d\) when average is True.

    By default it is set to {}.

  • input_size : int, optional

    The size of the inputs.

    By default it is set to 1.

  • offset : float, optional

    The output value when all the input variables are equal to zero.

    By default it is set to 0.0.

LinearDiscipline#

Module: gemseo.problems.mdo.scalable.linear.linear_discipline

Required settings
  • input_names : Sequence[str]

    The input data names.

  • name : str

    The discipline name.

  • output_names : Sequence[str]

    The output data names.

Optional settings
  • compute_jac_at_run : bool, optional

    Whether to compute the Jacobian in the _run() method.

    By default it is set to False.

  • inputs_size : int, optional

    The size of input data vectors, each input data is of shape (inputs_size,).

    By default it is set to 1.

  • matrix_density : float, optional

    The percentage of non-zero elements when the matrix is sparse.

    By default it is set to 0.1.

  • matrix_format : MatrixFormat, optional

    The format of the Jacobian matrix.

    By default it is set to dense.

  • matrix_free_jacobian : bool, optional

    Whether the Jacobians are casted as linear operators.

    By default it is set to False.

  • outputs_size : int, optional

    The size of output data vectors, each output data is of shape (outputs_size,).

    By default it is set to 1.

LinearLinkDiscipline#

Module: gemseo.problems.mdo.opt_as_mdo_scenario

Required settings
  • design_space : DesignSpace

    The design space of the original optimization problem.

  • perform_mda_analytically : Callable[[RealArray], RealArray]

    The function \(c\) performing the MDA analytically at a given design point \(x=(x_0,x_1,\ldots,x_N)\).

Optional settings
  • differentiate_mda_analytically : Callable[[RealArray], RealArray] | None, optional

    The function \(\nabla c\) differentiating the MDA analytically at a given design point \(x=(x_0,x_1,\ldots,x_N)\). If None, the discipline will not be differentiable.

    By default it is set to None.

MDOAdditiveChain#

Module: gemseo.core.chains.additive_chain

Required settings
  • disciplines : Sequence[Discipline]

    The disciplines.

  • outputs_to_sum : Iterable[str]

    The names of the outputs to sum.

Optional settings
  • n_processes : int | None, optional

    The maximum simultaneous number of threads, if use_threading is True, or processes otherwise, used to parallelize the execution. If None, uses the number of disciplines.

    By default it is set to None.

  • name : str

    The name of the discipline. If None, use the class name.

    By default it is set to .

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the execution; multiprocessing will copy (serialize) all the disciplines, while threading will share all the memory. This is important to note if you want to execute the same discipline multiple times, you shall use multiprocessing.

    By default it is set to True.

MDOChain#

Module: gemseo.core.chains.chain

Required settings
  • disciplines : Sequence[Discipline]

    The disciplines.

Optional settings
  • name : str

    The name of the discipline. If None, use the class name.

    By default it is set to .

MDOInitializationChain#

Module: gemseo.core.chains.initialization_chain

Required settings
  • disciplines : Sequence[Discipline]

    The disciplines.

Optional settings
  • available_data_names : Iterable[str], optional

    The data names that are assumed to be available at runtime, in addition to the default_input_data.

    By default it is set to ().

  • name : str

    The name of the discipline. If None, use the class name.

    By default it is set to .

MDOObjectiveScenarioAdapter#

Module: gemseo.disciplines.scenario_adapters.mdo_objective_scenario_adapter

Required settings
  • input_names : Sequence[str]

    The names of the inputs of the top-level disciplines to overload before executing the scenario. These are the adapter's input variables.

  • output_names : Sequence[str]

    The names of the outputs of the top-level disciplines to get after executing the scenario. These are the adapter's output variables.

  • scenario : BaseScenario

    The scenario to adapt.

Optional settings
  • keep_opt_history : bool, optional

    Whether to keep database copies after each execution. Depending on the size of the databases and the number of consecutive executions, this can be very memory consuming. If the adapter will be executed in parallel, the databases will not be saved to the main process by the sub-processes, so this argument should be set to False to avoid unnecessary memory use in the sub-processes.

    By default it is set to False.

  • name : str

    The name of the scenario adapter. If empty, use the name of the scenario adapter suffixed by "_adapter".

    By default it is set to .

  • naming : NameGenerator.Naming, optional

    The way of naming the database files. When the adapter will be executed in parallel, this method shall be set to UUID because this method is multiprocess-safe.

    By default it is set to NUMBERED.

  • opt_history_file_prefix : str

    The base name for the databases to be exported. The full names of the databases are built from the provided base name suffixed by "_identifier.h5" where identifier is replaced by an identifier according to the naming_method. If empty, use DEFAULT_DATABASE_FILE_PREFIX.

    By default it is set to .

  • output_multipliers : bool, optional

    Whether to compute the Lagrange multipliers of the scenario optimal solution and add them to the outputs.

    By default it is set to False.

  • reset_x0_before_opt : bool, optional

    Whether to reset the initial guess of the optimization problem before executing the scenario.

    By default it is set to False.

  • save_opt_history : bool, optional

    Whether to save the optimization history to an HDF5 file after each execution.

    By default it is set to False.

  • scenario_log_level : int | None, optional

    The level of the root logger during the scenario execution. If None, do not change the level of the root logger.

    By default it is set to None.

  • set_bounds_before_opt : bool, optional

    Whether to set the bounds of the design space. This is useful for trust regions.

    By default it is set to False.

  • set_x0_before_opt : bool, optional

    Whether to set the initial guess of the optimization problem before executing the scenario. This is useful for multi-start optimization.

    By default it is set to False.

MDOParallelChain#

Module: gemseo.core.chains.parallel_chain

Required settings
  • disciplines : Sequence[Discipline]

    The disciplines.

Optional settings
  • n_processes : int | None, optional

    The maximum simultaneous number of threads, if use_threading is True, or processes otherwise, used to parallelize the execution. If None, uses the number of disciplines.

    By default it is set to None.

  • name : str

    The name of the discipline. If None, use the class name.

    By default it is set to .

  • use_deep_copy : bool, optional

    Whether to deepcopy the discipline input data.

    By default it is set to False.

  • use_threading : bool, optional

    Whether to use threads instead of processes to parallelize the execution; multiprocessing will copy (serialize) all the disciplines, while threading will share all the memory. This is important to note if you want to execute the same discipline multiple times, you shall use multiprocessing.

    By default it is set to True.

MDOScenarioAdapter#

Module: gemseo.disciplines.scenario_adapters.mdo_scenario_adapter

Required settings
  • input_names : Sequence[str]

    The names of the inputs of the top-level disciplines to overload before executing the scenario. These are the adapter's input variables.

  • output_names : Sequence[str]

    The names of the outputs of the top-level disciplines to get after executing the scenario. These are the adapter's output variables.

  • scenario : BaseScenario

    The scenario to adapt.

Optional settings
  • keep_opt_history : bool, optional

    Whether to keep database copies after each execution. Depending on the size of the databases and the number of consecutive executions, this can be very memory consuming. If the adapter will be executed in parallel, the databases will not be saved to the main process by the sub-processes, so this argument should be set to False to avoid unnecessary memory use in the sub-processes.

    By default it is set to False.

  • name : str

    The name of the scenario adapter. If empty, use the name of the scenario adapter suffixed by "_adapter".

    By default it is set to .

  • naming : NameGenerator.Naming, optional

    The way of naming the database files. When the adapter will be executed in parallel, this method shall be set to UUID because this method is multiprocess-safe.

    By default it is set to NUMBERED.

  • opt_history_file_prefix : str

    The base name for the databases to be exported. The full names of the databases are built from the provided base name suffixed by "_identifier.h5" where identifier is replaced by an identifier according to the naming_method. If empty, use DEFAULT_DATABASE_FILE_PREFIX.

    By default it is set to .

  • output_multipliers : bool, optional

    Whether to compute the Lagrange multipliers of the scenario optimal solution and add them to the outputs.

    By default it is set to False.

  • reset_x0_before_opt : bool, optional

    Whether to reset the initial guess of the optimization problem before executing the scenario.

    By default it is set to False.

  • save_opt_history : bool, optional

    Whether to save the optimization history to an HDF5 file after each execution.

    By default it is set to False.

  • scenario_log_level : int | None, optional

    The level of the root logger during the scenario execution. If None, do not change the level of the root logger.

    By default it is set to None.

  • set_bounds_before_opt : bool, optional

    Whether to set the bounds of the design space. This is useful for trust regions.

    By default it is set to False.

  • set_x0_before_opt : bool, optional

    Whether to set the initial guess of the optimization problem before executing the scenario. This is useful for multi-start optimization.

    By default it is set to False.

MDOWarmStartedChain#

Module: gemseo.core.chains.warm_started_chain

Required settings
  • disciplines : Sequence[Discipline]

    The disciplines.

  • variable_names_to_warm_start : Sequence[str]

    The names of the variables to be warm started. These names must be outputs of the disciplines in the chain. If the list is empty, no variables are warm started.

Optional settings
  • name : str

    The name of the discipline. If None, use the class name.

    By default it is set to .

MainDiscipline#

Module: gemseo.problems.mdo.scalable.parametric.disciplines.main_discipline

Required settings
  • t_i : RealArray

    The threshold vectors \(t_1,\ldots,t_N\).

Optional settings
  • **default_input_values : RealArray, optional

    The default values of the input variables.

MaterialModelInterpolation#

Module: gemseo.problems.topology_optimization.material_model_interpolation_disc

Required settings
  • e0 : float

    The full material Young modulus.

  • empty_elements : Sequence[int]

    The index of an empty element ids that are not part of the design space.

  • full_elements : Sequence[int]

    The index of full element ids that are not part of the design space.

  • n_x : int

    The number of elements in the x-direction.

  • n_y : int

    The number of elements in the y-direction.

  • penalty : float

    The SIMP penalty coefficient.

Optional settings
  • contrast : float, optional

    The ratio between the full material Young's modulus and void material Young's modulus.

    By default it is set to 1000000000.0.

MatlabDiscipline#

Note

The plugin gemseo_matlab is required.

Module: gemseo_matlab.matlab_discipline

Required settings
  • matlab_function_path : str | Path

    The path of the Matlab file or Name of the function.

Optional settings
  • add_subfold_path : bool, optional

    Whether to add all sub-folder to matlab engine path.

    By default it is set to False.

  • check_opt_data : bool, optional

    Whether to check input and output data of discipline.

    By default it is set to True.

  • cleaning_interval : int, optional

    The iteration interval at which matlab workspace is cleaned.

    By default it is set to 0.

  • input_names : Sequence[str], optional

    The input variables.

    By default it is set to ().

  • is_jac_returned_by_func : bool, optional

    Wether the jacobian matrices should be returned of matlab function with standard outputs, the conventional name 'jac_dout_din' is used as jacobian term of any output 'out' with respect to input 'in'.

    By default it is set to False.

  • matlab_data_path : str | Path

    The .mat path containing the default values of data.

    By default it is set to .

  • matlab_engine_name : str, optional

    The name of the matlab engine used for this discipline.

    By default it is set to matlab.

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • output_names : Sequence[str], optional

    The output variables.

    By default it is set to ().

  • root_search_path : str | Path

    The root directory to launch the research of matlab file.

    By default it is set to .

Mission#

Module: gemseo.problems.mdo.aerostructure.aerostructure

Optional settings
  • lift_val : float, optional

    The threshold to compute the lift constraint.

    By default it is set to 0.5.

  • r_val : float, optional

    The threshold to compute the reserve factor constraint.

    By default it is set to 0.5.

MultiplicativeNoiser#

Note

The plugin gemseo_umdo is required.

Module: gemseo_umdo.disciplines.multiplicative_noiser

Required settings
  • noised_variable_name : str

    The name of the variable once noised.

  • uncertain_variable_name : str

    The name of the uncertain variable.

  • variable_name : str

    The name of the variable to be noised.

ODEDiscipline#

Module: gemseo.disciplines.ode.ode_discipline

Required settings
  • rhs_discipline : Discipline

    The discipline defining the right-hand side function of the ODE.

  • times : RealArray

    Either the initial and final times or the times of interest where the state must be stored, including the initial and final times. When only initial and final times are provided, the times of interest are the instants chosen by the ODE solver to compute the state trajectories.

Optional settings
  • final_state_names : Mapping[str, str], optional

    The names of the state variables bound to their names at final time. If empty, use "state_final" for a state variable named "state".

    By default it is set to {}.

  • final_time_name : str

    The name of the variable for the final time. If empty, use f"final_{time_name}".

    By default it is set to .

  • initial_state_names : Mapping[str, str], optional

    The names of the state variables bound to the names of the variables denoting the initial conditions. If empty, use "state_initial" for a state variable named "state".

    By default it is set to {}.

  • initial_time_name : str

    The name of the variable for the initial time. If empty, use f"initial_{time_name}".

    By default it is set to .

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • ode_solver_name : str, optional

    The name of the ODE solver.

    By default it is set to RK45.

  • return_trajectories : bool, optional

    Whether to output both the trajectories of the state variables and their values at final time. Otherwise, output only their values at final time.

    By default it is set to False.

  • solve_at_algorithm_times : bool, optional

    Whether to solve the ODE chosen by the algorithm.

    By default it is set to False.

  • state_names : Iterable[str] | Mapping[str, str], optional

    Either the names of the state variables, passed as (state_name, ...), or the names of the state variables bound to the associated rhs_discipline outputs, passed as {state_name: output_name, ...}. If empty, use all the rhs_discipline inputs.

    By default it is set to ().

  • state_trajectory_names : Mapping[str, str], optional

    The names of the state variables bound to the names of their trajectories. If empty, use "state" for a state variable named "state".

    By default it is set to {}.

  • termination_event_disciplines : Iterable[Discipline], optional

    The disciplines encoding termination events. Each discipline must have the same inputs as rhs_discipline and only one output defined as an arrays of size 1 indicating the value of an event function. The resolution of the ODE problem stops when one of the event functions crosses the threshold 0. If empty, the integration covers the entire time interval.

    By default it is set to ().

  • time_name : str, optional

    The name of the time variable.

    By default it is set to time.

  • **ode_solver_settings : Any, optional

    The settings of the ODE solver.

OscillatorDiscipline#

Module: gemseo.problems.ode.oscillator_discipline

Required settings
  • omega : float

    The positive angular velocity of the oscillator.

  • times : RealArray

    Either the initial and final times or the times of interest where the state must be stored, including the initial and final times. When only initial and final times are provided, the times of interest are the instants chosen by the ODE solver to compute the state trajectories.

Optional settings
  • final_state_names : Mapping[str, str], optional

    The names of the state variables bound to their names at final time. If empty, use "state_final" for a state variable named "state".

    By default it is set to {}.

  • return_trajectories : bool, optional

    Whether to output both the trajectories of the state variables and their values at final time. Otherwise, output only their values at final time.

    By default it is set to False.

PropaneComb1#

Module: gemseo.problems.mdo.propane.propane

PropaneComb2#

Module: gemseo.problems.mdo.propane.propane

PropaneComb3#

Module: gemseo.problems.mdo.propane.propane

PropaneReaction#

Module: gemseo.problems.mdo.propane.propane

RemappingDiscipline#

Module: gemseo.disciplines.remapping

Required settings
  • discipline : Discipline

    The original discipline.

Optional settings
  • input_mapping : NameMapping, optional

    The input names to the original input names.

    By default it is set to {}.

  • output_mapping : NameMapping, optional

    The output names to the original output names.

    By default it is set to {}.

RetryDiscipline#

Module: gemseo.disciplines.wrappers.retry_discipline

Required settings
  • discipline : Discipline

    The discipline to wrap in the retry loop.

Optional settings
  • fatal_exceptions : Iterable[type[Exception]], optional

    The exceptions for which the code raises an exception and exit immediately without retrying a run.

    By default it is set to ().

  • n_trials : int, optional

    The number of trials of the discipline.

    By default it is set to 5.

  • timeout : float, optional

    The maximum duration, in seconds, that the discipline is allowed to run. If this time limit is exceeded, the execution is terminated. If math.inf, the discipline is executed without timeout limit.

    By default it is set to inf.

  • timeout_with_process : bool, optional

    Whether to use a process or a thread when using the timeout feature.

    By default it is set to False.

  • wait_time : float, optional

    The time to wait between 2 trials (in seconds).

    By default it is set to 0.0.

RosenMF#

Module: gemseo.problems.optimization.rosen_mf

Optional settings
  • dimension : int, optional

    The dimension of the design space.

    By default it is set to 2.

RosenbrockDiscipline#

Note

The plugin gemseo_mlearning is required.

Module: gemseo_mlearning.problems.rosenbrock.rosenbrock_discipline

SLURM#

Module: gemseo.disciplines.wrappers.job_schedulers.slurm

Required settings
  • discipline : Discipline

    The discipline to wrap in the job scheduler.

  • workdir_path : Path

    The path to the workdir where the files will be generated.

Optional settings
  • cpus_per_task : int, optional

    The number of CPUS per task.

    By default it is set to 1.

  • job_out_filename : str, optional

    The output job file name.

    By default it is set to batch.sh.

  • job_template_path : Path | str

    The path to the template to be used to make a submission to the job scheduler command.

    By default it is set to .

  • mem_per_cpu : str, optional

    The memory per CPU.

    By default it is set to 1G.

  • nodes_number : int, optional

    The number nodes.

    By default it is set to 1.

  • ntasks : int, optional

    The number of tasks.

    By default it is set to 1.

  • ntasks_per_node : int, optional

    The number of tasks per node.

    By default it is set to 1.

  • scheduler_run_command : str, optional

    The command to call the job scheduler and submit the generated script.

    By default it is set to sbatch --wait.

  • setup_cmd : str

    The command used before running the executable.

    By default it is set to .

  • use_template : bool, optional

    whether to use template based interface to the job scheduler.

    By default it is set to True.

  • user_email : str

    The user email to send the run status.

    By default it is set to .

  • wall_time : str, optional

    The wall time.

    By default it is set to 24:00:00.

  • **options : dict[str:Any], optional

    The job scheduler specific options to be used in the template.

ScalableDiscipline#

Module: gemseo.problems.mdo.scalable.parametric.disciplines.scalable_discipline

Required settings
  • a_i : NDArray

    The offset vector \(a_i\).

  • C_ij : Mapping[str, RealArray]

    The coefficient matrices \(\left(C_{i,j}\right)_{j=1\atop j\neq i}^N\) where \(C_{i,j}\) is used to multiply the coupling variable \(y_j\).

  • D_i0 : NDArray

    The coefficient matrix \(D_{i,0}\) to multiply the shared design variable \(x_0\).

  • D_ii : NDArray

    The coefficient matrix \(D_{i,i}\) to multiply the local design variable \(x_i\).

  • index : int

    The index \(i\) of the scalable discipline.

Optional settings
  • **default_input_values : RealArray, optional

    The default values of the input variables.

Sellar1#

Module: gemseo.problems.mdo.sellar.sellar_1

Optional settings
  • k : float, optional

    The shared coefficient controlling the coupling strength.

    By default it is set to 1.0.

  • n : int, optional

    The size of the local design variables and coupling variables.

    By default it is set to 1.

Sellar2#

Module: gemseo.problems.mdo.sellar.sellar_2

Optional settings
  • k : float, optional

    The shared coefficient controlling the coupling strength

    By default it is set to 1.0.

  • n : int, optional

    The size of the local design variables and coupling variables.

    By default it is set to 1.

SellarSystem#

Module: gemseo.problems.mdo.sellar.sellar_system

Optional settings
  • n : int, optional

    The size of the local design variables and coupling variables.

    By default it is set to 1.

SignalGeneratorDiscipline#

Note

The plugin gemseo_calibration is required.

Module: gemseo_calibration.signal.signal_generator_discipline

Required settings
  • output_names : Iterable[str]

    The names of the variables in the signal generator used as discipline output variables.

  • parameter_names : Iterable[str]

    The names of the parameters in the signal generator used as discipline input variables.

  • signal_generator : BaseSignalGenerator

    The signal generator.

  • state_names : Iterable[str]

    The names of the variables in the signal generator used as discipline input variables.

  • times : RealArray

    The times of interest in ascending order, from initial time to final time.

SobieskiAerodynamics#

Module: gemseo.problems.mdo.sobieski.disciplines

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The data type for the NumPy arrays, either "float64" or "complex128".

    By default it is set to float64.

SobieskiAerodynamicsSG#

Module: gemseo.problems.mdo.sobieski._disciplines_sg

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The data type for the NumPy arrays, either "float64" or "complex128".

    By default it is set to float64.

SobieskiChain#

Module: gemseo.problems.mdo.sobieski.process.mdo_chain

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The NumPy type for data arrays, either "float64" or "complex128".

    By default it is set to float64.

SobieskiMDAGaussSeidel#

Module: gemseo.problems.mdo.sobieski.process.mda_gauss_seidel

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The NumPy type for data arrays, either "float64" or "complex128".

    By default it is set to float64.

  • settings_model : MDAGaussSeidel_Settings | None, optional

    The MDA settings as a Pydantic model. If None, use **settings.

    By default it is set to None.

  • **settings : Any, optional

    The settings of the MDA.

SobieskiMDAJacobi#

Module: gemseo.problems.mdo.sobieski.process.mda_jacobi

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The NumPy type for data arrays, either "float64" or "complex128".

    By default it is set to float64.

  • **settings : Any, optional

    The settings of the MDA.

SobieskiMission#

Module: gemseo.problems.mdo.sobieski.disciplines

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The data type for the NumPy arrays, either "float64" or "complex128".

    By default it is set to float64.

  • enable_delay : bool | float, optional

    If True, wait one second before computation. If a positive number, wait the corresponding number of seconds. If False, compute directly.

    By default it is set to False.

SobieskiMissionSG#

Module: gemseo.problems.mdo.sobieski._disciplines_sg

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The data type for the NumPy arrays, either "float64" or "complex128".

    By default it is set to float64.

SobieskiPropulsion#

Module: gemseo.problems.mdo.sobieski.disciplines

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The data type for the NumPy arrays, either "float64" or "complex128".

    By default it is set to float64.

SobieskiPropulsionSG#

Module: gemseo.problems.mdo.sobieski._disciplines_sg

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The data type for the NumPy arrays, either "float64" or "complex128".

    By default it is set to float64.

SobieskiStructure#

Module: gemseo.problems.mdo.sobieski.disciplines

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The data type for the NumPy arrays, either "float64" or "complex128".

    By default it is set to float64.

SobieskiStructureSG#

Module: gemseo.problems.mdo.sobieski._disciplines_sg

Optional settings
  • dtype : SobieskiBase.DataType, optional

    The data type for the NumPy arrays, either "float64" or "complex128".

    By default it is set to float64.

Splitter#

Module: gemseo.disciplines.splitter

Required settings
  • input_name : str

    The name of the input to split.

  • output_names_to_input_indices : dict[str, Iterable[int] | int]

    The input indices associated with the output names.

SpringMassDiscipline#

Note

The plugin gemseo_umdo is required.

Module: gemseo_umdo.use_cases.spring_mass_model.discipline

Optional settings
  • final_time : float, optional

    The final time.

    By default it is set to 10.0.

  • gravity : float, optional

    The gravity acceleration.

    By default it is set to 9.8.

  • initial_state : tuple[float, float], optional

    The initial position and velocity of the object.

    By default it is set to (0, 0).

  • initial_time : float, optional

    The initial time.

    By default it is set to 0.0.

  • mass : float, optional

    The mass of the object.

    By default it is set to 1.5.

  • time_step : float, optional

    The time step.

    By default it is set to 0.1.

SpringODEDiscipline#

Module: gemseo.problems.ode.springs.spring_ode_discipline

Required settings
  • left_stiffness : float

    The stiffness of the spring on the left-hand side.

  • mass : float

    The value of the mass.

  • right_stiffness : float

    The stiffness of the spring on the right-hand side.

  • times : RealArray

    The times at which the solution must be evaluated.

Optional settings
  • is_left_position_fixed : bool, optional

    Whether the other end of the spring to the left is fixed.

    By default it is set to False.

  • is_right_position_fixed : bool, optional

    Whether the other end of the spring to the right is fixed.

    By default it is set to False.

  • left_position : float, optional

    The position of the other extremity of the spring to the left.

    By default it is set to 0.0.

  • left_position_name : str, optional

    The names of the variable describing the motion of the mass to the left.

    By default it is set to left_position.

  • right_position : float, optional

    The position of the other extremity of the spring to the right.

    By default it is set to 0.0.

  • right_position_name : str, optional

    The names of the variable describing the motion of the mass to the right.

    By default it is set to right_position.

  • state_dot_names : Sequence[str], optional

    The names of the derivatives of the state variables relative to time.

    By default it is set to ('position_dot', 'velocity_dot').

  • state_names : Sequence[str], optional

    The names of the state variables.

    By default it is set to ('position', 'velocity').

  • **ode_solver_options : Any, optional

    The options of the ODE solver.

SpringsDynamicsDiscipline#

Module: gemseo.problems.ode.springs.springs_dynamics_discipline

Required settings
  • left_stiffness : float

    The stiffness of the spring on the left-hand side.

  • mass : float

    The value of the mass.

  • right_stiffness : float

    The stiffness of the spring on the right-hand side.

Optional settings
  • left_position : RealArray | float, optional

    The position of the other extremity of the spring to the left.

    By default it is set to 0.0.

  • left_position_name : str

    Name of the input describing the position of the mass on the left, if is_left_position_fixed is False.

    By default it is set to .

  • right_position : RealArray | float, optional

    The position of the other extremity of the spring to the right.

    By default it is set to 0.0.

  • right_position_name : str

    Name of the input describing the position of the mass on the right, if is_right_position_fixed is False.

    By default it is set to .

  • state_dot_var_names : Sequence[str], optional

    The names of the time derivatives of the state variables (by default 'position_dot' and 'velocity_dot').

    By default it is set to ('position_dot', 'velocity_dot').

  • state_names : Sequence[str], optional

    The names of the state variables (by default 'position' and 'velocity').

    By default it is set to ('position', 'velocity').

  • times : RealArray | None, optional

    the time vector for the evaluation of the left and right positions.

    By default it is set to None.

StaticFMUDiscipline#

Note

The plugin gemseo_fmu is required.

Module: gemseo_fmu.disciplines.static_fmu_discipline

Required settings
  • file_path : str | Path

    The path to the FMU model file.

Optional settings
  • delete_model_instance_directory : bool, optional

    Whether to delete the directory of the FMU instance when deleting the discipline.

    By default it is set to True.

  • input_names : Iterable[str] | None, optional

    The names of the FMU model inputs; if empty, use all the inputs and parameters of the FMU model; if None, do not use inputs.

    By default it is set to ().

  • model_instance_directory : str | Path

    The directory of the FMU instance, containing the files extracted from the FMU model file; if empty, let fmpy create a temporary directory.

    By default it is set to .

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • output_names : Iterable[str], optional

    The names of the FMU model outputs. if empty, use all the outputs of the FMU model.

    By default it is set to ().

  • use_co_simulation : bool, optional

    Whether the co-simulation FMI type is used. Otherwise, use model-exchange FMI type. When do_step is True, the co-simulation FMI type is required.

    By default it is set to True.

  • validate : bool, optional

    Whether the FMU file must be checked.

    By default it is set to True.

  • variable_names : Mapping[str, str], optional

    The names of the discipline inputs and outputs associated with the names of the FMU model inputs and outputs, passed as {fmu_model_variable_name: discipline_variable_name, ...}. When missing, use the names of the FMU model inputs and outputs.

    By default it is set to {}.

  • **pre_instantiation_parameters : Any, optional

    The parameters to be passed to _pre_instantiate().

Structure#

Module: gemseo.problems.mdo.aerostructure.aerostructure

SurrogateDiscipline#

Module: gemseo.disciplines.surrogate

Required settings
  • surrogate : str | BaseRegressor | BaseRegressorSettings

    Either a regressor class name, a regressor instance or regressor settings.

Optional settings
  • data : IODataset | None, optional

    The dataset to train the regression model. If None, the regression model is supposed to be trained.

    By default it is set to None.

  • default_input_data : dict[str, ndarray], optional

    The default values of the input variables. If empty, the center of the learning input space is used.

    By default it is set to {}.

  • disc_name : str

    The name of the discipline. If empty, the concatenation of the short name of the surrogate algorithm and the name of the training dataset is used.

    By default it is set to .

  • input_names : Sequence[str], optional

    The names of the input variables of the discipline. If empty and surrogate is a regressor instance, all input variables of the regressor are used. If empty and surrogate is not a regressor instance, all input variables mentioned in the training dataset are used. If the type of surrogate is BaseRegressorSettings, surrogate.input_names is ignored and replaced by input_names.

    By default it is set to ().

  • output_names : Sequence[str], optional

    The names of the output variables of the discipline. If empty and surrogate is a regressor instance, all output variables of the regressor are used. If empty and surrogate is not a regressor instance, all output variables mentioned in the training dataset are used. If the type of surrogate is BaseRegressorSettings, surrogate.output_names is ignored and replaced by output_names.

    By default it is set to ().

  • transformer : TransformerType, optional

    The strategies to transform the variables. This argument is ignored when surrogate is a BaseRegressor; in this case, these strategies are defined with the transformer argument of this BaseRegressor, whose default value is BaseMLAlgo.IDENTITY, which means no transformation. In the other cases, the values of the dictionary are instances of BaseTransformer while the keys can be variable names, the group name "inputs" or the group name "outputs". If a group name is specified, the BaseTransformer will be applied to all the variables of this group. If BaseMLAlgo.IDENTITY, do not transform the variables. The BaseRegressor.DEFAULT_TRANSFORMER uses the MinMaxScaler strategy for both input and output variables. This argument is ignored when the type of surrogate is BaseRegressorSettings.

    By default it is set to {'inputs': <gemseo.mlearning.transformers.scaler.min_max_scaler.MinMaxScaler object at 0x7c2f95294ad0>, 'outputs': <gemseo.mlearning.transformers.scaler.min_max_scaler.MinMaxScaler object at 0x7c2f952c13d0>}.

  • **settings : Any, optional

    The settings of the machine learning algorithm. These arguments are ignored when the type of surrogate is BaseRegressorSettings.

TaylorDiscipline#

Module: gemseo.disciplines.taylor

Required settings
  • discipline : Discipline

    The discipline to be approximated by a Taylor polynomial.

Optional settings
  • input_data : Mapping[str, NDArray[float]], optional

    The point of expansion. If empty, use the default inputs of discipline.

    By default it is set to {}.

  • input_names : Iterable[str], optional

    The names of the input variables of interest. If empty, use all the input variables of discipline.

    By default it is set to ().

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • output_names : Iterable[str], optional

    The names of the output variables of interest. If empty, use all the output variables of discipline.

    By default it is set to ().

TimeSteppingSystem#

Note

The plugin gemseo_fmu is required.

Module: gemseo_fmu.disciplines.time_stepping_system

Required settings
  • disciplines : Iterable[str | Path | Discipline]

    The static and time-stepping disciplines. The disciplines will be executed circularly according to the order of their definition.

  • final_time : float

    The final time of the simulation (the initial time is 0).

  • time_step : float

    The time step of the system.

Optional settings
  • apply_time_step_to_disciplines : bool, optional

    Whether the time-stepping disciplines should use time_step as time step. Otherwise, their own time steps.

    By default it is set to True.

  • do_step : bool, optional

    Whether the model is simulated over only one time_step when calling the execution method. Otherwise, simulate the model from initial time to final_time.

    By default it is set to False.

  • mda_max_iter_at_t0 : int, optional

    The maximum number of iterations of the MDA algorithm at initial time, to find a multidisciplinary feasible configuration.

    By default it is set to 0.

  • mda_name : str, optional

    The MDA class name.

    By default it is set to MDAJacobi.

  • mda_options : Mapping[str, Any], optional

    The options of the MDA.

    By default it is set to {}.

  • restart : bool, optional

    Whether the system is restarted at initial time after each execution.

    By default it is set to True.

  • **fmu_options : Any, optional

    The options to instantiate the FMU disciplines.

TrussDiscipline#

Note

The plugin gemseo_umdo is required.

Module: gemseo_umdo.use_cases.truss.discipline

Optional settings
  • use_different_bars : bool, optional

    Whether the bars are different. Otherwise, use identical oblical bars and identical horizontal bars.

    By default it is set to False.

VolumeFraction#

Module: gemseo.problems.topology_optimization.volume_fraction_disc

Optional settings
  • empty_elements : Sequence[int] | None, optional

    The index of the empty element ids that are not part of the design space.

    By default it is set to None.

  • full_elements : Sequence[int] | None, optional

    The index of the full element ids that are not part of the design space.

    By default it is set to None.

  • n_x : int, optional

    The number of elements in the x-direction.

    By default it is set to 100.

  • n_y : int, optional

    The number of elements in the y-direction.

    By default it is set to 100.

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

WingWeightDiscipline#

Module: gemseo.problems.uncertainty.wing_weight.discipline

XLSDiscipline#

Module: gemseo.disciplines.wrappers.xls_discipline

Required settings
  • xls_file_path : Path | str

    The path to the Excel file. If the file is a XLSM, a macro named "execute" must exist and will be called by the _run() method before retrieving the outputs.

Optional settings
  • copy_xls_at_setstate : bool, optional

    If True, create a copy of the original Excel file for each of the pickled parallel processes. This option is required to be set to True for parallelization in Windows platforms.

    By default it is set to False.

  • macro_name : str, optional

    The name of the macro to be executed for a XLSM file. If empty, do not run a macro.

    By default it is set to execute.

  • name : str

    The name of the discipline. If empty, use the name of the class.

    By default it is set to .

  • recreate_book_at_run : bool, optional

    Whether to rebuild the xls objects at each _run call.

    By default it is set to False.