Closes the neural training loop with automated workflow: - atomizer.py: One-command neural workflow CLI - auto_trainer.py: Auto-training trigger system (50pt threshold) - template_loader.py: Study creation from templates - study_reset.py: Study reset/cleanup utility - 3 templates: beam stiffness, bracket stress, frequency tuning - State assessment document (Nov 25) Usage: python atomizer.py neural-optimize --study my_study --trials 500 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.1 KiB
Atomizer Study Templates
Quick-start templates for common structural optimization problems.
Available Templates
| Template | Analysis | Objectives | Use Case |
|---|---|---|---|
beam_stiffness_optimization |
Static | Maximize stiffness | Cantilever beams, support arms |
bracket_stress_minimization |
Static | Minimize stress | Mounting brackets, L-brackets |
frequency_tuning |
Modal | Minimize mass + Maximize frequency | Motor mounts, drone arms |
Usage
Option 1: Create Study from Template (Recommended)
python -m atomizer create-study --template beam_stiffness --name my_beam_study
This creates a new study folder with:
1_setup/optimization_config.json- Configuration (editable)1_setup/model/- Empty folder for your NX files2_results/- Empty folder for resultsrun_optimization.py- Runner scriptREADME.md- Study-specific instructions
Option 2: Copy and Customize
-
Copy template JSON to your study folder:
copy templates\beam_stiffness_optimization.json studies\my_study\1_setup\optimization_config.json -
Edit the config:
- Update
study_name - Adjust
design_variablesbounds for your model - Modify
constraintsthresholds - Update
simulationfile names
- Update
-
Add your NX model files to
1_setup/model/ -
Run optimization:
python studies\my_study\run_optimization.py --trials 50
Template Details
Beam Stiffness Optimization
Goal: Maximize bending stiffness (minimize tip displacement) while staying under mass budget.
Design Variables:
beam_width- Cross-section width (mm)beam_height- Cross-section height (mm)beam_length- Overall length (mm)
Constraints:
- Maximum mass limit
- Maximum stress limit
Required NX Expressions: beam_width, beam_height, beam_length
Bracket Stress Minimization
Goal: Minimize peak von Mises stress to increase fatigue life and safety factor.
Design Variables:
wall_thickness- Main wall thickness (mm)fillet_radius- Corner radius (mm) - key for stress reliefweb_thickness- Stiffening web thickness (mm)rib_count- Number of stiffening ribs (integer)
Constraints:
- Maximum displacement limit (stiffness)
- Maximum mass limit (weight budget)
Required NX Expressions: wall_thickness, fillet_radius, web_thickness, rib_count
Frequency Tuning
Goal: Multi-objective - minimize mass while maximizing first natural frequency to avoid resonance.
Design Variables:
section_width- Cross-section width (mm)section_height- Cross-section height (mm)arm_length- Cantilever length (mm)wall_thickness- Wall thickness for hollow sections (mm)
Constraints:
- Minimum frequency limit (above excitation)
- Maximum stress limit (static strength)
Required NX Expressions: section_width, section_height, arm_length, wall_thickness
Note: Requires modal analysis solution (SOL 103) in NX simulation.
Customizing Templates
Templates are JSON files with placeholders. Key sections to customize:
{
"study_name": "your_study_name",
"design_variables": [
{
"parameter": "your_nx_expression_name",
"bounds": [min_value, max_value],
"description": "What this parameter controls"
}
],
"constraints": [
{
"name": "your_constraint",
"type": "less_than",
"threshold": your_limit
}
],
"simulation": {
"model_file": "YourModel.prt",
"sim_file": "YourModel_sim1.sim"
}
}
Creating Custom Templates
- Copy an existing template closest to your problem
- Modify for your specific use case
- Save as
templates/your_template_name.json - The template will be available via
--template your_template_name
Neural Network Training
All templates include training_data_export enabled by default:
"training_data_export": {
"enabled": true,
"export_dir": "atomizer_field_training_data/${study_name}"
}
This automatically exports training data for AtomizerField neural surrogate training.