Files
Anto01 eabcc4c3ca refactor: Major reorganization of optimization_engine module structure
BREAKING CHANGE: Module paths have been reorganized for better maintainability.
Backwards compatibility aliases with deprecation warnings are provided.

New Structure:
- core/           - Optimization runners (runner, intelligent_optimizer, etc.)
- processors/     - Data processing
  - surrogates/   - Neural network surrogates
- nx/             - NX/Nastran integration (solver, updater, session_manager)
- study/          - Study management (creator, wizard, state, reset)
- reporting/      - Reports and analysis (visualizer, report_generator)
- config/         - Configuration management (manager, builder)
- utils/          - Utilities (logger, auto_doc, etc.)
- future/         - Research/experimental code

Migration:
- ~200 import changes across 125 files
- All __init__.py files use lazy loading to avoid circular imports
- Backwards compatibility layer supports old import paths with warnings
- All existing functionality preserved

To migrate existing code:
  OLD: from optimization_engine.nx_solver import NXSolver
  NEW: from optimization_engine.nx.solver import NXSolver

  OLD: from optimization_engine.runner import OptimizationRunner
  NEW: from optimization_engine.core.runner import OptimizationRunner

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 12:30:59 -05:00

61 lines
1.7 KiB
Python

"""
Study Management
================
Study creation, state management, and lifecycle.
Modules:
- creator: Study creation from templates
- wizard: Interactive study setup wizard
- state: Study state tracking
- reset: Study reset functionality
- continuation: Resume interrupted studies
"""
# Lazy imports to avoid circular dependencies
def __getattr__(name):
if name == 'StudyCreator':
from .creator import StudyCreator
return StudyCreator
elif name == 'create_study':
from .creator import create_study
return create_study
elif name == 'StudyWizard':
from .wizard import StudyWizard
return StudyWizard
elif name == 'StudyState':
from .state import StudyState
return StudyState
elif name == 'StudyReset':
from .reset import StudyReset
return StudyReset
elif name == 'reset_study':
from .reset import reset_study
return reset_study
elif name == 'StudyContinuation':
from .continuation import StudyContinuation
return StudyContinuation
elif name == 'continue_study':
from .continuation import continue_study
return continue_study
elif name == 'BenchmarkingSubstudy':
from .benchmarking import BenchmarkingSubstudy
return BenchmarkingSubstudy
elif name == 'generate_history':
from .history_generator import generate_history
return generate_history
raise AttributeError(f"module 'optimization_engine.study' has no attribute '{name}'")
__all__ = [
'StudyCreator',
'create_study',
'StudyWizard',
'StudyState',
'StudyReset',
'reset_study',
'StudyContinuation',
'continue_study',
'BenchmarkingSubstudy',
'generate_history',
]