Property Estimator
Name | Storage height from storage volume, diameter and conjugate diameter |
---|
Property | Storage Height |
---|
Type | Function |
---|
Function | // Return zero if stored volume is zero
if (Scientific::equals([VST:m3], 0)) return 0.0;
// Return unit height if stored volume equals unit volume
if (Scientific::equals([VST:m3], [V:m3])) return [h:m] + [DC:m];
// Initialize
$d2 = [D:m] * [D:m];
$v = M_PI / 4 * $d2 * [h:m];
// Return analytical solution if fill height is within cylindrical section
if ([VST:m3] <= $v) {
return 4 * [VST:m3] / (M_PI * $d2);
}
// Solve by Newton's rule
$x = [h:m] + [DC:m] / 2;
while (TRUE) {
$h = $x - [h:m];
$y = $v + M_PI / 3 * $h * (3 / 4 * $d2 - $h * $h) - [VST:m3];
if (Scientific::equals($y, 0)) return $x;
$x = $x - $y / (M_PI * ($d2 / 4 - $h * $h));
}
|
---|
Unit | m |
---|
Validity Conditions | Shape: Cylindrical Hemispheroidal |
---|
Precedence | Auto |
---|
Disabled | No |
---|
Notes | Calculates fill height by using Newton's method of successive approximations (Newton's rule). Volume is only used to check the boundary condition at the beginning. |
---|
Access | Public |
---|
Created: Serkan GIRGIN, 2017/04/19 14:53:50