{
  "study_name": "beam_stiffness_optimization",
  "description": "Beam Stiffness Optimization - Maximize stiffness while minimizing mass",
  "engineering_context": "Cantilever beam optimization. Find optimal cross-section dimensions to maximize bending stiffness under tip load while minimizing weight.",
  "template_info": {
    "category": "structural",
    "analysis_type": "static",
    "typical_applications": ["cantilever beams", "support arms", "brackets"],
    "required_nx_expressions": ["beam_width", "beam_height", "beam_length"]
  },

  "optimization_settings": {
    "protocol": "protocol_10_single_objective",
    "n_trials": 50,
    "sampler": "TPE",
    "pruner": "MedianPruner",
    "timeout_per_trial": 300
  },

  "design_variables": [
    {
      "parameter": "beam_width",
      "bounds": [10, 50],
      "description": "Beam cross-section width (mm)",
      "units": "mm"
    },
    {
      "parameter": "beam_height",
      "bounds": [10, 80],
      "description": "Beam cross-section height (mm)",
      "units": "mm"
    },
    {
      "parameter": "beam_length",
      "bounds": [100, 500],
      "description": "Beam length (mm)",
      "units": "mm"
    }
  ],

  "objectives": [
    {
      "name": "stiffness",
      "goal": "maximize",
      "weight": 1.0,
      "description": "Effective bending stiffness (inverse of tip displacement under unit load)",
      "target": 10000,
      "extraction": {
        "action": "extract_displacement",
        "domain": "result_extraction",
        "params": {
          "result_type": "displacement",
          "metric": "max",
          "invert": true
        }
      }
    }
  ],

  "constraints": [
    {
      "name": "max_mass_limit",
      "type": "less_than",
      "threshold": 500,
      "description": "Maximum mass < 500g",
      "extraction": {
        "action": "extract_mass",
        "domain": "result_extraction",
        "params": {
          "result_type": "mass",
          "metric": "total"
        }
      }
    },
    {
      "name": "max_stress_limit",
      "type": "less_than",
      "threshold": 200,
      "description": "Maximum von Mises stress < 200 MPa",
      "extraction": {
        "action": "extract_stress",
        "domain": "result_extraction",
        "params": {
          "result_type": "stress",
          "metric": "max_von_mises"
        }
      }
    }
  ],

  "simulation": {
    "model_file": "Beam.prt",
    "sim_file": "Beam_sim1.sim",
    "fem_file": "Beam_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
  }
}
