Code & Frameworks.

Python tooling that powers the simulation studies — each framework links to its GitHub repository.

Aspen Automation Framework

Python automation pipeline for Aspen Plus — DOE generation, parallel simulation execution, surrogate model training, and optimization. Enabled a 1,575-case study completed in hours instead of weeks.

Problem

Aspen Plus is designed for interactive use. Running thousands of simulations for DOE-based dataset generation manually requires opening the simulation file, setting each input, running, recording results — for every case. At ~2–5 minutes per run and 1,000+ cases required for surrogate model training, manual operation is not feasible.

Solution

Full pipeline automation from simulation to optimization:

StageModuleDescription
Simulationaspen_simulation_enginePython COM interface to Aspen Plus
DOEmodel_doe_generator (GUI)Grid / LHS design of experiments
Data collectionsimulation_workerParallel simulation execution
Preprocessingpreprocessing_engineOutlier removal, normalization
Surrogate trainingSurrogateTrainingPipelineRF, GB, NN, GP model comparison
OptimizationBayesianOptimizer, MultiObjectiveOptimizerBayesian + NSGA-II

Impact

  • 1,575 simulations completed in hours (vs. weeks manually)
  • Eliminated human transcription errors in parameter setting and result recording
  • Reusable pipeline applicable to any Aspen Plus model with minimal reconfiguration
  • Powers the CCPP-LOHC optimization study end-to-end

Architecture Highlights

  • Document-level Reinit pattern eliminates convergence propagation contamination across runs
  • Modular separation: DOE / simulation / preprocessing / training / optimization
  • Configuration-driven scenarios — new study = new YAML config, no code change
  • Failure isolation: one simulation crash does not abort the run; failed cases are flagged and retried

Repository

github.com/LEE-Inseok/aspen-automation

PythonCOM APIDOESurrogate ModelingNSGA-IIBayesian Optimization

SBH Thermal Reactor Framework

ODE-based thermal simulation framework for reactor configurations — separates model definition, scenario specification, and execution. Powers the 5-scenario heat recovery comparison study.

Problem

The thermal simulation study required running the same energy balance equations across 5 reactor configurations × multiple parameter variations. Hardcoding each scenario separately leads to duplicated equation logic, manual parameter management, and difficulty adding new scenarios.

Solution

Three-layer separation:

StageDescription
Model definitionEnergy balance ODEs for reactor + heat recovery structures
Scenario configurationParameter sets for each system configuration (baseline, wrap coil, internal coil, embedded purification, hybrid)
Simulation executionODE integration across all scenarios using scipy.integrate.solve_ivp
Post-processingTemperature profile comparison, heat recovery quantification, scenario ranking

Before / After

Before: Individual scripts per scenario, copy-pasted ODE logic, manual result collection.

After: Single model definition reused across all scenarios. New scenario = add one parameter dictionary. Results automatically collected and compared.

Impact

  • 5 scenarios compared systematically with identical model equations
  • Parameter sensitivity analysis enabled without code modification
  • Fully reproducible — any scenario can be re-run with exact parameters logged

Repository

→ Part of the broader Aspen Automation framework.

PythonSciPyODEReactor Modeling