{
  "study_name": "uav_arm_optimization",
  "description": "UAV Camera Support Arm - Multi-Objective Lightweight Design",
  "engineering_context": "Unmanned aerial vehicle camera gimbal arm. Target: lighter than current 145g design while maintaining camera stability under 850g payload. Must avoid resonance with rotor frequencies (80-120 Hz).",

  "optimization_settings": {
    "protocol": "protocol_11_multi_objective",
    "n_trials": 30,
    "sampler": "NSGAIISampler",
    "pruner": null,
    "timeout_per_trial": 600
  },

  "design_variables": [
    {
      "parameter": "beam_half_core_thickness",
      "bounds": [5, 10],
      "description": "Half thickness of beam core (mm) - affects weight and stiffness"
    },
    {
      "parameter": "beam_face_thickness",
      "bounds": [1, 3],
      "description": "Thickness of beam face sheets (mm) - bending resistance"
    },
    {
      "parameter": "holes_diameter",
      "bounds": [10, 50],
      "description": "Diameter of lightening holes (mm) - weight reduction"
    },
    {
      "parameter": "hole_count",
      "bounds": [8, 14],
      "description": "Number of lightening holes - balance weight vs strength"
    }
  ],

  "objectives": [
    {
      "name": "mass",
      "goal": "minimize",
      "weight": 1.0,
      "description": "Total mass (grams) - minimize for longer flight time",
      "target": 4000,
      "extraction": {
        "action": "extract_mass",
        "domain": "result_extraction",
        "params": {
          "result_type": "mass",
          "metric": "total"
        }
      }
    },
    {
      "name": "fundamental_frequency",
      "goal": "maximize",
      "weight": 1.0,
      "description": "First natural frequency (Hz) - avoid rotor resonance",
      "target": 150,
      "extraction": {
        "action": "extract_frequency",
        "domain": "result_extraction",
        "params": {
          "result_type": "frequency",
          "mode_number": 1
        }
      }
    }
  ],

  "constraints": [
    {
      "name": "max_displacement_limit",
      "type": "less_than",
      "threshold": 1.5,
      "description": "Maximum tip displacement under 850g camera load < 1.5mm for image stabilization",
      "extraction": {
        "action": "extract_displacement",
        "domain": "result_extraction",
        "params": {
          "result_type": "displacement",
          "metric": "max"
        }
      }
    },
    {
      "name": "max_stress_limit",
      "type": "less_than",
      "threshold": 120,
      "description": "Maximum von Mises stress < 120 MPa (Al 6061-T6, SF=2.3)",
      "extraction": {
        "action": "extract_stress",
        "domain": "result_extraction",
        "params": {
          "result_type": "stress",
          "metric": "max_von_mises"
        }
      }
    },
    {
      "name": "min_frequency_limit",
      "type": "greater_than",
      "threshold": 150,
      "description": "Natural frequency > 150 Hz to avoid rotor frequencies (80-120 Hz safety margin)",
      "extraction": {
        "action": "extract_frequency",
        "domain": "result_extraction",
        "params": {
          "result_type": "frequency",
          "mode_number": 1
        }
      }
    }
  ],

  "simulation": {
    "model_file": "Beam.prt",
    "sim_file": "Beam_sim1.sim",
    "fem_file": "Beam_fem1.fem",
    "solver": "nastran",
    "analysis_types": ["static", "modal"]
  },

  "reporting": {
    "generate_plots": true,
    "save_incremental": true,
    "llm_summary": false
  },

  "training_data_export": {
    "enabled": true,
    "export_dir": "atomizer_field_training_data/uav_arm_optimization",
    "export_every_n_trials": 1,
    "include_mesh": true,
    "compress": false
  }
}
