scalable_discipline module¶
The scalable discipline.
- class gemseo.problems.scalable.parametric.disciplines.scalable_discipline.ScalableDiscipline(index, a_i, D_i0, D_ii, C_ij, **default_input_values)[source]
Bases:
BaseDiscipline
A scalable discipline.
It computes the output \(y_i=a_i-D_{i,0}x_0-D_{i,i}x_i+\sum_{j=1\atop j\neq i}^N C_{i,j}y_j\).
Initialize self. See help(type(self)) for accurate signature.
- Parameters:
index (int) – The index \(i\) of the scalable discipline.
a_i (NDArray) – The offset vector \(a_i\).
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\).
C_ij (Mapping[str, NDArray[float]]) – 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\).
**default_input_values (NDArray[float]) – The default values of the input variables.
- cache: AbstractCache | None
The cache containing one or several executions of the discipline according to the cache policy.
- data_processor: DataProcessor
A tool to pre- and post-process discipline data.
- exec_for_lin: bool
Whether the last execution was due to a linearization.
- input_grammar: BaseGrammar
The input grammar.
- jac: dict[str, dict[str, ndarray]]
The Jacobians of the outputs wrt inputs.
The structure is
{output: {input: matrix}}
.
- name: str
The name of the discipline.
- output_grammar: BaseGrammar
The output grammar.
- re_exec_policy: ReExecutionPolicy
The policy to re-execute the same discipline.
- residual_variables: Mapping[str, str]
The output variables mapping to their inputs, to be considered as residuals; they shall be equal to zero.
- run_solves_residuals: bool
Whether the run method shall solve the residuals.