All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.synerset.hvacengine.solids.ice.IceEquations Maven / Gradle / Ivy

Go to download

HVAC|Engine is a comprehensive library for calculating moist air properties, including crucial thermodynamic processes such as heating, dry cooling, real cooling with condensate discharge, mixing single or multiple air streams, and more. Immutable, thread-safe, very accurate.

The newest version!
package com.synerset.hvacengine.solids.ice;

import com.synerset.unitility.unitsystem.thermodynamic.*;

/**
 * MOIST AIR PROPERTY EQUATIONS LIBRARY (PSYCHROMETRICS)
 * Set of static methods for calculating temperature dependant thermophysical ice properties.
 * 

* REFERENCE SOURCE: * [1] https://www.engineeringtoolbox.com/ice-thermal-properties-d_576.html * * REFERENCES DESCRIPTION KEY: * [reference no] [value symbology in standard, unit] (equation number) [page] * * @author Piotr Jażdżyk, MScEng */ public final class IceEquations { private IceEquations() { } public static final double HEAT_OF_ICE_MELT = 334.1; // [kJ/kg] Heat of ice melt /** * Returns ice enthalpy at provided temperature and constant pressure at atmospheric pressure. * It already includes the heat of ice melting, for the reference temperature of 0oC. * It will output 0 for positive temperatures. * REFERENCE SOURCE: [1] (-) [kJ/kgK] * * @param tx ice thermal , oC * @return ice specific enthalpy, kJ/kgK */ public static double specificEnthalpy(double tx) { return tx > 0.0 ? 0.0 : tx * specificHeat(tx) - HEAT_OF_ICE_MELT; } public static SpecificEnthalpy specificEnthalpy(Temperature temperature) { double specificEnthalpyVal = specificEnthalpy(temperature.getInCelsius()); return SpecificEnthalpy.ofKiloJoulePerKiloGram(specificEnthalpyVal); } /** * Returns ice specific heat at provided temperature and constant pressure at atmospheric pressure * REFERENCE SOURCE: [1] (-) [kJ/kgK] * EQUATION LIMITS: {-100.0 oC, 0.0 oC} at Pat=atmospheric * * @param tx ice temperature, oC * @return ice specific heat, kJ/kgK */ public static double specificHeat(double tx) { return 2.0509727263 + 0.0048764802 * tx - 0.0000277225 * Math.pow(tx, 2) - 0.0000001031 * Math.pow(tx, 3); } public static SpecificHeat specificHeat(Temperature temperature) { double specHeatVal = specificHeat(temperature.getInCelsius()); return SpecificHeat.ofKiloJoulePerKiloGramKelvin(specHeatVal); } /** * Returns ice thermal conductivity at provided temperature and constant pressure at atmospheric pressure

* REFERENCE SOURCE: [1] (-) [W/mK] * EQUATION LIMITS: {-100.0 oC, 0.0 oC} at Pat=atmospheric * * @param tx ice thermal , oC * @return ice specific heat, W/mK */ public static double thermalConductivity(double tx) { return 2.2173524402158 - 0.0069168602852 * tx + 0.0001016721167 * Math.pow(tx, 2) + 0.0000004456743 * Math.pow(tx, 3); } public static ThermalConductivity thermalConductivity(Temperature temperature) { double thermCondVal = thermalConductivity(temperature.getInCelsius()); return ThermalConductivity.ofWattsPerMeterKelvin(thermCondVal); } /** * Returns density at provided temperature and constant pressure at atmospheric pressure * REFERENCE SOURCE: [1] (-) [kg/m3] * EQUATION LIMITS: {-100.0 oC, 0.0 oC} at Pat=atmospheric * * @param tx ice temperature, oC * @return ice specific heat, kg/m3 */ public static double density(double tx) { return 916.1204382651714 - 0.42803436487679 * tx - 0.02237994685111 * Math.pow(tx, 2) - 0.00061508830263 * Math.pow(tx, 3) - 0.00000784399543 * Math.pow(tx, 4) - 0.00000003790984 * Math.pow(tx, 5) + 0.00000000005916 * Math.pow(tx, 6) + 0.00000000000078 * Math.pow(tx, 7); } public static Density density(Temperature temperature) { double densVal = density(temperature.getInCelsius()); return Density.ofKilogramPerCubicMeter(densVal); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy