Liquid Measurement Device for a Tank
20210293590 · 2021-09-23
Inventors
Cpc classification
B64D37/005
PERFORMING OPERATIONS; TRANSPORTING
G01F23/804
PHYSICS
G01F1/36
PHYSICS
International classification
G01F1/36
PHYSICS
Abstract
A measurement device for measurement of liquid contained in a tank, particularly a fuel tank on an aircraft or boat. The device has a first pressure sensor for mounting outside the tank, on a liquid outlet pipe connected to the tank to measure the pressure of liquid in the outlet pipe. A second pressure sensor measures the pressure in the ullage space above liquid in the tank. A venturi flow meter mounted in the outlet pipe measures liquid flow through the outlet pipe. The device also includes an accelerometer. The quantity of liquid in the tank can be calculated in response to measured values received from the pressure sensors, the accelerometer and the venturi.
Claims
1. A measurement device for determining the quantity of liquid in a tank comprising: a first pressure sensor for mounting on a liquid outlet pipe connected to the tank for discharging liquid from the tank to measure a first pressure value for liquid in the outlet pipe; a second pressure sensor for measuring a second pressure value in an ullage space above the liquid in the tank an accelerometer; a flow measurement device to determine the rate of liquid flow through the outlet pipe; and means for calculating the quantity of liquid in the tank in response to the measured values from the pressure sensors, accelerometer and flow measurement device.
2. The device as claimed in claim 1, wherein the calculating means is operable to determine the pressure at a selected reference point (R) associated with the tank based on the first pressure value.
3. The device as claimed in claim 2, wherein the selected reference point (R) is at a bottom of the tank.
4. The device as claimed in claim 1, wherein the flow measurement device is a differential pressure meter.
5. The device as claimed in claim 4, wherein the differential pressure meter comprises a venturi flow meter.
6. The device as claimed in claim 5, wherein the device comprises a body having a liquid passageway extending through the body between an inlet port and an outlet port, the first pressure sensor being mounted at the liquid passageway adjacent the inlet port.
7. The device as claimed in claim 6, wherein the venturi flow meter (120) is provided in the liquid passageway (121).
8. The device as claimed in claim 6, wherein at least one 3-axis accelerometer is mounted on the body.
9. The device as claimed in claim 6, wherein at least one 3-axis gyroscope is mounted on the body.
10. The device as claimed in claim 1, wherein the second pressure sensor is mounted at a vent pipe on the tank.
11. The device as claimed in claim 1, wherein the second pressure sensor is mounted at a fuel cap on the tank.
12. The device as claimed in claim 1, wherein at one or more pressure sensing locations a plurality of pressure sensors are provided.
13. The device as claimed in claim 7, wherein a plurality of pressure sensors are mounted on the body to measure static pressure at an inlet of the venturi and at a throat of the venturi.
14. The device as claimed in claim 7, wherein a plurality of pressure sensors are mounted on a vent pipe or cap on the tank to provide the second pressure value.
15. The device as claimed in claim 1, wherein a second flow measurement device is provided for mounting on a liquid return line connected to the tank.
16. The device as claimed in claim 15, wherein the second flow measurement device is a differential pressure meter.
17. The device as claimed in claim 16, wherein the differential pressure meter is a venturi flow meter.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0038] The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only, with reference to the accompanying drawings.
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
DETAILED DESCRIPTION OF THE INVENTION
[0053]
[0054] A fuel tank outlet pipe 101 connects between the tank 100 and the aircraft engine (not shown). The outlet pipe 101 contains fuel, either in motion such as when the engine is consuming fuel, or at rest as may be the case when the engine is stopped. The outlet pipe 101 may exit the tank 100 at any location that is appropriate for the type of associated installed internal pickup pipe 103 connected to the outlet pipe 101 which is generally located at the lowest point within the tank 100 to extract as much fuel as possible. The pickup pipe 103 may be fixed or movable to ensure continuous fuel delivery on aircraft that perform aerobatic maneuvers.
[0055] A first measurement device 106 of the present invention is located external to the tank 100 and is installed in the outlet pipe 101. A tank ullage region 104, or region within the tank 100 above a fuel surface 102, is vented via vent port 108 adjacent a top of the tank 100, or any other suitable port that allows air within the ullage region 104 to equalize with external air pressure. In general aviation, the vent port 108 is typically oriented into the airflow to provide a positive pressure to the ullage region 104 and promote fuel flow to the engine. An ullage pressure sensor 109 is connected to the vent pipe 108 and measures the pressure within the ullage region 104. Anyone skilled in the art will appreciate that the ullage pressure sensor 109 may be attached to a fuel cap or other accessible port on the tank 100 that is located at the highest point within the tank 100.
[0056] On some aircraft, an additional return fuel line 107 is installed to return unused or recycled fuel back to the tank 100. In this scenario, a simplified second measurement device 110 is inserted into the return fuel line 107 to measure volume flow-rate, ensuring that the total flow consumed is consistent with the quantity of fuel in the tank 100 at all times.
[0057] A reference point R, located internally or externally to the tank 100, is selected as the origin of the axes used to reference the pressure head measured by the measurement device 106 of the present invention. The reference point R is chosen to measure the pressure head at a convenient location, such as the projection of the centroid of the liquid volume onto the tank base, in order to minimize the variation in pressure head with surface orientation. Analysis of the relationship between tank fill level and the centroid of the liquid affords the opportunity to utilize a dynamic reference point, thereby minimizing the effects of local acceleration on surface orientation at all fill levels. This optimization is not possible in capacitive or float-based liquid measurement systems as the sensor locations are limited by design and accessibility constraints.
[0058] Any change in direction or velocity of an aircraft from level flight will produce a local acceleration that will change the orientation of the free surface 102 of the fuel 105 and therefore affect the pressure head measurement at R. The magnitude of the acceleration vector will also impact the pressure head measurement. Referencing
[0059] To compute the quantity of liquid in the tank 100, it is necessary to determine the pressure head at the specified tank reference point R and then relate this to the volume of liquid V within the tank 100, given knowledge of the tank geometry and local acceleration vector ā.
[0060] As the measurement device 106 may be located some distance from the tank 100 it is measuring, it may be challenging to accurately determine the location of the measurement device 106 in relation to the reference point R of the tank 100. An “auto-locate” algorithm has been developed to compute the location of the measurement device 106 in relation to the reference point R.
Operational Modes
[0061] In normal operation the invention operates as a Fuel System Health Monitor (FSHM) that continuously monitors each tank 100 for abnormalities that affect flight safety by comparing fuel quantity values computed using different methods. One method integrates volume flow-rate (accounting for return flow, if implemented) over known time periods and subtracts the result from an initial starting quantity. The other method computes quantity by determining pressure head at a tank reference point R and then extracting quantity from a mathematical model of the tank 100. The key operational steps are detailed in Algorithm 3.
[0062] It is possible to configure the invention into a special mode that continuously computes the location of the first pressure sensor S relative to the tank reference point R. This is initiated when fuel flows above a specified threshold value. Sufficient data points (α, β, RQ, ϕ) are captured to ensure that the sensor location can be ascertained to the required accuracy during a short flight. The key operational steps are detailed in Algorithm 4.
Venturi Flow-Meter
[0063] Measurement of volume flow-rate using a Venturi is an elegant solution as it: provides the lowest non-recoverable pressure loss of any constriction-based flow-meter; requires minimum additional hardware (an additional pressure sensor); promotes long-term reliability due to its inherent simplicity; maintains unrestricted flow, due to lack of moving parts, easing certification whilst maintaining flight safety.
[0064] Referring in particular to
[0065] Referring in particular to
[0066]
[0067]
Q=u.sub.1. A.sub.1=u.sub.2. A.sub.2. (1)
The Bernoulli equation for viscous flow between p.sub.1 and p.sub.2 can be expressed as:
where h.sub.1, h.sub.2 are the elevations of the pressure sensors 125, 126 above an arbitrary datum and h.sub.loss is the irreversible head loss in the Venturi 120 due to friction. Acceleration due to gravity and disturbing forces is represented g, and ρ is the density of the liquid.
[0068] Substituting Eq. (1) into Eq. (2) provide the volume flow rate:
[0069] Neglecting the change in elevation between p.sub.1 and p.sub.2 and considering the head loss h.sub.loss as a discharge coefficient Cd, Eq. (3) can be formulated as:
For a well-designed Venturi 120, C.sub.d can be as high as 0.98.
[0070] Consider
The kinematic viscosity can also be defined by the ratio of the dynamic viscosity μ and the density of the liquid ρ as:
[0071] The volume flow rate can be expressed through the continuity equation as:
Q=u.sub.a.Math.A, (7)
where A is the cross-sectional area of the pipe 202 at the inlet section 203 of the Venturi pipe 202, defined as:
Therefore, the volume flow rate (Eq. 7) an be written:
Thus, the average velocity u.sub.a at the inlet section 203 of the Venturi pipe 202 is:
Therefore, the dimensionless Reynolds number (Eq. 5) based on the definition of the average velocity (Eq. 10) can also be expressed through the volume flow rate (Eq. 9) as:
[0072] The length L of the pipe 202 between the tank 200 and the Venturi 205 and the relative height h.sub.2 of the Venturi inlet S above the chosen datum R is defined by the installation. The static pressure p.sub.2=p.sub.s is measured by the pressure sensor at the venturi inlet S.
[0073] An analytical solution can be given for the change in the height h.sub.0-h.sub.1 of the free-surface 206 relative to the sensor S as a function of the dimensionless Reynolds number R.sub.e and the volume flow rate Q. The pressure p.sub.1 can be expressed as:
[0074] The Bernoulli equation for viscous flow between p.sub.1 and p.sub.2 can be expressed in terms of “heads” as:
where h.sub.loss is the irreversible head loss due to all components of the pipe 202 between p.sub.1 and p.sub.2. The energy loss e.sub.loss associated with the head loss (Eq. 13) can be expressed using the Darcy-Weisbach equation:
which gives
where λ is the dimensionless coefficient of friction which depends on the Reynolds number (Eq. 10) for laminar flow as:
Therefore the head loss (Eq. 15) can be expressed in terms of average velocity as:
or in terms of volume flow rate as:
Applying the Bernoulli equation (Eq. 13) to the length of pipe from p.sub.1 to p.sub.2, we get:
with the pressure drop over the pipe length given by:
Combining Eqs. (12) and (19) we can define the height difference from the free-surface to p.sub.2 as:
Noting that p.sub.z=p.sub.2 and p.sub.u=p.sub.0, the pressure head SP at the sensor S can be expressed in terms of pressure difference and volume flow rate (Eq.18) as:
[0075]
[0076] Knowledge of the local acceleration vector a and the location of the first sensor S of the measurement device is required to compute the perpendicular distance QR from point Q on the free-surface to the reference point R. The pressure head experienced at R is obtained from the height of the fuel above the reference R and the magnitude of the local acceleration ā.
[0077]
x.sub.sp=z.sub.sp.Math.tan α. (23)
[0078]
y.sub.sp=z.sub.sp.Math.tan β. (24)
[0079]
[0080] Substituting equations (23) and (24) into (25) and define SP as the distance from S to P gives:
θ=tan.sup.−1√{square root over (tan.sup.2α+tan.sup.2β)}, (26)
z.sub.sp=SP.Math.cos θ. (27)
[0081] These equations establish the relationship between S and P via (x.sub.sp, y.sub.sp, z.sub.sp). Furthermore, P (x.sub.p,y.sub.p,z.sub.p) is defined in terms of S (x.sub.s,y.sub.s,z.sub.s) as:
x.sub.p=x.sub.s+x.sub.sp,
y.sub.p=y.sub.s−y.sub.sp,
z.sub.p=z.sub.s−z.sub.sp, (28)
[0082] The normal from S to P is defined as:
[0083] The equation of the surface plane 102 is therefore given by:
−x.sub.sp(x−x.sub.p)+y.sub.sp(y−y.sub.p)+z.sub.sp(z−z.sub.p)=0,
(−x.sub.sp)x+(y.sub.sp)y+(z.sub.sp)z−(−x.sub.spx.sub.p+y.sub.spy.sub.p+z.sub.spz.sub.p)=0. (30)
[0084] The distance RQ from the reference point R (x.sub.r,y.sub.r,z.sub.r) to the surface plane at point Q is given by:
RQ is the distance to the free-surface from the reference point R, and when combined with the magnitude of the local acceleration vector , enables the pressure head at R to be determined.
Determine Quantity of Liquid in Tank
[0085] The quantity of liquid in the tank 100 is determined from a knowledge of the: orientation of the free-surface 102 (α, β) and the magnitude of the acceleration vector; pressure head RQ at the tank 100 reference point R; mathematical model relating quantity to free-surface 102 orientation and pressure head.
Orientation of the Free-Surface and G-Loading
[0086] The angles associated with the orientation of the free-surface 102 and the magnitude of the G-loading are easily derived from the local acceleration vector computed in the measurement device from accelerometer data. More stable, accurate and responsive acceleration measurements are obtained by using an Inertial Measurement Unit (IMU) which provides accelerometer and gyroscope data that can be integrated using a Kalman filter or equivalent sensor fusion algorithm.
Pressure Head at the Tank Reference Point
[0087] This is obtained indirectly by applying an algorithm to measurements of the static pressure at the first sensor S and the tank ullage region 104. The effects of G-loading are applied during the calculation of pressure head via the acceleration parameter g.
Tank Model
[0088] As fuel tanks are typically complex geometries, an efficient method of encapsulating the tank geometry is to use a look-up table (LUT) that contains sufficient data points to achieve the desired accuracy.
[0089] The LUT is generated using the open-source FreeCAD tool running a python script that successively displaces sections of a solid model of the tank 100 by an air box to simulate the free-surface 102 of the liquid. The tank model is tilted along the pitch and roll axes to emulate the effects of the local acceleration vector, which is always perpendicular to the free-surface 102. In this way, a comprehensive set of data points can be generated that relate free-surface 102 orientation (α, β) and pressure head (at a specified tank reference point R) to liquid quantity.
[0090] Trilinear interpolation can be used to extract the exact quantity, however by constraining the angles (α, β) to 1-degree increments and the pressure head to 1 mm increments, the complexities of trilinear interpolation can be avoided at the expense of increased non-volatile memory to accommodate the larger LUT. Sample pseudo-code illustrating the algorithm is listed in Algorithm 1.
Sensor Auto-Location
[0091]
x.sub.RQ=z.sub.RQ.Math.tan α. (32)
[0092]
y.sub.RQ=z.sub.RQ.Math.tan β. (33)
[0093]
Substituting equations (32) and (33) into equation (34) and defining RQ as the distance from R to Q gives:
ϕ=tan.sup.−1√{square root over (tan.sup.3α+tan.sup.2β)}, (35)
z.sub.RQ=RQ.Math.cos ϕ. (36)
These equations establish the relationship between R and Q via (x.sub.RQ, y.sub.RQ, z.sub.RQ). Furthermore, Q (x.sub.Q, y.sub.Q, z.sub.Q) is defined in terms of R (x.sub.R, y.sub.R, z.sub.R) as:
x.sub.Q=x.sub.R−x.sub.RQ,
y.sub.Q=y.sub.R+y.sub.RQ,
z.sub.Q=z.sub.R+z.sub.RQ, (37)
The normal from R to Q is defined as:
The equation of the surface plane 102 is therefore given by:
−x.sub.RQ(x−x.sub.Q)−y.sub.RQ(y−y.sub.Q)+x.sub.RQ(z−z.sub.Q)=0,
(x.sub.RQ)x−(y.sub.RQ)y−(x.sub.RQ)z−(x.sub.RQx.sub.Q−y.sub.RQy.sub.Q−z.sub.RQz.sub.Q)=0. (39)
Equations 38 and 39 relate to the same plane, therefore:
(−x.sub.sp)x+(y.sub.sp)y+(z.sub.sp).sup.2−(−x.sub.spx.sub.p+y.sub.spy.sub.p+x.sub.spx.sub.p)=(x.sub.RQ)x−(y.sub.RQ)y−(x.sub.RQ)z−(x.sub.RQx.sub.Q−y.sub.RQy.sub.Q−z.sub.RQz.sub.Q). (40)
The distance SP from the first sensor S (x.sub.s,y.sub.s,z.sub.s) to the surface plane at point P is given 1
It is possible to compute the location of the sensor S by solving 3 equations (41) in 3 unk (x.sub.s, y.sub.s, z.sub.s), given 3 independent data sets with the following parameters: [0094] x.sub.s, y.sub.s, z.sub.s
location of first sensor S (unknown) [0095]
x.sub.R, y.sub.R, z.sub.R
location of reference point R [0096] SP distance of free-surface from first sensor, |{right arrow over (SP)}| [0097] RQ distance of free-surface from reference point, |{right arrow over (RQ)}| [0098] α, β pitch & roll angles of free-surface [0099] θ=ϕ=tan.sup.−1√{square root over (tan.sup.2α+tan.sup.2β)} angle {right arrow over (S)}P & {right arrow over (R)}Q deviate from vertical [0100]
x.sub.RQ, y.sub.RQ, z.sub.RQ
(Z.sub.RQ.Math.tan α), (z.sub.RQ.Math.tan β), RQ. Cos θ)
[0101]
x.sub.Q, y.sub.Q, z.sub.Q
(x.sub.R−x.sub.RQ), y.sub.R−y.sub.RQ), (z.sub.R−z.sub.RQ)
Assuming 3 versions (i=1,2,3) of equation (41) can be generated for fixed location of the reference point R and first sensor S, the corresponding matrix representation is:
where
d.sup.1=(−x.sub.RQ.sup.ix.sub.Q.sup.i)+(y.sub.RQ.sup.iy.sub.Q.sup.i)+(z.sub.RQ.sup.iz.sub.Q.sup.i)±SP.sup.i√{square root over ((x.sub.RQ.sup.i).sup.2+y.sub.RQ.sup.i).sup.2+(z.sub.RQ.sup.i).sup.2)}. (43)
Solving the linear system (42) gives the location of the first sensor S (x.sub.s, y.sub.s, z.sub.s):
x=A.sup.−1.Math.b. (44)
Note that equation (43) implies that there are two possible solutions for each d.sup.i and the correct one will be evident by inspection of the resulting location for S. In practice, multiple solutions for S can be computed for different orientations and levels of the free-surface as the tank drains during flight. Statistical analysis of this set of location data enables the most accurate location for S to be determined.
[0102] The pressure head RP at the tank reference point R is obtained by applying an inverse-interpolation algorithm on the tank model, with inputs α, β and quantity ψ. The tank quantity is obtained with knowledge of an initial quantity and then computing the quantity consumed at subsequent times by integrating the volume flow-rate over a known elapsed time period.
[0103] By constraining the angles (α, β) to 1 degree increments it is possible to avoid the complexities of inverse-trilinear interpolation whilst re-using the same lookup table (LUT) as required for determining Quantity. Sample pseudo-code is listed in Algorithm 2.
Pressure Heads in Multiple Interconnected Tanks
[0104] Consider
[0105] To minimize the effects of local accelerations on the fuel surfaces 309, 310 choose the reference points, R.sup.1 and R.sup.2 for each tank 301, 302 to be at the center of each tank base 305, 306. With knowledge of the pressure head SP at the first sensor S and the ullage pressures in each tank 301, 302, the pressure heads RQ.sup.1 and RQ.sup.2 at these reference points R.sup.1, R.sup.2 can be computed using the methods described previously for a single tank 301, 302 using Eq. (31). The quantity of liquid in each tank 301, 302 is extracted from mathematical models that are specific to each tank 301, 302 using Algorithm 1.
[0106] An ullage pressure sensor 109 and a mathematical model of each tank 301, 302 are required to determine the quantity of liquid in interconnected tanks 301, 302. No additional installation work is required if the vent lines 314, 315 are linked to equalize the ullage pressures. The quantity of liquid in each tank 301, 302 is computed by simply changing the location of the reference point from R.sup.1 to R.sup.2 in Eq. (31) and Algorithm 1, and also selecting the corresponding ullage pressure measurement.
[0107] Single tanks are typically subdivided into sections, separated by internal slosh baffles. These can be considered as a group of interconnected tank sections where the individual pressure heads RQ.sup.i for each section can be computed separately. To minimize variations in the free-surface orientation in each section, the individual X.sub.B.sup.i and Y.sub.B.sup.i reference point values are specified to be the projection of the centroid of each section volume on the tank base. The quantity of liquid in each tank section is extracted from a mathematical model of each section and the associated pressure head RQ.sup.i. The total quantity of liquid in the tank is a summation of the individual quantities in each tank section. This approach assumes that the ullage pressure is constant for all sections but permits a more accurate quantity measurement when the liquid in each section has not yet reached its equilibrium level. Memory resources for the tank section lookup tables are minimized when multiple tank sections are identical.
[0108] The above examples illustrate the simplicity and flexibility of external pressure sensing in complex tank installations.
Monitoring Liquid Pump Operation
[0109] By sampling static pressures, at typical rates of 10 ms, a Fast Fourier Transform (FFT) of the captured signal allows the operational frequencies of the fuel pump(s) to be determined. From this data, it is possible to accurately determine (a) whether the electrical and mechanical pumps are operating, (b) changes that predict impending failure modes, and (c) the speed of the engine that drives the mechanical pump.
[0110] Continuous logging and analysis of this data is an independent mechanism for monitoring changes in engine/pump health and alerting the pilot in a timely manner, thereby promoting flight safety.
[0111] Algorithm 1 depicts pseudo-code for extracting liquid quantity from a LUT, simplified by imposing constraints on surface orientation and pressure head inputs.
[0112] Algorithm 2 depicts pseudo-code for extracting pressure head at the tank reference point from a LUT, simplified by imposing constraints on surface orientation inputs.
[0113] Algorithm 3 depicts the steps carried out during “fuel system health monitoring”. Fuel quantity is periodically derived from two independent sources: (a) volume flow-rate is integrated over time and subtracted from a known initial quantity, and (b) pressure head at the reference point and free-surface orientation enable fuel quantity to be extracted from a tank model. Flight safety is enhanced as the pilot is alerted to any inconsistencies in these two values.
[0114] Algorithm 4 depicts the steps carried out to accurately locate the first pressure sensor in relation to the tank reference point.
[0115] Algorithms
TABLE-US-00001 Algorithm 1 Extract Quantity from LUT Require: Range check and limiting on all input values Require: LUT organised as (N×4) matrix with each row comprising: α, β, RQ & Ψ 1: function GETQUANTITY(α, β, RQ) Pitch, roll & pressure head at R respectively 2: Ψ ← −1
Initialise quantity to detect lookup error 3: for i ← 1. N do
For all rows in lookup table 4: if LUT[i][0] = α then
α value detected 5: if LUT[i][0] = β then
β value detected 6: if LUT[i][2] = RQ then
RQ value detected 7: Ψ ← LUT[
][3]
Extract fuel quantity 8: end if 9: end if 10: end if 11: end for return Ψ
Return quantity 12: end function
indicates data missing or illegible when filed
TABLE-US-00002 Algorithm 2 Extract RQ from LUT Require: Range check and limiting on all input values Require: LUT organised as (N×4) matrix with each row comprising: α, β, RQ & Ψ Require: Min and Max values for α, β and Ψ in LUT 1: function GETPRESSHEADATR(α, β, Ψ) Pitch, roll & quantity respectively 2: Ψ.sub.1 ← Ψ.sub.max
Assign maximum value to upper quantity 3: Ψ.sub.0 ← Ψ.sub.min
Assign minimum value to lower quantity 4: i1 ← 0
Reset upper index 5: i0 ← 0
Reset lower index 6: RQ ← −1
Initialise pressure head to detect lookup error 7: for i ← 1, N do
For all rows in lookup table 8: if LUT[i][0] = α then
α value detected 9: if LUT[i][1] = β then
β value detected 10: if LUT[i][4] ≥ Ψ then
Upper Ψ value detected 11: if LUT[i][4] < q1 then
Check & assign lower value 12: Ψ.sub.1 ← LUT[i][4]
Assign lower quantity 13: i1 ← i
Assign upper index 14: end if 15: end if 16: if LUT[i][4] ≤ Ψ then
Lower Ψ value detected 17: if LUT[i][4] > q0 then
Check & assign higher value 18: Ψ.sub.0 ← LUT[i][4]
Assign upper quantity 19: i0 ← i
Assign lower index 20: end if 21: end if 22: end if 23: end if 24: end for 25:
Linear interpolation return RQ
Return pressure head at reference point R 26: end function
TABLE-US-00003 Algorithm 3 Fuel Tank Health Monitoring Require: Tank model (LUT) relating free-surface orientation & pressure head to quantity 1: {D.sub.1,D.sub.2} ← values Assign Venturi inlet & center diameters respectively 2: {L} ← values
Assign combined pickup & outlet pipe length 3: {p,v} ← values
Assign liquid properties (density, kinematic viscosity) 4: {x
,
,
} ← values
Assign location of first pressure sensor relative to refernce point 5: Q
ΔΨ ← values
Assign tolerances on flow-rate & quantity respectively 6: mode ← health-monitor
Enable fuel system heath monitoring 7: repeat 8: {
,
,
,
,
,
} ← values
Capture static pressures & temperatures 9: {p
,p
,p
} = APPLYTEMPCOMP(
,
,
,
,
,
)
Apply temperature compensation 10: {
,
,
} ← values
Capture local acceleration from IMU 11: {x
,y
,z
} ← values
Capture local angular rates from IMU 12: {α, β, |
, y
, z
, x
, y
, z
)
Compute surface angles & G-loading 13: Q = GETFLOWRATE(p
, p
, D.sub.1. D.sub.2, p)
Compute volume flow-rate 14: if (Q < Q
then
Flow not used as below Q.sub.min 15: go to 27
Read parameters & compute volume flow-rate again 16: else if (Q
< Q.sub.min) and (Q.sub.i ≥ Q.sub.min) then
Flow just started 17: Ψ
← Ψ
Store initial quantity in non-volatile memory 18: end if 19: SP = GETPRESSHEADATS(α,
, p
,
, D.sub.1,L,p,v)
Compute pressure head at S 20: RQ = TRANSLATESTOR(α,
, SP,
,
,
)
Translate pressure head at S to R 21: Ψ = GETQUANTITY(α, β, RQ)
Compute quantity from tank model 22: Ψ
= GETQUANTITYREMAINING(Q, Ψ
)
Integrate flow-rate over known time period 23: if (Ψ
< Ψ − ΔΨ) or (Ψ
> Ψ + ΔΨ) then
Quantities differ by more than ΔΨ 24: PUSHMESSAGE(“alert”)
Alert pilot that issue with fuel system health 25: end if 26: PUSHUPDATES(ψ, Ψ.sub.r, Q)
Update connected devices with current data 27: DELAY(time-period)
Repeat above steps after waiting for preset time 28: until (mode ≠ health-monitor)
Repeat until mode changes
indicates data missing or illegible when filed
TABLE-US-00004 Algorithm 4 Sensor Auto-Locate Require: Tank model (LUT) relating free-surface orientation & pressure head to quantity 1: {D.sub.1, D.sub.2} ← values Assign Venturi inlet & center diameters respectively 2: {L} ← values
Assign combined pickup & outlet pipe length 3: {p,v} ← values
Assign liquid properties (density, kinematic viscosity) 4: Q
ΔΨ ← values
Assign tolerances on flow-rate & quantity respectively 5:
←
Reset auto-locate iteration counter 6: Δ
← values
Assign tolerances on sensor location 7: mode ← auto-locate
Enable sensor auto-location 8: repeat 9: iteration ← iteration + 1
Increment iteration counter 10: {p
, p
, p
, t
, t
, t
} ← values
Capture static pressures & temperatures 11: {p
, p
, p
} = APPLYTEMPCOMP(p
, p
, p
, t
, t
, t
)
Apply temperature compensation 12: {x
, y
, z
} ← values
Capture local acceleration from IMU 13: {x
, y
, z
} ← values
Capture local angular rates from IMU 14: {α, β, |
, y
, z
, x
, y
, z
)
Compute surface angles & G-loading 15: Q = GETFLOWRATE(p
, p
, D.sub.1, D.sub.2, p)
Compute volume flow-rate 16: Ψ
= GETQUANTITYREMAINING(Q, Ψ.sub.NVM)
Integrate flow-rate over known time period 17: SP = GETPRESSHEADATS(p
, p
, D.sub.1, L, p, v, α, β)
Compute pressure head at S 18: RQ = GETPRESSHEADATR(α, β, Ψ
)
Extract pressure head at R from tank model 19: {x
, y
, z
} = GETSENSORPOSR(α, β, SP, RQ, ΔS)
Compute location of S relative to R 20: if (x
≠ 0) and (y
≠ 0) and (z
≠ 0) then
Non-zero values imply valid location 21: PUSHMESSAGE(“success”,
teration)
Update connected devices with current status 22: mode ← health-monitor
Restore fuel system heath monitoring 23: else
Keep iterating a sensor location not computed to required accuracy 24: PUSHMESSAGE(“calibrating”, iteration)
Update connected devices with current status 25: DELAY(time-period)
Repeat above steps after waiting for preset time 26: end if 27: until (mode ≠ auto-locate)
Repeat until mode changes
indicates data missing or illegible when filed
[0116] In the specification the terms “comprise, comprises, comprised and comprising” or any variation thereof and the terms “include, includes, included and including” or any variation thereof are considered to be totally interchangeable and they should all be afforded the widest possible interpretation and vice versa.
[0117] The invention is not limited to the embodiments hereinbefore described which may be varied in both construction and detail within the scope of the appended claims.