feat: Update create-study skill with Phase 1.3 logging and create UAV arm test study
Phase 1.3.1 Complete - Logging Integration: 1. Updated .claude/skills/create-study.md: - Added IMPORTANT section on structured logging from Phase 1.3 - Documents logger import and initialization - Lists all structured logging methods (trial_start, trial_complete, etc.) - References drone_gimbal_arm as template 2. Created studies/uav_arm_optimization/: - Multi-objective NSGA-II study (50 trials) - Same type as drone_gimbal_arm but renamed for UAV context - Full integration with Phase 1.3 logging system - Configuration: minimize mass + maximize frequency - Running to validate complete logging system Benefits: - All future studies created via skill will have consistent logging - Production-ready error handling and file logging from day 1 - Color-coded console output for better monitoring - Automatic log rotation (50MB, 3 backups) Related: Phase 1.2 (Configuration), Phase 1.3 (Logger), Phase 1.3.1 (Integration) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
103
studies/uav_arm_optimization/1_setup/workflow_config.json
Normal file
103
studies/uav_arm_optimization/1_setup/workflow_config.json
Normal file
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"study_name": "drone_gimbal_arm_optimization",
|
||||
"optimization_request": "Multi-objective: minimize mass + maximize natural frequency, subject to displacement < 1.5mm, stress < 120 MPa, frequency > 150 Hz",
|
||||
|
||||
"design_variables": [
|
||||
{
|
||||
"parameter": "beam_half_core_thickness",
|
||||
"bounds": [20, 30],
|
||||
"description": "Half thickness of beam core in mm"
|
||||
},
|
||||
{
|
||||
"parameter": "beam_face_thickness",
|
||||
"bounds": [1, 3],
|
||||
"description": "Thickness of beam face sheets in mm"
|
||||
},
|
||||
{
|
||||
"parameter": "holes_diameter",
|
||||
"bounds": [180, 280],
|
||||
"description": "Diameter of lightening holes in mm"
|
||||
},
|
||||
{
|
||||
"parameter": "hole_count",
|
||||
"bounds": [8, 14],
|
||||
"description": "Number of lightening holes"
|
||||
}
|
||||
],
|
||||
|
||||
"objectives": [
|
||||
{
|
||||
"name": "mass",
|
||||
"goal": "minimize",
|
||||
"weight": 1.0,
|
||||
"extraction": {
|
||||
"action": "extract_mass",
|
||||
"domain": "result_extraction",
|
||||
"description": "Extract total mass from FEA results",
|
||||
"params": {
|
||||
"result_type": "mass",
|
||||
"metric": "total"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "fundamental_frequency",
|
||||
"goal": "maximize",
|
||||
"weight": 1.0,
|
||||
"extraction": {
|
||||
"action": "extract_frequency",
|
||||
"domain": "result_extraction",
|
||||
"description": "Extract first natural frequency from modal analysis",
|
||||
"params": {
|
||||
"result_type": "frequency",
|
||||
"mode_number": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
"constraints": [
|
||||
{
|
||||
"name": "max_displacement_limit",
|
||||
"type": "less_than",
|
||||
"threshold": 1.5,
|
||||
"extraction": {
|
||||
"action": "extract_displacement",
|
||||
"domain": "result_extraction",
|
||||
"description": "Extract maximum displacement from FEA results",
|
||||
"params": {
|
||||
"result_type": "displacement",
|
||||
"metric": "max"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "max_stress_limit",
|
||||
"type": "less_than",
|
||||
"threshold": 120,
|
||||
"extraction": {
|
||||
"action": "extract_stress",
|
||||
"domain": "result_extraction",
|
||||
"description": "Extract maximum von Mises stress",
|
||||
"params": {
|
||||
"result_type": "stress",
|
||||
"metric": "max_von_mises"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "min_frequency_limit",
|
||||
"type": "greater_than",
|
||||
"threshold": 150,
|
||||
"extraction": {
|
||||
"action": "extract_frequency",
|
||||
"domain": "result_extraction",
|
||||
"description": "Extract first natural frequency",
|
||||
"params": {
|
||||
"result_type": "frequency",
|
||||
"mode_number": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user