diff --git a/README.md b/README.md index 9406ae47..83ae3014 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ Atomizer enables engineers to: ``` 4. **Configure NX path** (edit if needed): - - Default NX path: `C:\Program Files\Siemens\Simcenter3D_2412\NXBIN\run_journal.exe` + - Default NX path: `C:\Program Files\Siemens\NX2412\NXBIN\run_journal.exe` - Update in `optimization_engine/nx_solver.py` if different ### Basic Usage diff --git a/dashboard/api/app.py b/dashboard/api/app.py index 2c3c16d1..30729648 100644 --- a/dashboard/api/app.py +++ b/dashboard/api/app.py @@ -595,7 +595,7 @@ def explore_sim_file(study_name: str): output_file = study_dir / 'expressions.json' # Execute journal - nx_executable = r"C:\Program Files\Siemens\Simcenter3D_2412\NXBIN\run_journal.exe" + nx_executable = r"C:\Program Files\Siemens\NX2412\NXBIN\run_journal.exe" result = subprocess.run( [nx_executable, str(journal_script), str(sim_file), str(output_file)], diff --git a/docs/NXOPEN_INTELLISENSE_SETUP.md b/docs/NXOPEN_INTELLISENSE_SETUP.md index 479768e8..2ed881e5 100644 --- a/docs/NXOPEN_INTELLISENSE_SETUP.md +++ b/docs/NXOPEN_INTELLISENSE_SETUP.md @@ -266,7 +266,7 @@ This is **Step 1** of NXOpen integration. Future work: **Problem**: Autocomplete shows incorrect or outdated methods **Solution**: Ensure stub files match your NX version: -- NX 2412 → Use `Simcenter3D_2412\ugopen\pythonStubs` +- NX 2412 → Use `NX2412\ugopen\pythonStubs` - Different NX version → Update stub path in settings ### Type Errors Shown diff --git a/docs/SYSTEM_CONFIGURATION.md b/docs/SYSTEM_CONFIGURATION.md new file mode 100644 index 00000000..4319f2d0 --- /dev/null +++ b/docs/SYSTEM_CONFIGURATION.md @@ -0,0 +1,144 @@ +# System Configuration + +> **Critical**: These are the ONLY paths and environments to be used unless explicitly reconfigured by the user. + +--- + +## Python Environment + +**Environment Name**: `atomizer` + +**Path**: `c:/Users/antoi/anaconda3/envs/atomizer/python.exe` + +**Usage**: ALL Python scripts and commands MUST use this environment. + +### Examples: +```bash +# Correct +"c:/Users/antoi/anaconda3/envs/atomizer/python.exe" script.py + +# WRONG - Never use test_env +"c:/Users/antoi/anaconda3/envs/test_env/python.exe" script.py +``` + +--- + +## NX/Simcenter Installation + +**Active Installation**: NX 2412 + +**Base Path**: `C:\Program Files\Siemens\NX2412` + +**Key Directories**: +- NX Binaries: `C:\Program Files\Siemens\NX2412\NXBIN` +- Material Library: `C:\Program Files\Siemens\NX2412\UGII\materials` +- Python Stubs: `C:\Program Files\Siemens\NX2412\ugopen\pythonStubs` + +### Critical Files: +- **run_journal.exe**: `C:\Program Files\Siemens\NX2412\NXBIN\run_journal.exe` +- **Material Library**: `C:\Program Files\Siemens\NX2412\UGII\materials\physicalmateriallibrary.xml` + +### PROHIBITED Paths: +- ❌ `C:\Program Files\Siemens\Simcenter3D_2412` - DO NOT USE +- ❌ Any path containing "Simcenter3D" - DO NOT USE + +**Reason**: NX2412 is the primary CAD/CAE environment. Simcenter3D_2412 is a separate installation and should not be accessed unless explicitly configured by the user. + +--- + +## NX Journal Execution + +**Command Template**: +```bash +"C:/Program Files/Siemens/NX2412/NXBIN/run_journal.exe" -args +``` + +**Example**: +```bash +"C:/Program Files/Siemens/NX2412/NXBIN/run_journal.exe" "optimization_engine/import_expressions.py" -args "studies/beam/model/Beam.prt" "studies/beam/model/Beam_study_variables.exp" +``` + +--- + +## NXOpen Python Stubs (for Intellisense) + +**Path**: `C:\Program Files\Siemens\NX2412\ugopen\pythonStubs` + +**VSCode Configuration** (`.vscode/settings.json`): +```json +{ + "python.analysis.extraPaths": [ + "C:\\Program Files\\Siemens\\NX2412\\ugopen\\pythonStubs" + ], + "python.analysis.typeCheckingMode": "basic" +} +``` + +--- + +## Material Library Access + +**Library File**: `C:\Program Files\Siemens\NX2412\UGII\materials\physicalmateriallibrary.xml` + +**Format**: MatML XML format + +**Properties Available**: +- `Mass_Density__RHO__6` (kg/mm³) +- `Youngs_Modulus_E__31` (Pa) +- `PoissonsRatio` (dimensionless) +- `Yield_Strength_32` (Pa) +- `Thermal_Expansion_A__34` (1/°C) +- `Thermal_Conductivity__K__35` (mW/mm/°C) +- `Specific_Heat_CP__23` (mJ/kg/°C) + +**Common Materials**: +- AISI_Steel_1005 (E=200 GPa, ρ=7872 kg/m³, ν=0.25) +- AISI_Steel_4340 (E=193 GPa, ρ=7850 kg/m³, ν=0.284) +- Aluminum_6061-T6 (E=69 GPa, ρ=2700 kg/m³, ν=0.33) +- Titanium_Ti-6Al-4V (E=114 GPa, ρ=4430 kg/m³, ν=0.34) + +--- + +## Nastran Solver + +**Solver Path**: Embedded in NX2412 installation + +**Input Files**: `.dat` (Nastran bulk data) + +**Output Files**: +- `.op2` (binary results - use pyNastran) +- `.f06` (text results - human readable) + +**Material Units in .dat files**: +- Young's Modulus: Pa (Pascals) +- Density: kg/mm³ +- Poisson's Ratio: dimensionless + +--- + +## Future Expansion + +If using a different NX or Simcenter version, the user will explicitly configure: + +1. Update this file with new paths +2. Update `nx_updater.py` configuration +3. Update `.vscode/settings.json` for new stub paths + +**Until then**: ALWAYS use NX2412 paths as documented above. + +--- + +## Validation Checklist + +Before running any NX-related operation, verify: + +- ✅ Python command uses `atomizer` environment +- ✅ NX paths point to `NX2412` (NOT Simcenter3D_2412) +- ✅ Material library accessed from `NX2412\UGII\materials` +- ✅ Journal script uses `NX2412\NXBIN\run_journal.exe` + +--- + +**Last Updated**: 2025-11-17 +**Maintained By**: Antoine Letarte +**Critical Importance**: HIGH - Incorrect paths will cause system failures diff --git a/docs/archive/NX_SOLVER_INTEGRATION.md b/docs/archive/NX_SOLVER_INTEGRATION.md index 5710bf17..5056b0fa 100644 --- a/docs/archive/NX_SOLVER_INTEGRATION.md +++ b/docs/archive/NX_SOLVER_INTEGRATION.md @@ -123,7 +123,7 @@ By default, NXSolver auto-detects NX installation: solver = NXSolver(nastran_version="2412") # Searches: # - C:/Program Files/Siemens/NX2412 -# - C:/Program Files/Siemens/Simcenter3D_2412 +# - C:/Program Files/Siemens/NX2412 # - C:/Program Files (x86)/Siemens/NX2412 ```