Skip to content

sophon44/rl-dem-optimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DEM Optimization with Reinforcement Learning

This project provides a framework for calibrating and optimizing discrete element method (DEM) simulations using reinforcement learning (RL). It includes simulation core models, physics implementations, calibration environments, and experiment scripts.


📦 Installation

# Clone the repository
git clone https://github.com/USERNAME/dem-optimization-rl.git
cd dem-optimization-rl

# Create a virtual environment
python -m venv venv
source venv/bin/activate   # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

⚙️ Configuration

Configs are passed via command-line arguments:

  • --config → RL training config file (src/rl_calibration/configs/rl_config.yaml)
  • --bounds → parameter bounds (src/rl_calibration/configs/parameter_bounds.yaml)

🚀 Usage

1. Run Experiments

python scripts/run_experiments.py \
  --config src/rl_calibration/configs/rl_config.yaml

2. DEM Simulation Scripts

  • Dynamic Angle of Repose (AoR):

    python scripts/run_dynamic_aor.py \
      --config src/rl_calibration/configs/rl_config.yaml
  • Static Angle of Repose:

    python scripts/run_static_aor.py \
      --config src/rl_calibration/configs/rl_config.yaml
  • Ring Shear Test(WIP):

    python scripts/run_ring_shear.py \
      --config src/rl_calibration/configs/rl_config.yaml

3. RL Training

  • Single Objective Calibration

    python src/rl_calibration/train_single_objective.py \
      --config src/rl_calibration/configs/rl_config.yaml \
      --bounds src/rl_calibration/configs/parameter_bounds.yaml
  • Multi Objective Calibration

    python src/rl_calibration/train_multi_objective.py \
      --config src/rl_calibration/configs/rl_config.yaml \
      --bounds src/rl_calibration/configs/parameter_bounds.yaml
  • Alternative entrypoint

    python scripts/train_rl.py \
      --config src/rl_calibration/configs/rl_config.yaml \
      --bounds src/rl_calibration/configs/parameter_bounds.yaml

📂 Project Structure

scripts/           # Experiment and utility scripts
src/dem_core/      # DEM simulation and physics models
src/rl_calibration # RL training environments and configs

📝 Notes

  • Adjust parameter bounds and training configs as needed for your system.
  • For large-scale runs, GPU acceleration is recommended.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages