feat: Add AtomizerField training data export and intelligent model discovery
Major additions: - Training data export system for AtomizerField neural network training - Bracket stiffness optimization study with 50+ training samples - Intelligent NX model discovery (auto-detect solutions, expressions, mesh) - Result extractors module for displacement, stress, frequency, mass - User-generated NX journals for advanced workflows - Archive structure for legacy scripts and test outputs - Protocol documentation and dashboard launcher 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"study_name": "bracket_stiffness_optimization_atomizerfield",
|
||||
"description": "Bracket Stiffness Optimization with AtomizerField Neural Acceleration - Multi-objective optimization of bracket geometry for maximum stiffness and minimum mass",
|
||||
"engineering_context": "L-bracket optimization for mounting applications. Uses AtomizerField neural surrogate for accelerated optimization after initial FEA exploration phase.",
|
||||
|
||||
"template_info": {
|
||||
"category": "structural",
|
||||
"analysis_type": "static",
|
||||
"typical_applications": ["mounting brackets", "L-brackets", "support structures"],
|
||||
"based_on": "bracket_stiffness_optimization_V3",
|
||||
"neural_enabled": true
|
||||
},
|
||||
|
||||
"optimization_settings": {
|
||||
"protocol": "protocol_11_multi_objective",
|
||||
"n_trials": 100,
|
||||
"sampler": "NSGAIISampler",
|
||||
"pruner": null,
|
||||
"timeout_per_trial": 400,
|
||||
"fea_exploration_trials": 50,
|
||||
"neural_acceleration_trials": 50
|
||||
},
|
||||
|
||||
"design_variables": [
|
||||
{
|
||||
"parameter": "support_angle",
|
||||
"bounds": [20, 70],
|
||||
"description": "Angle of the support arm (degrees)",
|
||||
"units": "degrees"
|
||||
},
|
||||
{
|
||||
"parameter": "tip_thickness",
|
||||
"bounds": [30, 60],
|
||||
"description": "Thickness at the bracket tip (mm)",
|
||||
"units": "mm"
|
||||
}
|
||||
],
|
||||
|
||||
"objectives": [
|
||||
{
|
||||
"name": "stiffness",
|
||||
"goal": "maximize",
|
||||
"weight": 1.0,
|
||||
"description": "Structural stiffness (inverse of max displacement)",
|
||||
"extraction": {
|
||||
"action": "extract_displacement",
|
||||
"domain": "result_extraction",
|
||||
"params": {
|
||||
"result_type": "displacement",
|
||||
"metric": "max",
|
||||
"invert_for_stiffness": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "mass",
|
||||
"goal": "minimize",
|
||||
"weight": 0.1,
|
||||
"description": "Total bracket mass (kg)",
|
||||
"extraction": {
|
||||
"action": "extract_mass",
|
||||
"domain": "result_extraction",
|
||||
"params": {
|
||||
"result_type": "mass",
|
||||
"metric": "total"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
"constraints": [
|
||||
{
|
||||
"name": "mass_limit",
|
||||
"type": "less_than",
|
||||
"threshold": 0.2,
|
||||
"description": "Maximum mass constraint (kg)",
|
||||
"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"],
|
||||
"solution_name": "Solution 1",
|
||||
"dat_file": "bracket_sim1-solution_1.dat",
|
||||
"op2_file": "bracket_sim1-solution_1.op2",
|
||||
"field_export_journal": "export_displacement_field.py",
|
||||
"field_output_file": "export_field_dz.fld"
|
||||
},
|
||||
|
||||
"result_extraction": {
|
||||
"mass": {
|
||||
"method": "bdf_mass_extractor",
|
||||
"source": "bracket_sim1-solution_1.dat",
|
||||
"extractor_module": "optimization_engine.extractors.bdf_mass_extractor",
|
||||
"function": "extract_mass_from_bdf",
|
||||
"output_unit": "kg"
|
||||
},
|
||||
"stiffness": {
|
||||
"method": "stiffness_calculator",
|
||||
"displacement_source": "export_field_dz.fld",
|
||||
"force_source": "bracket_sim1-solution_1.op2",
|
||||
"extractor_module": "optimization_engine.extractors.stiffness_calculator",
|
||||
"force_component": "fz",
|
||||
"displacement_component": "z",
|
||||
"output_unit": "N/mm"
|
||||
},
|
||||
"displacement": {
|
||||
"method": "op2_displacement",
|
||||
"source": "bracket_sim1-solution_1.op2",
|
||||
"extractor_module": "optimization_engine.extractors.extract_displacement",
|
||||
"function": "extract_displacement",
|
||||
"output_unit": "mm"
|
||||
}
|
||||
},
|
||||
|
||||
"reporting": {
|
||||
"generate_plots": true,
|
||||
"save_incremental": true,
|
||||
"llm_summary": true,
|
||||
"generate_pareto_front": true
|
||||
},
|
||||
|
||||
"training_data_export": {
|
||||
"enabled": true,
|
||||
"export_dir": "atomizer_field_training_data/bracket_stiffness_optimization_atomizerfield",
|
||||
"export_every_n_trials": 1,
|
||||
"include_mesh": true,
|
||||
"compress": false
|
||||
},
|
||||
|
||||
"neural_acceleration": {
|
||||
"enabled": true,
|
||||
"min_training_points": 50,
|
||||
"auto_train": true,
|
||||
"epochs": 100,
|
||||
"validation_split": 0.2,
|
||||
"retrain_threshold": 25,
|
||||
"model_type": "parametric"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user