sootlib
Library of soot chemical mechanisms and size distribution representations.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: sciencedirect.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.5%) to scientific vocabulary
Repository
Library of soot chemical mechanisms and size distribution representations.
Basic Info
- Host: GitHub
- Owner: BYUignite
- License: mit
- Language: C++
- Default Branch: master
- Size: 2.65 MB
Statistics
- Stars: 8
- Watchers: 4
- Forks: 6
- Open Issues: 2
- Releases: 1
Metadata Files
README.md
SootLib overview
Sootlib is an open-source C++ library that computes soot source terms using moment-based particle size distribution models for combustion CFD simulations. Detailed code documentation is available here. Click here for the paper published in SoftwareX.
Dependencies and installation
The code is intended to be built and used on Linux-like systems, including MacOS and the Linux subsystem for Windows.
Required software: * CMake 3.15+ * C++11
Optional software:
* Doxygen (for building documentation)
* graphviz (for Doxygen)
* Catch2 (for building tests; will be locally installed automatically via CMake if SOOTLIB_BUILD_TESTS is true)
Build and installation instructions
- Create and navigate into a top-level
builddirectory - Configure CMake:
cmake .. - Build SootLib:
make - Install SootLib:
make install
CMake configuration variables
The default CMake configuration should be adequate for users that do not immediately require the examples, tests, or documentation. CMake configuration options can be set by editing the top-level CMakeLists.txt file, editing the CMakeCache.txt file (generated in the build directory after running CMake at least once), or specifying them on the command line during step 2 as follows:
cmake -DSOOTLIB_BUILD_EXAMPLES=ON ..
The following project-specific CMake configuration variables can be specified by the user; their default values are also indicated.
* CMAKE_INSTALL_PREFIX = ..\ Installation location
* SOOTLIB_BUILD_EXAMPLES = OFF Builds SootLib examples
* SOOTLIB_BUILD_TESTING = OFF Builds SootLib tests; uses Catch2
* SOOTLIB_BUILD_DOCS = OFF Builds SootLib documentation via Doxygen
Using SootLib
The SootLib library consists of two main object classes that users can interact with: sootModel and state, both of which are contained within the soot namespace. The state object holds user-specified details about the current thermodynamic state in which the soot chemistry occurs, including variables such as temperature, pressure, and gas species mass fractions. The sootModel object contains information about the selected models and mechanisms and performs the calculations that generate moment source terms. In the context of a traditional CFD simulation, the state object would be updated via the setState function at each individual time step and/or grid point, while the sootModel parameters only need to be specified once when the object is created, and then its calcSourceTerms function invoked at each step following the setState update. The resulting moment source terms and gas species source terms can be accessed via the sootModel object. Refer to examples/simple_example.cc for a basic example of setting up the objects, calculating source terms, and retrieving values.
Example workflow
- Create
sootModelobject, specifying the desired soot chemistry and PSD mechanism. - Create an empty
stateobject. - Populate the
stateobject with the thermodynamic conditions using thesetStatefunction. - Calculate the soot source terms using the
calcSourceTermsfunction, which takes a reference to astateobject as its input. - Retrieve the desired source terms from the
sootModelobject.
In the case of a temporally or spatially evolving simulation, only steps 3–5 need be performed at each individual step. SootLib does not store previously calculated values, so source terms must be retrieved at each step or otherwise lost.
Owner
- Name: David Lignell
- Login: BYUignite
- Kind: user
- Location: Provo Utah USA
- Company: Brigham Young University
- Website: https://ignite.byu.edu
- Repositories: 4
- Profile: https://github.com/BYUignite
Professor, Chemical Engineering, Brigham Young University
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Lignell
given-names: David
orcid: https://orcid.org/0000-0002-2129-1375
- family-names: Stephens
given-names: Victoria
title: "SootLib, library of soot chemical mechanisms and size distribution models"
version: 1.01
identifiers:
- type: doi
value: 10.5281/zenodo.12536980
date-released: 2024-06-25
url: https://github.com/BYUignite/sootlib
preferred-citation:
type: article
authors:
- family-names: Stephens
given-names: Victoria B
- family-names: Bedwell
given-names: Joshua
- family-names: Josephson
given-names: Alex J
- family-names: Oldham
given-names: Keturah
- family-names: Lignell
given-names: David O
orcid: https://orcid.org/0000-0002-2129-1375
doi: 10.5281/zenodo.12536980
journal: "SoftwareX"
start: 101375 # First page number
title: "SootLib: A soot model library for combustion simulation"
volume: 22
year: 2023
GitHub Events
Total
- Issues event: 2
- Watch event: 1
- Delete event: 1
- Issue comment event: 2
- Push event: 11
- Pull request event: 1
- Fork event: 2
- Create event: 2
Last Year
- Issues event: 2
- Watch event: 1
- Delete event: 1
- Issue comment event: 2
- Push event: 11
- Pull request event: 1
- Fork event: 2
- Create event: 2