gemseo_box_subdivision.disciplines.multi_resolution_mapping#

The mapping from the levels of a multi-resolution subdivision to the variables.

Classes

MultiResolutionMapping(subdivision[, name])

The mapping from the digits of a box and a normalized point to a design value.

class gemseo_box_subdivision.disciplines.multi_resolution_mapping.MultiResolutionMapping(subdivision, name='')[source]#

Bases: Discipline

The mapping from the digits of a box and a normalized point to a design value.

The counterpart of BoxMapping for a MultiResolution subdivision, in which a box is chosen by one categorical variable per level rather than by one over the whole subdivision:

\[x_j(\xi, \alpha) = L_j + \Delta_j \sum_{k=1}^{L} m^{-k} \, d_k(\alpha_j) + \xi_j \, \Delta_j \, m^{-L}.\]

It is chained before the objective discipline, which keeps receiving the design variables under their own names, exactly as BoxMapping is.

The width \(\Delta_j m^{-L}\) does not depend on the levels at all, so every Jacobian block is constant: the derivative with respect to a level is the value that digit contributes, and the derivative with respect to the normalized point is the width of the smallest box. The bilinearity is the same as the one-level mapping’s, so the post-optimal sensitivity of the Benders formulation applies unchanged.

Parameters:
default_grammar_type: ClassVar[Discipline.GrammarType] = 'SimplerGrammar'#

The default type of grammar.