{ "study_name": "beam_optimization_with_neural", "sim_file": "examples/Models/Beam/Beam.sim", "fem_file": "examples/Models/Beam/Beam_fem1.fem", "design_variables": [ { "name": "width", "expression_name": "width", "min": 20.0, "max": 80.0 }, { "name": "height", "expression_name": "height", "min": 30.0, "max": 100.0 }, { "name": "thickness", "expression_name": "thickness", "min": 2.0, "max": 10.0 } ], "objectives": [ { "name": "max_stress", "type": "minimize", "weight": 1.0, "extractor": { "type": "result_parameter", "parameter_name": "Max Von Mises Stress" } }, { "name": "mass", "type": "minimize", "weight": 0.5, "extractor": { "type": "expression", "expression_name": "mass" } } ], "constraints": [ { "name": "stress_limit", "type": "less_than", "value": 250.0, "extractor": { "type": "result_parameter", "parameter_name": "Max Von Mises Stress" } }, { "name": "max_displacement", "type": "less_than", "value": 5.0, "extractor": { "type": "result_parameter", "parameter_name": "Max Displacement" } } ], "optimization": { "algorithm": "NSGA-II", "n_trials": 200, "population_size": 20 }, "neural_surrogate": { "enabled": true, "model_checkpoint": "atomizer-field/checkpoints/beam_model_v1.0/best_model.pt", "confidence_threshold": 0.85, "fallback_to_fea": true, "ensemble_models": [ "atomizer-field/checkpoints/beam_model_v1.0/model_1.pt", "atomizer-field/checkpoints/beam_model_v1.0/model_2.pt", "atomizer-field/checkpoints/beam_model_v1.0/model_3.pt" ], "device": "cuda", "batch_size": 32, "cache_predictions": true }, "hybrid_optimization": { "enabled": true, "exploration_trials": 20, "training_interval": 50, "validation_frequency": 10, "min_training_samples": 30, "retrain_on_drift": true, "drift_threshold": 0.15, "adaptive_switching": true, "phases": [ { "name": "exploration", "trials": [0, 20], "use_nn": false, "description": "Initial FEA-based exploration" }, { "name": "training", "trials": [21, 30], "use_nn": false, "description": "Collect training data" }, { "name": "exploitation", "trials": [31, 180], "use_nn": true, "description": "Neural network exploitation" }, { "name": "validation", "trials": [181, 200], "use_nn": false, "description": "Final FEA validation" } ] }, "training_data_export": { "enabled": true, "export_dir": "atomizer_field_training_data/beam_study", "export_frequency": 1, "include_failed_trials": false, "compression": "gzip" }, "neural_training": { "auto_train": true, "training_script": "atomizer-field/train.py", "epochs": 200, "learning_rate": 0.001, "batch_size": 16, "validation_split": 0.2, "early_stopping_patience": 20, "model_architecture": "GraphUNet", "hidden_channels": 128, "num_layers": 4, "dropout": 0.1, "physics_loss_weight": 0.3 }, "performance_tracking": { "track_speedup": true, "track_accuracy": true, "export_metrics": true, "metrics_file": "neural_performance_metrics.json" }, "version": "2.0", "description": "Beam optimization with AtomizerField neural surrogate for 600x speedup" }