GasDispersion.jl
gas dispersion models for modelling chemical releases
Science Score: 26.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
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.7%) to scientific vocabulary
Keywords
Repository
gas dispersion models for modelling chemical releases
Basic Info
Statistics
- Stars: 15
- Watchers: 2
- Forks: 0
- Open Issues: 1
- Releases: 6
Topics
Metadata Files
README.md
GasDispersion.jl
GasDispersion.jl is a set of tools for atmospheric dispersion modeling of gaseous releases, such as might occur during an emergency at a chemical plant or more routinely from a stack. This is intended to be the level of disperson modeling used support consequence analysis or QRA such as is described in Lee's Loss Prevention in the Process Industries or the CCPS Guidelines for Consequence Analysis of Chemical Releases.
Installation
GasDispersion.jl can be installed using Julia's built-in package manager. In a
Julia session, enter the package manager mode by hitting ], then run the
command
pkg> add GasDispersion
Example usage
Suppose we wish to model the dispersion of gaseous propane from a leak from a storage tank, where the leak is from a 10mm hole that is 3.5m above the ground and the propane is at 25°C and 4barg. Assume the discharge coefficient $c_{D} = 0.85$. This scenario is adapted from CCPS Guidelines for Consequence Analysis of Chemical Releases
First we define the scenario
```julia using GasDispersion
propane = Substance(name="propane", molarweight=0.044096, # kg/mol liquiddensity=526.13, # kg/m³ k=1.142, boilingtemp=231.02, # K latentheat=425740, # J/kg gasheatcapacity=1678, # J/kg/K liquidheatcapacity=2520) # J/kg/K
Patm = 101325 # Pa P1 = 4e5 + Patm # Pa T1 = 25 + 273.15 # K
scn = scenario_builder(propane, JetSource(); phase = :gas, diameter = 0.01, # m dischargecoef = 0.85, temperature = T1, # K pressure = P1, # Pa height = 3.5) # m, height of hole above the ground ```
This generates a Scenario defined for a gas jet discharging into dry air
at standard conditions.
An alternative to supplying all of the substance properties, which can get rather onerous, is to use the library of substances and equations of state provided in Clapeyron.jl
```julia using GasDispersion, Clapeyron
propane = Substance(PropaneRef()) # uses an empirical EoS for propane
propane = Substance(PR("propane"; idealmodel=ReidIdeal)) # uses the Peng-Robinson EoS ```
Once we have this defined we can determine the concentration at any point downwind of the release point, assuming the release is a continuous plume, using
julia
p = plume(scn, GaussianPlume())
Where p is a callable which returns the concentration (in vol fraction) at any point. For example at 100m downwind and at a height of 2m
```julia p(100,0,2)
output
0.0002006455298894473
```
See the documentation for details on the additional plume and puff models and worked examples.
Owner
- Name: allan
- Login: aefarrell
- Kind: user
- Location: Edmonton, AB
- Website: https://aefarrell.github.io/
- Repositories: 5
- Profile: https://github.com/aefarrell
I am a chemical engineer with an interest in coding. Recently I've been playing around with julia.
GitHub Events
Total
- Create event: 14
- Commit comment event: 3
- Release event: 1
- Issues event: 10
- Watch event: 3
- Delete event: 11
- Issue comment event: 18
- Push event: 49
- Pull request event: 23
Last Year
- Create event: 14
- Commit comment event: 3
- Release event: 1
- Issues event: 10
- Watch event: 3
- Delete event: 11
- Issue comment event: 18
- Push event: 49
- Pull request event: 23
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| allan | 7****l@u****m | 129 |
| aefarrell | a****f@p****m | 73 |
| CompatHelper Julia | c****y@j****g | 9 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 30
- Total pull requests: 42
- Average time to close issues: about 2 months
- Average time to close pull requests: about 7 hours
- Total issue authors: 3
- Total pull request authors: 2
- Average comments per issue: 0.67
- Average comments per pull request: 0.76
- Merged pull requests: 41
- Bot issues: 0
- Bot pull requests: 9
Past Year
- Issues: 13
- Pull requests: 20
- Average time to close issues: 13 days
- Average time to close pull requests: 25 minutes
- Issue authors: 2
- Pull request authors: 2
- Average comments per issue: 0.69
- Average comments per pull request: 0.75
- Merged pull requests: 20
- Bot issues: 0
- Bot pull requests: 4
Top Authors
Issue Authors
- aefarrell (28)
- morripau (1)
- JuliaTagBot (1)
Pull Request Authors
- aefarrell (48)
- github-actions[bot] (12)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- julia 2 total
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 18
proxy.golang.org: github.com/aefarrell/GasDispersion.jl
- Documentation: https://pkg.go.dev/github.com/aefarrell/GasDispersion.jl#section-documentation
- License: mit
-
Latest release: v0.3.0
published over 1 year ago
Rankings
proxy.golang.org: github.com/aefarrell/gasdispersion.jl
- Documentation: https://pkg.go.dev/github.com/aefarrell/gasdispersion.jl#section-documentation
- License: mit
-
Latest release: v0.3.0
published over 1 year ago
Rankings
juliahub.com: GasDispersion
gas dispersion models for modelling chemical releases
- Documentation: https://docs.juliahub.com/General/GasDispersion/stable/
- License: MIT
-
Latest release: 0.3.0
published over 1 year ago
Rankings
Dependencies
- actions/cache v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite