# Atomizer Installation Guide

## Step 1: Install Miniconda (Recommended)

1. Download Miniconda from: https://docs.conda.io/en/latest/miniconda.html
   - Choose: **Miniconda3 Windows 64-bit**

2. Run the installer:
   - Check "Add Miniconda3 to my PATH environment variable"
   - Check "Register Miniconda3 as my default Python"

3. Restart your terminal/VSCode after installation

## Step 2: Create Atomizer Environment

Open **Anaconda Prompt** (or any terminal after restart) and run:

```bash
cd C:\Users\Antoine\Atomizer
conda env create -f environment.yml
conda activate atomizer
```

## Step 3: Install PyTorch with GPU Support (Optional but Recommended)

If you have an NVIDIA GPU:

```bash
conda activate atomizer
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install torch-geometric
```

## Step 4: Verify Installation

```bash
conda activate atomizer
python -c "import torch; import optuna; import pyNastran; print('All imports OK!')"
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}')"
```

## Step 5: Train Neural Network

```bash
conda activate atomizer
cd C:\Users\Antoine\Atomizer\atomizer-field
python train_parametric.py --train_dir ../atomizer_field_training_data/bracket_stiffness_optimization_atomizerfield --epochs 100 --output_dir runs/bracket_model
```

## Quick Commands Reference

```bash
# Activate environment (do this every time you open a new terminal)
conda activate atomizer

# Train neural network
cd C:\Users\Antoine\Atomizer\atomizer-field
python train_parametric.py --train_dir ../atomizer_field_training_data/bracket_stiffness_optimization_atomizerfield --epochs 100

# Run optimization with neural acceleration
cd C:\Users\Antoine\Atomizer\studies\bracket_stiffness_optimization_atomizerfield
python run_optimization.py --run --trials 100 --enable-nn
```
