gemseo.problems.mdo.scalable.parametric.disciplines.scalable_discipline module#

The scalable discipline.

class 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, 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\).

  • **default_input_values (RealArray) -- The default values of the input variables.