Skip to content

A Javascript library to estimate thermodynamic and transport properties of gas mixtures

License

Notifications You must be signed in to change notification settings

srebughini/JASALI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm npm GitHub CodeFactor

1. Installation

JaSali is part of the ASALI project and it is a JavaScript library to estimate thermodynamic and transport properties of gas mixtures.
Its npm package can be installed as follow:

npm i jasali

2. Examples - JaSali is based on International System of Units

JaSali allows the estimation of thermodynamic and trasport properties of pure gas species and gas mixtures, as shown in the following examples.

2.1 Pure gas specie: O2

import {
  GasState,
  GasSpecie
} from "jasali"

//Generate gas state object
let state = GasState({
  temperature: 393.15,
  pressure: 4e05
})

//Generate specie object
let specie = GasSpecie({
  name: "O2",
  gasState: state
})

//Extract properties from the specie object
let name = specie.getName()
let molecularWeight = specie.getMolecularWeight()
let viscosity = specie.getViscosity()

2.2 Gas mixture: AIR

import {
  GasState,
  GasMixture
} from "jasali"

//Generate gas state object
let state = GasState({
  temperature: 298.15,
  pressure: 101325
})

//Generate mixture object
let mixture = GasMixture({
  mixtureComposition: {
    "O2": 0.21,
    "N2": 0.78,
    "AR": 0.01
  },
  gasState: state,
  compositionType: "mole"
})

//Extract properties from the mixture object
let density = mixture.getDensity()
let molecularWeight = mixture.getMolecularWeight()
let viscosity = mixture.getViscosity()

2.3 Gas mixture: Chemical equilibrium at constant temperature and pressure

import {
  GasState,
  GasMixture
} from "jasali"

//Generate gas state object
let state = GasState({
  temperature: 3000,
  pressure: 4e05
})

//Generate mixture object
let mixture = GasMixture({
  mixtureComposition: {
    "CO": 0.1,
    "CO2": 0.2,
    "O2": 0.7
  },
  gasState: state,
  compositionType: "mole"
})

//Extract chemical equilibrium composition
let x = mixture.calculateChemicalEquilibriumTP()

2.4 HTML frontend

This examples shows how to use JaSali from a pure frontend HTML file:

<script type="text/javascript" src="./jasali.js"></script>

<script>
function gasMixtureProperties()
{
  //Generate gas state object
  let state = jasali.GasState({
    temperature: 3000,
    pressure: 4e05
  })

  //Generate mixture object
  let mixture = jasali.GasMixture({
    mixtureComposition: {
      "CO": 0.1,
      "CO2": 0.2,
      "O2": 0.7
    },
    gasState: state,
    compositionType: "mole"
  })
  
  //Extract properties from the mixture object
  let density = mixture.getDensity()
}
</script>

3. Available thermodynamic and transport properties

Details on the properties estimated by JaSali can be found here.

4. Contacts

If you want to contribute, ask questions, report bugs or just say hello compile the form here