Skip to content

← Back to optimization

AnalysisInterface

Source: Distributed_Design_Optimizer/subsystem/optimization/AnalysisInterface.py

Analysis interface module.

This module defines the abstract interface for subsystem analysis components.

Classes

AnalysisInterface

Inherits from: ABC

Interface prescribing the methods which an analysis code object needs to implement.

Methods

evaluateLocalResponses(self, subsystem: SubSystemInterface) → None

📐 Pseudocode: Solve subsystem optimization (argmin) (Line 11) → Unified Algorithmic Structure; Evaluate subsystem responses (user-defined) (Line 8), Re-run analysis at optimum (Line 27) → SubSystemBasis.run_IterativeOptimization

Evaluate the responses of a subsystem.

Args:

subsystem: The subsystem interface for which responses are
evaluated.

mapLocalResponsesDesignVariables_to_CouplingParameters(self, subsystem: SubSystemInterface) → None

📐 Pseudocode: Map subsystem responses (user-defined) (Line 10), Final coupling parameter update (Line 26) → SubSystemBasis.run_IterativeOptimization

Map the physical responses and design variables onto the neighboring subsystems.

Args:

subsystem: The subsystem interface for which responses and design
variables are mapped.

mapLocalResponsesDesignVariables_to_CouplingParameters_Jacobians(self, subsystem: SubSystemInterface) → None

Map the Jacobians of the mapped responses.

Args:

subsystem: The subsystem interface for which the Jacobians are
mapped.

mapLocalResponsesDesignVariables_to_CouplingParameters_Hessian(self, subsystem: SubSystemInterface) → List[List[List[List[float | None]]]] | None

Map the Hessians of the mapped responses, if known a priori.

Args:

subsystem: The subsystem interface for which the Hessians are
mapped.

Returns:

Nested list indexed by local-to-local coupling, then by mapped
response component, then the 2D Hessian (n_design x n_design).
None entries indicate values not provided (BFGS approximation used).
Return None if no Hessians are provided at all.