Αναγνώστες

Δευτέρα 12 Οκτωβρίου 2009

Μερικά πραγματικά παραδείγματα ζωής που δείχνουν τι μπορεί να συμβεί όταν οι αριθμητικοί αλγόριθμοι δεν εφαρμόζονται σωστά.

The Patriot Missile Failure
On February 25, 1991, during the Gulf War, an American Patriot Missile battery in Dharan, Saudi Arabia, failed to track and intercept an incoming Iraqi Scud missile. The Scud struck an American Army barracks, killing 28 soldiers and injuring around 100 other people. A report of the General Accounting office, GAO/IMTEC-92-26, entitled Patriot Missile Defense: Software Problem Led to System Failure at Dhahran, Saudi Arabia reported on the cause of the failure. It turns out that the cause was an inaccurate calculation of the time since boot due to computer arithmetic errors. Specifically, the time in tenths of second as measured by the system's internal clock was multiplied by 1/10 to produce the time in seconds. This calculation was performed using a 24 bit fixed point register. In particular, the value 1/10, which has a non-terminating binary expansion, was chopped at 24 bits after the radix point. The small chopping error, when multiplied by the large number giving the time in tenths of a second, led to a significant error. Indeed, the Patriot battery had been up around 100 hours, and an easy calculation shows that the resulting time error due to the magnified chopping error was about 0.34 seconds. (The number 1/10 equals 1/24+1/25+1/28+1/29+1/212+1/213+.... In other words, the binary expansion of 1/10 is 0.0001100110011001100110011001100.... Now the 24 bit register in the Patriot stored instead 0.00011001100110011001100 introducing an error of 0.0000000000000000000000011001100... binary, or about 0.000000095 decimal. Multiplying by the number of tenths of a second in 100 hours gives 0.000000095×100×60×60×10=0.34.) A Scud travels at about 1,676 meters per second, and so travels more than half a kilometer in this time. This was far enough that the incoming Scud was outside the "range gate" that the Patriot tracked. Ironically, the fact that the bad time calculation had been improved in some parts of the code, but not all, contributed to the problem, since it meant that the inaccuracies did not cancel.
The following paragraph is excerpted from the GAO report.
The range gate's prediction of where the Scud will next appear is a function of the Scud's known velocity and the time of the last radar detection. Velocity is a real number that can be expressed as a whole number and a decimal (e.g., 3750.2563...miles per hour). Time is kept continuously by the system's internal clock in tenths of seconds but is expressed as an integer or whole number (e.g., 32, 33, 34...). The longer the system has been running, the larger the number representing time. To predict where the Scud will next appear, both time and velocity must be expressed as real numbers. Because of the way the Patriot computer performs its calculations and the fact that its registers are only 24 bits long, the conversion of time from an integer to a real number cannot be any more precise than 24 bits. This conversion results in a loss of precision causing a less accurate time calculation. The effect of this inaccuracy on the range gate's calculation is directly proportional to the target's velocity and the length of the the system has been running. Consequently, performing the conversion after the Patriot has been running continuously for extended periods causes the range gate to shift away from the center of the target, making it less likely that the target, in this case a Scud, will be successfully intercepted.


The Explosion of the Ariane 5
On June 4, 1996 an unmanned Ariane 5 rocket launched by the European Space Agency exploded just forty seconds after its lift-off from Kourou, French Guiana. The rocket was on its first voyage, after a decade of development costing $7 billion. The destroyed rocket and its cargo were valued at $500 million. A board of inquiry investigated the causes of the explosion and in two weeks issued a report. It turned out that the cause of the failure was a software error in the inertial reference system. Specifically a 64 bit floating point number relating to the horizontal velocity of the rocket with respect to the platform was converted to a 16 bit signed integer. The number was larger than 32,767, the largest integer storeable in a 16 bit signed integer, and thus the conversion failed.
The following paragraphs are extracted from the report of the Inquiry Board. An interesting article on the accident and its implications by James Gleick appeared in The New York Times Magazine of 1 December 1996. The CNN article reporting the explosion, from which the above graphics were taken, is also available.
On 4 June 1996, the maiden flight of the Ariane 5 launcher ended in a failure. Only about 40 seconds after initiation of the flight sequence, at an altitude of about 3700 m, the launcher veered off its flight path, broke up and exploded.
The failure of the Ariane 501 was caused by the complete loss of guidance and attitude information 37 seconds after start of the main engine ignition sequence (30 seconds after lift-off). This loss of information was due to specification and design errors in the software of the inertial reference system.
The internal SRI* software exception was caused during execution of a data conversion from 64-bit floating point to 16-bit signed integer value. The floating point number which was converted had a value greater than what could be represented by a 16-bit signed integer.
*SRI stands for Système de Référence Inertielle or Inertial Reference System.


The sinking of the Sleipner A offshore platform
Excerpted from a report of SINTEF, Civil and Environmental Engineering: The Sleipner A platform produces oil and gas in the North Sea and is supported on the seabed at a water depth of 82 m. It is a Condeep type platform with a concrete gravity base structure consisting of 24 cells and with a total base area of 16 000 m2. Four cells are elongated to shafts supporting the platform deck. The first concrete base structure for Sleipner A sprang a leak and sank under a controlled ballasting operation during preparation for deck mating in Gandsfjorden outside Stavanger, Norway on 23 August 1991. Immediately after the accident, the owner of the platform, Statoil, a Norwegian oil company appointed an investigation group, and SINTEF was contracted to be the technical advisor for this group. The investigation into the accident is described in 16 reports... The conclusion of the investigation was that the loss was caused by a failure in a cell wall, resulting in a serious crack and a leakage that the pumps were not able to cope with. The wall failed as a result of a combination of a serious error in the finite element analysis and insufficient anchorage of the reinforcement in a critical zone. A better idea of what was involved can be obtained from this photo and sketch of the platform. The top deck weighs 57,000 tons, and provides accommodation for about 200 people and support for drilling equipment weighing about 40,000 tons. When the first model sank in August 1991, the crash caused a seismic event registering 3.0 on the Richter scale, and left nothing but a pile of debris at 220m of depth. The failure involved a total economic loss of about $700 million. The 24 cells and 4 shafts referred to above are shown to the left while at the sea surface. The cells are 12m in diameter. The cell wall failure was traced to a tricell, a triangular concrete frame placed where the cells meet, as indicated in the diagram below. To the right of the diagram is pictured a portion of tricell undergoing failure testing.
The post accident investigation traced the error to inaccurate finite element approximation of the linear elastic model of the tricell (using the popular finite element program NASTRAN). The shear stresses were underestimated by 47%, leading to insufficient design. In particular, certain concrete walls were not thick enough. More careful finite element analysis, made after the accident, predicted that failure would occur with this design at a depth of 62m, which matches well with the actual occurrence at 65m. Further information can be found in a series of reports available for purchase from SINTEF and in the following articles: The Sleipner Platform Accident, by B. Jakobsen and F. Rosendahl, Structural Engineering International 4(3), August 1994, pp. 190-193. The Failure of an Offshore Platform, by R. G. Selby, F. J. Vecchio, and M. P. Collins, Concrete International 19(8), August 1997, pp. 28-35.

Πέμπτη 1 Οκτωβρίου 2009

Πριν καλά-καλά ξεκινήσει το ιστορικό πείραμα στον μεγάλο επιταχυντή αδρονίων (LHC) στο CERN, κάτι που αναμένεται να γίνει μέσα στο Νοέμβριο, ο γενικός διευθυντής του Ρολφ-Ντίτερ Χόιερ δήλωσε ότι θα καταβάλει προσπάθειες για να κατασκευαστεί στο CERN και ο μελλοντικός «γραμμικός επιταχυντής», το επόμενο μεγάλο πείραμα στον χώρο της σωματιδιακής φυσικής διεθνώς.

Όπως είπε ο Χόιερ, σε συνέντευξή του στο physicsworld.com, η δημιουργία του νέου μεγάλου επιταχυντή (γραμμικού πλέον και όχι κυκλικού όπως αυτός που υπάρχει σήμερα στο υπόγειο τούνελ μήκους 27 χλμ. κάτω από τα γαλλο-ελβετικά σύνορα), εντάσσεται στα σχέδιά του να διεθνοποιήσει περαιτέρω το CERN.

Όμως για τον γραμμικό επιταχυντή, γνωστό και ως «CLIC», στον οποίο θα συγκρούονται ηλεκτρόνια και αντι-ηλεκτρόνια (ή ποζιτρόνια), αναμένεται σκληρός ανταγωνισμός από εναλλακτικές υποψηφιότητες για την φιλοξενία του, ιδίως από το αμερικανικό Fermilab, όπου βρίσκεται ο επιταχυντής Tevatron, ο κυριότερος ανταγωνιστής του επιταχυντή αδρονίων του CERN.

Το CERN άρχισε ήδη να αναπτύσσει στα χαρτιά ένα μοντέλο του μελλοντικού γραμμικού επιταχυντή, ενώ ένα ανταγωνιστικό σχέδιο, γνωστό ως «Διεθνής Γραμμικός Επιταχυντής», ήδη αναπτύσσεται από το Ινστιτούτο Τεχνολογίας της Καλιφόρνιας (Caltech).

Ο Χόιερ (η θητεία του οποίου λήγει στο τέλος του 2013) επιβεβαίωσε ότι ο υπάρχων επιταχυντής αδρονίων θα επαναλειτουργήσει στα μέσα Νοεμβρίου φέτος, μετά την περυσινή σοβαρή βλάβη που τον έθεσε εκτός «μάχης» για πάνω από ένα χρόνο, και αφού μεσολάβησε η επισκευή ή αντικατάσταση 53 μαγνητών. Οι πρώτες συγκρούσεις σωματιδίων (πρωτονίων) θα αρχίσουν λίγες εβδομάδες αργότερα, προς το τέλος του 2009 ή στις αρχές του 2010.

Οι πρώτες συγκρούσεις πρωτονίων θα γίνουν συντηρητικά, με ενέργεια μόλις 450 GeV ανά ακτίνα, πριν επιχειρηθούν σφοδρότερες συγκρούσεις με ενέργεια 3,5 TeV ανά ακτίνα. Σύμφωνα με τον Χόιερ, ο επιταχυντής θα εργαστεί με αυτή την ενεργειακή ισχύ για αρκετούς μήνες και στη συνέχεια, αναλόγως και των ευρημάτων του, κάποια στιγμή μέσα στο 2010, οι συγκρούσεις σωματιδίων θα γίνουν ακόμα ισχυρότερες, στα 5 TeV ανά ακτίνα, δηλαδή συνολικά 10 ΤeV στο σημείο συνάντησης των δύο ακτινών από αντίθετη κατεύθυνση.

Μέσα στο 2011 και αν όλα έχουν πάει καλά, οι συγκρούσεις θα φτάσουν τη μέγιστη ενέργεια των 7 TeV ανά ακτίνα. Η μεγάλη ελπίδα της παγκόσμιας κοινότητας των φυσικών είναι ότι οι συγκρούσεις αυτές θα αποκαλύψουν το «μποζόνιο του Χιγκς» και άλλα «εξωτικά» σωματίδια ύλης.

Αν και ο σχεδιαζόμενος γραμμικός επιταχυντής θα λειτουργεί σε χαμηλότερο ενεργειακό επίπεδο σε σχέση με τον σημερινό επιταχυντή αδρονίων, θα είναι σε θέση να κάνει ακριβέστερες μετρήσεις, επειδή οι συγκρούσεις ηλεκτρονίων-ποζιτρονίων θεωρούνται «καθαρότερες» σε σχέση με τις συγκρούσεις πρωτονίων του LHC.

Μολονότι το CERN ιδρύθηκε το 1954 ως αμιγώς ευρωπαϊκή επιστημονική εγκατάσταση, επιτρέπει σε άλλες μη ευρωπαϊκές χώρες να γίνουν μέλη του και αρκετοί φυσικοί άλλων χωρών (ιδίως από τις ΗΠΑ) έχουν βοηθήσει σημαντικά στη δημιουργία του μεγάλου επιταχυντή αδρονίων.