https://github.com/byuignite/hips
Hierarchical Parcel Swapping turbulence mixing model
Science Score: 49.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 2 DOI reference(s) in README -
✓Academic publication links
Links to: springer.com, aps.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Repository
Hierarchical Parcel Swapping turbulence mixing model
Basic Info
- Host: GitHub
- Owner: BYUignite
- License: mit
- Language: C++
- Default Branch: master
- Size: 19.9 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
HiPS (Hierarchical Parcel Swapping)
This code implements the Hierarchal Parcel Swapping (HiPS) model for turbulent reacting or nonreacting flows.
Documentation is available at ignite.byu.edu/hips_documentation
Publications
- Behrang et al. (2025): A C++ library for turbulent mixing simulation using hierarchical parcel swapping (HiPS), SoftwareX, accepted for publication.
- Behrang et al. (2025): Turbulent Mixing of Scalars with Nonunity Schmidt Numbers Using Hierarchical Parcel-Swapping, Journal of Fluid Mechanics, accepted for publication. Paper.
- Kerstein (2021): Hierarchical Parcel-Swapping Representation of Turbulent Mixing. Part 3. Origins of Correlation Patterns Observed in Turbulent Boundary Layers, Physical Review Fluids, 6:044611.
- Kerstein (2014): Hierarchical Parcel-Swapping Representation of Turbulent Mixing. Part 2. Application to Channel Flow, Journal of Fluid Mechanics, 750:421–463.
- Kerstein (2013): Hierarchical Parcel-Swapping Representation of Turbulent Mixing. Part 1. Formulation and Scaling Properties, Journal of Statistical Physics, 153:142–161.
Directory Structure
build/: This directory is not included by default and must be created by the user.- To compile the code, navigate to this directory and run:
bash cmake .. make make install make documentation # Optional: only if documentation is desired
- To compile the code, navigate to this directory and run:
src/: Contains all source code for the HiPS implementation.example/: Contains three default example cases that users can run to get started.run/: Contains the compiled executables generated during the build process.post/: Contains Python scripts for post-processing.- When users run an example case, a file named
parameters.datis automatically saved in thepost/folder. This file records the parameters used for the run, which may be required by the post-processing scripts. - Post-processing results are saved into a subfolder named
processed_data/, created automatically inside the correspondingpost/directory.
- When users run an example case, a file named
data/: Created only if data writing is enabled during execution.- This happens when the function:
cpp void calculateSolution(const double tRun, bool shouldWriteData = true);is called withshouldWriteDataset totrue. - A subfolder is generated with a name corresponding to the case name specified in the run script (e.g.,
rlz_00001by default). - The number of realization folders corresponds to the number of realizations specified by the user.
- This happens when the function:
docs/: Contains documentation built with Doxygen.test/: contains unit/integration tests using the Catch2 library. There is a git hook in
.githooks/pre-pushthat runs the tests before the code can be pushed.- configure the hook location by running
git config core.hooksPath .githooks
- configure the hook location by running
Dependencies
HiPS code
- CMake ≥ 3.15: build configuration and code compilation.
- C++11-compatible compiler: required to compile the code.
- (OPTIONAL) Cantera: open-source suite for chemical kinetics, thermodynamics, and transport.
- Only needed if reactions are enabled via
-DREACTIONS_ENABLED=ONin the CMake configuration.
- Only needed if reactions are enabled via
- (OPTIONAL) SUNDIALS: required only for the CVODE integrator used in reaction-enabled builds.
- (OPTIONAL) Doxygen: used to build code documentation from annotated source files.
- (OPTIONAL) Catch2: library for unit tests.
- Only available if the
HIPS_BUILD_TESTSflag is on, in which case the Catch2 library should be available of the system.
- Only available if the
Post-processing
Post-processing of simulation data is performed using Python 3 scripts. We recommend Python 3.6 or higher. The following packages are required and can be installed via pip:
- numpy
- scipy
- matplotlib
- glob (built-in)
- os (built-in)
- sys (built-in)
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
GitHub Events
Total
- Watch event: 1
- Delete event: 1
- Push event: 59
- Fork event: 2
- Create event: 1
Last Year
- Watch event: 1
- Delete event: 1
- Push event: 59
- Fork event: 2
- Create event: 1
Dependencies
- alpine 3.19.0 build