1. Introduction

1.1. Context

ESonix is a Rapid Decompression Analysis software. The “User Manual” aims to provide an overview of the usage of ESonix, and is not intended to be a decompression theoretical manual. For further theoretical references and guides to build a realistic and certifiable model, user is invited to refer to [CDS17].

One of the best presentation of the aircraft rapid decompression is made by J. D. Pratt in [Pra06].

Passenger aircraft that fly above 2500m altitude are […] pressurized for passenger comfort and safety. The fuselage air is siphoned off of the high pressure compressor section of the engines and conditioned on its way into the passenger compartments. The passenger compartments are maintained at pressures corresponding to 2500 to 3000m altitude.

[…]

Rapid pressure loss can occur for a variety of reasons, including structural failure of the fuselage, loss of a window, or failure of a cargo door. Engine failures have been known to result in the puncture of pressurized fuselages by broken turbine blades. Regardless of the origin, the fuselage air mass requires time to move through passageways and out of the breach. This results in an unequal pressure distribution immediately following the event, which can cause further damage to the aircraft and increase the likelihood of injury to its occupants.

1.2. Requirements overview

Performing a decompression analysis requires three kind of data or knowledge:

  • The Aircraft geometry, or Aircraft model, describing volumes and connections between volumes.
  • Regulations provide some of the data used to define load cases
  • Physics (thermodynamics for airflow calculations) and solid dynamics for dynamical opening of decompression features)

System Message: WARNING/2 (\path[mindmap,concept color=black!70,text=white] node[concept] {Decompression Analysis} [clockwise from=0] child[concept color=green!80!black,text=black!90] { node[concept] {Aircraft\ Model} [clockwise from=90] child { node[concept] {volumes} } child { node[concept] {vents} } child { node[concept] {load\ cases} } } child[concept color=blue!60,text=black!95] { node[concept] {Regulations} [clockwise from=-30] child { node[concept] {FAR\ 25.365} } child { node[concept] {CS25} } } child[concept color=red!70,text=black!90] { node[concept] {Physics} [clockwise from=-120] child { node[concept] {Thermo-\ dynamic} } child { node[concept] {Solid\ dynamic} } };)

! Undefined control sequence.\n\\sa@placebox ->\\newpage \\global \\pdfpagewidth \n =\\wd \\sa@box \\global \\pdfpageh...\n\nl.32 \\end{tikzpicture}\n \n! You can't use a prefix with `the character ='.\n<to be read again> \n=\nl.32 \\end{tikzpicture}\n \n! Missing number, treated as zero.\n<to be read again> \n\\global \nl.32 \\end{tikzpicture}\n \n! Illegal unit of measure (pt inserted).\n<to be read again> \n\\global \nl.32 \\end{tikzpicture}\n \n! Undefined control sequence.\n\\sa@placebox ...wd \\sa@box \\global \\pdfpageheight \n =\\ht \\sa@box \\global \\pape...\n\nl.32 \\end{tikzpicture}\n \n! You can't use a prefix with `the character ='.\n<to be read again> \n=\nl.32 \\end{tikzpicture}\n \n! Missing number, treated as zero.\n<to be read again> \n\\global \nl.32 \\end{tikzpicture}\n \n! Illegal unit of measure (pt inserted).\n<to be read again> \n\\global \nl.32 \\end{tikzpicture}\n \n\nOverfull \\hbox (36.288pt too wide) in paragraph at lines 32--32\n[]\\TU/lmr/m/n/12 ==[] \n[1] [2{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./tikz.aux))\n(see the transcript file for additional information)\n 425 words of node memory still in use:\n 5 hlist, 2 vlist, 2 rule, 2 glue, 1 kern, 5 attribute, 48 glue_spec, 5 attri\nbute_list, 1 write nodes\n avail lists: 2:1923,3:1176,4:13,5:34,6:273,7:933,8:7,9:301,10:2,11:26\n</usr/share/texmf/fonts/opentype/public/lm/lmroman10-regular.otf></usr/share/te\nxmf/fonts/opentype/public/lm/lmroman12-regular.otf>\nOutput written on tikz.pdf (2 pages, 13980 bytes).\nTranscript written on tikz.log.\n