Skip to content

← Back to aladin

ControllerToLocal_MiddleLevelCouplingALADIN

Source: Distributed_Design_Optimizer/middlelevel/aladin/ControllerToLocal_MiddleLevelCouplingALADIN.py

Controller-to-local middle-level coupling module for ALADIN.

This module provides middle-level coupling management for controller-to-local subsystem communication in ALADIN coordination.

Classes

ControllerToLocal_MiddleLevelCouplingALADIN

Inherits from: ControllerToLocal_MiddleLevelCouplingBasis

Middle level coupling updated by the controller.

Handles the coupling from the controller to a local subsystem (middlelevel between controller and local subsystem).

Methods

init(self, local_neighbors_list: List[str]) → None

📐 Pseudocode: Controller: Copy Δd to interface storage (Line 21) → Augmented Lagrangian Alternating Direction Inexact Newton

Initialize controller-to-local middle-level coupling.

Args:

local_neighbors_list: List of local neighbor identifiers.

get_Delta_D(self) → List[float] | None

Return the list delta_d from controller.

Returns:

List[float] | None: The delta_d list from the controller.

set_Delta_D(self, delta_d_in: List[float]) → None

Set the list delta_d from controller.

Args:

delta_d_in (List[float]): The delta_d list to set.

update_state(self, other_middlelevelcoupling: ControllerToLocal_MiddleLevelCouplingALADIN) → None

Update the state of this ControllerToLocal_MiddleLevelCouplingALADIN with another instance.

This operation preserves the memory address of the object's attributes and only updates the value(s). This method is necessary for multiprocessing, where executed subsystems need to transfer their state back to the original objects.

Args:

other_middlelevelcoupling: The ControllerToLocal_MiddleLevelCouplingALADIN to copy state from.