← 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:
ABCInterface 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.