{
  "study_name": "bracket_stress_minimization",
  "description": "Bracket Stress Minimization - Minimize peak stress while maintaining stiffness",
  "engineering_context": "L-bracket or mounting bracket optimization. Minimize stress concentrations by adjusting fillet radii, wall thickness, and material distribution.",
  "template_info": {
    "category": "structural",
    "analysis_type": "static",
    "typical_applications": ["mounting brackets", "L-brackets", "gusset plates", "corner joints"],
    "required_nx_expressions": ["wall_thickness", "fillet_radius", "web_thickness"]
  },

  "optimization_settings": {
    "protocol": "protocol_10_single_objective",
    "n_trials": 75,
    "sampler": "TPE",
    "pruner": "MedianPruner",
    "timeout_per_trial": 400
  },

  "design_variables": [
    {
      "parameter": "wall_thickness",
      "bounds": [2, 10],
      "description": "Main wall thickness (mm)",
      "units": "mm"
    },
    {
      "parameter": "fillet_radius",
      "bounds": [3, 20],
      "description": "Corner fillet radius (mm) - stress relief",
      "units": "mm"
    },
    {
      "parameter": "web_thickness",
      "bounds": [1, 8],
      "description": "Stiffening web thickness (mm)",
      "units": "mm"
    },
    {
      "parameter": "rib_count",
      "bounds": [0, 5],
      "description": "Number of stiffening ribs",
      "type": "integer"
    }
  ],

  "objectives": [
    {
      "name": "max_stress",
      "goal": "minimize",
      "weight": 1.0,
      "description": "Peak von Mises stress (MPa)",
      "target": 50,
      "extraction": {
        "action": "extract_stress",
        "domain": "result_extraction",
        "params": {
          "result_type": "stress",
          "metric": "max_von_mises"
        }
      }
    }
  ],

  "constraints": [
    {
      "name": "max_displacement_limit",
      "type": "less_than",
      "threshold": 0.5,
      "description": "Maximum displacement < 0.5mm for stiffness requirement",
      "extraction": {
        "action": "extract_displacement",
        "domain": "result_extraction",
        "params": {
          "result_type": "displacement",
          "metric": "max"
        }
      }
    },
    {
      "name": "max_mass_limit",
      "type": "less_than",
      "threshold": 200,
      "description": "Maximum mass < 200g for weight budget",
      "extraction": {
        "action": "extract_mass",
        "domain": "result_extraction",
        "params": {
          "result_type": "mass",
          "metric": "total"
        }
      }
    }
  ],

  "simulation": {
    "model_file": "Bracket.prt",
    "sim_file": "Bracket_sim1.sim",
    "fem_file": "Bracket_fem1.fem",
    "solver": "nastran",
    "analysis_types": ["static"]
  },

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

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