Virtual Engineering: Python framework for engineering process design

Virtual Engineering: Python framework for engineering process design - Published in JOSS (2025)

https://github.com/nrel/virtualengineering

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

amrex atmospheric-modelling
Last synced: 5 months ago · JSON representation

Repository

The Virtual Engineering repository

Basic Info
  • Host: GitHub
  • Owner: NREL
  • License: bsd-3-clause
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 32.6 MB
Statistics
  • Stars: 16
  • Watchers: 6
  • Forks: 9
  • Open Issues: 0
  • Releases: 2
Created about 4 years ago · Last pushed 5 months ago
Metadata Files
Readme Contributing License

README.md

Virtual Engineering

The Virtual Engineering (VE) project provides a set of Python modules to enable users to connect mathematical models of unit operations to predict outcomes for an entire chemical process. This VE approach is currently being developed to support the beginning-to-end simulation of the low-temperature conversion of lignocellulosic biomass to a fuel precursor. More details can be found in the VE documentation.

Test Status Documentation Status

Getting Started

New users are encouraged to review the Getting Started guide, which describes how to create the Conda environment and run the Jupyter Notebook.

Developer Quick Start

First, create a Conda environment from the environment.yaml file by opening a terminal, navigating to the root level of the Virtual Engineering directory, and running

conda env create -f environment.yaml -n [environment name]

where [environment name] is replaced with the desired name of your VE Conda environment. This Conda installs the required packages and pip installs the virteng Python package. Next, activate the environment with

conda activate [environment name]

and launch the Notebook by running

jupyter notebook

When the Notebook landing page opens, you'll be able to navigate to the application/Template_application directory and open the virtual_engineering_notebook_template.ipynb which will guide you through the next steps.

Installation

Install G2Aero from sources with Python3.x:

bash git clone https://github.com/NREL/VirtualEngineering.git cd VirtualEngineering python setup.py install

Installing via conda-forge bash conda install -c conda-forge virtualengineering

Git Submodules

Some applications (e.g., Bioconversion application) might depend on code in other Git repositories. The dependency is known as a submodule. Submodules are specified in .gitmodules (a hidden file on some systems) and are located in subfolders of submodules/ of the application repository. Initiate the submodule system with

git submodule init

Then update specific modules with

git submodule update submodules/[name of submodule]

This command will perform a git clone or pull for that module. For example, in the Bioconversion application, to run the enzymatic hydrolysis CFD model, update Nek5000. To run the well-mixed "Ligncellulose" model (no CFD), update CEH_EmpiricalModel. To run a bioreactor CFD simulation, update OpenFOAM-dev and ThirdParty-dev. For example, see README_OpenFOAM.

Contributing

Contributions are always welcome! See contribution guidelines for ways to get started.

Owner

  • Name: National Renewable Energy Laboratory
  • Login: NREL
  • Kind: organization
  • Location: Golden, CO

JOSS Publication

Virtual Engineering: Python framework for engineering process design
Published
October 01, 2025
Volume 10, Issue 114, Page 8050
Authors
Olga Doronina
National Renewable Energy Laboratory, Golden, CO, United States
Ethan Young
National Renewable Energy Laboratory, Golden, CO, United States
Nicholas Carlson
National Renewable Energy Laboratory, Golden, CO, United States
Andrew Glaws
National Renewable Energy Laboratory, Golden, CO, United States
Hariswaran Sitaraman
National Renewable Energy Laboratory, Golden, CO, United States
Jonathan Stickel
Carbon America, Arvada, CO, United States
Editor
Prashant Jha ORCID
Tags
Jupyter workflow biomass fuel

GitHub Events

Total
  • Release event: 2
  • Watch event: 4
  • Delete event: 3
  • Push event: 36
  • Pull request event: 10
  • Fork event: 5
  • Create event: 4
Last Year
  • Release event: 2
  • Watch event: 4
  • Delete event: 3
  • Push event: 36
  • Pull request event: 10
  • Fork event: 5
  • Create event: 4

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 218
  • Total Committers: 14
  • Avg Commits per committer: 15.571
  • Development Distribution Score (DDS): 0.408
Past Year
  • Commits: 21
  • Committers: 3
  • Avg Commits per committer: 7.0
  • Development Distribution Score (DDS): 0.286
Top Committers
Name Email Commits
Ethan Young e****g@n****v 129
Jonathan Stickel j****l@g****m 32
Olga Doronina o****a@n****v 15
Hariswaran Sitaraman h****m@e****v 11
Hariswaran Sitaraman h****m@e****v 10
Jim Lischeske j****e@g****m 6
hari h****n@n****v 4
Andrew Glaws a****s@n****v 3
Lischeske j****s@n****v 3
Hariswaran Sitaraman h****m@e****v 1
Ethan Young e****g@e****v 1
Young, Ethan E****g@n****v 1
Yudong Li 7****0 1
hsitaram h****n@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 6
  • Total pull requests: 35
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 15 days
  • Total issue authors: 2
  • Total pull request authors: 6
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.37
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 11
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.09
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • eyoung55 (4)
  • olgadoronina (2)
Pull Request Authors
  • olgadoronina (16)
  • eyoung55 (12)
  • YudongLi90 (6)
  • aglaws (2)
  • jjstickel (2)
  • hsitaram (2)
Top Labels
Issue Labels
enhancement (3) question (1) bug (1) good first issue (1)
Pull Request Labels
enhancement (1)

Dependencies

.github/workflows/test_vebio.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
docs/requirements.txt pypi
  • iPython *
  • nbsphinx *
  • nbsphinx_link *
  • sphinx-autoapi *
  • sphinx-rtd-theme *
  • sphinxcontrib-bibtex *
setup.py pypi
.github/workflows/draft-pdf.yml actions
  • actions/checkout v4 composite
  • actions/upload-artifact v4 composite
  • openjournals/openjournals-draft-action master composite
environment.yaml pypi