Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

jasali

srebughini46GPL-3.02.2.0TypeScript support: included

Library to estimate thermodynamic and transport properties of pure gas specie and gas mixtures

chemistry, gas, mixture, thermodynamic, transport, properties, viscosity, thermal conductivity, enthalpy, entropy, specific heat, density, molecular weight, diffusivity, diffusion, chemical, asali, pure gas, engineering, reactor, NASA, TypeScript, chemical equilibrium

readme

npm npm GitHub CodeFactor

1. Installation

J**aSali 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

J**aSali 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 J**aS**ali 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 J**aS**ali can be found here.

4. Contacts

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