tsmathlib
Version:
Typescript Version Math/Physics/CG Library
27 lines (24 loc) • 596 B
text/typescript
/*
* @Author: Xu.Wang
* @Date: 2020-04-03 23:24:31
* @Last Modified by: Xu.Wang
* @Last Modified time: 2020-04-03 23:24:31
*/
export function computePressureFromEos(
density: number,
targetDensity: number,
eosScale: number,
eosExponent: number,
negativePressureScale: number
): number {
// See Murnaghan-Tait equation of state from
// https://en.wikipedia.org/wiki/Tait_equation
let p =
(eosScale / eosExponent) *
(Math.pow(density / targetDensity, eosExponent) - 1.0)
// Negative pressure scaling
if (p < 0) {
p *= negativePressureScale
}
return p
}