1
0
Fork 0
flutter_demo_energy/lib/algorithms/heat_capacity.dart

32 lines
1.1 KiB
Dart

/// energyNeededToHeatAParticularMaterial = tempDiff * specificHeatCapacity (measued in J/kg)
/// we have some amount of energy e
/// e / energyNeededToHeatAParticularMaterial => amount of material which can be heated (in kg)
/// for H2H: 1 l = 1 kg
double _kg(double energy, double specHeatCapacity, double tempDiff) {
return energy / (tempDiff * specHeatCapacity);
}
/// Notes
/// Eine PKW-Bremscheibe ca. 6.5kg
/// LKW Actros: 34kg
/// Calculates the amount of water in Liter that can be heated
/// from 20°C to 100°C with the given [engergy] in Joule.
///
double literWaterThatCanBeBoiled(double energy) {
const double specHeatCapaH2O = 4180; // J(kg*K)
const double tempDiffH20 = 100 - 20; // K
return _kg(energy, specHeatCapaH2O, tempDiffH20);
}
///
/// Calculates the amount of iron in kg that can be heated
/// from 20°C to ???°C with the given [engergy] in Joule.
///
double kgIronThatCanBeHeatetUntilRed(double energy) {
const double specHeatCapaIron = 500; // J/(kg*K)
const double tempDiffIron = 700 - 20; // K
return _kg(energy, specHeatCapaIron, tempDiffIron);
}