International Journal of Fatigue 43 (2012) 128–133
Contents lists available at SciVerse ScienceDirect
International Journal of Fatigue journal homepage: www.elsevier.com/locate/ijfatigue
Verification of an individual aircraft fatigue monitoring system L. Molent ⇑, S. Barter, W. Foster Air Vehicles Division, Defence Science and Technology Organisation, Australia
a r t i c l e
i n f o
Article history: Received 28 December 2011 Received in revised form 14 February 2012 Accepted 4 March 2012 Available online 16 March 2012 Keywords: Fatigue crack growth Fatigue modelling Life prediction Fatigue testing Fractography
a b s t r a c t Fatigue monitoring of airframes has developed over the decades to the stage where it is now incumbent for the certification of fighter type aircraft to incorporate a fatigue monitoring system. These systems typically collect operational data for the calculation of the airframe’s safe-life or crack inspection intervals. Many of these systems are complex, incorporating such features as data integrity checking, strain gauge calibration algorithms and damage calculation algorithms to name a few. Whilst it may be possible to validate the robustness and accuracy of specific system components (e.g. the damage algorithm can be tested against fatigue coupon results), the verification of the performance of the in-service system as a whole presents a much bigger challenge. In this paper, the verification of the Royal Australian Air Force’s F/A-18A/B Hornet individual aircraft fatigue monitoring system is outlined. The availability of a significant number of ex-service centre fuselage sections with known usage has facilitated this effort. Using an enhanced teardown procedure, in-service fatigue crack growth has been identified at a significant number of locations. All the in-service cracking corresponded to the same locations found cracked in the fatigue certification full-scale test article that was used to calibrate the usage monitoring system, so that by comparing the measured in-service growth with the test-demonstrated growth the functionality of the monitoring system could be assessed. This assessment should reveal the effectiveness of the system in providing robust fatigue life expended indices to help ensure that structural integrity boundaries are not exceeded. For this comparison, the crack growth was measured using quantitative fractography. It is believed that this work is the first example of using the crack growth in retired structure of known usage to verify a fatigue tracking system that incorporated significant aircraft structural integrity elements including tracking philosophy, structural fatigue lifing methodology, full-scale fatigue test results, design standard interpretation and retirement considerations. Crown Copyright Ó 2012 Published by Elsevier Ltd. All rights reserved.
1. Introduction The management of fatigue in an aircraft starts in the design process with the application of a design philosophy, estimated roles, stress spectra, material data and a damage theory to estimate the fatigue life. This estimate is then certified through one or more structural fatigue tests. Following this (or sometimes before), the aircraft operator collects service loads data [1] and on the basis of the interpretation of the fatigue test and other data, develops a structural management plan [2]. The process of collecting service load data is termed fatigue monitoring and airworthiness regulations generally require fighter type aircraft to be fitted with an on-board usage monitoring or operational loads monitoring (OLM) system [3,4]. In addition to specific design requirements, the United States Air Force (USAF) institutionalised the requirements for aircraft structural integrity management through the ⇑ Corresponding author. Tel.: +61 3 9626 7653; fax: +61 3 9626 7089.
development and issue of MIL-STD-1530A [5] in the mid 1970s (with -1530C issued subsequently). Fatigue monitoring serves a number of purposes including to: fulfil airworthiness requirements to ensure aircraft are not operated beyond an acceptable level of risk as specified by, for example, UK Defence Standard 970 [3]; determine the fatigue life status of a fleet of aircraft throughout its life, based on comparison of its usage to the certification spectrum used on the certification test/s; determine the actual service load history (since many operators have found that operational usage of an aircraft is significantly more severe than the design spectrum) to ensure that aircraft are not operated beyond the fatigue damage limits for various components as demonstrated through certification testing; improve or to optimise the structural integrity management of the fleet (when done in conjunction with a program based on tracking each aircraft in the fleet). The assertion here is that
E-mail address:
[email protected] (L. Molent). 0142-1123/$ - see front matter Crown Copyright Ó 2012 Published by Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.ijfatigue.2012.03.003
L. Molent et al. / International Journal of Fatigue 43 (2012) 128–133
129
the utilisation of each aircraft is different and that using an average value is inappropriate when evaluating individual fleet aircraft; detect occurrences of structural overloads in a timely fashion, thus enhancing fleet safety; and assist in the definition of flight load spectra for new aircraft of the same type. Many of these systems are complex, incorporating such features as data integrity checking, strain gauge calibration algorithms, damage calculation algorithms and missing data fill-in routines to name a few. Whilst it may be possible to validate the robustness and accuracy of specific components (e.g. the damage algorithm can be tested against fatigue coupon results, e.g. [6]) the verification of the performance of the in-service system as a whole presents a much bigger challenge. In this paper, the verification of the Royal Australian Air Force’s (RAAF) F/A-18A/B Hornet individual aircraft fatigue monitoring system is outlined. The availability of a significant number of exservice centre fuselage sections with known usage has facilitated this effort. Using an enhanced teardown procedure, in-service cracking was identified at a significant number of locations. Generally, the in-service cracking corresponded to the same locations found cracked in the fatigue certification full-scale test article used to calibrate the usage monitoring system, so that by comparing the measured in-service growth with the test-demonstrated growth the performance of the monitoring system could be assessed. It was expected that this assessment would reveal the effectiveness of the system in providing robust fatigue life expended indices to help ensure that structural integrity boundaries are not exceeded. For this comparison, the crack growth was measured using quantitative fractography (QF) and a simple but well supported and reliable model of this growth was applied.
2. The RAAF Hornet individual aircraft tracking system The F/A-18 Hornet was introduced into RAAF service in 1985 and is expected to be replaced sometime after 2018. The aircraft was designed to achieve a safe-life of 6000 h under a United States Navy (USN) manoeuvre and operational environment. The RAAF operate the aircraft in quite a different environment and role from that of the design. Fatigue life monitoring of the aircraft is required by the Aircraft Structural Integrity Management Program (ASIMP) [7] and, careful management of the fatigue life expended is necessary to allow the fleet to reach the planned withdrawal date safely, whilst minimising the need for structural refurbishment. The ability to monitor the fatigue accumulation of individual aircraft is an important component of structural integrity management and fleet readiness [1–3]. Fatigue tracking of the RAAF F/A-18 is carried out by BAE Systems Australia for the RAAF using software on ground-based computer systems. These systems process data collected by the on-board Maintenance Status and Data Recording System (MSDRS) which records multiple flight parameters including second by second flight status and fatigue events as defined by peaks and valleys in strain data measured at a number of discrete locations. The original F/A-18 tracking software, the Structural Appraisal of Fatigue Effects (SAFE) [8], was developed by the Boeing Company. A number of deficiencies in this software were identified, and a decision was made by the RAAF that the SAFE program would be modified in accordance with the recommendations of the SAFE Working Group [9]. The initial plan was to develop an interim fatigue life tracking program while SAFE was being ‘‘recovered’’ to a level that was recommended by the SAFE Working Group. However, after final
Fig. 1. Overview of MSMP2 process, where WRBM is the wing root bending moment. The scatter factor is drawn from the certification standard [3].
development of the interim program it became evident that it met all the ASIMP requirements for an accurate, yet not unduly conservative, fatigue tracking system. The program is known as the Mission Severity Monitoring Program V2 (MSMP2). MSMP2 is functionally similar to SAFE, the main difference being that the ‘‘sequence accountable strain-life based fatigue damage model’’ in SAFE was replaced by a fixed unit damage matrix in MSMP2 [10]. MSMP2 calculates (or predicts) the Fatigue Life Expended Index (FLEI) per flight for F/A-18 A/B aircraft. The FLEI is a measure of the proportion of the originally certified fatigue life of the aircraft which is estimated to be expended to date, i.e. a FLEI of 1.0 normally indicates that an aircraft has accumulated fatigue damage equivalent to the maximum acceptable safe level demonstrated by the original fatigue testing and analysis.1 The MSMP2 system includes functions for: Decoding MSDRS data for processing and/or analyses. Data integrity checking (e.g. bad data, out-of-limits data, spikes, etc.). Creating peak-valley sequences. Strain data calibration. Rain-flow counting and discretising (or blocking) data. Calculating FLEI (including an appropriate scatter factor), and Reporting to the Squadrons. The MSMP2 program calculates the FLEI on a flight-by-flight basis (see Fig. 1), using information from: The Flight Data Sets (FDS) recorded by the MSDRS during aircraft operation. Calibration of the strain gauges on the aircraft. Historical basic aircraft weight records. Stores weights, and
1 A flight hours versus FLEI comparison would also make for a worthy analyses but is outside the scope of this work.
130
L. Molent et al. / International Journal of Fatigue 43 (2012) 128–133
Historical usage data (used for missing data fill-in). The philosophy behind MSMP2 is the direct method of (primary) loads monitoring using strain gauges [11,12]. However, strain gauge data are complemented by the indirect or flight parameter based method to ‘‘fill in’’ for missing or corrupt data and to validate and calibrate the strain gauge data. The primary strain sensor is located in a low stress gradient area and this gauge, along with the other monitoring gauges were replicated on, and monitored during the certification full-scale fatigue test. In the case of the RAAF Hornet, the International Follow-on Structural Test Project (IFOSTP) centre fuselage test (FT55) [13] was used for structural fatigue certification of this region of the aircraft. Whilst the Hornet has seven monitoring strain sensors, the wing root (WR) is the primary fatigue monitoring sensor for the centre fuselage and inner wing and is located at the root of the wing associated with the titanium wing attachment lugs at fuselage station (or ‘‘Y’’) FS470.5. This sensor was located to respond to wing root bending moment (WRBM). The appropriate scatter factor applied to the calculated damage was drawn from the certification standard [3]. The intent of applying a scatter factor to the demonstrated full-scale fatigue test result is to restrict the probability of failure in the fleet to less than onein-a-thousand for the life of type [3]. It should also be noted that a fleet-average severity spectrum was applied to FT55 (the test airframe itself was assumed representative of the average build quality of the fleet [3] and the derived applied loads were representative of those experienced in flight). The MSMP2 damage algorithm was validated by comparing predicted lives with fatigue coupon test results [6], where it was shown that the correct spectra severity ranking was achieved.
3. Enhanced teardown of ex-service F/A-18A/B/C/D centre fuselages The Flaw IdeNtification through the Application of Loads (FINAL) is a fatigue testing and destructive inspection program for ex-service F/A-18A-D wing attachment centre fuselage structure, known as the Centre Barrel (CB) [14]. The F/A-18 CB, shown in Fig. 2, carries wing loads into the fuselage through its three main structural elements, namely the Y453, Y470.5 and Y488 bulkheads. These bulkheads are fracture critical and loss of structural integrity in any of them is considered a safety-of-flight issue. For this reason, they are the main focus of the FINAL program. FINAL is a joint program involving the Australian Defence Materiel Organisation (DMO), Directorate General Technical Airworthiness (DGTA) RAAF and the Defence Science and Technology Organisation (DSTO). High life ex-service F/A-18 A-D CBs are cycled in a rig under a WRBM spectrum until cracking from pre-existing in-service induced cracks or defects can be readily found. The FINAL CB test program was originally conceived to satisfy engineering caveats associated with development of the Hornet Structural Refurbishment Program (SRP) package. SRP phase 1 extended the fatigue life of the CB via a number of inspections and modifications to discrete CB locations identified through the FT55 tests. At the CB fatigue life limit, some CBs were replaced. This strategy had already been commenced by the USN and Royal Canadian Air Force (RCAF). Initially, a number of ex-service CBs from the USN and RCAF CB replacement programs where made available for teardown. Subsequent to the SRP, ten ex-service RAAF CBs were also made available for testing and data from some of these form the basis of the anal-
Fig. 2. An ex-RCAF CB used in the FINAL program.
yses summarised here. Since the sizes of the average largest cracks present in ex-service CBs were expected to be considerably less than 1 mm [15], which is below the threshold of current practical Non-Destructive Inspection (NDI) methods, it would have been difficult to find service cracking to amass the service data (size and distribution of cracking) from the ex-service CBs in their as-received condition since detection of cracking by NDI alone would have been impractical. To overcome this obstacle, the FINAL program was implemented. FINAL loading grows existing cracks, or cracks originating from other existing damage/discontinuities (e.g. corrosion, mechanical damage, inherent discontinuities in the material, etc.), to a size where they may be readily detected under laboratory conditions. After fatigue cycling of each CB has been completed (by testing each of the three bulkheads to failure) a teardown including thorough inspection is performed. The size and where possible the growth of cracks in the areas of interest are then measured by QF. The data from this were used to address the following aims of FINAL: 1. To determine if in-service aircraft contain CB damage not accounted for in the fatigue test program, including mechanical damage and corrosion that are the result of the service environment [14]. 2. To gain a more complete picture of the types of discontinuities, defects or degradation that lead to cracking in the fleet [16]. 3. To ensure that decisions on the CB replacement program were based on as much relevant information about the structural integrity of the in-service CBs as possible. 4. To provide data to enhance current risk and reliability method deliberations with regard to the F/A-18 aircraft (see [15] for example), and 5. To provide data to verify the Hornet’s service life tracking system (i.e. the subject of this paper).
4. Methodology The major premise behind the MSMP2 verification exercise is that as the system was designed to compare individual aircraft fatigue accumulation against the FT55 certification test, a direct
131
L. Molent et al. / International Journal of Fatigue 43 (2012) 128–133
FT55 Web Taper QF data (blocks)
Failure
10 acritical
Crack Depth a (mm)
a end of test ≈Inspection threshold
1
a = a0eλT
0.0004x
y = 0.0164e 2 R = 0.998
QF data (blocks)
0.1
a0
0.01 0
2000
4000
6000
8000
10000
12000
14000
16000
18000
Test Hours (T) Fig. 3. Schematic of the growth of an example FT55 crack, showing the depth versus time history for blocks of loading as measured through QF and then extrapolated to an estimated critical crack depth.
comparison of fatigue cracking at similar locations from the fleet and FT55 should provide a means of verification of the entire MSMP2 system.2 This would be possible since: 1. The MSMP2 FLEI at which each RAAF CB was retired was known (i.e. this is the prediction from the MSMP2 system). 2. Many QF reports that contained not only crack size information but also crack growth information for the major cracking found the FT55 CB were available. It should be noted that, although this was the case for many cracks, in some cases only the time at which a crack was detected, its location and its estimated size were recorded in the inspection reports. 3. Comprehensive QF reports from cracked locations corresponding to the FT55 locations were available from several of RAAF CBs so far tested in FINAL, and 4. A robust yet simple crack growth modelling tool was available as described by the Lead Crack Framework [17,18]. The lead crack framework is based (in-part) on the following observations and assumptions: 1. Critical cracks commence growing shortly after the aircraft is introduced into service [16–19], particularly for highly structurally optimised aircraft like the F/A-18. Any period of crack nucleation can be ignored. 2. Critical surface initiating cracks in an ambient environment grow approximately at an exponential crack growth rate versus time (see for example [16,17,19]) in the absence of residual stresses and/or load shedding. The small fraction of life involved in stable tearing at the end of the growth can be ignored, and 3. Typical initial discontinuity sizes (a0) for fighter aircraft materials are approximately equivalent to a 0.01 mm deep crack [16,17,19]. The exponential behaviour has been shown to apply from this very small initial crack size through to many mm’s in depth [16,17,19]. 2 Despite the fact that the damage model within MSMP2 was strain-life based, the output of the system is compared to in-service crack growth. This is done as the only quantifiable measure of fatigue damage in production materials is the growth of cracks (from initiating discontinuities up to the point of commencement of quasistatic failure). The MSMP2 damage model was calibrated such that a FLEI of 1 corresponds to total failure (i.e. the critical crack depth has been reached) subject to the scatter factor. This is the basis of the verification discussed in this paper.
These features are illustrated in Fig. 3 where QF data from an example FT55 crack is shown. The MSMP2 system verification process was aimed at investigating whether any fleet detected crack for a specified location was safe, i.e. it would not: a. exceed the crack growth rate observed in FT55; and b. approach a critical size within the projected life of type of the aircraft (assumed to be approximately 6000 h). This involved: 1. Selecting an adequate number of common locations at which both FT55 and FINAL cracking existed (see Fig. 4).3 These locations were chosen to cover as broadly as possible the three primary bulkheads. 2. For the FINAL CBs, the depth of in-service cracking was determined and, if possible, the size of the initiating discontinuity established (see Fig. 5). The measurement is an estimate of the discontinuity’s depth. Generally up to three independent measurements of the initiating discontinuity were made. 3. Selecting FT55 QF data for the chosen locations (e.g. Fig. 3). These data were used to: a. directly compare the crack depths at equivalent times, or growth rates with the in-service detected examples (via plots); b. confirm (or otherwise) that the crack growth for the selected location was exponential; and c. determine the size of the initiating discontinuity where possible. 4. If QF data were not available for the FT55 location, then: a. the final measured crack size and an assumed average initiating discontinuity size of a0 = 0.01 mm was used to construct a crack growth curve; and b. the crack growth proportion generated through FINAL testing was used to confirm (or otherwise) exponential crack growth. 5. For the FINAL CBs, the available data from the initial discontinuity to crack depth at equivalent airframe hours when it was 3 Note: No new locations outside those that were revealed in FT55 have been detected through FINAL (at approximately similar test lifetimes).
132
L. Molent et al. / International Journal of Fatigue 43 (2012) 128–133
Fig. 4. Common bulkhead failure locations for FT55 and FINAL.
DIL CB069 - Y470 Control Hole
Fig. 5. A view of a crack that failed an Y470.5 bulkhead during FINAL testing. The dark discoloured region was due to service related crack growth. The end of service and the start of FINAL block loading has been highlighted. Some progression lines representative of FINAL block loading have been highlighted with arrows. (IVD = Ion Vapour Deposited aluminium).
removed from service (i.e. FLEI 6000) were plotted. The data were extrapolated towards a typical critical crack size (taken here as 10 mm for illustration as per Fig. 3). If no measurement of initiating discontinuity was possible (e.g. for a damaged origin) then an initial crack-like flaw of 0.01 mm was assumed, and 6. All crack growth plots (see next section) were transposed to a0 = 0.01 mm4 if the initial discontinuity measurement was different to 0.01 mm (although the Fig. 3 example shows the actual growth plot).
5. Preliminary results Samples of the preliminary analyses conducted to date are shown for each bulkhead in Figs. 6–8. The locations considered are shown in Fig. 4. The block-by-block crack growth, where it ex4
Future analyses will consider the effect of the variation (i.e. standard deviation, see [16]) of the EPS on the maximum and minimum bounds of these results.
Transposed Crack Depth (mm)
10
1
0.1
0.01
0
5000
10000
15000
20000
FT55 ETH (FLEI * 6000) FT55 RHS A21-107 LHS C2
A21-016 RHS C1 A21-107 LHS C3
A21-016 RHS C3 A21-107 LHS C5
A21-107 RHS C4
A21-107 RHS C5
A21-107 RHS C8
A21-107 LHS C1 A21-107 RHS C1
Fig. 6. Example of FT55 and fleet aircraft (A21-016 & -107) for the Y470 bulkhead. (Note: for clarity FT55 QF data not shown).
isted from FT55 has been omitted for clarity. In general, it can be seen that: a. the crack growth rate from ex-service RAAF CBs is lower than that produced in FT55; and b. in the case when the crack growth rate from ex-service RAAF CBs is similar to that from FT55, the service crack would not have approached the critical size in one lifetime (i.e. 6000 Equivalent Test Hours (ETH)). Given that the MSMP2 FLEI already incorporates a scatter factor, these preliminary results tend to suggest a level of conservatism as required by such a system (i.e. no crack will approach critical size
L. Molent et al. / International Journal of Fatigue 43 (2012) 128–133
directly compared. This was conducted to verify the individual aircraft fatigue monitoring system. The preliminary results indicate a level of conservatism that appears to be reasonable, although it is acknowledged that this has yet to be quantified. Further analyses are on-going.
DIL CB001 - Y453 Fuel Hole 10
Transposed Crack Depth (mm)
133
1
Acknowledgements The authors wish to note the considerable efforts of Mr. Vuitung Mau in production of much of the data used for these analyses. The support of the Tactical Fighter Systems Program Office and the RAAF’s Directorate General Technical Airworthiness is gratefully acknowledged.
0.1
References 0.01
0
5000
10000
15000
20000
FT55 ETH (FLEI * 6000) FT55 LHS Crack 1 A21-016 RHS F94077 C1b A21-037 LHS Lower F98016 C1
FT55 RHS A21-107 LHS F95007 C1 A21-037 RHS F98015 C1
A21-016 LHS F94076 C4b A21-107 RHS F95008 C1
Fig. 7. Example of FT55 and fleet aircraft (A21-016, 037 & 107) for the Y453 bulkhead. (Note: the FT55 QF data are shown in Fig. 3.)
DIL CB008-2 Y488 Lower Flange Inboard of X20 Transposed Crack Depth (mm)
10
1
0.1
0.01
0
5000
10000
15000
20000
FT55 ETH (FLEI * 6000) FT55 LHS A21-107 RHS
FT55 RHS A21-030 RHS
A21-016 LHS A21-037 RHS
A21-016 RHS A21-053 RHS
A21-107 LHS
Fig. 8. Example of FT55 and fleet aircraft (A21-016, 030, 037, 053, 107) for the Y488 bulkhead.
in one lifetime). Analyses of other locations are on-going, while further data are being added to the examples shown here. 6. Conclusions In what is believed to be a novel approach the detected crack growth from corresponding locations from a full-scale fatigue test and several ex-service structures (with known usage) have been
[1] Schütz W. Fatigue life prediction for aircraft structures and materials. AGARDLS-62, ICAF-Doc-693. France: Advisory Group for Aerospace Research and Development; 1973. [2] Jones DJ, Duffield MJ, Holford DM. Future fatigue monitoring systems for fixed wing aircraft. Proposals for a new policy and a strategy for the way ahead. DERA/AS/ASD/CR/97600/1.0. UK: Defence Evaluation and Research Agency; 1998. [3] Defence Standard 00–970, Issue 5 Part 1 Section 3 Structure. UK: Ministry of Defence; 2007. [4] Joint Service Specification Guide (JSSG-2006), Aircraft structures. USA: Department of Defense; 1998. [5] MIL-STD-1530A, Military standard: military structural integrity program, airplane requirements USA; 1972. [6] Dickinson T, Molent L. Validation of fatigue damage models used for F/A-18 life assessment using fatigue coupon test results, DSTO-TR-0940. Aust: Defence Science and Technology Organisation; February 2000. [7] Royal Australian Air Force, F/A-18 Hornet aircraft structural integrity management plan, issue 1. Royal Australian Air Force; 2007. [8] Adams PS, et al. F/A 18 Hornet structural appraisal of fatigue effects (safe) software manual – final report. MDC B2027. McDonnell Aircraft Company; 1990. [9] Molent L, Ogden R. Review of the RAAF F/A-18 ‘‘Structural Appraisal of Fatigue Effects’’ (SAFE) version 112, volume 1: detailed review. DSTO-TR-0381. Aust: Defence Science and Technology Organisation; 1998. [10] Mills T, Molent L. The RAAF F/A-18 Mission severity monitoring program V2, DSTO-TR-2610. Aust: Defence Science and Technology Organisation; August 2011. [11] Molent L, Aktepe B. Review of fatigue monitoring of agile military aircraft. J Fatigue Fract Eng Mater Struct 2000;23:767–85. [12] Molent L, Agius J. Agile military aircraft. In: Encyclopedia of structural health monitoring. John Wiley & Sons, Ltd.; 2009. [13] Simpson DL, Landry N, Roussel J, Molent L, Graham AD, Schmidt N. The Canadian and Australian F/A-18 international follow-on structural test project. In: Proceedings ICAS 2002 Congress, Toronto, Canada; September 2002. [14] Molent L, Dixon B, Barter S, White P, Mills T, Maxfield K, Swanton G, Main B. SQNLDR. Enhanced teardown of ex-service F/A-18A/B/C/D centre fuselages. In: Proceedings ICAF 2009, Rotterdam; 27–29 May 2009. [15] White P, Molent L, Barter S. Interpreting fatigue test results using a probabilistic fracture approach. Int J Fatigue 2005;27(7):752–67. [16] Molent L, Sun Q, Green A. Characterisation of equivalent initial flaw sizes in 7050 aluminium alloy. J Fatigue Fract Eng Mater Struct 2006;29:916–37. [17] Molent L, Barter SA, Wanhill RJH. The lead crack fatigue lifing framework. Int Fatigue 2011;33:323–31. [18] Molent L, Barter SA, and Wanhill RJH. The lead crack fatigue lifing framework, DSTO-RR-0353. Aust: Defence Science and Technology Organisation; Apr. 2010. [19] Barter S, Molent L, Goldsmith N, Jones R. An experimental evaluation of fatigue crack growth. J Eng Failure Anal 2005;12(1):99–128.