{ "study_name": "bracket_pareto_3obj", "description": "Three-objective Pareto optimization: minimize mass, minimize stress, maximize stiffness", "engineering_context": "Generated by StudyWizard on 2025-12-06 14:43", "template_info": { "category": "structural", "analysis_type": "static", "typical_applications": [], "neural_enabled": false }, "optimization_settings": { "protocol": "protocol_11_multi", "n_trials": 100, "sampler": "NSGAIISampler", "pruner": null, "timeout_per_trial": 400 }, "design_variables": [ { "parameter": "support_angle", "bounds": [ 20, 70 ], "description": "Angle of support arm relative to base", "units": "degrees" }, { "parameter": "tip_thickness", "bounds": [ 30, 60 ], "description": "Thickness at bracket tip where load is applied", "units": "mm" } ], "objectives": [ { "name": "mass", "goal": "minimize", "weight": 1.0, "description": "Total bracket mass (kg)", "extraction": { "action": "extract_mass_from_bdf", "domain": "result_extraction", "params": {} } }, { "name": "stress", "goal": "minimize", "weight": 1.0, "description": "Maximum von Mises stress (MPa)", "extraction": { "action": "extract_solid_stress", "domain": "result_extraction", "params": { "metric": "max_von_mises" } } }, { "name": "stiffness", "goal": "maximize", "weight": 1.0, "description": "Structural stiffness = Force/Displacement (N/mm)", "extraction": { "action": "extract_displacement", "domain": "result_extraction", "params": { "invert_for_stiffness": true } } } ], "constraints": [ { "name": "stress_limit", "type": "less_than", "threshold": 300, "description": "Keep stress below 300 MPa for safety margin", "extraction": { "action": "extract_solid_stress", "domain": "result_extraction", "params": {} } } ], "simulation": { "model_file": "Bracket.prt", "sim_file": "Bracket_sim1.sim", "fem_file": "Bracket_fem1.fem", "solver": "nastran", "analysis_types": [ "static" ], "solution_name": "Solution 1", "dat_file": "bracket_sim1-solution_1.dat", "op2_file": "bracket_sim1-solution_1.op2" }, "result_extraction": { "mass": { "method": "extract_mass_from_bdf", "extractor_module": "optimization_engine.extractors.bdf_mass_extractor", "function": "extract_mass_from_bdf", "output_unit": "kg" }, "stress": { "method": "extract_solid_stress", "extractor_module": "optimization_engine.extractors.extract_von_mises_stress", "function": "extract_solid_stress", "output_unit": "MPa" }, "stiffness": { "method": "extract_displacement", "extractor_module": "optimization_engine.extractors.extract_displacement", "function": "extract_displacement", "output_unit": "mm" }, "stress_limit": { "method": "extract_solid_stress", "extractor_module": "optimization_engine.extractors.extract_von_mises_stress", "function": "extract_solid_stress", "output_unit": "MPa" } }, "reporting": { "generate_plots": true, "save_incremental": true, "llm_summary": true, "generate_pareto_front": true }, "neural_acceleration": { "enabled": true, "min_training_points": 50, "auto_train": true, "epochs": 300, "validation_split": 0.2, "nn_trials": 1000, "validate_top_n": 10, "model_file": "surrogate_best.pt", "separate_nn_database": true, "description": "NN results stored in nn_study.db to avoid overloading dashboard" } }