SciML / SciML/ProcessSimulator.jl

Status and roadmap

Open
#15 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
44
Forks
8
Avg merge
2d 10h
Merged PRs (30d)
6

Description

1. Current status

Currently, we have a working version of a dynamic CSTR (branch: vini/newsyntax) using Clapeyron.jl for property prediction, specifically for density and enthalpy calculations. This implementation can serve as a basis for other unit operations, as many of them share common features. Essentially, most unit operations can be reduced to a drum with thermodynamic constraints—such as constant volume or constant pressure—and an internal sink or source, like reaction or mass transfer.

I am now working on the implementation of a dynamic flash drum. You can find the relevant reference here: Dynamic Flash Drum Article. Any assistance with this would be greatly appreciated.

2. Missing Functionalities in ProcessSimulator

  • Transport Properties Estimation Library: This is a critical missing component.
    • Alternative: EntropyScaling.jl can be used as a substitute and already includes a Clapeyron extension.
    • Predictive Capabilities: It provides predictive capabilities for certain classes of compounds. (Which ones? This needs to be clarified).

3. Future Directions for ProcessSimulator.jl

Framework Style

  • Should the project follow the style of OMCHEMSIM, which includes generic unit operations for steady state simulation?
    • Examples:
      • Upstream: Reactors (CSTR, PFR)
      • Downstream: Flash, Distillation Column (in steady-state mode)

Dynamic Mode

  • Should we initially aim for a dynamic process simulator rather than focusing on steady-state like OMCHEMSIM?

3. Focus Areas for Initial Development & Adoption

  • Which segment of process engineering should we target first to encourage adoption?

    Biopharma
    • Reference: A Plant-Wide Dynamic Model of a Continuous Pharmaceutical Process.
    Process Intensification in CCS
    • Reference: GRAMS: A General Framework Describing Adsorption, Reaction, and Sorption-Enhanced Reaction Processes.
    Electrochemical Processes
    • (Need to identify relevant references).
    Biofuel Production
    • Reference: Dynamic Modeling and Plantwide Control of a Production Process for Biodiesel and Glycerol (this includes Modelica code).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by reviewing the dynamic CSTR on branch vini/newsyntax, the dynamic flash drum reference, and the notes about Clapeyron.jl and EntropyScaling.jl; done requires an agreed direction for the simulator’s scope, transport-property support, and dynamic versus steady-state priorities.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.