← Back to aladin
ControllerCouplingParametersALADIN¶
ALADIN controller coupling parameters module.
This module provides coupling parameters for the ALADIN controller subsystem.
Classes¶
ControllerCouplingParametersALADIN¶
Inherits from: ControllerCouplingParametersBasis
Coupling parameters for the ALADIN controller subsystem.
Extends ControllerCouplingParametersBasis with delta_d, d_hat, Hessians, gradients, Jacobians of active constraints/bounds, equality constraints, and per-coupling local-to-controller / controller-to-local sub-parameters.
Methods¶
init(self, id: str) → None
Initialize ControllerCouplingParametersALADIN.
Args:
id: Identifier of the neighboring subsystem.
set_Delta_D(self, delta_d_in: List[float]) → None
📐 Pseudocode: Controller: Copy Δd to interface storage (Line 21) → Augmented Lagrangian Alternating Direction Inexact Newton
Set the delta_d variables.
Args:
delta_d_in: The delta_d variables to set.
get_Delta_D(self) → List[float] | None
📐 Pseudocode: Local: Copy Δd from controller, compute d_hat (Lines 8, 9, 10, 11) → Augmented Lagrangian Alternating Direction Inexact Newton
Get the delta_d variables.
Returns:
The delta_d variables, or None if not set.
set_Copy_Hessian_LocalConstraints_Lagrangian(self, copy_hessian_localconstraints_lagrangian_in: List[List[float]]) → None
Set the copy of the Hessian of the Lagrangian w.r.t. local constraints.
Args:
copy_hessian_localconstraints_lagrangian_in: The copy of the Hessian to set.
get_Copy_Hessian_LocalConstraints_Lagrangian(self) → List[List[float]] | None
📐 Pseudocode: Controller: Copy sensitivity data from locals (Lines 17, 18, 19) → Augmented Lagrangian Alternating Direction Inexact Newton
Get the copy of the Hessian of the Lagrangian w.r.t. local constraints.
Returns:
The copy of the Hessian of the Lagrangian, or None if not set.
set_Copy_Gradient_LocalObjective(self, copy_gradient_localobjective_in: List[float]) → None
Set the copy of the gradient of the local objective function.
Args:
copy_gradient_localobjective_in: The copy of the gradient to set.
get_Copy_Gradient_LocalObjective(self) → List[float] | None
📐 Pseudocode: Controller: Copy sensitivity data from locals (Lines 17, 18, 19) → Augmented Lagrangian Alternating Direction Inexact Newton
Get the copy of the gradient of the local objective function.
Returns:
The copy of the gradient of the local objective function, or None if not set.
set_Copy_LocalInequalityConstraintsValue(self, copy_localinequalityconstraintsvalue_in: List[float]) → None
Set the copy of the local inequality constraint values.
Args:
copy_localinequalityconstraintsvalue_in: The copy of the local inequality constraint values to set.
get_Copy_LocalInequalityConstraintsValue(self) → List[float] | None
Get the copy of the local inequality constraint values.
Returns:
The copy of the local inequality constraint values, or None if not set.
set_Copy_Jacobian_LocalInequalityConstraints(self, copy_jacobian_localinequalityconstraints_in: List[List[float]]) → None
Set the copy of the Jacobian of the local inequality constraints.
Args:
copy_jacobian_localinequalityconstraints_in: The copy of the Jacobian to set.
get_Copy_Jacobian_LocalInequalityConstraints(self) → List[List[float]] | None
Get the copy of the Jacobian of the local inequality constraints.
Returns:
The copy of the Jacobian of the local inequality constraints, or None if not set.
set_Copy_Lower_BoundConstraints_Value(self, copy_lower_boundconstraints_value_in: List[float]) → None
Set the copy of the lower bound constraint values.
Args:
copy_lower_boundconstraints_value_in: The copy of the lower bound constraint values to set.
get_Copy_Lower_BoundConstraints_Value(self) → List[float] | None
Get the copy of the lower bound constraint values.
Returns:
The copy of the lower bound constraint values, or None if not set.
set_Copy_Jacobian_LowerBound(self, copy_jacobian_lowerbound_in: List[List[float]]) → None
Set the copy of the Jacobian of the lower bounds of the subsystem's design variables.
Args:
copy_jacobian_lowerbound_in: The copy of the Jacobian to set.
get_Copy_Jacobian_LowerBound(self) → List[List[float]] | None
Get the copy of the Jacobian of the lower bounds of the subsystem's design variables.
Returns:
The copy of the Jacobian of the lower bounds, or None if not set.
set_Copy_Upper_BoundConstraints_Value(self, copy_upper_boundconstraints_value_in: List[float]) → None
Set the copy of the upper bound constraint values.
Args:
copy_upper_boundconstraints_value_in: The copy of the upper bound constraint values to set.
get_Copy_Upper_BoundConstraints_Value(self) → List[float] | None
Get the copy of the upper bound constraint values.
Returns:
The copy of the upper bound constraint values, or None if not set.
set_Copy_Jacobian_UpperBound(self, copy_jacobian_upperbound_in: List[List[float]]) → None
Set the copy of the Jacobian of the upper bounds of the subsystem's design variables.
Args:
copy_jacobian_upperbound_in: The copy of the Jacobian to set.
get_Copy_Jacobian_UpperBound(self) → List[List[float]] | None
Get the copy of the Jacobian of the upper bounds of the subsystem's design variables.
Returns:
The copy of the Jacobian of the upper bounds, or None if not set.
set_Copy_Jacobian_LocalEqualityConstraints(self, copy_jacobian_equalityconstraints_in: List[List[float]]) → None
Set the copy of the Jacobian of the equality constraints.
Args:
copy_jacobian_equalityconstraints_in: The copy of the Jacobian to set.
get_Copy_Jacobian_LocalEqualityConstraints(self) → List[List[float]] | None
📐 Pseudocode: Controller: Copy sensitivity data from locals (Lines 17, 18, 19) → Augmented Lagrangian Alternating Direction Inexact Newton
Get the copy of the Jacobian of the equality constraints.
Returns:
The copy of the Jacobian of the equality constraints, or None if not set.
set_Copy_LocalToLocalForController_CouplingParameters(self, copy_localtolocalforcontroller_couplingparametersin: List[LocalToLocalForController_CouplingParameters]) → None
Set the copy of the local-to-local-for-controller coupling parameters for each i <-> j coupling.
Args:
copy_localtolocalforcontroller_couplingparametersin: The copy of the local-to-local-for-controller coupling parameters to set.
get_Copy_LocalToLocalForController_CouplingParameters(self) → List[LocalToLocalForController_CouplingParameters] | None
📐 Pseudocode: Controller: Copy sensitivity data from locals (Lines 17, 18, 19) → Augmented Lagrangian Alternating Direction Inexact Newton
Get the copy of the local-to-local-for-controller coupling parameters for each i <-> j coupling.
Returns:
The copy of the local-to-local-for-controller coupling parameters, or None if not set.
CopyFromMiddleLevel_LocalToLocalForController_CouplingParameters(self, copy_localtolocalforcontroller_couplingparameter: LocalToLocalForController_CouplingParameters, middlelevel_localtolocalforcontroller_couplingparameter: LocalToLocalForController_CouplingParameters) → None
Update a local-to-local-for-controller coupling parameter from the middlelevel coupling.
Args:
copy_localtolocalforcontroller_couplingparameter: The local copy to update.
middlelevel_localtolocalforcontroller_couplingparameter: The middle level coupling parameter source.
CopyFromMiddleLevelCoupling(self, middlelevelcouplingIn: LocalToController_MiddleLevelCouplingALADIN) → None
Copy coupling parameters from the middle level.
Args:
middlelevelcouplingIn: The middle level coupling to copy from.
Raises:
ValueError: If middlelevelcouplingIn is not a LocalToController_MiddleLevelCouplingALADIN instance.
CopyToMiddleLevelCoupling(self, middlelevelcouplingIn: ControllerToLocal_MiddleLevelCouplingALADIN) → None
Copy coupling parameters to the middle level.
Args:
middlelevelcouplingIn: The middle level coupling to copy to.
Raises:
ValueError: If middlelevelcouplingIn is not a ControllerToLocal_MiddleLevelCouplingALADIN instance.
update_state(self, other_coupling: ControllerCouplingParametersALADIN) → None
Update the state of this ControllerCouplingParametersALADIN with values from another instance.
This method is necessary for multiprocessing. When subsystems are executed in parallel using multiprocessing.Pool, they are serialized and deserialized, creating new objects in separate memory spaces. After parallel execution completes, this method updates the original object's attribute values while preserving their memory addresses.
The update preserves memory addresses by modifying list contents in-place rather than reassigning references. This is essential for maintaining object identity across the multiprocessing boundary.
Args:
other_coupling: The source ControllerCouplingParametersALADIN containing updated values
from parallel execution.