Property Estimator
Name | Storage height from storage volume, diameter, conjugate diameter and length |
---|
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 [D:m];
// Solve by Newton's rule
$x = [D:m] / 2;
while (TRUE) {
$sx = sqrt(([D:m] - $x) * $x);
$y = [L:m] * ([D:m] * [D:m] / 4 * acos(1 - 2 * $x / [D:m]) - ([D:m] / 2 - $x) * $sx) + M_PI * [DC:m] * $x * $x * (1 / 2 - $x / (3 * [D:m])) - [VST:m3];
if (Scientific::equals($y, 0)) return $x;
$x = $x - $y / ($sx * (2 * [L:m] + M_PI * [DC:m] / [D:m] * $sx));
}
|
---|
Unit | m |
---|
Validity Conditions | Shape: Cylindrical Dished Horizontal |
---|
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 15:01:31