├── BibTeX Export-Zh.ens ├── Book-Cover.tex ├── DEMO ├── 120s-Modal-Deformed.png ├── 3D-Feedlink-Scheme.eps ├── 3D-Stability-Curve.eps ├── 3D-Stability-Real-Imag.eps ├── 50s-Modal-Deformed.png ├── Accumulator.pdf ├── Axial-Symmetric-Tank-Model.pdf ├── Baffle.eps ├── Bellow.pdf ├── Book-Cover.pdf ├── Book-Cover.tex ├── Chapter01.tex ├── Chapter02.tex ├── Chapter03.tex ├── Chapter04.tex ├── Damping-Ration-Yang.eps ├── Deformed-Modal.pdf ├── FDUThesis.sty ├── FDUbib.bst ├── FEM-Tank-Bottom.pdf ├── Fitted-Transfer-01.pdf ├── Fitted-Transfer-02.pdf ├── Forewords.tex ├── FudanLOGO.eps ├── General-Liquid-Tank.pdf ├── Inter-connect.jpg ├── Intro.tex ├── Liquid-Tank-FEM-MSC.pdf ├── Lumped-Frequency-Curve.pdf ├── Lumped-Mass-Spring-Glaser.eps ├── Lumped-Max-Eigen-Curve.pdf ├── Multiplex.pdf ├── POGO-Analog.eps ├── POGO-Typical.pdf ├── Pandoxie-BiB.bib ├── Patran-Tank-Bottom.png ├── PipeLines.pdf ├── Pump.pdf ├── Ring-Baffle-Damping-Curve.pdf ├── SaturnV-Stage1.jpg ├── SaturnV-Stage2.jpg ├── Simplified-Tank-Model.pdf ├── Straight-Tube.pdf ├── Struture-Feedline-Interaction-Diagram.pdf ├── TF-Card-Construction.eps ├── Thesis.ist ├── Thesis.tex ├── Thrust.pdf ├── Time-Varing-Tank-Height.eps ├── Whole-Rocket-Model.eps └── telemetry-typical.pdf ├── FDUThesis.sty ├── FDUbib.bst ├── FudanLOGO.eps ├── LICENSE.md ├── Pandoxie-BiB.bib ├── README.md ├── Thesis.ist └── Thesis.tex /BibTeX Export-Zh.ens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/BibTeX Export-Zh.ens -------------------------------------------------------------------------------- /Book-Cover.tex: -------------------------------------------------------------------------------- 1 | % !TEX encoding = UTF-8 Unicode 2 | % XeLaTeX can use any Mac OS X font. See the setromanfont command below. 3 | % Input to XeLaTeX is full Unicode, so Unicode characters can be typed directly into the source. 4 | 5 | % The next lines tell TeXShop to typeset with xelatex, and to open and save the source with Unicode encoding. 6 | 7 | %!TEX TS-program = xelatex 8 | 9 | \documentclass[12pt]{article} 10 | \usepackage[bottom=3cm]{geometry} % See geometry.pdf to learn the layout options. There are lots. 11 | \geometry{letterpaper} % ... or a4paper or a5paper or ... 12 | %\geometry{landscape} % Activate for for rotated page geometry 13 | %\usepackage[parfill]{parskip} % Activate to begin paragraphs with an empty line rather than an indent 14 | \usepackage{graphicx} 15 | \usepackage{amssymb} 16 | \usepackage{calc} 17 | \usepackage{graphicx} 18 | \pagestyle{empty} 19 | 20 | 21 | %CJK Font Setup 22 | \usepackage[PunctStyle=kaiming,AutoFakeBold=false,AutoFakeSlant=false]{xeCJK} 23 | \setCJKmainfont[BoldFont={Songti SC Bold},ItalicFont={KaiTi}] {SimSun} 24 | \setCJKsansfont[BoldFont={Heiti SC Medium}]{Heiti SC} 25 | \setCJKmonofont[BoldFont={Hiragino Sans GB W6}]{Hiragino Sans GB W3} 26 | 27 | % Will Robertson's fontspec.sty can be used to simplify font choices. 28 | % To experiment, open /Applications/Font Book to examine the fonts provided on Mac OS X, 29 | % and change "Hoefler Text" to any of these choices. 30 | 31 | %English Font Setup 32 | \usepackage{fontspec,xltxtra,xunicode} 33 | \defaultfontfeatures{Mapping=tex-text} 34 | \setmainfont{Times New Roman} 35 | \setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Calibri} 36 | \setmonofont[Scale=MatchLowercase]{Courier New} 37 | 38 | 39 | \author{Xu Deyuan $<$\href{mailto:xudeyuanghw@gmail.com}% 40 | {xudeyuanghw@gmail.com}$>$} 41 | %\date{} % Activate to display a given date or no date 42 | 43 | \newlength{\Han} 44 | \settowidth{\Han}{汉} 45 | \newcommand{\spreadCJK}[2]{\makebox[#1\Han][s]{#2}} 46 | 47 | \begin{document} 48 | \setlength{\headsep}{0cm} 49 | 50 | \begin{flushright} 51 | \parbox[c]{6em}{ % 52 | {\small \makebox[\width][c]{学校代码:\quad10246 }\par 53 | \makebox[\width][c]{学\phantom{占位}号:\quad09110290005}}} 54 | \end{flushright} 55 | \vspace{\stretch{0.5}} 56 | 57 | \begin{figure}[htbp] 58 | \begin{center} 59 | \includegraphics[width=0.5\textwidth]{FudanLOGO.eps} 60 | \end{center} 61 | \end{figure} 62 | 63 | \vspace{\stretch{0.5}} 64 | \begin{center} 65 | {\Huge \makebox [0.45\textwidth][s]{博士学位论文}\par} 66 | \vspace{\stretch{1.5}} 67 | {\LARGE \textsf{液体火箭纵向耦合振动稳定性分析}\par} 68 | \vspace{\stretch{0.5}} 69 | {\Large \textrm{Stability Analysis of Coupled Longitudinal Oscillation of Liquid Rocket}\par} 70 | 71 | \vspace{\stretch{2}} 72 | \parbox[c]{0.5\textwidth}{% 73 | \large \setlength{\baselineskip}{1.5\baselineskip}% 74 | \spreadCJK{8}{院系}:\quad 力学与工程科学系\par 75 | \spreadCJK{8}{专业}:\quad 流体力学\par 76 | \spreadCJK{8}{姓名}:\quad 徐得元\par 77 | \spreadCJK{8}{指导老师}:\quad 唐国安 \quad 教授\par 78 | \spreadCJK{8}{完成日期}:\quad 2014年4月1日} 79 | \end{center} 80 | 81 | \end{document} -------------------------------------------------------------------------------- /DEMO/120s-Modal-Deformed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/120s-Modal-Deformed.png -------------------------------------------------------------------------------- /DEMO/3D-Stability-Curve.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-3.0 EPSF-3.0 2 | %%Creator: MATLAB, The MathWorks, Inc. Version 8.1.0.604 (R2013a). Operating System: Darwin 13.2.0 Darwin Kernel Version 13.2.0: Thu Apr 17 23:03:13 PDT 2014; root:xnu-2422.100.13~1/RELEASE_X86_64 x86_64. 3 | %%Title: /Users/Pandoxie/Desktop/3D-Stability-Curve.eps 4 | %%CreationDate: 06/07/2014 09:49:47 5 | %%DocumentNeededFonts: Helvetica 6 | %%DocumentProcessColors: Cyan Magenta Yellow Black 7 | %%LanguageLevel: 2 8 | %%Pages: 1 9 | %%BoundingBox: -176 36 789 755 10 | %%EndComments 11 | 12 | %%BeginProlog 13 | % MathWorks dictionary 14 | /MathWorks 160 dict begin 15 | % definition operators 16 | /bdef {bind def} bind def 17 | /ldef {load def} bind def 18 | /xdef {exch def} bdef 19 | /xstore {exch store} bdef 20 | % operator abbreviations 21 | /c /clip ldef 22 | /cc /concat ldef 23 | /cp /closepath ldef 24 | /gr /grestore ldef 25 | /gs /gsave ldef 26 | /mt /moveto ldef 27 | /np /newpath ldef 28 | /cm /currentmatrix ldef 29 | /sm /setmatrix ldef 30 | /rm /rmoveto ldef 31 | /rl /rlineto ldef 32 | /s {show newpath} bdef 33 | /sc {setcmykcolor} bdef 34 | /sr /setrgbcolor ldef 35 | /sg /setgray ldef 36 | /w /setlinewidth ldef 37 | /j /setlinejoin ldef 38 | /cap /setlinecap ldef 39 | /rc {rectclip} bdef 40 | /rf {rectfill} bdef 41 | % page state control 42 | /pgsv () def 43 | /bpage {/pgsv save def} bdef 44 | /epage {pgsv restore} bdef 45 | /bplot /gsave ldef 46 | /eplot {stroke grestore} bdef 47 | % orientation switch 48 | /portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def 49 | % coordinate system mappings 50 | /dpi2point 0 def 51 | % font control 52 | /FontSize 0 def 53 | /FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] 54 | makefont setfont} bdef 55 | /reencode {exch dup where {pop load} {pop StandardEncoding} ifelse 56 | exch dup 3 1 roll findfont dup length dict begin 57 | { 1 index /FID ne {def}{pop pop} ifelse } forall 58 | /Encoding exch def currentdict end definefont pop} bdef 59 | /isroman {findfont /CharStrings get /Agrave known} bdef 60 | /FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse 61 | exch FMS} bdef 62 | /csm {1 dpi2point div -1 dpi2point div scale neg translate 63 | dup landscapeMode eq {pop -90 rotate} 64 | {rotateMode eq {90 rotate} if} ifelse} bdef 65 | % line types: solid, dotted, dashed, dotdash 66 | /SO { [] 0 setdash } bdef 67 | /DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef 68 | /DA { [6 dpi2point mul] 0 setdash } bdef 69 | /DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 70 | dpi2point mul] 0 setdash } bdef 71 | % macros for lines and objects 72 | /L {lineto stroke} bdef 73 | /MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef 74 | /AP {{rlineto} repeat} bdef 75 | /PDlw -1 def 76 | /W {/PDlw currentlinewidth def setlinewidth} def 77 | /PP {closepath eofill} bdef 78 | /DP {closepath stroke} bdef 79 | /MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto 80 | neg 0 exch rlineto closepath} bdef 81 | /FR {MR stroke} bdef 82 | /PR {MR fill} bdef 83 | /L1i {{currentfile picstr readhexstring pop} image} bdef 84 | /tMatrix matrix def 85 | /MakeOval {newpath tMatrix currentmatrix pop translate scale 86 | 0 0 1 0 360 arc tMatrix setmatrix} bdef 87 | /FO {MakeOval stroke} bdef 88 | /PO {MakeOval fill} bdef 89 | /PD {currentlinewidth 2 div 0 360 arc fill 90 | PDlw -1 eq not {PDlw w /PDlw -1 def} if} def 91 | /FA {newpath tMatrix currentmatrix pop translate scale 92 | 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef 93 | /PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale 94 | 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef 95 | /FAn {newpath tMatrix currentmatrix pop translate scale 96 | 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef 97 | /PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale 98 | 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef 99 | /vradius 0 def /hradius 0 def /lry 0 def 100 | /lrx 0 def /uly 0 def /ulx 0 def /rad 0 def 101 | /MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef 102 | /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly 103 | vradius add translate hradius vradius scale 0 0 1 180 270 arc 104 | tMatrix setmatrix lrx hradius sub uly vradius add translate 105 | hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix 106 | lrx hradius sub lry vradius sub translate hradius vradius scale 107 | 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub 108 | translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix 109 | closepath} bdef 110 | /FRR {MRR stroke } bdef 111 | /PRR {MRR fill } bdef 112 | /MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def 113 | newpath tMatrix currentmatrix pop ulx rad add uly rad add translate 114 | rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad 115 | sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix 116 | closepath} bdef 117 | /FlrRR {MlrRR stroke } bdef 118 | /PlrRR {MlrRR fill } bdef 119 | /MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def 120 | newpath tMatrix currentmatrix pop ulx rad add uly rad add translate 121 | rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad 122 | sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix 123 | closepath} bdef 124 | /FtbRR {MtbRR stroke } bdef 125 | /PtbRR {MtbRR fill } bdef 126 | /stri 6 array def /dtri 6 array def 127 | /smat 6 array def /dmat 6 array def 128 | /tmat1 6 array def /tmat2 6 array def /dif 3 array def 129 | /asub {/ind2 exch def /ind1 exch def dup dup 130 | ind1 get exch ind2 get sub exch } bdef 131 | /tri_to_matrix { 132 | 2 0 asub 3 1 asub 4 0 asub 5 1 asub 133 | dup 0 get exch 1 get 7 -1 roll astore } bdef 134 | /compute_transform { 135 | dmat dtri tri_to_matrix tmat1 invertmatrix 136 | smat stri tri_to_matrix tmat2 concatmatrix } bdef 137 | /ds {stri astore pop} bdef 138 | /dt {dtri astore pop} bdef 139 | /db {2 copy /cols xdef /rows xdef mul dup 3 mul string 140 | currentfile 141 | 3 index 0 eq {/ASCIIHexDecode filter} 142 | {/ASCII85Decode filter 3 index 2 eq {/RunLengthDecode filter} if } 143 | ifelse exch readstring pop 144 | dup 0 3 index getinterval /rbmap xdef 145 | dup 2 index dup getinterval /gbmap xdef 146 | 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef 147 | /it {gs np dtri aload pop moveto lineto lineto cp c 148 | cols rows 8 compute_transform 149 | rbmap gbmap bbmap true 3 colorimage gr}bdef 150 | /il {newpath moveto lineto stroke}bdef 151 | currentdict end def 152 | %%EndProlog 153 | 154 | %%BeginSetup 155 | MathWorks begin 156 | 157 | 0 cap 158 | 159 | end 160 | %%EndSetup 161 | 162 | %%Page: 1 1 163 | %%BeginPageSetup 164 | %%PageBoundingBox: -176 36 789 755 165 | MathWorks begin 166 | bpage 167 | %%EndPageSetup 168 | 169 | %%BeginObject: obj1 170 | bplot 171 | 172 | /dpi2point 12 def 173 | portraitMode -2112 9060 csm 174 | 175 | 0 0 11591 8617 rc 176 | 86 dict begin %Colortable dictionary 177 | /c0 { 0.000000 0.000000 0.000000 sr} bdef 178 | /c1 { 1.000000 1.000000 1.000000 sr} bdef 179 | /c2 { 0.900000 0.000000 0.000000 sr} bdef 180 | /c3 { 0.000000 0.820000 0.000000 sr} bdef 181 | /c4 { 0.000000 0.000000 0.800000 sr} bdef 182 | /c5 { 0.910000 0.820000 0.320000 sr} bdef 183 | /c6 { 1.000000 0.260000 0.820000 sr} bdef 184 | /c7 { 0.000000 0.820000 0.820000 sr} bdef 185 | c0 186 | 1 j 187 | 1 sg 188 | 0 0 11592 8618 rf 189 | 6 w 190 | -4492 2056 4492 2057 4491 -2057 1519 5612 4 MP 191 | PP 192 | -4491 -2056 -4492 2056 4492 2057 4491 -2057 1519 5612 5 MP stroke 193 | 0 2910 4491 -2057 0 -2910 1519 5612 4 MP 194 | PP 195 | -4491 2057 0 2910 4491 -2057 0 -2910 1519 5612 5 MP stroke 196 | 0 2910 4492 2057 0 -2910 6010 3555 4 MP 197 | PP 198 | -4492 -2057 0 2910 4492 2057 0 -2910 6010 3555 5 MP stroke 199 | 4 w 200 | DO 201 | 0 sg 202 | 1519 5612 mt 6010 3555 L 203 | 6010 3555 mt 6010 645 L 204 | 6010 7668 mt 10502 5612 L 205 | 10502 5612 mt 10502 2702 L 206 | 6010 7668 mt 1519 5612 L 207 | 1519 5612 mt 1519 2702 L 208 | 10502 5612 mt 6010 3555 L 209 | 6010 3555 mt 6010 645 L 210 | 1519 5612 mt 6010 3555 L 211 | 6010 3555 mt 10502 5612 L 212 | SO 213 | 6 w 214 | 1519 5612 mt 6010 7668 L 215 | 6010 7668 mt 10502 5612 L 216 | 1519 5612 mt 1519 2702 L 217 | 1519 5612 mt 1406 5663 L 218 | %%IncludeResource: font Helvetica 219 | /Helvetica /ISOLatin1Encoding 120 FMSR 220 | 221 | 1309 5788 mt 222 | (0) s 223 | 6010 7668 mt 5898 7720 L 224 | 5800 7845 mt 225 | (1) s 226 | 6010 7668 mt 6122 7720 L 227 | 6154 7845 mt 228 | (0) s 229 | 10502 5612 mt 10614 5663 L 230 | 10645 5788 mt 231 | (1) s 232 | 1519 5612 mt 1406 5560 L 233 | 1309 5590 mt 234 | (0) s 235 | gs 1519 645 8984 7024 rc 236 | gr 237 | 238 | 1 sg 239 | 60 60 9836 5499 PO 240 | /c8 { 1.000000 0.000000 0.000000 sr} bdef 241 | c8 242 | 60 60 9836 5499 FO 243 | gs 1519 645 8984 7024 rc 244 | gr 245 | 246 | 1 sg 247 | 60 60 3341 6266 PO 248 | c8 249 | 60 60 3341 6266 FO 250 | gs 1519 645 8984 7024 rc 251 | gr 252 | 253 | 1 sg 254 | 60 60 4790 6440 PO 255 | c8 256 | 60 60 4790 6440 FO 257 | gs 1519 645 8984 7024 rc 258 | gr 259 | 260 | 1 sg 261 | 60 60 5760 4356 PO 262 | c8 263 | 60 60 5760 4356 FO 264 | gs 1519 645 8984 7024 rc 265 | gr 266 | 267 | 1 sg 268 | 60 60 9802 5403 PO 269 | c8 270 | 60 60 9802 5403 FO 271 | gs 1519 645 8984 7024 rc 272 | gr 273 | 274 | 1 sg 275 | 60 60 3373 6177 PO 276 | c8 277 | 60 60 3373 6177 FO 278 | gs 1519 645 8984 7024 rc 279 | gr 280 | 281 | 1 sg 282 | 60 60 4768 6321 PO 283 | c8 284 | 60 60 4768 6321 FO 285 | gs 1519 645 8984 7024 rc 286 | gr 287 | 288 | 1 sg 289 | 60 60 5823 4262 PO 290 | c8 291 | 60 60 5823 4262 FO 292 | gs 1519 645 8984 7024 rc 293 | gr 294 | 295 | 1 sg 296 | 60 60 9768 5309 PO 297 | c8 298 | 60 60 9768 5309 FO 299 | gs 1519 645 8984 7024 rc 300 | gr 301 | 302 | 1 sg 303 | 60 60 3405 6091 PO 304 | c8 305 | 60 60 3405 6091 FO 306 | gs 1519 645 8984 7024 rc 307 | gr 308 | 309 | 1 sg 310 | 60 60 9734 5215 PO 311 | c8 312 | 60 60 9734 5215 FO 313 | gs 1519 645 8984 7024 rc 314 | gr 315 | 316 | 1 sg 317 | 60 60 4744 6207 PO 318 | c8 319 | 60 60 4744 6207 FO 320 | gs 1519 645 8984 7024 rc 321 | gr 322 | 323 | 1 sg 324 | 60 60 5887 4169 PO 325 | c8 326 | 60 60 5887 4169 FO 327 | gs 1519 645 8984 7024 rc 328 | gr 329 | 330 | 1 sg 331 | 60 60 3437 6008 PO 332 | c8 333 | 60 60 3437 6008 FO 334 | gs 1519 645 8984 7024 rc 335 | gr 336 | 337 | 1 sg 338 | 60 60 9700 5123 PO 339 | c8 340 | 60 60 9700 5123 FO 341 | gs 1519 645 8984 7024 rc 342 | gr 343 | 344 | 1 sg 345 | 60 60 4721 6097 PO 346 | c8 347 | 60 60 4721 6097 FO 348 | gs 1519 645 8984 7024 rc 349 | gr 350 | 351 | 1 sg 352 | 60 60 5950 4079 PO 353 | c8 354 | 60 60 5950 4079 FO 355 | gs 1519 645 8984 7024 rc 356 | gr 357 | 358 | 1 sg 359 | 60 60 3468 5927 PO 360 | c8 361 | 60 60 3468 5927 FO 362 | gs 1519 645 8984 7024 rc 363 | gr 364 | 365 | 1 sg 366 | 60 60 9665 5032 PO 367 | c8 368 | 60 60 9665 5032 FO 369 | gs 1519 645 8984 7024 rc 370 | gr 371 | 372 | 1 sg 373 | 60 60 3499 5848 PO 374 | c8 375 | 60 60 3499 5848 FO 376 | gs 1519 645 8984 7024 rc 377 | gr 378 | 379 | 1 sg 380 | 60 60 4697 5991 PO 381 | c8 382 | 60 60 4697 5991 FO 383 | gs 1519 645 8984 7024 rc 384 | gr 385 | 386 | 1 sg 387 | 60 60 6013 3990 PO 388 | c8 389 | 60 60 6013 3990 FO 390 | gs 1519 645 8984 7024 rc 391 | gr 392 | 393 | 1 sg 394 | 60 60 9630 4943 PO 395 | c8 396 | 60 60 9630 4943 FO 397 | gs 1519 645 8984 7024 rc 398 | gr 399 | 400 | 1 sg 401 | 60 60 3531 5773 PO 402 | c8 403 | 60 60 3531 5773 FO 404 | gs 1519 645 8984 7024 rc 405 | gr 406 | 407 | 1 sg 408 | 60 60 9595 4854 PO 409 | c8 410 | 60 60 9595 4854 FO 411 | gs 1519 645 8984 7024 rc 412 | gr 413 | 414 | 1 sg 415 | 60 60 4673 5891 PO 416 | c8 417 | 60 60 4673 5891 FO 418 | gs 1519 645 8984 7024 rc 419 | gr 420 | 421 | 1 sg 422 | 60 60 6076 3902 PO 423 | c8 424 | 60 60 6076 3902 FO 425 | gs 1519 645 8984 7024 rc 426 | gr 427 | 428 | 1 sg 429 | 60 60 3562 5700 PO 430 | c8 431 | 60 60 3562 5700 FO 432 | gs 1519 645 8984 7024 rc 433 | gr 434 | 435 | 1 sg 436 | 60 60 9560 4767 PO 437 | c8 438 | 60 60 9560 4767 FO 439 | gs 1519 645 8984 7024 rc 440 | gr 441 | 442 | 1 sg 443 | 60 60 4649 5795 PO 444 | c8 445 | 60 60 4649 5795 FO 446 | gs 1519 645 8984 7024 rc 447 | gr 448 | 449 | 1 sg 450 | 60 60 3592 5630 PO 451 | c8 452 | 60 60 3592 5630 FO 453 | gs 1519 645 8984 7024 rc 454 | gr 455 | 456 | 1 sg 457 | 60 60 6139 3815 PO 458 | c8 459 | 60 60 6139 3815 FO 460 | gs 1519 645 8984 7024 rc 461 | gr 462 | 463 | 1 sg 464 | 60 60 9524 4682 PO 465 | c8 466 | 60 60 9524 4682 FO 467 | gs 1519 645 8984 7024 rc 468 | gr 469 | 470 | 1 sg 471 | 60 60 4624 5704 PO 472 | c8 473 | 60 60 4624 5704 FO 474 | gs 1519 645 8984 7024 rc 475 | gr 476 | 477 | 1 sg 478 | 60 60 3623 5563 PO 479 | c8 480 | 60 60 3623 5563 FO 481 | gs 1519 645 8984 7024 rc 482 | gr 483 | 484 | 1 sg 485 | 60 60 6201 3728 PO 486 | c8 487 | 60 60 6201 3728 FO 488 | gs 1519 645 8984 7024 rc 489 | gr 490 | 491 | 1 sg 492 | 60 60 9488 4597 PO 493 | c8 494 | 60 60 9488 4597 FO 495 | gs 1519 645 8984 7024 rc 496 | gr 497 | 498 | 1 sg 499 | 60 60 3653 5499 PO 500 | c8 501 | 60 60 3653 5499 FO 502 | gs 1519 645 8984 7024 rc 503 | gr 504 | 505 | 1 sg 506 | 60 60 4599 5618 PO 507 | c8 508 | 60 60 4599 5618 FO 509 | gs 1519 645 8984 7024 rc 510 | gr 511 | 512 | 1 sg 513 | 60 60 9452 4514 PO 514 | c8 515 | 60 60 9452 4514 FO 516 | gs 1519 645 8984 7024 rc 517 | gr 518 | 519 | 1 sg 520 | 60 60 3684 5438 PO 521 | c8 522 | 60 60 3684 5438 FO 523 | gs 1519 645 8984 7024 rc 524 | gr 525 | 526 | 1 sg 527 | 60 60 6263 3638 PO 528 | c8 529 | 60 60 6263 3638 FO 530 | gs 1519 645 8984 7024 rc 531 | gr 532 | 533 | 1 sg 534 | 60 60 4574 5537 PO 535 | c8 536 | 60 60 4574 5537 FO 537 | gs 1519 645 8984 7024 rc 538 | gr 539 | 540 | 1 sg 541 | 60 60 9416 4433 PO 542 | c8 543 | 60 60 9416 4433 FO 544 | gs 1519 645 8984 7024 rc 545 | gr 546 | 547 | 1 sg 548 | 60 60 3714 5380 PO 549 | c8 550 | 60 60 3714 5380 FO 551 | gs 1519 645 8984 7024 rc 552 | gr 553 | 554 | 1 sg 555 | 60 60 4549 5461 PO 556 | c8 557 | 60 60 4549 5461 FO 558 | gs 1519 645 8984 7024 rc 559 | gr 560 | 561 | 1 sg 562 | 60 60 6324 3549 PO 563 | c8 564 | 60 60 6324 3549 FO 565 | gs 1519 645 8984 7024 rc 566 | gr 567 | 568 | 1 sg 569 | 60 60 3743 5325 PO 570 | c8 571 | 60 60 3743 5325 FO 572 | gs 1519 645 8984 7024 rc 573 | gr 574 | 575 | 1 sg 576 | 60 60 9380 4352 PO 577 | c8 578 | 60 60 9380 4352 FO 579 | gs 1519 645 8984 7024 rc 580 | gr 581 | 582 | 1 sg 583 | 60 60 4524 5391 PO 584 | c8 585 | 60 60 4524 5391 FO 586 | gs 1519 645 8984 7024 rc 587 | gr 588 | 589 | 1 sg 590 | 60 60 3773 5273 PO 591 | c8 592 | 60 60 3773 5273 FO 593 | gs 1519 645 8984 7024 rc 594 | gr 595 | 596 | 1 sg 597 | 60 60 9343 4273 PO 598 | c8 599 | 60 60 9343 4273 FO 600 | gs 1519 645 8984 7024 rc 601 | gr 602 | 603 | 1 sg 604 | 60 60 6385 3467 PO 605 | c8 606 | 60 60 6385 3467 FO 607 | gs 1519 645 8984 7024 rc 608 | gr 609 | 610 | 1 sg 611 | 60 60 4499 5325 PO 612 | c8 613 | 60 60 4499 5325 FO 614 | gs 1519 645 8984 7024 rc 615 | gr 616 | 617 | 1 sg 618 | 60 60 3803 5226 PO 619 | c8 620 | 60 60 3803 5226 FO 621 | gs 1519 645 8984 7024 rc 622 | gr 623 | 624 | 1 sg 625 | 60 60 9306 4195 PO 626 | c8 627 | 60 60 9306 4195 FO 628 | gs 1519 645 8984 7024 rc 629 | gr 630 | 631 | 1 sg 632 | 60 60 3833 5183 PO 633 | c8 634 | 60 60 3833 5183 FO 635 | gs 1519 645 8984 7024 rc 636 | gr 637 | 638 | 1 sg 639 | 60 60 4473 5264 PO 640 | c8 641 | 60 60 4473 5264 FO 642 | gs 1519 645 8984 7024 rc 643 | gr 644 | 645 | 1 sg 646 | 60 60 6445 3393 PO 647 | c8 648 | 60 60 6445 3393 FO 649 | gs 1519 645 8984 7024 rc 650 | gr 651 | 652 | 1 sg 653 | 60 60 3862 5144 PO 654 | c8 655 | 60 60 3862 5144 FO 656 | gs 1519 645 8984 7024 rc 657 | gr 658 | 659 | 1 sg 660 | 60 60 4447 5216 PO 661 | c8 662 | 60 60 4447 5216 FO 663 | gs 1519 645 8984 7024 rc 664 | gr 665 | 666 | 1 sg 667 | 60 60 9269 4119 PO 668 | c8 669 | 60 60 9269 4119 FO 670 | gs 1519 645 8984 7024 rc 671 | gr 672 | 673 | 1 sg 674 | 60 60 3892 5108 PO 675 | c8 676 | 60 60 3892 5108 FO 677 | gs 1519 645 8984 7024 rc 678 | gr 679 | 680 | 1 sg 681 | 60 60 4421 5172 PO 682 | c8 683 | 60 60 4421 5172 FO 684 | gs 1519 645 8984 7024 rc 685 | gr 686 | 687 | 1 sg 688 | 60 60 6503 3331 PO 689 | c8 690 | 60 60 6503 3331 FO 691 | gs 1519 645 8984 7024 rc 692 | gr 693 | 694 | 1 sg 695 | 60 60 3921 5075 PO 696 | c8 697 | 60 60 3921 5075 FO 698 | gs 1519 645 8984 7024 rc 699 | gr 700 | 701 | 1 sg 702 | 60 60 4395 5131 PO 703 | c8 704 | 60 60 4395 5131 FO 705 | gs 1519 645 8984 7024 rc 706 | gr 707 | 708 | 1 sg 709 | 60 60 9232 4044 PO 710 | c8 711 | 60 60 9232 4044 FO 712 | gs 1519 645 8984 7024 rc 713 | gr 714 | 715 | 1 sg 716 | 60 60 3950 5046 PO 717 | c8 718 | 60 60 3950 5046 FO 719 | gs 1519 645 8984 7024 rc 720 | gr 721 | 722 | 1 sg 723 | 60 60 4368 5095 PO 724 | c8 725 | 60 60 4368 5095 FO 726 | gs 1519 645 8984 7024 rc 727 | gr 728 | 729 | 1 sg 730 | 60 60 3979 5022 PO 731 | c8 732 | 60 60 3979 5022 FO 733 | gs 1519 645 8984 7024 rc 734 | gr 735 | 736 | 1 sg 737 | 60 60 4342 5063 PO 738 | c8 739 | 60 60 4342 5063 FO 740 | gs 1519 645 8984 7024 rc 741 | gr 742 | 743 | 1 sg 744 | 60 60 6561 3272 PO 745 | c8 746 | 60 60 6561 3272 FO 747 | gs 1519 645 8984 7024 rc 748 | gr 749 | 750 | 1 sg 751 | 60 60 9194 3971 PO 752 | c8 753 | 60 60 9194 3971 FO 754 | gs 1519 645 8984 7024 rc 755 | gr 756 | 757 | 1 sg 758 | 60 60 4008 5001 PO 759 | c8 760 | 60 60 4008 5001 FO 761 | gs 1519 645 8984 7024 rc 762 | gr 763 | 764 | 1 sg 765 | 60 60 4315 5035 PO 766 | c8 767 | 60 60 4315 5035 FO 768 | gs 1519 645 8984 7024 rc 769 | gr 770 | 771 | 1 sg 772 | 60 60 4037 4983 PO 773 | c8 774 | 60 60 4037 4983 FO 775 | gs 1519 645 8984 7024 rc 776 | gr 777 | 778 | 1 sg 779 | 60 60 4288 5011 PO 780 | c8 781 | 60 60 4288 5011 FO 782 | gs 1519 645 8984 7024 rc 783 | gr 784 | 785 | 1 sg 786 | 60 60 4065 4970 PO 787 | c8 788 | 60 60 4065 4970 FO 789 | gs 1519 645 8984 7024 rc 790 | gr 791 | 792 | 1 sg 793 | 60 60 4260 4992 PO 794 | c8 795 | 60 60 4260 4992 FO 796 | gs 1519 645 8984 7024 rc 797 | gr 798 | 799 | 1 sg 800 | 60 60 9156 3899 PO 801 | c8 802 | 60 60 9156 3899 FO 803 | gs 1519 645 8984 7024 rc 804 | gr 805 | 806 | 1 sg 807 | 60 60 4093 4961 PO 808 | c8 809 | 60 60 4093 4961 FO 810 | gs 1519 645 8984 7024 rc 811 | gr 812 | 813 | 1 sg 814 | 60 60 4233 4976 PO 815 | c8 816 | 60 60 4233 4976 FO 817 | gs 1519 645 8984 7024 rc 818 | gr 819 | 820 | 1 sg 821 | 60 60 6619 3215 PO 822 | c8 823 | 60 60 6619 3215 FO 824 | gs 1519 645 8984 7024 rc 825 | gr 826 | 827 | 1 sg 828 | 60 60 4122 4956 PO 829 | c8 830 | 60 60 4122 4956 FO 831 | gs 1519 645 8984 7024 rc 832 | gr 833 | 834 | 1 sg 835 | 60 60 4205 4965 PO 836 | c8 837 | 60 60 4205 4965 FO 838 | gs 1519 645 8984 7024 rc 839 | gr 840 | 841 | 1 sg 842 | 60 60 4150 4955 PO 843 | c8 844 | 60 60 4150 4955 FO 845 | gs 1519 645 8984 7024 rc 846 | gr 847 | 848 | 1 sg 849 | 60 60 4178 4958 PO 850 | c8 851 | 60 60 4178 4958 FO 852 | gs 1519 645 8984 7024 rc 853 | gr 854 | 855 | 1 sg 856 | 60 60 9118 3828 PO 857 | c8 858 | 60 60 9118 3828 FO 859 | gs 1519 645 8984 7024 rc 860 | gr 861 | 862 | 1 sg 863 | 60 60 6677 3160 PO 864 | c8 865 | 60 60 6677 3160 FO 866 | gs 1519 645 8984 7024 rc 867 | gr 868 | 869 | 1 sg 870 | 60 60 9080 3759 PO 871 | c8 872 | 60 60 9080 3759 FO 873 | gs 1519 645 8984 7024 rc 874 | gr 875 | 876 | 1 sg 877 | 60 60 6734 3107 PO 878 | c8 879 | 60 60 6734 3107 FO 880 | gs 1519 645 8984 7024 rc 881 | gr 882 | 883 | 1 sg 884 | 60 60 9042 3691 PO 885 | c8 886 | 60 60 9042 3691 FO 887 | gs 1519 645 8984 7024 rc 888 | gr 889 | 890 | 1 sg 891 | 60 60 6791 3056 PO 892 | c8 893 | 60 60 6791 3056 FO 894 | gs 1519 645 8984 7024 rc 895 | gr 896 | 897 | 1 sg 898 | 60 60 9003 3624 PO 899 | c8 900 | 60 60 9003 3624 FO 901 | gs 1519 645 8984 7024 rc 902 | gr 903 | 904 | 1 sg 905 | 60 60 6848 3007 PO 906 | c8 907 | 60 60 6848 3007 FO 908 | gs 1519 645 8984 7024 rc 909 | gr 910 | 911 | 1 sg 912 | 60 60 8964 3560 PO 913 | c8 914 | 60 60 8964 3560 FO 915 | gs 1519 645 8984 7024 rc 916 | gr 917 | 918 | 1 sg 919 | 60 60 6904 2960 PO 920 | c8 921 | 60 60 6904 2960 FO 922 | gs 1519 645 8984 7024 rc 923 | gr 924 | 925 | 1 sg 926 | 60 60 8924 3496 PO 927 | c8 928 | 60 60 8924 3496 FO 929 | gs 1519 645 8984 7024 rc 930 | gr 931 | 932 | 1 sg 933 | 60 60 8884 3435 PO 934 | c8 935 | 60 60 8884 3435 FO 936 | gs 1519 645 8984 7024 rc 937 | gr 938 | 939 | 1 sg 940 | 60 60 6960 2916 PO 941 | c8 942 | 60 60 6960 2916 FO 943 | gs 1519 645 8984 7024 rc 944 | gr 945 | 946 | 1 sg 947 | 60 60 8843 3376 PO 948 | c8 949 | 60 60 8843 3376 FO 950 | gs 1519 645 8984 7024 rc 951 | gr 952 | 953 | 1 sg 954 | 60 60 7016 2874 PO 955 | c8 956 | 60 60 7016 2874 FO 957 | gs 1519 645 8984 7024 rc 958 | gr 959 | 960 | 1 sg 961 | 60 60 8802 3318 PO 962 | c8 963 | 60 60 8802 3318 FO 964 | gs 1519 645 8984 7024 rc 965 | gr 966 | 967 | 1 sg 968 | 60 60 7072 2835 PO 969 | c8 970 | 60 60 7072 2835 FO 971 | gs 1519 645 8984 7024 rc 972 | gr 973 | 974 | 1 sg 975 | 60 60 8761 3262 PO 976 | c8 977 | 60 60 8761 3262 FO 978 | gs 1519 645 8984 7024 rc 979 | gr 980 | 981 | 1 sg 982 | 60 60 7127 2799 PO 983 | c8 984 | 60 60 7127 2799 FO 985 | gs 1519 645 8984 7024 rc 986 | gr 987 | 988 | 1 sg 989 | 60 60 8719 3208 PO 990 | c8 991 | 60 60 8719 3208 FO 992 | gs 1519 645 8984 7024 rc 993 | gr 994 | 995 | 1 sg 996 | 60 60 7182 2765 PO 997 | c8 998 | 60 60 7182 2765 FO 999 | gs 1519 645 8984 7024 rc 1000 | gr 1001 | 1002 | 1 sg 1003 | 60 60 8676 3155 PO 1004 | c8 1005 | 60 60 8676 3155 FO 1006 | gs 1519 645 8984 7024 rc 1007 | gr 1008 | 1009 | 1 sg 1010 | 60 60 7236 2735 PO 1011 | c8 1012 | 60 60 7236 2735 FO 1013 | gs 1519 645 8984 7024 rc 1014 | gr 1015 | 1016 | 1 sg 1017 | 60 60 8634 3105 PO 1018 | c8 1019 | 60 60 8634 3105 FO 1020 | gs 1519 645 8984 7024 rc 1021 | gr 1022 | 1023 | 1 sg 1024 | 60 60 8591 3057 PO 1025 | c8 1026 | 60 60 8591 3057 FO 1027 | gs 1519 645 8984 7024 rc 1028 | gr 1029 | 1030 | 1 sg 1031 | 60 60 7291 2707 PO 1032 | c8 1033 | 60 60 7291 2707 FO 1034 | gs 1519 645 8984 7024 rc 1035 | gr 1036 | 1037 | 1 sg 1038 | 60 60 8548 3011 PO 1039 | c8 1040 | 60 60 8548 3011 FO 1041 | gs 1519 645 8984 7024 rc 1042 | gr 1043 | 1044 | 1 sg 1045 | 60 60 7344 2682 PO 1046 | c8 1047 | 60 60 7344 2682 FO 1048 | gs 1519 645 8984 7024 rc 1049 | gr 1050 | 1051 | 1 sg 1052 | 60 60 8504 2967 PO 1053 | c8 1054 | 60 60 8504 2967 FO 1055 | gs 1519 645 8984 7024 rc 1056 | gr 1057 | 1058 | 1 sg 1059 | 60 60 7398 2660 PO 1060 | c8 1061 | 60 60 7398 2660 FO 1062 | gs 1519 645 8984 7024 rc 1063 | gr 1064 | 1065 | 1 sg 1066 | 60 60 8460 2925 PO 1067 | c8 1068 | 60 60 8460 2925 FO 1069 | gs 1519 645 8984 7024 rc 1070 | gr 1071 | 1072 | 1 sg 1073 | 60 60 7451 2641 PO 1074 | c8 1075 | 60 60 7451 2641 FO 1076 | gs 1519 645 8984 7024 rc 1077 | gr 1078 | 1079 | 1 sg 1080 | 60 60 8416 2886 PO 1081 | c8 1082 | 60 60 8416 2886 FO 1083 | gs 1519 645 8984 7024 rc 1084 | gr 1085 | 1086 | 1 sg 1087 | 60 60 7503 2625 PO 1088 | c8 1089 | 60 60 7503 2625 FO 1090 | gs 1519 645 8984 7024 rc 1091 | gr 1092 | 1093 | 1 sg 1094 | 60 60 8371 2848 PO 1095 | c8 1096 | 60 60 8371 2848 FO 1097 | gs 1519 645 8984 7024 rc 1098 | gr 1099 | 1100 | 1 sg 1101 | 60 60 7556 2612 PO 1102 | c8 1103 | 60 60 7556 2612 FO 1104 | gs 1519 645 8984 7024 rc 1105 | gr 1106 | 1107 | 1 sg 1108 | 60 60 8326 2814 PO 1109 | c8 1110 | 60 60 8326 2814 FO 1111 | gs 1519 645 8984 7024 rc 1112 | gr 1113 | 1114 | 1 sg 1115 | 60 60 7607 2602 PO 1116 | c8 1117 | 60 60 7607 2602 FO 1118 | gs 1519 645 8984 7024 rc 1119 | gr 1120 | 1121 | 1 sg 1122 | 60 60 8281 2781 PO 1123 | c8 1124 | 60 60 8281 2781 FO 1125 | gs 1519 645 8984 7024 rc 1126 | gr 1127 | 1128 | 1 sg 1129 | 60 60 8236 2751 PO 1130 | c8 1131 | 60 60 8236 2751 FO 1132 | gs 1519 645 8984 7024 rc 1133 | gr 1134 | 1135 | 1 sg 1136 | 60 60 7659 2595 PO 1137 | c8 1138 | 60 60 7659 2595 FO 1139 | gs 1519 645 8984 7024 rc 1140 | gr 1141 | 1142 | 1 sg 1143 | 60 60 8190 2723 PO 1144 | c8 1145 | 60 60 8190 2723 FO 1146 | gs 1519 645 8984 7024 rc 1147 | gr 1148 | 1149 | 1 sg 1150 | 60 60 7710 2591 PO 1151 | c8 1152 | 60 60 7710 2591 FO 1153 | gs 1519 645 8984 7024 rc 1154 | gr 1155 | 1156 | 1 sg 1157 | 60 60 8143 2698 PO 1158 | c8 1159 | 60 60 8143 2698 FO 1160 | gs 1519 645 8984 7024 rc 1161 | gr 1162 | 1163 | 1 sg 1164 | 60 60 7760 2590 PO 1165 | c8 1166 | 60 60 7760 2590 FO 1167 | gs 1519 645 8984 7024 rc 1168 | gr 1169 | 1170 | 1 sg 1171 | 60 60 8097 2675 PO 1172 | c8 1173 | 60 60 8097 2675 FO 1174 | gs 1519 645 8984 7024 rc 1175 | gr 1176 | 1177 | 1 sg 1178 | 60 60 7810 2593 PO 1179 | c8 1180 | 60 60 7810 2593 FO 1181 | gs 1519 645 8984 7024 rc 1182 | gr 1183 | 1184 | 1 sg 1185 | 60 60 8050 2655 PO 1186 | c8 1187 | 60 60 8050 2655 FO 1188 | gs 1519 645 8984 7024 rc 1189 | gr 1190 | 1191 | 1 sg 1192 | 60 60 7859 2600 PO 1193 | c8 1194 | 60 60 7859 2600 FO 1195 | gs 1519 645 8984 7024 rc 1196 | gr 1197 | 1198 | 1 sg 1199 | 60 60 8003 2637 PO 1200 | c8 1201 | 60 60 8003 2637 FO 1202 | gs 1519 645 8984 7024 rc 1203 | gr 1204 | 1205 | 1 sg 1206 | 60 60 7907 2610 PO 1207 | c8 1208 | 60 60 7907 2610 FO 1209 | gs 1519 645 8984 7024 rc 1210 | gr 1211 | 1212 | 1 sg 1213 | 60 60 7955 2622 PO 1214 | c8 1215 | 60 60 7955 2622 FO 1216 | gs 1519 645 8984 7024 rc 1217 | gr 1218 | 1219 | 0 sg 1220 | %%IncludeResource: font Helvetica 1221 | /Helvetica /ISOLatin1Encoding 168 FMSR 1222 | 1223 | 1217 4508 mt -90 rotate 1224 | (Real Part) s 1225 | 90 rotate 1226 | DD 1227 | 24 w 1228 | /c9 { 0.000000 0.498039 0.000000 sr} bdef 1229 | c9 1230 | 2804 1309 3327 6271 2 MP stroke 1231 | 1884 900 4775 6459 2 MP stroke 1232 | 3744 1722 5759 4356 2 MP stroke 1233 | 437 217 9822 5500 2 MP stroke 1234 | 0 sg 1235 | 8571 7116 mt 1236 | (Time / \(s\)) s 1237 | 2243 7084 mt 1238 | (Frequency / \(Hz\)) s 1239 | SO 1240 | 6 w 1241 | 1242 | end %%Color Dict 1243 | 1244 | eplot 1245 | %%EndObject 1246 | 1247 | epage 1248 | end 1249 | 1250 | showpage 1251 | 1252 | %%Trailer 1253 | %%EOF 1254 | -------------------------------------------------------------------------------- /DEMO/3D-Stability-Real-Imag.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-3.0 EPSF-3.0 2 | %%Creator: MATLAB, The MathWorks, Inc. Version 8.1.0.604 (R2013a). Operating System: Darwin 13.2.0 Darwin Kernel Version 13.2.0: Thu Apr 17 23:03:13 PDT 2014; root:xnu-2422.100.13~1/RELEASE_X86_64 x86_64. 3 | %%Title: /Users/Pandoxie/Desktop/3D-Stability-Real-Imag.eps 4 | %%CreationDate: 06/07/2014 09:48:08 5 | %%DocumentNeededFonts: Helvetica 6 | %%DocumentProcessColors: Cyan Magenta Yellow Black 7 | %%LanguageLevel: 2 8 | %%Pages: 1 9 | %%BoundingBox: -38 230 635 612 10 | %%EndComments 11 | 12 | %%BeginProlog 13 | % MathWorks dictionary 14 | /MathWorks 160 dict begin 15 | % definition operators 16 | /bdef {bind def} bind def 17 | /ldef {load def} bind def 18 | /xdef {exch def} bdef 19 | /xstore {exch store} bdef 20 | % operator abbreviations 21 | /c /clip ldef 22 | /cc /concat ldef 23 | /cp /closepath ldef 24 | /gr /grestore ldef 25 | /gs /gsave ldef 26 | /mt /moveto ldef 27 | /np /newpath ldef 28 | /cm /currentmatrix ldef 29 | /sm /setmatrix ldef 30 | /rm /rmoveto ldef 31 | /rl /rlineto ldef 32 | /s {show newpath} bdef 33 | /sc {setcmykcolor} bdef 34 | /sr /setrgbcolor ldef 35 | /sg /setgray ldef 36 | /w /setlinewidth ldef 37 | /j /setlinejoin ldef 38 | /cap /setlinecap ldef 39 | /rc {rectclip} bdef 40 | /rf {rectfill} bdef 41 | % page state control 42 | /pgsv () def 43 | /bpage {/pgsv save def} bdef 44 | /epage {pgsv restore} bdef 45 | /bplot /gsave ldef 46 | /eplot {stroke grestore} bdef 47 | % orientation switch 48 | /portraitMode 0 def /landscapeMode 1 def /rotateMode 2 def 49 | % coordinate system mappings 50 | /dpi2point 0 def 51 | % font control 52 | /FontSize 0 def 53 | /FMS {/FontSize xstore findfont [FontSize 0 0 FontSize neg 0 0] 54 | makefont setfont} bdef 55 | /reencode {exch dup where {pop load} {pop StandardEncoding} ifelse 56 | exch dup 3 1 roll findfont dup length dict begin 57 | { 1 index /FID ne {def}{pop pop} ifelse } forall 58 | /Encoding exch def currentdict end definefont pop} bdef 59 | /isroman {findfont /CharStrings get /Agrave known} bdef 60 | /FMSR {3 1 roll 1 index dup isroman {reencode} {pop pop} ifelse 61 | exch FMS} bdef 62 | /csm {1 dpi2point div -1 dpi2point div scale neg translate 63 | dup landscapeMode eq {pop -90 rotate} 64 | {rotateMode eq {90 rotate} if} ifelse} bdef 65 | % line types: solid, dotted, dashed, dotdash 66 | /SO { [] 0 setdash } bdef 67 | /DO { [.5 dpi2point mul 4 dpi2point mul] 0 setdash } bdef 68 | /DA { [6 dpi2point mul] 0 setdash } bdef 69 | /DD { [.5 dpi2point mul 4 dpi2point mul 6 dpi2point mul 4 70 | dpi2point mul] 0 setdash } bdef 71 | % macros for lines and objects 72 | /L {lineto stroke} bdef 73 | /MP {3 1 roll moveto 1 sub {rlineto} repeat} bdef 74 | /AP {{rlineto} repeat} bdef 75 | /PDlw -1 def 76 | /W {/PDlw currentlinewidth def setlinewidth} def 77 | /PP {closepath eofill} bdef 78 | /DP {closepath stroke} bdef 79 | /MR {4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto 80 | neg 0 exch rlineto closepath} bdef 81 | /FR {MR stroke} bdef 82 | /PR {MR fill} bdef 83 | /L1i {{currentfile picstr readhexstring pop} image} bdef 84 | /tMatrix matrix def 85 | /MakeOval {newpath tMatrix currentmatrix pop translate scale 86 | 0 0 1 0 360 arc tMatrix setmatrix} bdef 87 | /FO {MakeOval stroke} bdef 88 | /PO {MakeOval fill} bdef 89 | /PD {currentlinewidth 2 div 0 360 arc fill 90 | PDlw -1 eq not {PDlw w /PDlw -1 def} if} def 91 | /FA {newpath tMatrix currentmatrix pop translate scale 92 | 0 0 1 5 -2 roll arc tMatrix setmatrix stroke} bdef 93 | /PA {newpath tMatrix currentmatrix pop translate 0 0 moveto scale 94 | 0 0 1 5 -2 roll arc closepath tMatrix setmatrix fill} bdef 95 | /FAn {newpath tMatrix currentmatrix pop translate scale 96 | 0 0 1 5 -2 roll arcn tMatrix setmatrix stroke} bdef 97 | /PAn {newpath tMatrix currentmatrix pop translate 0 0 moveto scale 98 | 0 0 1 5 -2 roll arcn closepath tMatrix setmatrix fill} bdef 99 | /vradius 0 def /hradius 0 def /lry 0 def 100 | /lrx 0 def /uly 0 def /ulx 0 def /rad 0 def 101 | /MRR {/vradius xdef /hradius xdef /lry xdef /lrx xdef /uly xdef 102 | /ulx xdef newpath tMatrix currentmatrix pop ulx hradius add uly 103 | vradius add translate hradius vradius scale 0 0 1 180 270 arc 104 | tMatrix setmatrix lrx hradius sub uly vradius add translate 105 | hradius vradius scale 0 0 1 270 360 arc tMatrix setmatrix 106 | lrx hradius sub lry vradius sub translate hradius vradius scale 107 | 0 0 1 0 90 arc tMatrix setmatrix ulx hradius add lry vradius sub 108 | translate hradius vradius scale 0 0 1 90 180 arc tMatrix setmatrix 109 | closepath} bdef 110 | /FRR {MRR stroke } bdef 111 | /PRR {MRR fill } bdef 112 | /MlrRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lry uly sub 2 div def 113 | newpath tMatrix currentmatrix pop ulx rad add uly rad add translate 114 | rad rad scale 0 0 1 90 270 arc tMatrix setmatrix lrx rad sub lry rad 115 | sub translate rad rad scale 0 0 1 270 90 arc tMatrix setmatrix 116 | closepath} bdef 117 | /FlrRR {MlrRR stroke } bdef 118 | /PlrRR {MlrRR fill } bdef 119 | /MtbRR {/lry xdef /lrx xdef /uly xdef /ulx xdef /rad lrx ulx sub 2 div def 120 | newpath tMatrix currentmatrix pop ulx rad add uly rad add translate 121 | rad rad scale 0 0 1 180 360 arc tMatrix setmatrix lrx rad sub lry rad 122 | sub translate rad rad scale 0 0 1 0 180 arc tMatrix setmatrix 123 | closepath} bdef 124 | /FtbRR {MtbRR stroke } bdef 125 | /PtbRR {MtbRR fill } bdef 126 | /stri 6 array def /dtri 6 array def 127 | /smat 6 array def /dmat 6 array def 128 | /tmat1 6 array def /tmat2 6 array def /dif 3 array def 129 | /asub {/ind2 exch def /ind1 exch def dup dup 130 | ind1 get exch ind2 get sub exch } bdef 131 | /tri_to_matrix { 132 | 2 0 asub 3 1 asub 4 0 asub 5 1 asub 133 | dup 0 get exch 1 get 7 -1 roll astore } bdef 134 | /compute_transform { 135 | dmat dtri tri_to_matrix tmat1 invertmatrix 136 | smat stri tri_to_matrix tmat2 concatmatrix } bdef 137 | /ds {stri astore pop} bdef 138 | /dt {dtri astore pop} bdef 139 | /db {2 copy /cols xdef /rows xdef mul dup 3 mul string 140 | currentfile 141 | 3 index 0 eq {/ASCIIHexDecode filter} 142 | {/ASCII85Decode filter 3 index 2 eq {/RunLengthDecode filter} if } 143 | ifelse exch readstring pop 144 | dup 0 3 index getinterval /rbmap xdef 145 | dup 2 index dup getinterval /gbmap xdef 146 | 1 index dup 2 mul exch getinterval /bbmap xdef pop pop}bdef 147 | /it {gs np dtri aload pop moveto lineto lineto cp c 148 | cols rows 8 compute_transform 149 | rbmap gbmap bbmap true 3 colorimage gr}bdef 150 | /il {newpath moveto lineto stroke}bdef 151 | currentdict end def 152 | %%EndProlog 153 | 154 | %%BeginSetup 155 | MathWorks begin 156 | 157 | 0 cap 158 | 159 | end 160 | %%EndSetup 161 | 162 | %%Page: 1 1 163 | %%BeginPageSetup 164 | %%PageBoundingBox: -38 230 635 612 165 | MathWorks begin 166 | bpage 167 | %%EndPageSetup 168 | 169 | %%BeginObject: obj1 170 | bplot 171 | 172 | /dpi2point 12 def 173 | portraitMode -0456 7344 csm 174 | 175 | 0 0 8077 4578 rc 176 | 86 dict begin %Colortable dictionary 177 | /c0 { 0.000000 0.000000 0.000000 sr} bdef 178 | /c1 { 1.000000 1.000000 1.000000 sr} bdef 179 | /c2 { 0.900000 0.000000 0.000000 sr} bdef 180 | /c3 { 0.000000 0.820000 0.000000 sr} bdef 181 | /c4 { 0.000000 0.000000 0.800000 sr} bdef 182 | /c5 { 0.910000 0.820000 0.320000 sr} bdef 183 | /c6 { 1.000000 0.260000 0.820000 sr} bdef 184 | /c7 { 0.000000 0.820000 0.820000 sr} bdef 185 | c0 186 | 1 j 187 | 1 sg 188 | 0 0 8078 4579 rf 189 | 6 w 190 | 0 1539 6260 0 0 -1539 1050 1881 4 MP 191 | PP 192 | -6260 0 0 1539 6260 0 0 -1539 1050 1881 5 MP stroke 193 | 4 w 194 | DO 195 | 0 sg 196 | 1050 1881 mt 1050 342 L 197 | 1050 342 mt 1050 342 L 198 | 7310 1881 mt 7310 342 L 199 | 7310 342 mt 7310 342 L 200 | 1050 1881 mt 7310 1881 L 201 | 7310 1881 mt 7310 1881 L 202 | SO 203 | 6 w 204 | 1050 1881 mt 7310 1881 L 205 | 1050 342 mt 7310 342 L 206 | 1050 1881 mt 1050 342 L 207 | 7310 1881 mt 7310 342 L 208 | 1050 1881 mt 7310 1881 L 209 | 1050 1881 mt 1050 342 L 210 | 1050 1881 mt 1050 1818 L 211 | 1050 342 mt 1050 405 L 212 | %%IncludeResource: font Helvetica 213 | /Helvetica /ISOLatin1Encoding 120 FMSR 214 | 215 | 1017 2026 mt 216 | (0) s 217 | 7310 1881 mt 7310 1818 L 218 | 7310 342 mt 7310 405 L 219 | 7277 2026 mt 220 | (1) s 221 | 1050 1881 mt 1112 1881 L 222 | 7310 1881 mt 7247 1881 L 223 | 949 1925 mt 224 | (0) s 225 | 1050 1881 mt 7310 1881 L 226 | 1050 342 mt 7310 342 L 227 | 1050 1881 mt 1050 342 L 228 | 7310 1881 mt 7310 342 L 229 | gs 1050 343 6261 1539 rc 230 | gr 231 | 232 | /c8 { 1.000000 0.000000 0.000000 sr} bdef 233 | c8 234 | 36 36 1832 1851 FO 235 | 36 36 1863 1705 FO 236 | 36 36 1895 1570 FO 237 | 36 36 1926 1446 FO 238 | 36 36 1957 1333 FO 239 | 36 36 1989 1233 FO 240 | 36 36 2020 1149 FO 241 | 36 36 2051 1079 FO 242 | 36 36 2082 1023 FO 243 | 36 36 2114 982 FO 244 | 36 36 2145 957 FO 245 | 36 36 2176 949 FO 246 | 36 36 2208 956 FO 247 | 36 36 2239 979 FO 248 | 36 36 2270 1019 FO 249 | 36 36 2302 1075 FO 250 | 36 36 2333 1160 FO 251 | 36 36 2364 1263 FO 252 | 36 36 2395 1386 FO 253 | 36 36 2427 1527 FO 254 | 36 36 2458 1685 FO 255 | 36 36 2489 1858 FO 256 | gs 1050 343 6261 1539 rc 257 | gr 258 | 259 | /c9 { 0.847059 0.160784 0.000000 sr} bdef 260 | c9 261 | 36 36 5932 1878 FO 262 | 36 36 5964 1741 FO 263 | 36 36 5995 1573 FO 264 | 36 36 6026 1402 FO 265 | 36 36 6058 1247 FO 266 | 36 36 6089 1125 FO 267 | 36 36 6120 1010 FO 268 | 36 36 6151 903 FO 269 | 36 36 6183 805 FO 270 | 36 36 6214 718 FO 271 | 36 36 6245 642 FO 272 | 36 36 6277 578 FO 273 | 36 36 6308 526 FO 274 | 36 36 6339 487 FO 275 | 36 36 6371 460 FO 276 | 36 36 6402 448 FO 277 | 36 36 6433 447 FO 278 | 36 36 6464 457 FO 279 | 36 36 6496 476 FO 280 | 36 36 6527 506 FO 281 | 36 36 6558 545 FO 282 | 36 36 6590 593 FO 283 | 36 36 6621 650 FO 284 | 36 36 6652 715 FO 285 | 36 36 6684 787 FO 286 | 36 36 6715 868 FO 287 | 36 36 6746 955 FO 288 | 36 36 6777 1048 FO 289 | 36 36 6809 1147 FO 290 | 36 36 6840 1252 FO 291 | 36 36 6871 1363 FO 292 | 36 36 6903 1479 FO 293 | 36 36 6934 1602 FO 294 | 36 36 6965 1729 FO 295 | 36 36 6997 1863 FO 296 | gs 1050 343 6261 1539 rc 297 | gr 298 | 299 | 0 sg 300 | %%IncludeResource: font Helvetica 301 | /Helvetica /ISOLatin1Encoding 144 FMSR 302 | 303 | 3875 2187 mt 304 | (Time / \(s\)) s 305 | 862 1413 mt -90 rotate 306 | (Real Part) s 307 | 90 rotate 308 | 1 sg 309 | 0 1538 6260 0 0 -1538 1050 4051 4 MP 310 | PP 311 | -6260 0 0 1538 6260 0 0 -1538 1050 4051 5 MP stroke 312 | 4 w 313 | DO 314 | 0 sg 315 | 1050 4051 mt 1050 2513 L 316 | 1050 2513 mt 1050 2513 L 317 | 7310 4051 mt 7310 2513 L 318 | 7310 2513 mt 7310 2513 L 319 | 1050 4051 mt 7310 4051 L 320 | 7310 4051 mt 7310 4051 L 321 | 1050 2513 mt 7310 2513 L 322 | 7310 2513 mt 7310 2513 L 323 | SO 324 | 6 w 325 | 1050 4051 mt 7310 4051 L 326 | 1050 2513 mt 7310 2513 L 327 | 1050 4051 mt 1050 2513 L 328 | 7310 4051 mt 7310 2513 L 329 | 1050 4051 mt 7310 4051 L 330 | 1050 4051 mt 1050 2513 L 331 | 1050 4051 mt 1050 3988 L 332 | 1050 2513 mt 1050 2575 L 333 | %%IncludeResource: font Helvetica 334 | /Helvetica /ISOLatin1Encoding 120 FMSR 335 | 336 | 1017 4196 mt 337 | (0) s 338 | 7310 4051 mt 7310 3988 L 339 | 7310 2513 mt 7310 2575 L 340 | 7277 4196 mt 341 | (1) s 342 | 1050 4051 mt 1112 4051 L 343 | 7310 4051 mt 7247 4051 L 344 | 949 4095 mt 345 | (0) s 346 | 1050 2513 mt 1112 2513 L 347 | 7310 2513 mt 7247 2513 L 348 | 949 2557 mt 349 | (1) s 350 | 1050 4051 mt 7310 4051 L 351 | 1050 2513 mt 7310 2513 L 352 | 1050 4051 mt 1050 2513 L 353 | 7310 4051 mt 7310 2513 L 354 | gs 1050 2513 6261 1539 rc 355 | gr 356 | 357 | c8 358 | 36 36 1832 3450 FO 359 | 36 36 1863 3431 FO 360 | 36 36 1895 3413 FO 361 | 36 36 1926 3395 FO 362 | 36 36 1957 3378 FO 363 | 36 36 1989 3361 FO 364 | 36 36 2020 3344 FO 365 | 36 36 2051 3328 FO 366 | 36 36 2082 3312 FO 367 | 36 36 2114 3296 FO 368 | 36 36 2145 3280 FO 369 | 36 36 2176 3265 FO 370 | 36 36 2208 3250 FO 371 | 36 36 2239 3235 FO 372 | 36 36 2270 3221 FO 373 | 36 36 2302 3207 FO 374 | 36 36 2333 3194 FO 375 | 36 36 2364 3181 FO 376 | 36 36 2395 3169 FO 377 | 36 36 2427 3157 FO 378 | 36 36 2458 3145 FO 379 | 36 36 2489 3135 FO 380 | gs 1050 2513 6261 1539 rc 381 | gr 382 | 383 | c9 384 | 36 36 5932 3691 FO 385 | 36 36 5964 3691 FO 386 | 36 36 5995 3646 FO 387 | 36 36 6026 3601 FO 388 | 36 36 6058 3558 FO 389 | 36 36 6089 3517 FO 390 | 36 36 6120 3476 FO 391 | 36 36 6151 3436 FO 392 | 36 36 6183 3397 FO 393 | 36 36 6214 3358 FO 394 | 36 36 6245 3320 FO 395 | 36 36 6277 3283 FO 396 | 36 36 6308 3246 FO 397 | 36 36 6339 3211 FO 398 | 36 36 6371 3176 FO 399 | 36 36 6402 3144 FO 400 | 36 36 6433 3111 FO 401 | 36 36 6464 3080 FO 402 | 36 36 6496 3049 FO 403 | 36 36 6527 3020 FO 404 | 36 36 6558 2990 FO 405 | 36 36 6590 2962 FO 406 | 36 36 6621 2934 FO 407 | 36 36 6652 2907 FO 408 | 36 36 6684 2881 FO 409 | 36 36 6715 2856 FO 410 | 36 36 6746 2832 FO 411 | 36 36 6777 2808 FO 412 | 36 36 6809 2785 FO 413 | 36 36 6840 2762 FO 414 | 36 36 6871 2739 FO 415 | 36 36 6903 2718 FO 416 | 36 36 6934 2696 FO 417 | 36 36 6965 2675 FO 418 | 36 36 6997 2655 FO 419 | gs 1050 2513 6261 1539 rc 420 | gr 421 | 422 | 0 sg 423 | %%IncludeResource: font Helvetica 424 | /Helvetica /ISOLatin1Encoding 144 FMSR 425 | 426 | 3875 4357 mt 427 | (Time / \(s\)) s 428 | 862 3816 mt -90 rotate 429 | (Frequency / \(Hz\)) s 430 | 90 rotate 431 | 432 | end %%Color Dict 433 | 434 | eplot 435 | %%EndObject 436 | 437 | epage 438 | end 439 | 440 | showpage 441 | 442 | %%Trailer 443 | %%EOF 444 | -------------------------------------------------------------------------------- /DEMO/50s-Modal-Deformed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/50s-Modal-Deformed.png -------------------------------------------------------------------------------- /DEMO/Accumulator.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Accumulator.pdf -------------------------------------------------------------------------------- /DEMO/Axial-Symmetric-Tank-Model.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Axial-Symmetric-Tank-Model.pdf -------------------------------------------------------------------------------- /DEMO/Baffle.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-3.0 EPSF-3.0 2 | %%HiResBoundingBox: 0.000000 0.000000 470.000000 486.000000 3 | %APL_DSC_Encoding: UTF8 4 | %APLProducer: (Version 10.9.2 (Build 13C64) Quartz PS Context) 5 | %%Title: (Unknown) 6 | %%Creator: (Unknown) 7 | %%CreationDate: (Unknown) 8 | %%For: (Unknown) 9 | %%DocumentData: Clean7Bit 10 | %%LanguageLevel: 2 11 | %%Pages: 1 12 | %%BoundingBox: 0 0 470 486 13 | %%EndComments 14 | %%BeginProlog 15 | %%BeginFile: cg-pdf.ps 16 | %%Copyright: Copyright 2000-2004 Apple Computer Incorporated. 17 | %%Copyright: All Rights Reserved. 18 | currentpacking true setpacking 19 | /cg_md 141 dict def 20 | cg_md begin 21 | /L3? languagelevel 3 ge def 22 | /bd{bind def}bind def 23 | /ld{load def}bd 24 | /xs{exch store}bd 25 | /xd{exch def}bd 26 | /cmmtx matrix def 27 | mark 28 | /sc/setcolor 29 | /scs/setcolorspace 30 | /dr/defineresource 31 | /fr/findresource 32 | /T/true 33 | /F/false 34 | /d/setdash 35 | /w/setlinewidth 36 | /J/setlinecap 37 | /j/setlinejoin 38 | /M/setmiterlimit 39 | /i/setflat 40 | /rc/rectclip 41 | /rf/rectfill 42 | /rs/rectstroke 43 | /f/fill 44 | /f*/eofill 45 | /sf/selectfont 46 | /s/show 47 | /xS/xshow 48 | /yS/yshow 49 | /xyS/xyshow 50 | /S/stroke 51 | /m/moveto 52 | /l/lineto 53 | /c/curveto 54 | /h/closepath 55 | /n/newpath 56 | /q/gsave 57 | /Q/grestore 58 | counttomark 2 idiv 59 | {ld}repeat pop 60 | /SC{ 61 | /ColorSpace fr scs 62 | }bd 63 | /sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld 64 | /soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld 65 | /cgmtx matrix def 66 | /sdmtx{cgmtx currentmatrix pop}bd 67 | /CM {cgmtx setmatrix}bd 68 | /cm {cmmtx astore CM concat}bd 69 | /W{clip newpath}bd 70 | /W*{eoclip newpath}bd 71 | statusdict begin product end dup (HP) anchorsearch{ 72 | pop pop pop 73 | true 74 | }{ 75 | pop 76 | (hp) anchorsearch{ 77 | pop pop true 78 | }{ 79 | pop false 80 | }ifelse 81 | }ifelse 82 | { 83 | { 84 | { 85 | pop pop 86 | (0)dup 0 4 -1 roll put 87 | F charpath 88 | }cshow 89 | } 90 | }{ 91 | {F charpath} 92 | }ifelse 93 | /cply exch bd 94 | /cps {cply stroke}bd 95 | /pgsave 0 def 96 | /bp{/pgsave save store}bd 97 | /ep{pgsave restore showpage}def 98 | /re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd 99 | /scrdict 10 dict def 100 | /scrmtx matrix def 101 | /patarray 0 def 102 | /createpat{patarray 3 1 roll put}bd 103 | /makepat{ 104 | scrmtx astore pop 105 | gsave 106 | initgraphics 107 | CM 108 | patarray exch get 109 | scrmtx 110 | makepattern 111 | grestore 112 | setpattern 113 | }bd 114 | /cg_BeginEPSF{ 115 | userdict save/cg_b4_Inc_state exch put 116 | userdict/cg_endepsf/cg_EndEPSF load put 117 | count userdict/cg_op_count 3 -1 roll put 118 | countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put 119 | 3 sub{end}repeat 120 | /showpage {} def 121 | 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 122 | 10 setmiterlimit [] 0 setdash newpath 123 | false setstrokeadjust false setoverprint 124 | }bd 125 | /cg_EndEPSF{ 126 | countdictstack 3 sub { end } repeat 127 | cg_dict_array 3 1 index length 3 sub getinterval 128 | {begin}forall 129 | count userdict/cg_op_count get sub{pop}repeat 130 | userdict/cg_b4_Inc_state get restore 131 | F setpacking 132 | }bd 133 | /cg_biproc{currentfile/RunLengthDecode filter}bd 134 | /cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd 135 | /ImageDataSource 0 def 136 | L3?{ 137 | /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd 138 | /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd 139 | }{ 140 | /ImageBandMask 0 def 141 | /ImageBandData 0 def 142 | /cg_mibiproc{ 143 | string/ImageBandMask xs 144 | string/ImageBandData xs 145 | /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx 146 | /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd 147 | }bd 148 | /cg_miaiproc{ 149 | string/ImageBandMask xs 150 | string/ImageBandData xs 151 | /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter 152 | dup ImageBandMask/readstring cvx 153 | /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd 154 | }bd 155 | }ifelse 156 | /imsave 0 def 157 | /BI{save/imsave xd mark}bd 158 | /EI{imsave restore}bd 159 | /ID{ 160 | counttomark 2 idiv 161 | dup 2 add 162 | dict begin 163 | {def} repeat 164 | pop 165 | /ImageType 1 def 166 | /ImageMatrix[Width 0 0 Height neg 0 Height]def 167 | currentdict dup/ImageMask known{ImageMask}{F}ifelse exch 168 | L3?{ 169 | dup/MaskedImage known 170 | { 171 | pop 172 | << 173 | /ImageType 3 174 | /InterleaveType 2 175 | /DataDict currentdict 176 | /MaskDict 177 | << /ImageType 1 178 | /Width Width 179 | /Height Height 180 | /ImageMatrix ImageMatrix 181 | /BitsPerComponent 1 182 | /Decode [0 1] 183 | currentdict/Interpolate known 184 | {/Interpolate Interpolate}if 185 | >> 186 | >> 187 | }if 188 | }if 189 | exch 190 | {imagemask}{image}ifelse 191 | end 192 | }bd 193 | /cguidfix{statusdict begin mark version end 194 | {cvr}stopped{cleartomark 0}{exch pop}ifelse 195 | 2012 lt{dup findfont dup length dict begin 196 | {1 index/FID ne 2 index/UniqueID ne and 197 | {def} {pop pop} ifelse}forall 198 | currentdict end definefont pop 199 | }{pop}ifelse 200 | }bd 201 | /t_array 0 def 202 | /t_i 0 def 203 | /t_c 1 string def 204 | /x_proc{ 205 | exch t_array t_i get add exch moveto 206 | /t_i t_i 1 add store 207 | }bd 208 | /y_proc{ 209 | t_array t_i get add moveto 210 | /t_i t_i 1 add store 211 | }bd 212 | /xy_proc{ 213 | 214 | t_array t_i 2 copy 1 add get 3 1 roll get 215 | 4 -1 roll add 3 1 roll add moveto 216 | /t_i t_i 2 add store 217 | }bd 218 | /sop 0 def 219 | /cp_proc/x_proc ld 220 | /base_charpath 221 | { 222 | /t_array xs 223 | /t_i 0 def 224 | { 225 | t_c 0 3 -1 roll put 226 | currentpoint 227 | t_c cply sop 228 | cp_proc 229 | }forall 230 | /t_array 0 def 231 | }bd 232 | /sop/stroke ld 233 | /nop{}def 234 | /xsp/base_charpath ld 235 | /ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd 236 | /xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd 237 | /xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd 238 | /ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd 239 | /xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd 240 | /refnt{ 241 | findfont dup length dict copy dup 242 | /Encoding 4 -1 roll put 243 | definefont pop 244 | }bd 245 | /renmfont{ 246 | findfont dup length dict copy definefont pop 247 | }bd 248 | L3? dup dup{save exch}if 249 | /Range 0 def 250 | /DataSource 0 def 251 | /val 0 def 252 | /nRange 0 def 253 | /mulRange 0 def 254 | /d0 0 def 255 | /r0 0 def 256 | /di 0 def 257 | /ri 0 def 258 | /a0 0 def 259 | /a1 0 def 260 | /r1 0 def 261 | /r2 0 def 262 | /dx 0 def 263 | /Nsteps 0 def 264 | /sh3tp 0 def 265 | /ymax 0 def 266 | /ymin 0 def 267 | /xmax 0 def 268 | /xmin 0 def 269 | /setupFunEval 270 | { 271 | begin 272 | /nRange Range length 2 idiv store 273 | /mulRange 274 | 275 | [ 276 | 0 1 nRange 1 sub 277 | { 278 | 2 mul/nDim2 xd 279 | Range nDim2 get 280 | Range nDim2 1 add get 281 | 1 index sub 282 | 283 | 255 div 284 | exch 285 | }for 286 | ]store 287 | end 288 | }bd 289 | /FunEval 290 | { 291 | begin 292 | 293 | nRange mul /val xd 294 | 295 | 0 1 nRange 1 sub 296 | { 297 | dup 2 mul/nDim2 xd 298 | val 299 | add DataSource exch get 300 | mulRange nDim2 get mul 301 | mulRange nDim2 1 add get 302 | add 303 | }for 304 | end 305 | }bd 306 | /max 307 | { 308 | 2 copy lt 309 | {exch pop}{pop}ifelse 310 | }bd 311 | /sh2 312 | { 313 | /Coords load aload pop 314 | 3 index 3 index translate 315 | 316 | 3 -1 roll sub 317 | 3 1 roll exch 318 | sub 319 | 2 copy 320 | dup mul exch dup mul add sqrt 321 | dup 322 | scale 323 | atan 324 | 325 | rotate 326 | 327 | /Function load setupFunEval 328 | 329 | 330 | clippath {pathbbox}stopped {0 0 0 0}if newpath 331 | /ymax xs 332 | /xmax xs 333 | /ymin xs 334 | /xmin xs 335 | currentdict/Extend known 336 | { 337 | /Extend load 0 get 338 | { 339 | 0/Function load FunEval sc 340 | xmin ymin xmin abs ymax ymin sub rectfill 341 | }if 342 | }if 343 | 344 | /Nsteps/Function load/Size get 0 get 1 sub store 345 | /dx 1 Nsteps div store 346 | gsave 347 | /di ymax ymin sub store 348 | /Function load 349 | 350 | 0 1 Nsteps 351 | { 352 | 1 index FunEval sc 353 | 0 ymin dx di rectfill 354 | dx 0 translate 355 | }for 356 | pop 357 | grestore 358 | currentdict/Extend known 359 | { 360 | /Extend load 1 get 361 | { 362 | Nsteps/Function load FunEval sc 363 | 1 ymin xmax 1 sub abs ymax ymin sub rectfill 364 | }if 365 | }if 366 | }bd 367 | /shp 368 | { 369 | 4 copy 370 | 371 | dup 0 gt{ 372 | 0 exch a1 a0 arc 373 | }{ 374 | pop 0 moveto 375 | }ifelse 376 | dup 0 gt{ 377 | 0 exch a0 a1 arcn 378 | }{ 379 | pop 0 lineto 380 | }ifelse 381 | 382 | fill 383 | 384 | dup 0 gt{ 385 | 0 exch a0 a1 arc 386 | }{ 387 | pop 0 moveto 388 | }ifelse 389 | dup 0 gt{ 390 | 0 exch a1 a0 arcn 391 | }{ 392 | pop 0 lineto 393 | }ifelse 394 | 395 | fill 396 | }bd 397 | /calcmaxs 398 | { 399 | 400 | xmin dup mul ymin dup mul add sqrt 401 | xmax dup mul ymin dup mul add sqrt 402 | xmin dup mul ymax dup mul add sqrt 403 | xmax dup mul ymax dup mul add sqrt 404 | max max max 405 | }bd 406 | /sh3 407 | { 408 | /Coords load aload pop 409 | 5 index 5 index translate 410 | 3 -1 roll 6 -1 roll sub 411 | 3 -1 roll 5 -1 roll sub 412 | 2 copy dup mul exch dup mul add sqrt 413 | /dx xs 414 | 2 copy 0 ne exch 0 ne or 415 | { 416 | 417 | exch atan rotate 418 | }{ 419 | pop pop 420 | }ifelse 421 | 422 | /r2 xs 423 | /r1 xs 424 | /Function load 425 | dup/Size get 0 get 1 sub 426 | /Nsteps xs 427 | setupFunEval 428 | 429 | 430 | 431 | 432 | 433 | dx r2 add r1 lt{ 434 | 435 | 0 436 | }{ 437 | dx r1 add r2 le 438 | { 439 | 1 440 | }{ 441 | r1 r2 eq 442 | { 443 | 2 444 | }{ 445 | 3 446 | }ifelse 447 | }ifelse 448 | }ifelse 449 | /sh3tp xs 450 | clippath {pathbbox}stopped {0 0 0 0}if 451 | newpath 452 | /ymax xs 453 | /xmax xs 454 | /ymin xs 455 | /xmin xs 456 | 457 | dx dup mul r2 r1 sub dup mul sub dup 0 gt 458 | { 459 | sqrt r2 r1 sub atan 460 | /a0 exch 180 exch sub store 461 | /a1 a0 neg store 462 | }{ 463 | pop 464 | /a0 0 store 465 | /a1 360 store 466 | }ifelse 467 | currentdict/Extend known 468 | { 469 | /Extend load 0 get r1 0 gt and 470 | { 471 | 0/Function load FunEval sc 472 | 473 | 474 | 475 | 476 | { 477 | { 478 | dx 0 r1 360 0 arcn 479 | xmin ymin moveto 480 | xmax ymin lineto 481 | xmax ymax lineto 482 | xmin ymax lineto 483 | xmin ymin lineto 484 | eofill 485 | } 486 | { 487 | r1 0 gt{0 0 r1 0 360 arc fill}if 488 | } 489 | { 490 | 491 | 492 | 493 | 494 | 0 r1 xmin abs r1 add neg r1 shp 495 | } 496 | { 497 | 498 | 499 | r2 r1 gt{ 500 | 501 | 0 r1 502 | r1 neg r2 r1 sub div dx mul 503 | 0 504 | shp 505 | }{ 506 | 507 | 508 | 509 | 0 r1 calcmaxs 510 | dup 511 | 512 | r2 add dx mul dx r1 r2 sub sub div 513 | neg 514 | exch 1 index 515 | abs exch sub 516 | shp 517 | }ifelse 518 | } 519 | }sh3tp get exec 520 | }if 521 | }if 522 | 523 | /d0 0 store 524 | /r0 r1 store 525 | /di dx Nsteps div store 526 | /ri r2 r1 sub Nsteps div store 527 | /Function load 528 | 0 1 Nsteps 529 | { 530 | 1 index FunEval sc 531 | d0 di add r0 ri add d0 r0 shp 532 | { 533 | 534 | d0 0 r0 a1 a0 arc 535 | d0 di add 0 r0 ri add a0 a1 arcn 536 | fill 537 | 538 | 539 | d0 0 r0 a0 a1 arc 540 | d0 di add 0 r0 ri add a1 a0 arcn 541 | fill 542 | }pop 543 | 544 | 545 | /d0 d0 di add store 546 | /r0 r0 ri add store 547 | }for 548 | pop 549 | 550 | currentdict/Extend known 551 | { 552 | /Extend load 1 get r2 0 gt and 553 | { 554 | Nsteps/Function load FunEval sc 555 | 556 | 557 | 558 | 559 | { 560 | { 561 | dx 0 r2 0 360 arc fill 562 | } 563 | { 564 | dx 0 r2 360 0 arcn 565 | xmin ymin moveto 566 | xmax ymin lineto 567 | xmax ymax lineto 568 | xmin ymax lineto 569 | xmin ymin lineto 570 | eofill 571 | } 572 | { 573 | 574 | 575 | xmax abs r1 add r1 dx r1 shp 576 | } 577 | { 578 | 579 | r2 r1 gt{ 580 | 581 | 582 | 583 | calcmaxs dup 584 | 585 | r1 add dx mul dx r2 r1 sub sub div 586 | exch 1 index 587 | exch sub 588 | dx r2 589 | shp 590 | }{ 591 | 592 | r1 neg r2 r1 sub div dx mul 593 | 0 594 | dx 595 | r2 596 | shp 597 | }ifelse 598 | } 599 | } 600 | sh3tp get exec 601 | }if 602 | }if 603 | }bd 604 | /sh 605 | { 606 | begin 607 | /ShadingType load dup dup 2 eq exch 3 eq or 608 | { 609 | gsave 610 | newpath 611 | /ColorSpace load scs 612 | currentdict/BBox known 613 | { 614 | /BBox load aload pop 615 | 2 index sub 616 | 3 index 617 | 3 -1 roll exch sub 618 | exch rectclip 619 | }if 620 | 2 eq 621 | {sh2}{sh3}ifelse 622 | grestore 623 | }{ 624 | 625 | pop 626 | (DEBUG: shading type unimplemented\n)print flush 627 | }ifelse 628 | end 629 | }bd 630 | {restore}if not dup{save exch}if 631 | L3?{ 632 | /sh/shfill ld 633 | /csq/clipsave ld 634 | /csQ/cliprestore ld 635 | }if 636 | {restore}if 637 | end 638 | setpacking 639 | %%EndFile 640 | %%EndProlog 641 | %%BeginSetup 642 | %%EndSetup 643 | %%Page: 1 1 644 | %%PageBoundingBox: 0 0 470 486 645 | %%BeginPageSetup 646 | cg_md begin 647 | bp 648 | sdmtx 649 | %RBIBeginFontSubset: HelveticaNeue 650 | %!FontType1-1.0: HelveticaNeue 1.0000.1.0000 651 | 14 dict begin/FontName /HelveticaNeue def 652 | /PaintType 0 def 653 | /Encoding 256 array 0 1 255{1 index exch/.notdef put}for 654 | dup 33 /y put 655 | dup 34 /x put 656 | readonly def 657 | 42/FontType resourcestatus{pop pop false}{true}ifelse 658 | %APLsfntBegin 659 | {currentfile 0(%APLsfntEnd\n)/SubFileDecode filter flushfile}if 660 | /FontType 42 def 661 | /FontMatrix matrix def 662 | /FontBBox[1000 -951 1 index div -481 2 index div 1446 3 index div 1077 5 -1 roll div]cvx def 663 | /sfnts [< 664 | 74727565000900000000000063767420000000000000009C000000186670676D00000000000000B400000428676C796600000000000004DC000002146865616400000000000006F00000003668686561000000000000072800000024686D7478000000000000074C000000106C6F6361000000000000075C0000000A6D6178700000000000000768000000207072657000000000000007880000004D14000014004B005A00000011FF3A000B0205000C02CA0011B800002C4BB800095058B101018E59B801FF85B844001DB9000900035F5E2DB800012C2020456944B001602DB800022CB800012A212DB800032C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800042C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800052C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800062C2020456944B001602020457D691844B001602DB800072CB800062A2DB800082C4B20B003265358B0801BB040598A8A20B003265358B0022621B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B80003265358B0032545B8014050582321B8014023211BB003254523212321591B2159442DB800092C4B535845441B2121592DB8000A2C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB8000B2C2020456944B001602DB8000C2CB8000B2A212DB8000D2C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB8000E2C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB8000F2C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800102C2020456944B001602020457D691844B001602DB800112CB800102A2DB800122C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800132C4B535845441B2121592DB800142C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800152C2020456944B001602DB800162CB800152A212DB800172C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800182C2046B00425465258238A592046206A6164B0042546 665 | 206A61645258238A592FFD2DB800192C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB8001A2C2020456944B001602020457D691844B001602DB8001B2CB8001A2A2DB8001C2C4B20B003265358B0401BB000598A8A20B0032653582321B0808A8A1B8A235920B0032653582321B800C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB8001D2C4B535845441B2121592D00020033000101CC02C8000300070065B800142BB800082FB800002FB8000810B80006D0B800062FB900020003F4B8000010B900040003F4B80009DC00B800014558B800042F1BB90004000A3E59B800014558B800052F1BB9000500043E59B8000410B900000002F4B8000510B900020002F4303101211121131121110199FECD013333FE67029AFD950299FD3902C700010009000001FD0205000B002700B800072FB8000A2FB800012FB800042FBA000300010007111239BA0009000100071112393031130333371733033723072723CBC26790906DC8B266817C6D0110FEF0D6D60117EEB5B500010008FF3201EC02050016002300B800012FB800052FB800122FBA000400120001111239BA000E0012000111123930310513230323032313070E0123222627151E0133323E02010BE15A91029760CD230C201A0D190C0E1E0F1D2A231D440249FE5901A7FDFE57171808044E05040F2134000000010041FFFC00BE0079000B008CB800142BBB00060003000000182B4105008A0000009A000000025D4111000900000019000000290000003900000049000000590000006900000079000000085D00B800014558B800092F1BB9000900043E59B900030002F44111000700030017000300270003003700030047000300570003006700030077000300085D4105008600030096000300025D303137343633321615140623222641241A1B24241B1A243A1B24241B1A2424000001000000010000B6AB939E5F0F3CF5011103E800000000B643600000000000CE4429B3FC49FE1F05A604350000000900020000000000000001000003B8FF2B001C05DCFC49FE8005A600010000000000000000000000000000000401F400330206000901F400080118004100000048007400AE010A00000001000000040096000900210002000200000000001E00000200042800010001B800142B01BA0002000200162B01BF0003003E0037002B001F00130000001C2B00BF0002004A0037002B001F00130000001C2B00BA00040004001B2BB8000120457D691844B8000A2BB800002B000000 666 | 00>] def 667 | /CharStrings 4 dict dup begin 668 | /.notdef 0 def 669 | /x 1 def 670 | /y 2 def 671 | /period.alt 3 def 672 | end readonly def 673 | currentdict dup/FontName get exch definefont pop end 674 | %APLsfntEnd 675 | 42/FontType resourcestatus{pop pop true}{false}ifelse 676 | {currentfile 0(%APLT1End\n)/SubFileDecode filter flushfile}if 677 | /FontType 1 def 678 | /FontMatrix [ 0.001 0 0 0.001 0 0 ] def 679 | /FontBBox{-951 -481 1446 1077}def 680 | /UniqueID 4234398 def 681 | currentdict currentfile eexec 682 | 54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C94CF017316529A80F552C33559AB2C21302561FE61E935C1E32B3C9EA963332618F471070EE193F61A94258BC6AD24214B0D5C35EA1380EBC43D26032C674BF749EACE9AA6138229683D0A55CE355B5A3E6EEB73D2F903CFB0F6877B8AF74B66C67D78D7FBDEA63011BE097D337135744E80BF14B8D6C872A48280657343E69194C96D47192D8A6127A3815E008E42856495410760EE2B8A75036B5509AA1C9CD1D186D56C8C47C962F8BEFA09BEF7F1148D0541CEB055FD33F50B5E776C5ACE0600882C2DFB7DCEE53487A533DCD009E35FEAD5A3997B8A639F34BBACAF2BD793F971D7A1565C1250927930D440D5FDDDA859CCAF88B972616AA617FD8925752757173BCC813C918A4CB6D8E956FEDD628074322BA385AE89B5CB4DD64EC5EFA2358A10DA3CEB28EFBB518C7BC0620B82D9BEC18DFF7979EBAAC3D240BA1DF3C386A7E87CA863956FB646C9F45ABD6F346B914B8DCA96305C3E92102C5733CB5C0868D6417099A549496B9D4AA617CB5B11045E445161287FA5D2743674869CC678047C7AB8723863E97FFBCD7A121CAA70157D5465DD549AE163F55788D24A6087D6EF446D06E030E0724E9E030C301F38E57B19ABD2D739A2EA5608C675C3BB5004A8502CFD9E09D5F44C40B0C51DD4394C68 683 | 0000000000000000000000000000000000000000000000000000000000000000 684 | 0000000000000000000000000000000000000000000000000000000000000000 685 | 0000000000000000000000000000000000000000000000000000000000000000 686 | 0000000000000000000000000000000000000000000000000000000000000000 687 | 0000000000000000000000000000000000000000000000000000000000000000 688 | 0000000000000000000000000000000000000000000000000000000000000000 689 | 0000000000000000000000000000000000000000000000000000000000000000 690 | 0000000000000000000000000000000000000000000000000000000000000000 691 | cleartomark end 692 | %APLT1End 693 | %RBIEndFontSubset 694 | /HelveticaNeue cguidfix 695 | /F1.1/HelveticaNeue renmfont 696 | [ /CIEBasedABC 4 dict dup begin 697 | /WhitePoint [ 0.9505 1.0000 1.0891 ] def 698 | /DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def 699 | /MatrixABC [ 0.4295 0.2318 0.0204 0.3278 0.6722 0.1111 0.1933 0.0960 0.9578 ] def 700 | /RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def 701 | end ] /Cs1 exch/ColorSpace dr pop 702 | [ /CIEBasedA 5 dict dup begin /WhitePoint [ 0.9505 1.0000 1.0891 ] def 703 | /DecodeA { { 1.8008 exp } bind exec} bind 704 | def 705 | /MatrixA [ 0.9642 1.0000 0.8249 ] def 706 | /RangeLMN [ 0.0 2.0000 0.0 2.0000 0.0 2.0000 ] def 707 | /DecodeLMN [ { 0.9857 mul} bind { 1.0000 mul} bind { 1.3202 mul} bind ] def 708 | end ] /Cs2 exch/ColorSpace dr pop 709 | %%EndPageSetup 710 | 0.60000002 i 711 | /Cs1 SC 712 | 1 1 1 sc 713 | q 714 | 0 0 470 486 rc 715 | 347.25272 372.25272 m 716 | 410.90536 308.60037 410.90536 205.39963 347.25272 141.74728 c 717 | 283.60037 78.094627 180.39963 78.094627 116.74729 141.74728 c 718 | 53.094627 205.39963 53.094627 308.60037 116.74729 372.25272 c 719 | 180.39963 435.90536 283.60037 435.90536 347.25272 372.25272 c 720 | f 721 | 2 w 722 | 1 J 723 | 1 j 724 | 0 0 0 sc 725 | 1 0 0 -1 -171 525 cm 726 | 518 153 m 727 | 581.9054 216.39963 581.9054 319.60037 518 383 c 728 | 454.60037 446.90536 351.39963 446.90536 288 383 c 729 | 224.09464 319.60037 224.09464 216.39963 288 153 c 730 | 351.39963 89.094627 454.60037 89.094627 518 153 c 731 | S 732 | 1 1 1 sc 733 | CM 734 | 389.38 299.50803 m 735 | 382.20923 326.1553 368.16678 351.33875 347.25272 372.25272 c 736 | 304.67944 414.8262 244.41426 428.9248 190.12332 414.54852 c 737 | 195.1826 405.29224 196.82666 394.14993 193.88086 383.15613 c 738 | 187.80307 360.47327 164.48799 347.0123 141.80515 353.09021 c 739 | 130.82103 356.03339 121.9994 363.01862 116.5118 372.01675 c 740 | 53.173122 308.42429 53.17313 205.57568 116.51181 141.98325 c 741 | 121.99939 150.9814 130.82101 157.96663 141.80515 160.90979 c 742 | 164.48799 166.98769 187.80307 153.52673 193.88086 130.84386 c 743 | 196.82666 119.85007 195.1826 108.70777 190.12332 99.451469 c 744 | 244.41428 85.075195 304.67944 99.173805 347.25272 141.74728 c 745 | 368.16678 162.66125 382.20923 187.8447 389.38 214.492 c 746 | 378.83395 214.73851 368.36215 218.88588 360.314 226.93408 c 747 | 343.70895 243.53903 343.70895 270.46097 360.314 287.06592 c 748 | 368.36215 295.11411 378.83395 299.26147 389.38 299.50803 c 749 | h 750 | 389.38 299.50803 m 751 | f 752 | 0 0 0 sc 753 | 1 0 0 -1 -171 525 cm 754 | 560 225 m 755 | 553.20923 198.84468 539.16681 173.66125 518 153 c 756 | 475.67944 110.1738 415.41428 96.075188 361 110 c 757 | 366.18262 119.70776 367.82666 130.85007 365 142 c 758 | 358.80307 164.52673 335.48798 177.98769 313 172 c 759 | 301.82101 168.96663 292.99939 161.9814 288 153 c 760 | 224.17313 216.57571 224.17313 319.42432 288 383 c 761 | 292.99939 374.01862 301.82101 367.03339 313 364 c 762 | 335.48798 358.0123 358.80307 371.47327 365 394 c 763 | 367.82666 405.14993 366.18262 416.29224 361 426 c 764 | 415.41428 439.9248 475.67944 425.8262 518 383 c 765 | 539.16681 362.33875 553.20923 337.1553 560 311 c 766 | 549.83398 310.26147 539.36212 306.11414 531 298 c 767 | 514.70892 281.46097 514.70892 254.53903 531 238 c 768 | 539.36212 229.88588 549.83392 225.73851 560 225 c 769 | h 770 | 560 225 m 771 | S 772 | 1 w 773 | [ 774 | 8 775 | 5 776 | 8 777 | 5 778 | 1 779 | 5 780 | ] 0 d 781 | 288.5 467.5 m 782 | 403.5 268.5 l 783 | S 784 | 632.5 268.5 m 785 | 173.5 268.5 l 786 | S 787 | 288.5 69.5 m 788 | 403.5 268.5 l 789 | S 790 | 403.5 41.5 m 791 | 403.5 501.5 l 792 | S 793 | [] 0 d 794 | 428.5 377.5 m 795 | 428.5 307.5 l 796 | S 797 | CM 798 | 257.10339 225.4622 m 799 | 254.10339 217.4622 l 800 | 260.10339 217.4622 l 801 | h 802 | 257.10339 225.4622 m 803 | f 804 | 0 J 805 | 0 j 806 | 1 0 0 -1 -171 525 cm 807 | 428.10339 299.53778 m 808 | 425.10339 307.53778 l 809 | 431.10339 307.53778 l 810 | h 811 | 428.10339 299.53778 m 812 | S 813 | 1 J 814 | 1 j 815 | 428.5 377.5 m 816 | 497.5 377.5 l 817 | S 818 | CM 819 | 334.34698 147.89499 m 820 | 326.34268 150.88345 l 821 | 326.35132 144.88345 l 822 | h 823 | 334.34698 147.89499 m 824 | f 825 | 0 J 826 | 0 j 827 | 1 0 0 -1 -171 525 cm 828 | 505.34698 377.10501 m 829 | 497.34268 374.11655 l 830 | 497.35132 380.11655 l 831 | h 832 | 505.34698 377.10501 m 833 | S 834 | /Cs2 SC 835 | 0 sc 836 | 0 i 837 | 1 0 0 -1 272.43826 197.84113 cm 838 | /F1.1[ 16 0 0 -16 0 0]sf 839 | -4 6 m 840 | (!)s 841 | 1 0 0 -1 309.29297 163.30003 cm 842 | -4.1440001 6 m 843 | (")s 844 | 0.60000002 i 845 | /Cs1 SC 846 | 1 1 1 sc 847 | CM 848 | 4.7480307 31.771656 m 849 | 469.62991 31.771656 l 850 | 469.62991 0.59055424 l 851 | 4.7480307 0.59055424 l 852 | h 853 | 4.7480307 31.771656 m 854 | f 855 | ep 856 | end 857 | %%Trailer 858 | %%EOF 859 | -------------------------------------------------------------------------------- /DEMO/Bellow.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Bellow.pdf -------------------------------------------------------------------------------- /DEMO/Book-Cover.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Book-Cover.pdf -------------------------------------------------------------------------------- /DEMO/Book-Cover.tex: -------------------------------------------------------------------------------- 1 | % !TEX encoding = UTF-8 Unicode 2 | % XeLaTeX can use any Mac OS X font. See the setromanfont command below. 3 | % Input to XeLaTeX is full Unicode, so Unicode characters can be typed directly into the source. 4 | 5 | % The next lines tell TeXShop to typeset with xelatex, and to open and save the source with Unicode encoding. 6 | 7 | %!TEX TS-program = xelatex 8 | 9 | \documentclass[12pt]{article} 10 | \usepackage[bottom=3cm]{geometry} % See geometry.pdf to learn the layout options. There are lots. 11 | \geometry{letterpaper} % ... or a4paper or a5paper or ... 12 | %\geometry{landscape} % Activate for for rotated page geometry 13 | %\usepackage[parfill]{parskip} % Activate to begin paragraphs with an empty line rather than an indent 14 | \usepackage{graphicx} 15 | \usepackage{amssymb} 16 | \usepackage{calc} 17 | \usepackage{graphicx} 18 | \pagestyle{empty} 19 | 20 | 21 | %CJK Font Setup 22 | \usepackage[PunctStyle=kaiming,AutoFakeBold=false,AutoFakeSlant=false]{xeCJK} 23 | \setCJKmainfont[BoldFont={Songti SC Bold},ItalicFont={KaiTi}] {SimSun} 24 | \setCJKsansfont[BoldFont={Heiti SC Medium}]{Heiti SC} 25 | \setCJKmonofont[BoldFont={Hiragino Sans GB W6}]{Hiragino Sans GB W3} 26 | 27 | % Will Robertson's fontspec.sty can be used to simplify font choices. 28 | % To experiment, open /Applications/Font Book to examine the fonts provided on Mac OS X, 29 | % and change "Hoefler Text" to any of these choices. 30 | 31 | %English Font Setup 32 | \usepackage{fontspec,xltxtra,xunicode} 33 | \defaultfontfeatures{Mapping=tex-text} 34 | \setmainfont{Times New Roman} 35 | \setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Calibri} 36 | \setmonofont[Scale=MatchLowercase]{Courier New} 37 | 38 | 39 | \author{Xu Deyuan $<$\href{mailto:xudeyuanghw@gmail.com}% 40 | {xudeyuanghw@gmail.com}$>$} 41 | %\date{} % Activate to display a given date or no date 42 | 43 | \newlength{\Han} 44 | \settowidth{\Han}{汉} 45 | \newcommand{\spreadCJK}[2]{\makebox[#1\Han][s]{#2}} 46 | 47 | \begin{document} 48 | \setlength{\headsep}{0cm} 49 | 50 | \begin{flushright} 51 | \parbox[c]{6em}{ % 52 | {\small \makebox[\width][c]{学校代码:\quad10246 }\par 53 | \makebox[\width][c]{学\phantom{占位}号:\quad09110290005}}} 54 | \end{flushright} 55 | \vspace{\stretch{0.5}} 56 | 57 | \begin{figure}[htbp] 58 | \begin{center} 59 | \includegraphics[width=0.5\textwidth]{FudanLOGO.eps} 60 | \end{center} 61 | \end{figure} 62 | 63 | \vspace{\stretch{0.5}} 64 | \begin{center} 65 | {\Huge \makebox [0.45\textwidth][s]{博士学位论文}\par} 66 | \vspace{\stretch{1.5}} 67 | {\LARGE \textsf{液体火箭纵向耦合振动稳定性分析}\par} 68 | \vspace{\stretch{0.5}} 69 | {\Large \textrm{Stability Analysis of Coupled Longitudinal Oscillation of Liquid Rocket}\par} 70 | 71 | \vspace{\stretch{2}} 72 | \parbox[c]{0.5\textwidth}{% 73 | \large \setlength{\baselineskip}{1.5\baselineskip}% 74 | \spreadCJK{8}{院系}:\quad 力学与工程科学系\par 75 | \spreadCJK{8}{专业}:\quad 流体力学\par 76 | \spreadCJK{8}{姓名}:\quad 徐得元\par 77 | \spreadCJK{8}{指导老师}:\quad 唐国安 \quad 教授\par 78 | \spreadCJK{8}{完成日期}:\quad 2014年4月1日} 79 | \end{center} 80 | 81 | \end{document} -------------------------------------------------------------------------------- /DEMO/Chapter02.tex: -------------------------------------------------------------------------------- 1 | % !TEX encoding = UTF-8 Unicode 2 | %!TEX TS-program = xelatex 3 | 4 | \chapter{基于三维带液贮箱模型的POGO稳定性分析} 5 | 6 | \section{带液贮箱的建模方法} 7 | \label{sec:3D-Liquid-Tank-Modelling} 8 | 为了证明引入带液贮箱三维模型的必要性,本节将首先对于传统简化贮箱模型进行简要介绍。通过公式推导和理论分析,指出了该方法在液体建模方面引入了过多理想假设,从而不再适用于对模型精度要求较高的POGO稳定性分析。接下来,针对带液贮箱的三维模型建立,文章分别就贮箱内液体建模和贮箱壳体建模两方面进行了详细说明。最后,通过对比两种方法的系统固有频率算例结果,指出了带液贮箱三维建模方法的优越性和适用性。 9 | 10 | \subsection{传统简化贮箱模型} 11 | 12 | \begin{figure}[!htb] 13 | \centering 14 | \includegraphics[width=.45\linewidth]{Simplified-Tank-Model.pdf} 15 | \caption{液体火箭推进剂贮箱简化模型}\label{Simplified-Tank-Model} 16 | \end{figure} 17 | 18 | 考虑具有刚性平底,部分冲液圆柱形贮箱的轴对称自由振动(如图\ref{Simplified-Tank-Model})。在集中参数模型的描述下,仿照公式\eqref{eq:Inlet-Boundary-Condition},可以写出箱底脉动压力、脉动流量与箱底振动加速度之间的关系: 19 | \begin{equation} 20 | \label{eq:Tank-Bottom-Relation} 21 | P_{in}=\rho h_T\left[ \left( 1-\frac{A_{in}}{A_T} \right) \ddot{x}_T- \frac{\dot{Q}_{in} }{A_T} \right] 22 | \end{equation} 23 | 公式\eqref{eq:Tank-Bottom-Relation}的推导过程主要基于了以下几点假设: 24 | \begin{itemize} 25 | \item 贮箱为平底,且箱体具有刚性壁面 26 | \item 箱内液体无粘、无旋且不可压缩 27 | \item 同横截面的液体具有相同的运动状态 28 | \end{itemize} 29 | 当箱底运动加速度为$\ddot{x}_T$,箱底出口脉动流量变化率为$\dot{Q}_{in}$的时候,贮箱内液体重心加速度满足: 30 | \begin{equation} 31 | \ddot{x}_C=\frac{(A_T-A_{in})\ddot{x}_T-\dot{Q}_{in} }{A_T} 32 | \end{equation} 33 | 根据动量守恒原理,作用在贮箱内液体上的合力应为$\rho h_T A_T\ddot{x}_C $。于是,如果认为贮箱箱底压力为均匀分布,可以很简单的推导出公式\eqref{eq:Tank-Bottom-Relation}的结果: 34 | \begin{equation} 35 | P_{in}=\frac{(\rho h_T A_T)\ddot{x}_C}{A_T} =\rho h_T\left[ \left( 1-\frac{A_{in}}{A_T} \right) \ddot{x}_T- \frac{\dot{Q}_{in} }{A_T} \right] 36 | \end{equation} 37 | 很明显,由于POGO振动问题从本质上看是一种流体与固体之间的强相互作用,所以在该问题的分析过程中必须要考虑贮箱壳体在流体外力作用下的变形情况。此外,由于液体火箭推进剂贮箱底部一般为椭球形,这就使得上述理想情况下的脉动压力--流量关系更加需要修正。 38 | 39 | \subsection{带液贮箱的三维建模} 40 | \label{sec:Three-Dimensional-Tank-Model} 41 | 同传统的集中参数贮箱模型一样,推进剂贮箱的三维模型同样包括了两个部分:贮箱内部液体与贮箱结构本身。对于前者,为了方便将其综合到耦合系统动力学方程中,此处采用了附加质量法对其进行等效\cite{Brennen:1982, Conca:1997, Liu-Huanzhong:2005}。而对于贮箱结构而言,本节着重介绍了三维模型如何针对贮箱底部开口处进行精细化建模。 42 | 43 | \subsubsection{贮箱内部液体建模} 44 | 在流体力学中,附加质量法或虚质量法是一种为了简化流固耦合问题的计算而发明的解耦方法。在不考虑液体粘性和可压缩性的条件下,这种方法的特点在于能够生成一种与结构系统湿面单元自由度完全耦合的液体质量矩阵,通过将液体质量矩阵附加到结构系统来达到模拟液体与结构系统相互作用的目的。 45 | \begin{figure}[!tb] 46 | \centering 47 | \includegraphics[width=.5\linewidth]{General-Liquid-Tank.pdf} 48 | \caption{带液贮箱压力分布示意图}\label{General-Liquid-Tank} 49 | \end{figure} 50 | 51 | 假设贮箱内的液体无粘、无旋且不可压缩,不考虑液体自由面晃动,箱体内(如图\ref{General-Liquid-Tank})流体压力场$p(x,y,z)$应该满足: 52 | \begin{equation} 53 | \label{eq:Liquid-Laplace-Equation} 54 | \begin{cases} 55 | \nabla^2p=0 & \text{液体内部}\\ 56 | {\displaystyle \frac{\partial p}{\partial n}}=-\rho \ddot{w}_n & \text{箱体接触面} \\ 57 | p=0 & \text{液体自由面} 58 | \end{cases} 59 | \end{equation} 60 | 61 | 为了求解控制流体压力场分布的Laplace方程,可以利用源、汇和偶极子的奇点配置法\cite{Morand:1995, Ohayon:1995, Ohayon:2004},首先将一系列的源分布到结构系统湿面的表面节点上,其中每个源所产生的解均满足拉普拉斯方程。然后,通过求解关于源强度的线性方程组,使得这一系列源在固液边界处所产生的流体运动速度满足前面提到的势函数边界条件。 62 | 63 | 假设位于$\boldsymbol{r}_j$位置的源强度为$\sigma_j$,那么在该源影响下任意位置$\boldsymbol{r}_i$处的流体速度$\dot{\boldsymbol{u}}_i$可以表达为: 64 | \begin{equation} 65 | \label{eq:Laplace-Velocity-Holmholtz} 66 | \dot{\boldsymbol{u}}_i=\sum_j \int_{A_j} \frac{\sigma_j\boldsymbol{e}_{ij}}{{\| \boldsymbol{r}_i-\boldsymbol{r}_j \|}^2}\ud A_j 67 | \end{equation} 68 | 其中$\boldsymbol{e_{ij}}$是从位置$\boldsymbol{r}_j$到$\boldsymbol{r}_i$的单位向量,源$\sigma_j$的作用范围为$A_j$。 69 | 70 | 由于贮箱内部液体压力由Laplace方程\eqref{eq:Liquid-Laplace-Equation}所决定,考虑到流体在靠近壁面处的速度连续性边界条件,非定常压力场$p(x,y,z,t)$可由结构系统的运动状态唯一确定。借助公式\eqref{eq:Laplace-Velocity-Holmholtz},流体压力场从形式上可以表示为: 71 | \begin{equation} 72 | p(x,y,z,t)=-{\boldsymbol{P}}(x,y,z)\ddot{\boldsymbol{x}}_s(t) 73 | \end{equation} 74 | 其中$\ddot{\boldsymbol{x}}_s(t)$是与液体相关联的箱体节点加速度。引入合适的形函数$\boldsymbol{N}^{\ut}(x,y,z)$,可以获得液体作用于贮箱壁面的等效节点力: 75 | \begin{equation} 76 | \boldsymbol{f}_L(t)=\int_\Gamma -\boldsymbol{N}^{\ut}(x,y,z) \boldsymbol{P}(x,y,z)\ddot{\boldsymbol{x}}_s(t)\ud \Gamma 77 | \end{equation} 78 | 经过单元组装,可以获得液体的附加质量矩阵: 79 | \begin{equation} 80 | \label{eq:Equivalent-Added-Mass} 81 | \boldsymbol{F}_L(t)=-\boldsymbol{M}_a \ddot{\boldsymbol{x}}_s(t) 82 | \end{equation} 83 | 可以看出,方程\eqref{eq:Equivalent-Added-Mass}具有与常规结构系统动力学公式一致的二阶微分方程形式,这将为后续耦合系统的稳定性分析带来巨大便利。 84 | 85 | \subsubsection{贮箱壳体的三维建模} 86 | \label{sec:3D-Model-Hulk} 87 | \begin{figure}[!htb] 88 | \centering 89 | \includegraphics[width=\linewidth]{Liquid-Tank-FEM-MSC.pdf} 90 | \caption{推进剂贮箱三维有限元模型}\label{Liquid-Tank-FEM-MSC} 91 | \end{figure} 92 | 93 | 贮箱壳体的三维有限元模型如图\ref{Liquid-Tank-FEM-MSC}所示。推进剂贮箱除底部开口处外均采用Shell单元模拟,三维模型在箱体后短壳处用REB2单元\footnote{既将推进剂贮箱与火箭主体部分刚性连接}与集中质量模型相连接。为了方便后续分析充分利用贮箱的轴对称特性,在氧化剂与燃烧剂贮箱箱底分别建立柱坐标系,并指定其做为各自壳体Shell单元的局部分析坐标系。 94 | 95 | \begin{figure}[!htb] 96 | \centering 97 | \includegraphics[width=\linewidth]{FEM-Tank-Bottom.pdf} 98 | \caption{推进剂箱底的精细化建模}\label{FEM-Tank-Bottom} 99 | \end{figure} 100 | 101 | \begin{figure}[!htb] 102 | \centering 103 | \setlength{\fboxrule}{0.8pt} 104 | \fbox{\includegraphics[width=.8\linewidth]{Patran-Tank-Bottom.png}} 105 | \caption{贮箱底部开口处的有限元模型}\label{Patran-Tank-Bottom} 106 | \end{figure} 107 | 108 | 由以上分析可以得知,刚性单元的法向加速度$\ddot{x}_T$与管路系统入口端流量变化率$\dot{Q}_{in}$\footnote{这里需要注意相对流量和绝对流量的概念:相对流量是指通过某个随体截面的液体流量,而绝对流量指的是通过某个固定截面的液体流量。在管路系统传递方程的推导过程中,$Q^{(n)}$都被用作指代绝对流量,此处$Q_{in}$也是如此}之间存在如下关系: 109 | \begin{equation} 110 | \dot{Q}_{in}\footnote{从表面上看,公式中$Q_{in}$应该代表的是相对于刚体活塞截面的管路入口端相对流量,不过由于在推进剂贮箱和管路系统主管的连接处通常加装有波纹管等缓冲设备(图\ref{POGO-PipeLine}未反映),因而刚体单元的截面恰好可以认为是相对管路系统静止的,从而$Q_{in}$可以作为主管的入口端绝对流量} 111 | =A_{in}\ddot{x}_T 112 | \end{equation} 113 | 进而可以得出脉动压力对结构系统的反馈力可以简单的表示为: 114 | \begin{equation} 115 | \label{eq:3D-Pressure-Feedback-Force} 116 | F_p=A_{in}P_{in} 117 | \end{equation} 118 | 119 | \begin{figure}[!htb] 120 | \centering 121 | \includegraphics[width=.4\linewidth]{Axial-Symmetric-Tank-Model.pdf} 122 | \caption{柱坐标系下的轴对称贮箱示意图}\label{Axial-Symmetric-Tank-Model} 123 | \end{figure} 124 | 125 | 由于POGO稳定性分析主要关心的是液体火箭耦合系统的纵向振动,所以对于结构系统模型中除去三维贮箱的其他集中参数节点,仅允许其产生纵向运动而约束了其余自由度。对于贮箱模型中的壳体单元,因为实际液体火箭贮箱本身通常具有良好的轴对称性,所以此处对其做出了如下简化处理(如图\ref{Axial-Symmetric-Tank-Model}):以贮箱轴线为$z$轴建立柱坐标系,贮箱上的节点位移均参考此坐标系;在贮箱模型的周向一圈节点中,选择一个独立点A,其余节点B,C等均通过MPC约束其轴向位移到A点。此外,为了防止贮箱产生不必要的扭转运动,模型还约束住了贮箱壳体单元沿轴线方向的扭转自由度。可以预见的是,这样的处理手段既能够缩减掉推进剂贮箱大量的无用自由度,又能够保证贮箱产生合理的纵向运动和横向轴对称运动,基本做到了效率显著提升而又兼顾结果精确性。此外,由于该有限元模型的分析结果自动过滤了与POGO无关的贮箱局部模态,所以可以很方便的将其与传统方法得到的稳定性分析结果进行对比,利于后续分析。 126 | 127 | \subsection{三维贮箱模型的方法验证} 128 | 为了验证节\ref{sec:Three-Dimensional-Tank-Model}建立三维贮箱模型的正确性,并指出其将为耦合系统的稳定性分析带来哪些改进,本节拟从以下两点进行论述: 129 | \begin{itemize} 130 | \item 验证三维贮箱模型的固有频率及模态是否合理 131 | \item 指出该模型为管路系统反馈力计算带来的改进 132 | \end{itemize} 133 | 134 | \begin{table}[htbp] 135 | \renewcommand{\arraystretch}{1.3} 136 | \caption{液体火箭结构系统固有频率的计算结果对比} 137 | \centering 138 | \begin{minipage}[t]{\linewidth} 139 | \begin{tabular}{cccc:cc} 140 | \toprule 141 | \multicolumn{4}{c}{三维贮箱模型} & \multicolumn{2}{c}{集中参数模型} \\ 142 | \cmidrule(r{0.5em}){1-4} \cmidrule(l{0.5em}){5-6} 143 | MODE NO. & CYCLES & MODE NO. & CYCLES & MODE NO. & CYCLES \\ 144 | \midrule 145 | 1 & \framebox{\textcolor{red}{0}} & 11 & 9.6 & 1 & \textcolor{red}{0} \\ 146 | 2 & 2.58 & 12 & 30.3 & 2 & \textcolor{red}{9.08} \\ 147 | 3 & \framebox{\textcolor{red}{0.49}} & 13 & \framebox{\textcolor{red}{3.1}} & 3 & \textcolor{red}{1.2} \\ 148 | 4 & \framebox{\textcolor{red}{9.3}} & 14 & 36.6 & 4 & \textcolor{red}{20.1} \\ 149 | 5 & 6.3 & 15 & 3.8 & 5 & \textcolor{red}{3.8} \\ 150 | 6 & 6.6 & 16 & 37.6 & 6 & \textcolor{red}{9.7} \\ 151 | 7 & 1.8 & 17 & \framebox{\textcolor{red}{9.3}} & 7 & \textcolor{red}{65.4} \\ 152 | 8 & \framebox{\textcolor{red}{0.2}} & 18 & 40.2 & 8 & \textcolor{red}{2.5} \\ 153 | 9 & 2.1 & 19 & 4.4 & 9 & \textcolor{red}{3.9} \\ 154 | 10 & 29.2 & 20 & 44.6 & 10 & \textcolor{red}{11} \\ 155 | \bottomrule 156 | \end{tabular} 157 | \end{minipage} 158 | 159 | \vspace{2em} 160 | 161 | \centering 162 | \begin{minipage}[t]{\linewidth} 163 | \begin{tabular}{cccccc} 164 | \toprule 165 | \multicolumn{6}{c}{三维贮箱模型} \\ 166 | \cmidrule{1-6} 167 | MODE NO. & CYCLES & MODE NO. & CYCLES & MODE NO. & CYCLES \\ 168 | \midrule 169 | 21 & 48 & 31 & \framebox{\textcolor{red}{63.8}} & 41 & 87 \\ 170 | 22 & 49.6 & 32 & 67.4 & 42 & 89.5 \\ 171 | 23 & 49.7 & 33 & 68.9 & 43 & \framebox{\textcolor{red}{91.2}} \\ 172 | 24 & 51.1 & 34 & 71.4 & 44 & 95.8 \\ 173 | 25 & 53.6 & 35 & \framebox{\textcolor{red}{73.1}} & 45 & 96.9 \\ 174 | 26 & 55 & 36 & 74.8 & 46 & 99.8 \\ 175 | 27 & 55.4 & 37 & 77.2 & 47 & 103.3 \\ 176 | 28 & 57.1 & 38 & 82.5 & 48 & 103.7 \\ 177 | 29 & 60.2 & 39 & 82.9 & 49 & 105.9 \\ 178 | 30 & 62.8 & 40 & 82.9 & 50 & \framebox{\textcolor{red}{108.2}} \\ 179 | \bottomrule 180 | \end{tabular} 181 | \end{minipage} 182 | \label{table:Liquid-Rocket-Structural-System-Eigen} 183 | \end{table} 184 | 185 | \section{三维贮箱对应的管路系统模型} 186 | \label{sec:3D-Tank-VS-Feedline-Update} 187 | 188 | \begin{figwindow}[0,r,{\includegraphics[width=.5\linewidth]{3D-Feedlink-Scheme}},{管路推进系统结构示意图\label{3D-Feedlink-Scheme}}] 189 | 类似节\ref{sec:Lumped-Feedline-Model},与三维推进剂贮箱对接的管路系统如图\ref{3D-Feedlink-Scheme}所示。本节沿用了之前管路元件传递函数的处理手段,首先采用有理分式拟合方法对三维贮箱对应的管路系统在形式上进行初步整理。由于液体贮箱的分析平台基于有限元分析软件MSC.Nastran,观察到其动态建模方法中提供了TF卡技术来直接修改系统整体矩阵,所以此处并没有继续采用类结构化方法处理有理分式形式的管路系统反馈力,而是利用构造TF卡的手段将其耦合到液体火箭结构系统之中。 190 | 191 | \makebox[2\Han]{}不同于公式\eqref{eq:Feedback-Force-Transfer},由于三维贮箱不需要考虑箱底脉动流量引起反馈力,管路系统反馈力形式变为: 192 | \protect\phantom{占座 占座 占座 占座 占座 占座 占座 占座 } 193 | 194 | \end{figwindow} 195 | 196 | \begin{equation} 197 | \label{eq:3D-Feedback-Force-Transfer} 198 | \boldsymbol{F}_p(s)=\left[ \begin{matrix} 199 | F_2(s) \\ 200 | F_3(s) \\ 201 | F_4(s) \\ 202 | \end{matrix} \right] \triangleq \boldsymbol{R}_{pq}(s)\left[ \begin{matrix} 203 | \dot{x}_T(s) \\ 204 | \dot{x}_{L1}^{(5)}(s) \\ 205 | \end{matrix} \right] \triangleq \boldsymbol{R}_{pq}(s)\boldsymbol{\dot{X}}_q(s) 206 | \end{equation} 207 | 208 | 利用所得反馈力传递关系的有理分式形式,可以将公式\eqref{eq:3D-Feedback-Force-Transfer}与结构系统进行耦合: 209 | \begin{equation} 210 | \left \{ 211 | \label{eq:3D-Coupled-System-Transfer} 212 | \begin{aligned} 213 | \left[s^2 \boldsymbol{M}_s+ s\left(\boldsymbol{C}_s+\boldsymbol{\dot{M}}_s 214 | -\boldsymbol{L}_{sp} \boldsymbol{R}_{pq}(s)\boldsymbol{L}_{qs}\right)+ \boldsymbol{K}_s \right]\boldsymbol{X}_s(s)&=\boldsymbol{F}_s(s) \\ 215 | s\boldsymbol{M}_{pq}+ \boldsymbol{D}_{pq}+ \sum_{k=1}^n 216 | \left( \frac{\boldsymbol{C}_{pq}^{(k)}}{s-\boldsymbol{A}_k} + 217 | \frac{\bar{\boldsymbol{C}}_{pq}^{(k)}}{s-\bar{\boldsymbol{A}}_k} \right) 218 | + \sum_{j=1}^{m}\frac{\boldsymbol{B}_{pq}^{(j)}}{s-R_j}&=\boldsymbol{R}_{pq}(s) 219 | \end{aligned} \right. 220 | \end{equation} 221 | 222 | 相比集中参数管路模型,这里采用的有理分式更具通用性,考虑了传递关系中可能包含实数零点的一般情况。接下来,对于此处所得有理分式,将引入MSC.Nastran中的TF卡建模方法来对其进行进一步处理。 223 | 224 | 考察公式\eqref{eq:3D-Coupled-System-Transfer}中传递矩阵$\boldsymbol{R}_{pq}$的任一元素$R_{pq}$ 225 | \begin{equation} 226 | R_{pq}=T(s)=\left( sM_0 + D_0 + \sum_{k=1}^n \frac{C_k}{s-A_k}+ \sum_{k=1}^{n}\frac{\bar{C}_k}{s-\bar{A}_k} + \sum_{j=1}^{m} \frac{B_j}{s-R_j} \right) 227 | \end{equation} 228 | 分离实、虚部,可以使得$T(s)$中不再含有TF方法所不能处理的复数系数\footnote{由于TF卡建模方法仅支持位移传递函数的输入,而传递矩阵$\boldsymbol{R}_{pq}$表示的是速度反馈,所以在$T(s)$中分子分母同时乘以$s$以便后续处理} 229 | \begin{equation} 230 | \label{eq:3D-Transfer-Single-Rational} 231 | T(s)=\frac{1}{s} \left[ (sM_0+D_0)s+ \sum_{k=1}^{n} \frac{2(C'_ks^2-C'_kA'_k s-C''_kA''_k s)}{s^2-2A'_ks+{A'_k}^{2}+{A''_k}^2}+\sum_{j=1}^m \frac{B_js}{s-R_j} \right] 232 | \end{equation} 233 | 鉴于Nastran中传递函数的标准写法为($u$为节点位移): 234 | \begin{equation} 235 | \label{eq:Standard-Nastran-TF} 236 | (B_0+B_1s+B_2s^2)u_d+\sum_i (A_{0i}+A_{1i}s+ A_{2i}s^2)u_i=0 237 | \end{equation} 238 | 借助Epoint(辅助点)$x_1^0(t),x_{2}^k(t),x_{3}^j(t)$,其中 239 | \begin{equation} 240 | \label{eq:Epoint-Relationship} 241 | \begin{aligned} 242 | X_1^0(s)&=\Laplace{x_1^0(t)}= (s^2M_0+D_0s)X_q(s) \\ 243 | X_{2}^k(s)&=\Laplace{x_2^k(t)}= X_q(s)/(s^2-2A'_ks+{A'_k}^2+{A''_k}^2)\\ 244 | X_{3}^j(s)&=\Laplace{x_3^j(t)}= X_q(s)/(s-R_j) 245 | \end{aligned} 246 | \end{equation} 247 | 可以利用公式\eqref{eq:3D-Transfer-Single-Rational}写出传递矩阵$T(s)$对于反馈力$\boldsymbol{F}_p(s)$的贡献: 248 | \begin{equation} 249 | \label{eq:Quasi-Structural-Epoint} 250 | \begin{aligned} 251 | f^{q}(s)&= T(s)\dot{X}_q(s) =X_1^0(s) + \sum_{j=1}^m (B_js)X_3^{j}(s) \\ 252 | &+\sum_{k=1}^n 2(C'_k s^2- C'_k A'_k s- C''_k A''_ks)X_2^{k}(s) 253 | \end{aligned} 254 | \end{equation} 255 | 考虑到传递矩阵$\boldsymbol{R}_{pq}$中各个分量的极点是相同的,为了尽可能少的引入Epoint,在对其整体进行TF卡片输入的时候,辅助点$\tilde{\boldsymbol{X}}(s)$的引入规范如下: 256 | \begin{equation} 257 | \label{eq:General-Epoint-Relationship} 258 | \begin{aligned} 259 | {\tilde{X}}_{pq}^{(0)}(s)&=(s^2M_{pq}+D_{pq}s)X_q(s) \\ 260 | {\tilde{X}}_{q}^{(k)}(s)&=X_q(s)/(s^2-2A'_ks+{A'_k}^2+{A''_k}^2)\\ 261 | {\tilde{X}}_{q}^{(j)}(s)&=X_q(s)/(s-R_j) 262 | \end{aligned} 263 | \end{equation} 264 | 可知辅助点的总数目为$p\cdot q+ q\cdot k+ q\cdot j$。TF卡片的示例样式如图\ref{TF-Card-Construction}。 265 | 266 | \begin{figure}[!htb] 267 | \centering 268 | \includegraphics[width=\linewidth]{TF-Card-Construction} 269 | \caption{MSC.Nastran传递函数TF卡片构造示例}\label{TF-Card-Construction} 270 | \end{figure} 271 | 272 | 最后,可利用公式\eqref{eq:General-Epoint-Relationship},写出传递矩阵$\boldsymbol{R}_{pq}$中任意元素$R_{pq}$对于反馈力$\boldsymbol{F}_p(s)$的贡献: 273 | \begin{equation} 274 | \label{eq:General-Quasi-Structural-Epoint} 275 | \begin{aligned} 276 | f_{pq}(s)&= R_{pq}\dot{X}_q(s)={\tilde{X}}_{pq}^{(0)}(s) + 277 | \sum_{j=1}^m (B_{pq}^{(j)}s){\tilde{X}}_{q}^{(j)}(s) \\ 278 | &+\sum_{k=1}^n 2(C_{pq}^{\prime (k)} s^2- C_{pq}^{\prime (k)} A'_k s- C_{pq}^{\prime\prime(k)} A''_ks){\tilde{X}}_{q}^{(k)}(s) 279 | \end{aligned} 280 | \end{equation} 281 | 观察公式\eqref{eq:General-Epoint-Relationship}和\eqref{eq:General-Quasi-Structural-Epoint},可见其均满足Nastran的输入要求\eqref{eq:Standard-Nastran-TF}。于是,方程\eqref{eq:3D-Coupled-System-Transfer}最终可以被划归为二阶常微分方程组的传递矩阵形式: 282 | \begin{equation} 283 | \label{eq:3D-Final-Coupled-Transfer-Function} 284 | (s^2\boldsymbol{M}_c+s\boldsymbol{C}_c+\boldsymbol{K}_c)\boldsymbol{X}_c(s)=\boldsymbol{F}_c(s) 285 | \end{equation} 286 | 其中,$\boldsymbol{X}_c(s)=\left[ \boldsymbol{X}_s^{\ut}(s)\quad \tilde{\boldsymbol{X}}^\ut(s) \right]^{\ut}$为包含辅助点自由度的增广节点位移向量,$\boldsymbol{M}_c,\boldsymbol{C}_c,\boldsymbol{K}_c$为重新装配后的耦合系统质量、阻尼和刚度矩阵。可以看到,由于辅助变量的引进,耦合系统整体矩阵不再保持原有的对称性,所以通常需要利用成熟的复模态求解方法对其进行复特征值和特征向量的求解。不过,相对于求解管路系统原始的非线性反馈力传递矩阵而言,Nastran等商业有限元软件的计算效率和求解精度都要远远胜出。 287 | 288 | \section{耦合系统阻尼特性分析} 289 | 随着充液航天器的发展,带液贮箱的阻尼特性分析正引起越来越多研究者的关注。然而,由于人们对于物质在其运动过程中能量耗散的成因及机理分析还很不完善,以至于就单纯的结构或者流体动力学问题而言,系统阻尼的建模、校核与评估通常即为求解问题中最难处理的一部分。对于POGO振动问题,由于液体火箭的结构阻尼一般是由实验测定得出,所以此处本节着重介绍了贮箱内部液体的阻尼计算。 290 | 291 | \subsection{液体阻尼特性分析基础} 292 | 在节\ref{sec:Three-Dimensional-Tank-Model}介绍的带液贮箱建模过程中,由于本文的研究重点为液体火箭的纵向耦合振动,所以模型并没有考虑贮箱内部液体晃动等与耦合系统纵向振动联系较弱的其他运动形式。然而,针对贮箱内部液体的阻尼建模问题,因为液体阻尼主要与箱体壁面粘性阻尼作用、自由液面处的粘性耗散、液体内部粘性耗散及毛细作用等四个方面相关联\cite{Henderson:1994, Martel:1998},所以此时必须将贮箱内液体的晃动等方面考虑进来。 293 | 294 | 该方法认为理想流体区域的运动由Laplace方程控制($\Phi$为速度势): 295 | \begin{equation} 296 | \label{eq:Ideal-Liquid-Laplace} 297 | \left \{ 298 | \begin{alignedat}{2} 299 | &\nabla^2\Phi=0 &\quad &\text{液体内部}\:\Omega\\ 300 | &{\displaystyle \frac{\partial \Phi}{\partial n}}=0 &\quad &\text{不可渗透边界条件}\:S_w \\ 301 | &{\displaystyle \frac{\partial \Phi}{\partial t}}=-gh &\quad &\text{液体自由面}\:S_f 302 | \end{alignedat} \right. 303 | \end{equation} 304 | 对于Stokes边界层,由于其厚度在一般情况下非常薄,因此可以将壁面边界层内某一点的流动速度近似处理为于壁面平行: 305 | \begin{equation} 306 | \frac{\partial \boldsymbol{v}}{\partial t} = \nu\frac{\partial^2 \boldsymbol{v}}{\partial z^2} 307 | \end{equation} 308 | 其中$\boldsymbol{v}$为流体速度,$z$为壁面法向坐标,$\nu$为液体的运动学粘度系数。根据计算所得的流体运动情况,就可以计算Stokes边界层与流体内部粘性的能量耗散。 309 | 310 | \begin{enumerate}[label=\textbf{\Roman*.}, align=left, leftmargin=0pt, listparindent=\parindent, itemindent=!, labelwidth=\parindent, labelsep=0pt, itemsep=1em] 311 | \litem{Stokes边界层能量耗散} 312 | \begin{itemize} 313 | \item 对于液面没有受到污染的情况:仅在壁面上计算Stokes边界层。若假设$\boldsymbol{v}=\boldsymbol{U}e^{i\omega t}$,一个晃动周期内的平均能量耗散率为 314 | \begin{equation} 315 | D_1=\rho\sqrt{\frac{1}{8}\nu\omega}\iint_{S_w}| \boldsymbol{U}|^2\ud S 316 | \end{equation} 317 | \item 对于自由液面受到污染的情况:需要额外考虑自由液面处的Stokes边界层能量耗散 318 | \begin{equation} 319 | D_1=\rho\sqrt{\frac{1}{8}\nu\omega}\iint_{S_w+S_f}| \boldsymbol{U}|^2\ud S 320 | \end{equation} 321 | \end{itemize} 322 | 323 | \litem{流体内部的能量耗散} 324 | \begin{itemize} 325 | \item[]对于流体的粘性耗散有如下耗散函数: 326 | \begin{equation} 327 | F=\frac{\mu}{2}\int_{\Omega}\mathfrak{R}(\boldsymbol{v})\ud\Omega 328 | \end{equation} 329 | 其中$\mu$为动力学粘度系数,$\boldsymbol{v}=\left[ \begin{matrix} v_x & v_y & v_z \end{matrix} \right]^\ut$ 330 | \begin{displaymath} 331 | \begin{aligned} 332 | \mathfrak{R}(\boldsymbol{v})=&2\left[(\frac{\partial v_x}{\partial x})^2 + (\frac{\partial v_y}{\partial y})^2+ (\frac{\partial v_z}{\partial z})^2\right] \\ 333 | &+ (\frac{\partial v_z}{\partial y}- \frac{\partial v_y}{\partial z})^2+(\frac{\partial v_x}{\partial z}- \frac{\partial v_z}{\partial x})^2 + (\frac{\partial v_y}{\partial x}- \frac{\partial v_x}{\partial y})^2 334 | \end{aligned} 335 | \end{displaymath} 336 | 利用方程\eqref{eq:Ideal-Liquid-Laplace},可以写出一个周期内液体内部的平均能量耗散率为: 337 | \begin{equation} 338 | \begin{aligned} 339 | D_2&=\frac{\omega}{2\pi}\int_0^{\frac{2\pi}{\omega}}2F(\Phi)\ud t \\ 340 | &=\frac{\omega}{2\pi}\int_0^{\frac{2\pi}{\omega}}\mu\int_\Omega \mathfrak{R}(\Phi)\ud \Omega \cos ^2 (\omega t)\ud t \\ 341 | &=\frac{1}{2}\mu\int_\Omega\mathfrak{R}(\Phi)\ud \Omega 342 | \end{aligned} 343 | \end{equation} 344 | \end{itemize} 345 | \end{enumerate} 346 | 如此,由于在一个周期内液体晃动的总机械能为 347 | \begin{equation} 348 | E=\frac{\rho}{2}\int_\Omega |\nabla \Phi|^2\ud \Omega 349 | \end{equation} 350 | 可以计算出贮箱内液体阻尼比$\gamma$为\cite{Abramson:1966, Miles:1958}: 351 | \begin{equation} 352 | \label{eq:Damping-Ratio-Stokes} 353 | \gamma=\frac{D_1+D_2}{2\omega E} 354 | \end{equation} 355 | 实际上,Abramson早在1966年便通过实验数据的拟合,给出了圆柱容器内液体小幅晃动第一阶模态阻尼的经验公式\cite{Abramson:1966}: 356 | \begin{equation} 357 | \label{eq:Empirical-Damping-Ratio} 358 | \delta=4.98\nu^{1/2}R^{-3/4}g^{-1/4}\left[ 1+\frac{0.318}{\sinh (1.84{\displaystyle\frac{h}{R}})} \left( \frac{1-{\displaystyle\frac{h}{R}}}{\cosh(1.84{\displaystyle\frac{h}{R}})} +1\right) \right] 359 | \end{equation} 360 | 其中$R$为容器的半径,$h$为容器内部液体高度,$g$为当地重力加速度。经过验证,在$\displaystyle \frac{h}{R}<1.0$的时候,公式\eqref{eq:Damping-Ratio-Stokes}与\eqref{eq:Empirical-Damping-Ratio}给出的计算结果相当一致\cite{WangWei:2005,WangWei:2006}。但是,由于上述Henderson模型建立在线性化自由表面边界的基础之上,所以其结论仅局限在液面做小幅晃动的时候。对于$\displaystyle \frac{h}{R}>1.0$的情况,Abramson给出了另外的经验公式: 361 | \begin{equation} 362 | \delta=4.98\nu^{1/2}R^{-3/4}g^{-1/4} 363 | \end{equation} 364 | 由此可见,现阶段可以通过理论推导来获得的阻尼模型还很有限,计算模型的验证还远远离不开实验去验证。 365 | 366 | \subsection{带防晃板的贮箱液体阻尼} 367 | Mikishev和Stephens等人经过大量的科学实验,发现液体的粘性耗散作用其实在防止液体晃动方面真正能起到的作用非常有限\cite{Mikishev:1961, Stephens:1962}。在正常规格的贮箱内部,即使内部装有动力学粘度超出水一百倍的液体,其粘性阻尼也不会超过0.5\si{\percent}。因而,对于液体火箭这种需要严格控制液体晃动的复杂构型,Baffle(防晃板)的使用是必不可少的。 368 | 369 | 存在防晃板的液体建模其实与公式\eqref{eq:Ideal-Liquid-Laplace}非常类似,获得解析解的技术手段一般也即为时间-空间分离变量法。若在贮箱根部建立$rz\theta$柱坐标系,假设贮箱底部存在$\ddot{x}(t)=\ddot{x}_0e^{\num{i}\omega t}$的简谐运动,那么可以构造公式\eqref{eq:Ideal-Liquid-Laplace}速度势函数解析解的对流部分\cite{Haroun:1981}: 370 | \begin{gather} 371 | \Phi_c=\left( \frac{g\eta}{\num{i} \omega} \right)\frac{\cosh(\lambda_1 z/R)}{\cosh(\lambda_1 H/R)} \\ 372 | \eta(r,\theta,t)=R\left[ \sum_{j=1}^\infty \frac{1}{1-{(\omega/\omega_j)}^2} \frac{2}{\lambda_j^2-1} \frac{J_1(\lambda_j r/R)}{J_1(\lambda_j)} \right]\frac{\ddot{x}_0}{g}e^{\num{i}\omega t} \cos\theta \nonumber 373 | \end{gather} 374 | 375 | 其中,$R$为贮箱半径,$H$为液面总高度,$\eta$为液面晃动振幅。$J_1$为第一类Bessel函数,$\lambda_j$为$\dot{J}_1$的第$j$个零点,$\omega_j$为液体晃动的第$j$阶固有频率。 376 | \begin{displaymath} 377 | {\omega_j}^2=\frac{\lambda_j g}{R}\tanh \left( \lambda_j \frac{H}{R} \right) 378 | \end{displaymath} 379 | Stricklin经过计算得出了晃动液体的总机械能为\cite{Stricklin:1966}: 380 | \begin{equation} 381 | E=\frac{1}{4} \rho g \eta^2 \left( 1- \frac{1}{\lambda_1^2} \right)\pi R^2 382 | \end{equation} 383 | 对于存在防晃板情况下液体的能量损耗,可以通过衡量板内微元$\ud A$面积下的阻力$\ud F$,对其积分来计算防晃板的平均做功: 384 | \begin{align} 385 | \ud F&=\frac{1}{2}\rho C_d u_n|u_n|\ud A \\ 386 | D&=\overline{\int u_n \ud F} 387 | \end{align} 388 | 其中$u_n=u_n(r,\theta,z,t)$是液体沿防晃板法线方向的运动速度,$C_d$为阻力系数。将阻力做功在一个晃动周期内进行平均,可以获得贮箱液体的平均能量损耗: 389 | \begin{equation} 390 | \label{eq:Baffle-Energy-Loss} 391 | D=\int\frac{2}{3\pi}\rho C_dU_n^3 \ud A 392 | \end{equation} 393 | 可以看出,方程\eqref{eq:Baffle-Energy-Loss}计算的关键在于确定阻力系数$C_d$与液体晃动速度$U_n$。然而,对于不同的液体及防晃板类型,$C_d$通常只能利用实验手段获得。以环形防晃板为例,Keulegan和Carpenter给出了$C_d$的拟合公式\cite{Keulegan:1958}: 394 | \begin{equation} 395 | \label{eq:Ring-Baffle-Cd} 396 | C_d=15 \left( \frac{UT}{r_b} \right)^{-0.5},\quad 2\leq \frac{UT}{r_b} \leq 20 397 | \end{equation} 398 | 其中$T$为液体晃动周期,$r_b$为防晃板宽度,$U$为垂直防晃板方向的液体流动速度。将公式\eqref{eq:Baffle-Energy-Loss}及\eqref{eq:Ring-Baffle-Cd}带入\eqref{eq:Damping-Ratio-Stokes},Maleki给出了环形防晃板的阻尼比计算公式\cite{Maleki:2008}: 399 | \begin{equation} 400 | \label{eq:Ring-Baffle-Damping-Ratio} 401 | \gamma_r=4C_r \sqrt{\frac{\eta_m}{R}} \left( \frac{\sinh (1.84h/R)}{\sinh (1.84H/R)} \right)^{2.5} \tanh \left( 1.84\frac{H}{R} \right) 402 | \end{equation} 403 | 其中$h$为防晃板安装高度,$\eta_m$为最大液面晃动幅度。$C_r$与防晃板相对面积有关: 404 | \begin{equation} 405 | C_r=\left(\frac{r_b}{R}\right)^{1.5} \left(2- \frac{r_b}{R}\right) 406 | \end{equation} 407 | 408 | \begin{figure}[!htb] 409 | \centering 410 | \includegraphics[width=\linewidth]{Ring-Baffle-Damping-Curve.pdf} 411 | \caption{有环形防晃板的贮箱液体阻尼}\label{Ring-Baffle-Damping-Curve} 412 | \end{figure} 413 | 414 | 值得注意的是,由公式\eqref{eq:Ring-Baffle-Damping-Ratio}与Maleki的贮箱实验结果可以看出:液体阻尼将随液面高度$H/R$变化而变化;对于液体火箭来说,推进剂贮箱半满状态时的液体阻尼要远高于其满箱和空箱状态(如图\ref{Ring-Baffle-Damping-Curve}\cite{Maleki:2008},$\eta/R=0.05,\, r_b/R=0.2$)。此外,对于没有防晃板的情况而言,公式\eqref{eq:Empirical-Damping-Ratio}给出的计算结果不仅阻尼很小,并且没有体现这种变化趋势。这就要求POGO研究者们在对液体火箭带液贮箱进行建模分析的时候,必须格外关注以下几点: 415 | \begin{enumerate} 416 | \item 严格区分不同类型贮箱的液体阻尼计算模型; 417 | \item 具备实验条件的情况下,尽可能开展带液贮箱的振动实验以验证计算结果的准确性; 418 | \item 必须考虑液体贮箱阻尼特性的时变规律。 419 | \end{enumerate} 420 | 421 | 此外,随着近年来流体力学计算方法的发展,一些学者也开始尝试通过有限体积法的VOF方法对贮箱液体进行了更为精细的动态仿真。例如,杨魏等针对圆柱箱体中的液体晃动阻尼开展了数值仿真\cite{YangWei:2009},虽然其模型中应用的防晃板并非环形,但是贮箱内部液体的阻尼变化规律大致与Maleki模型相同(如图\ref{YangWei-Baffle},\ref{Damping-Ration-Yang})。鉴于液体火箭真实模型的贮箱实测非常难以实施,以上方法也为带液贮箱的阻尼特性分析提供了新的思路。 422 | 423 | \begin{figure}[!htb] 424 | \hspace{\stretch{2}} 425 | \begin{minipage}[b]{0.35\textwidth} 426 | \centering 427 | \includegraphics[width=\linewidth]{Baffle} 428 | \caption{半圆形防晃板配置图}\label{YangWei-Baffle} 429 | \end{minipage} 430 | \hspace{\stretch{1}} 431 | \begin{minipage}[b]{0.55\textwidth} 432 | \centering 433 | \includegraphics[width=\linewidth]{Damping-Ration-Yang} 434 | \caption{不同液面高度晃动阻尼比计算结果}\label{Damping-Ration-Yang} 435 | \end{minipage} 436 | \end{figure} 437 | 438 | \subsection{贮箱液体阻尼的应用方法} 439 | 综合前两节的结论,可以看出耦合系统阻尼特性分析的重点和难点主要在于: 440 | \begin{enumerate}[leftmargin=\parindent, align=parleft, labelindent=0pt, labelwidth=*] 441 | \item 如何根据已有的带液贮箱实验数据及防晃板参数来确定阻力系数$C_d$,进而推导得出贮箱液体的阻尼比时变参数; 442 | \item 如何将贮箱液体的阻尼特性包含于三维贮箱的建模之中,进而参与耦合系统动力学计算。 443 | \end{enumerate} 444 | 由于前者的解决方法主要依赖现有实验手段而非进一步的理论推导,所以本节主要介绍如何在有限元方法中实现对于带液贮箱时变阻尼特性的建模分析。 445 | 446 | 在系统动力学中,阻尼通常可以分为粘性阻尼和结构阻尼两种,其数学描述如下: 447 | \begin{equation} 448 | \begin{cases} 449 | f_v=b\dot{u} & \text{粘性阻尼力}\\ 450 | f_s=\num{i}gku & \text{结构阻尼力} \\ 451 | \end{cases} 452 | \end{equation} 453 | 其中$\num{i}=\sqrt{-1}$,$b$为粘性阻尼系数,$g$为结构阻尼系数,$k$为结构刚度。可以看出,对于系统复模态分析来说,粘性阻尼力不仅与粘性阻尼系数相关,并且与外界扰动力频率$\omega$成正比。所以,若想通过调节阻尼系数来将两种阻尼模型等效互换,通常只能在特定频段之内操作: 454 | \begin{equation} 455 | gk=b\omega\ \longrightarrow\ b=\frac{gk}{\omega} 456 | \end{equation} 457 | 若外界扰动力频率$\omega$恰好等于系统固有频率,则 458 | \begin{gather} 459 | \omega=\omega_n=\sqrt{\frac{k}{m}} \\ 460 | b=\frac{gk}{\omega_n}=g\omega_n m 461 | \end{gather} 462 | 由于系统的临界阻尼满足$b_c=2m\omega_n$,可以推导得出在共振点附近结构阻尼比$\zeta$满足: 463 | \begin{equation} 464 | \label{eq:G-B-Zeta} 465 | \frac{b}{b_c}=\zeta=\frac{g}{2} 466 | \end{equation} 467 | 假如已经通过实验等方法成功获取了带液贮箱的阻尼参数,可以根据公式\eqref{eq:G-B-Zeta}进行不同阻尼系数之间的换算。 468 | 469 | 系统复模态的计算方法通常可以分为两种:直接法和模态法。由于POGO振动的快速特征值求解法并没有采用模态缩聚技术,所以此处主要介绍如何针对直接法进行结构系统阻尼和贮箱液体阻尼的施加。 470 | 471 | 以MSC.Nastran为例,其阻尼输入方法可以分为两大类:直接矩阵输入法与参数设定法。 472 | \begin{enumerate}[leftmargin=\parindent, align=parleft, labelindent=0pt, labelwidth=*] 473 | \item 假如用户已经通过外部计算获得了系统阻尼矩阵,可以利用直接矩阵输入法将计算结果导入求解器(对称矩阵B2GG,对称或不对称矩阵B2PP); 474 | \item 参数设定法则是通过指定模型中相关材料的结构阻尼系数$G_e$,或是直接设定系统整体的结构阻尼系数$G$或Rayleigh阻尼系数$\alpha_1,\alpha_2$\footnote{修改后的系统阻尼矩阵$\boldsymbol{B}'= \boldsymbol{B}+\alpha_1\boldsymbol{M}+\alpha_2\boldsymbol{K}$}来实现仿真对象的阻尼特性建模。 475 | \end{enumerate} 476 | 477 | \begin{figure}[!tb] 478 | \centering 479 | \includegraphics[width=\linewidth]{Time-Varing-Tank-Height} 480 | \caption{三维贮箱液体阻尼随高度变化示意图}\label{Time-Varing-Tank-Height} 481 | \end{figure} 482 | 483 | \section{算例分析} 484 | 参考节\ref{sec:Lumped-Numerical-Simulation}中算例,为了与其进行对比,本节采用同样的准静态技术与管路系统模型参数对相同规格的国内某液体火箭开展了耦合系统稳定性分析。不同的是,本例在对液体火箭结构系统建模时引入了节\ref{sec:3D-Liquid-Tank-Modelling}中介绍的带液贮箱三维模型,同时还利用节\ref{sec:3D-Tank-VS-Feedline-Update}中描述的TF卡建模方法对与其配套的管路系统进行对接处理。 485 | 486 | \begin{figure}[p] 487 | \centering 488 | \includegraphics[width=\linewidth]{3D-Stability-Curve} 489 | \caption{耦合系统特征值随时间变化三维曲线}\label{3D-Stability-Curve} 490 | \includegraphics[width=\linewidth]{3D-Stability-Real-Imag} 491 | \caption{耦合系统特征值三维曲线的正视图与俯视图}\label{3D-Stability-Real-Imag} 492 | \end{figure} 493 | 494 | 首先,图\ref{3D-Stability-Curve}给出了耦合系统特征值随时间变化三维曲线。由于POGO稳定性分析关注的主要为系统特征值是否包含正实部,所以图中仅显示了特征值包含正实部的部分结果。可以清晰的看出,相比与节\ref{sec:Lumped-Numerical-Simulation}中阐述的液体火箭为全时稳定的结论,该曲线表明此火箭在升空过程中经历了两个包含不稳定振动的时间区段。结合图\ref{3D-Stability-Real-Imag}给出的三维曲线正视图和俯视图,可以发现这两次不稳定振动存在以下特征: 495 | \begin{enumerate} 496 | \item 不稳定模态的固有频率都随着时间从低到高变化; 497 | \item 不稳定模态的正实部时间演化都呈现抛物线形; 498 | \item 第二次失稳的时间历程与对应特征值的正实部较第一次来说更长、更大。 499 | \end{enumerate} 500 | 501 | 从上述不稳定振动的特征描述来看,这两次失稳都基本符合POGO振动的主要特征。由于两次失稳的固有频率明显没有延续性,这就意味着该液体火箭不仅在运行期间发生了多次POGO振动,并且每次被激发的耦合系统模态可能不尽相同。 502 | 503 | \setcounter{footnote}{0} 504 | 505 | \begin{figure}[p] 506 | \centering 507 | \includegraphics[width=\linewidth]{50s-Modal-Deformed.png} 508 | \caption{液体火箭带有正实部的贮箱局部模态剖面图:50s时刻}\label{50s-Modal-Deformed} 509 | \vspace{1.5em} 510 | \includegraphics[width=\linewidth]{120s-Modal-Deformed.png} 511 | \caption{液体火箭带有正实部的贮箱局部模态剖面图:120s时刻}\label{120s-Modal-Deformed} 512 | \vspace{1.5em} 513 | \includegraphics[width=\linewidth]{Deformed-Modal.pdf} 514 | \caption{液体火箭带有正实部的复模态局部振型:50s时刻}\label{Deformed-Modal} 515 | \end{figure} 516 | 517 | 为了揭示POGO振动所处模态与其他正阻尼模态有何差异,图\ref{3D-Modal-Bottom}给出了两组耦合系统失稳模态与其相邻模态之间的局部振型形貌对比\footnote{各阶模态均采用统一的归一化方法}。通过观察氧化剂贮箱箱底及发动机燃烧室处的振动情况,可以发现: 518 | \begin{itemize} 519 | \item[-] 由于推进剂贮箱壳体的柔度普遍高于液体火箭结构系统其他部位,所以耦合系统正阻尼模态通常也会展现出贮箱底部变形较大的情况; 520 | \item[-] 考虑到发动机燃烧室处的节点在质量和连接刚度上并无异于其他集中参数质量节点,所以其振动量级一般不会显著高于液体火箭其他部位。因此,在进行耦合系统复模态分析时,要特别关注在燃烧室处存在振动异常的高危振型---只有在发生POGO振动时,此处才有可能由于管路系统反馈力的影响而产生振幅剧烈放大的异常现象。 521 | \end{itemize} 522 | 523 | 524 | 525 | 526 | 527 | 528 | 529 | -------------------------------------------------------------------------------- /DEMO/Chapter03.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Chapter03.tex -------------------------------------------------------------------------------- /DEMO/Chapter04.tex: -------------------------------------------------------------------------------- 1 | % !TEX encoding = UTF-8 Unicode 2 | %!TEX TS-program = xelatex 3 | 4 | \chapter{结论与展望} 5 | 6 | \section{全文总结} 7 | 乘着祖国大力发展载人航天事业的契机,本文以液体火箭纵向耦合振动的稳定性分析为主要研究内容,比较深入的阐述了POGO问题的研究对象、作用机理、求解方法及预防手段。全文研究工作的要点及创新点主要包括: 8 | \begin{enumerate}[leftmargin=0pt, align=parleft, itemindent=2\parindent, labelsep=0pt, label=\roman*).] 9 | \item 较为全面的总结了国内、外液体火箭纵向耦合问题的研究进展,指出了传统的液体火箭POGO稳定性分析方法如矩阵法、单传法和临界阻尼法,在求解非对称、非线性复传递矩阵特征值时遇到的主要问题及方法局限性。 10 | \item 发展了一种基于矩阵法和有理分式拟合法的耦合系统快速特征值求解算法。该方法能够利用类结构化建模技术将包含超越函数的管路推进系统反馈力传递函数等效变换为与结构动力学方程一致的形式,通过求解矩阵特征值问题以快速、精确的确定耦合系统动力学稳定性。 11 | \item 利用虚质量法及带孔箱底精细有限元建模技术,提出了一套液体火箭带液贮箱的三维轴对称建模方法。发展后的三维带液贮箱模型不仅能够提供足够完整且合理的结构系统模态参与耦合计算,并且为管路系统提供了更为科学和精确的入口端边界条件。结合MSC.Nastran提供的传递函数TF卡建模工具,文章还给出了一种能够使得有理分式形式的反馈力传递函数参与结构系统耦合计算的商业软件整合技术,基本实现了耦合系统时变复特征值计算的模块化与自动化。 12 | \item 将液体火箭结构系统阻尼特性的识别和建模引入耦合系统稳定性分析,指出了适用于液体火箭POGO仿真的阻尼施加方式。通过调整贮箱干/湿面材料随时间变化的比例阻尼系数,成功的利用有限元模型模拟了实测贮箱阻尼结果。 13 | \item 通过比较不同类型的液体火箭在多种工况下的POGO稳定性分析结果,一方面揭示了耦合系统特征值与管路系统关键参数(如蓄压器容积等)之间的相互联系,另一方面还指出了将耦合系统动态传递特性分析纳入液体火箭POGO稳定性分析的重要性和必要性。参考现阶段国内液体火箭的设计水平与制造工艺,提出了一些分析及防治液体火箭POGO振动的基本思路,给出了液体火箭纵向耦合振动的理论分析框架和试验设计框架。 14 | \end{enumerate} 15 | 16 | \section{工作展望} 17 | 鉴于现有的理论基础和时间、经费及研究条件限制,本文的工作还存在许多不足及值得改进的地方: 18 | \begin{enumerate}[leftmargin=0pt, align=parleft, itemindent=2\parindent, labelsep=0pt, label=\arabic*).] 19 | \item 管路推进系统只考虑了单组元的燃烧推力生成模型,尚没有考虑双贮箱情形的液体三维流动耦合作用; 20 | \item 一些管路系统元件的时变参数如泵的柔度与管件的当地声速,需要更为精确的实验测定; 21 | \item 耦合系统的结构阻尼时变参数需要进一步的理论分析及实验支持; 22 | \item 液体火箭结构系统仅对带液贮箱引入了三维有限元模型,其余部件依然采用集中参数弹簧-质量模型,需要进一步建立箭体结构其它部分的三维模型与贮箱进行匹配; 23 | \item 在对液体火箭管路系统进行建模时,未考虑蓄压器等元件的非线性效应; 24 | \item 未考虑液体火箭在结构失稳时由于非线性效应而产生的极限环现象; 25 | \item 程序、算法需要进一步完善和工程化。 26 | \end{enumerate} 27 | 28 | POGO振动本身是一个十分复杂的多领域、多系统、多参数的非线性时变问题。在与之配套的理论分析基础和实验测量数据都很不完备的今天,若期待祖国的载人航天事业能走的更远、更坚实,大量的后续工作还需要继往开来的科研工作者持之以恒的付出和实践。愿以此文与之共勉。 29 | 30 | -------------------------------------------------------------------------------- /DEMO/Deformed-Modal.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Deformed-Modal.pdf -------------------------------------------------------------------------------- /DEMO/FDUThesis.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{FDUThesis} 2 | %----------------------------Page Layout-------------------------------! 3 | %\usepackage[top=1.75in, bottom=1.75in, left=1.75in, right=1.25in]{geometry} 4 | \usepackage[twoside, head=15pt, bindingoffset=1cm, textwidth=.7\paperwidth,ignorefoot]{geometry} 5 | %\usepackage[top=2.54cm, bottom=2.54cm, left=3.18cm, right=3.18cm]{geometry} 6 | \geometry{a4paper} % ... or a4paper or a5paper or ... 7 | %\usepackage{layout} 8 | %\layout 9 | 10 | %-----------------------------Index, Indent, LineSpace Setup--------------------------! 11 | \usepackage{imakeidx} %Index Enabled 12 | \makeindex[columns=2, options=-s Thesis] 13 | \usepackage[font=footnotesize, totoc]{idxlayout} 14 | \setlength{\parindent}{2em} %Indent 15 | \usepackage{setspace} 16 | \setstretch{1.385} 17 | %\doublespacing 18 | %\onehalfspacing 19 | %\setlength{\baselineskip}{20bp} %baseline skip. No effect in Preamble, insert after begin{document} 20 | %\linespread{1.3844827586206896} 21 | 22 | \newcommand{\frontchapter}[1]{\cleardoublepage \phantomsection \addcontentsline{toc}{chapter}{#1} \chapter*{#1} \markboth{\sffamily {#1}}{}} 23 | \newcommand{\backchapter}[1]{\cleardoublepage \phantomsection \addcontentsline{toc}{chapter}{#1} \chapter*{#1} \markboth{\sffamily {#1}}{}} 24 | 25 | %-----------------------------------Misc-----------------------------------! 26 | \usepackage{graphicx} 27 | \usepackage{amsmath, amsthm, amssymb} 28 | \usepackage{latexsym,bm} 29 | \usepackage{titlesec} 30 | \titleformat{\chapter}[display]{\Huge\sffamily\bfseries}{\thechapter}{1em}{} 31 | %\titleformat{\chapter}[hang]{\center\Huge\sffamily\bfseries}{\thechapter}{1em}{} 32 | \usepackage{xcolor} %Basic: \color{red} \colorbox{red}{text} \fcolorbox \textcolor{red}{text} 33 | \usepackage{caption} 34 | \captionsetup{font={small}} 35 | \captionsetup[table]{belowskip=1ex} 36 | \usepackage{enumitem} 37 | \newcommand\litem[1]{\item{\bfseries #1\par}} 38 | \setlist{nolistsep} 39 | \usepackage{fancybox} 40 | \usepackage{picinpar} 41 | \usepackage{siunitx} 42 | \usepackage{tabularx} 43 | \usepackage{booktabs} 44 | \usepackage{multirow} 45 | \usepackage{arydshln} 46 | \usepackage{pdfpages} 47 | \raggedbottom 48 | \renewcommand{\thefootnote}{\fnsymbol{footnote}} 49 | \newcommand{\ud}{\mathrm{d}} 50 | \newcommand{\ut}{\mathrm{T}} %Matrix Transpose 51 | \newcommand{\Laplace}[1]{\mathcal{L} \left\{ {#1} \right\}} 52 | \newcommand{\Lacelap}[1]{\mathcal{L}^{-1} \left\{ {#1} \right\}} 53 | \newcommand{\RNum}[1]{\uppercase\expandafter{\romannumeral #1\relax}} 54 | \sisetup{ 55 | output-exponent-marker = \ensuremath{\mathrm{E}}, 56 | exponent-product={} 57 | } 58 | %--------------------------------Bib Setup-------------------------------! 59 | \RequirePackage[numbers,super,sort&compress]{natbib} 60 | \bibpunct{[}{]}{,}{s}{}{,} 61 | \renewcommand{\bibfont}{\wuhao} 62 | %\setlength{\bibsep}{0pt} 63 | \usepackage{hypernat} 64 | %-----------------------------Hyper Ref Setup--------------------------! 65 | %Enable Href HyperLinks, BookMarks 66 | \usepackage[colorlinks=true,% Hyper ref Enabled 67 | bookmarks=true,% 68 | linkcolor=black,% 69 | citecolor=black,% 70 | CJKbookmarks=true,% 71 | unicode=true,% 72 | %pagebackref=true,% 73 | hyperindex=true,% 74 | hyperfigures=true,% 75 | pdfauthor={Xu Deyuan}]{hyperref} 76 | 77 | %-----------------------------CJK Font Setup--------------------------! 78 | \usepackage[PunctStyle=kaiming,AutoFakeBold=false,AutoFakeSlant=false,indentfirst,CJKnumber]{xeCJK} 79 | \xeCJKDeclareSubCJKBlock{PUNC}{"FF1F} 80 | \setCJKmainfont[BoldFont={Songti SC Bold}, PUNC=SimSun] {Songti SC Light} 81 | \setCJKsansfont[BoldFont={Heiti SC Medium}]{Heiti SC} 82 | \setCJKmonofont[BoldFont={Hiragino Sans GB W6}]{Hiragino Sans GB W3} 83 | 84 | \setCJKfamilyfont{zhxinsong}{SimSun} 85 | \setCJKfamilyfont{zhsong}[BoldFont={Songti SC Bold}]{Songti SC Light} 86 | \setCJKfamilyfont{zhhei}[BoldFont={Heiti SC Medium}]{Heiti SC} 87 | \setCJKfamilyfont{zhfs}{FangSong} 88 | \setCJKfamilyfont{zhkai}[BoldFont={Kaiti SC Bold}]{Kaiti SC Regular} 89 | \setCJKfamilyfont{zhli}{LiSu} 90 | \setCJKfamilyfont{zhyou}{YouYuan} 91 | 92 | \newcommand*{\simsun}{\CJKfamily{zhxinsong}} % 新宋 93 | \newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体 94 | \newcommand*{\heiti}{\CJKfamily{zhhei}} % 黑体 95 | \newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋 96 | \newcommand*{\kaishu}{\CJKfamily{zhkai}} % 楷书 97 | \newcommand*{\lishu}{\CJKfamily{zhli}} % 隶书 98 | \newcommand*{\youyuan}{\CJKfamily{zhyou}} % 幼圆 99 | 100 | % Use Fontsize inside {}, include a \par at the end of bracket to enable baselineskip 101 | \newcommand{\chuhao}{\fontsize{42pt}{50.4pt}\selectfont} %初号 102 | \newcommand{\xiaochu}{\fontsize{36pt}{43.12pt}\selectfont} %小初号 103 | \newcommand{\yihao}{\fontsize{27.5pt}{33pt}\selectfont} %一号 104 | \newcommand{\erhao}{\fontsize{21pt}{25.2pt}\selectfont} %二号 105 | \newcommand{\xiaoer}{\fontsize{18pt}{21.6pt}\selectfont} %小二号 106 | \newcommand{\sanhao}{\fontsize{15.75pt}{18.9pt}\selectfont} %三号 107 | \newcommand{\sihao}{\fontsize{13.75pt}{16.5pt}\selectfont} %四号 108 | \newcommand{\xiaosi}{\fontsize{12pt}{14.4pt}\selectfont} %小四号 109 | \newcommand{\wuhao}{\fontsize{10.5pt}{12.6pt}\selectfont} %五号 110 | \newcommand{\xiaowu}{\fontsize{9pt}{10.8pt}\selectfont} %小五号 111 | \newcommand{\liuhao}{\fontsize{7.875pt}{9.45pt}\selectfont} %六号 112 | \newcommand{\qihao}{\fontsize{5.25pt}{6.3pt}\selectfont} %七号 113 | 114 | % Will Robertson's fontspec.sty can be used to simplify font choices. 115 | % To experiment, open /Applications/Font Book to examine the fonts provided on Mac OS X, 116 | % and change "Hoefler Text" to any of these choices. 117 | 118 | %-----------------------------English Font Setup--------------------------! 119 | \usepackage{fontspec,xltxtra,xunicode} 120 | \defaultfontfeatures{Mapping=tex-text} 121 | \setmainfont{Times New Roman} 122 | \setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Helvetica} 123 | \setmonofont[Scale=MatchLowercase]{Courier New} 124 | 125 | \newfontfamily{\AMT}{American Typewriter} 126 | \newfontfamily{\Curly}{Baskerville} 127 | \newfontfamily{\Fraktur}{Euclid Fraktur} 128 | 129 | 130 | %Define Han Length 131 | \newlength{\Han} 132 | \settowidth{\Han}{汉} 133 | 134 | %-----------------------------TOC LOF Setup--------------------------! 135 | %Define ListOfContent, Header/Footer, Index 136 | \usepackage[titles]{tocloft} 137 | \renewcommand{\cftchapfont}{\sffamily} 138 | \renewcommand{\cftdotsep}{5} 139 | \renewcommand{\cftparskip}{0pt} 140 | \addtolength{\cftchapnumwidth}{3\Han} % add the extra space 141 | \setlength{\cftbeforechapskip}{0.6em} % Adjust Chapter Menu Spacing 142 | \setlength{\cftbeforesecskip}{\cftbeforechapskip} % Equal Menu Vertical Spacing 143 | \setlength{\cftbeforesubsecskip}{\cftbeforechapskip} 144 | \renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}} % for chapters 145 | \addtolength{\cftsecnumwidth}{0.69\Han} % add the extra space 146 | \renewcommand{\cftsecpresnum}{\raisebox{0.07em}{\S\,}} % for sections 147 | 148 | %-----------------------------Fancy Header Setup--------------------------! 149 | \usepackage{fancyhdr} 150 | \pagestyle{fancy} 151 | \renewcommand{\headrulewidth}{0.5pt} 152 | \renewcommand{\chaptermark}[1]{\markboth{\sffamily\chaptername\ \thechapter \quad #1}{}} 153 | \renewcommand{\sectionmark}[1]{\markright{\sffamily\thesection.\ #1}} 154 | \fancyhf{} 155 | \fancyhead[ER]{\small\leftmark} 156 | \fancyhead[OL]{\small\rightmark} 157 | \fancyhead[EL,OR]{$\cdot$\ \thepage\,$\cdot$} 158 | 159 | %----------------------------Language Setup--------------------------! 160 | \theoremstyle{plain} 161 | \newtheorem{assumption}{假设}[chapter] 162 | \newtheorem{definition}{定义}[chapter] 163 | \newtheorem{proposition}{命题}[chapter] 164 | \newtheorem{lemma}{引理}[chapter] 165 | \newtheorem{theorem}{定理}[chapter] 166 | \newtheorem{axiom}{公理}[chapter] 167 | \newtheorem{corollary}{推论}[chapter] 168 | \newtheorem{exercise}{练习}[chapter] 169 | \newtheorem{example}{例}[chapter] 170 | \newtheorem{remark}{注释}[chapter] 171 | \newtheorem{problem}{问题}[chapter] 172 | \newtheorem{conjecture}{猜想}[chapter] 173 | 174 | 175 | \renewcommand{\chaptername}{} 176 | \renewcommand{\contentsname}{\textsf{目\hspace{.5em}录}} 177 | \renewcommand{\listfigurename}{\textsf{插图索引}} 178 | \renewcommand{\listtablename}{表格索引} 179 | \renewcommand{\bibname}{\textsf{参考文献}} 180 | \renewcommand{\indexname}{\textsf{索\hspace{.5em}引}} 181 | \renewcommand{\figurename}{图} 182 | \renewcommand{\tablename}{表} 183 | \renewcommand{\appendixname}{附\hspace{.5em}录} 184 | \renewcommand{\thechapter}{第\CJKnumber{\arabic{chapter}}章} 185 | \renewcommand{\thesection}{\arabic{chapter}.\arabic{section}} 186 | \renewcommand{\thefigure} {\arabic{chapter}-\arabic{figure}} 187 | \renewcommand{\theequation}{\arabic{chapter}.\arabic{equation}} 188 | \renewcommand{\thetable} {\arabic{chapter}-\arabic{table}} -------------------------------------------------------------------------------- /DEMO/FDUbib.bst: -------------------------------------------------------------------------------- 1 | % BibTeX standard bibliography style `thubib.bst' derived from `unsrt' 2 | % This file is part of `thuthesis' package. 3 | % 4 | % $Id$ 5 | 6 | ENTRY 7 | { address 8 | author 9 | booktitle 10 | chapter 11 | edition 12 | editor 13 | howpublished 14 | institution 15 | journal 16 | key 17 | lang 18 | month 19 | note 20 | number 21 | organization 22 | pages 23 | publisher 24 | school 25 | series 26 | title 27 | type 28 | volume 29 | year 30 | url 31 | } 32 | {} 33 | { label } 34 | 35 | INTEGERS { output.state before.all mid.sentence after.sentence after.block } 36 | 37 | FUNCTION {not} 38 | { { #0 } 39 | { #1 } 40 | if$ 41 | } 42 | 43 | FUNCTION {and} 44 | { 'skip$ 45 | { pop$ #0 } 46 | if$ 47 | } 48 | 49 | FUNCTION {or} 50 | { { pop$ #1 } 51 | 'skip$ 52 | if$ 53 | } 54 | 55 | FUNCTION {init.state.consts} 56 | { #0 'before.all := 57 | #1 'mid.sentence := 58 | #2 'after.sentence := 59 | #3 'after.block := 60 | } 61 | 62 | STRINGS { s t } 63 | 64 | FUNCTION {output.nonnull} 65 | { 's := 66 | output.state mid.sentence = 67 | { ", " * write$ } 68 | { output.state after.block = 69 | { add.period$ write$ 70 | newline$ 71 | "\newblock " write$ 72 | } 73 | { output.state before.all = 74 | 'write$ 75 | { add.period$ " " * write$ } 76 | if$ 77 | } 78 | if$ 79 | mid.sentence 'output.state := 80 | } 81 | if$ 82 | s 83 | } 84 | 85 | FUNCTION {output.nonperiod} 86 | { 's := 87 | output.state mid.sentence = 88 | { ", " * write$ } 89 | { output.state after.block = 90 | { " " * write$ 91 | newline$ 92 | "\newblock " write$ 93 | } 94 | { output.state before.all = 95 | 'write$ 96 | { add.period$ " " * write$ } 97 | if$ 98 | } 99 | if$ 100 | mid.sentence 'output.state := 101 | } 102 | if$ 103 | s 104 | } 105 | 106 | FUNCTION {output.year} 107 | { 't := 108 | number empty$ 109 | volume empty$ 110 | and 111 | { add.period$ write$ } 112 | { ", " * write$ } 113 | if$ 114 | t 115 | } 116 | 117 | STRINGS {z} 118 | FUNCTION {remove.dots} 119 | { 'z := 120 | "" 121 | { z empty$ not} 122 | { z #1 #1 substring$ 123 | z #2 global.max$ substring$ 'z := 124 | duplicate$ "." = 'pop$ 125 | { * } 126 | if$ 127 | } 128 | while$ 129 | %z 130 | } 131 | 132 | FUNCTION {bibinfo.check} 133 | { swap$ 134 | duplicate$ missing$ 135 | { 136 | pop$ pop$ 137 | "" 138 | } 139 | { duplicate$ empty$ 140 | { 141 | swap$ pop$ 142 | } 143 | { swap$ 144 | pop$ 145 | } 146 | if$ 147 | } 148 | if$ 149 | } 150 | 151 | FUNCTION {format.note} 152 | { 153 | note empty$ 154 | { "" } 155 | { note #1 #1 substring$ 156 | duplicate$ "{" = 157 | 'skip$ 158 | { output.state mid.sentence = 159 | { "l" } 160 | { "u" } 161 | if$ 162 | change.case$ 163 | } 164 | if$ 165 | note #2 global.max$ substring$ * "note" bibinfo.check 166 | } 167 | if$ 168 | } 169 | 170 | FUNCTION {output} 171 | { duplicate$ empty$ 172 | 'pop$ 173 | 'output.nonnull 174 | if$ 175 | } 176 | 177 | FUNCTION {output.check} 178 | { 't := 179 | duplicate$ empty$ 180 | { pop$ "empty " t * " in " * cite$ * warning$ } 181 | 'output.nonnull 182 | if$ 183 | } 184 | 185 | FUNCTION {output.noperiodcheck} 186 | { 't := 187 | duplicate$ empty$ 188 | { pop$ "empty " t * " in " * cite$ * warning$ } 189 | 'output.nonperiod 190 | if$ 191 | } 192 | 193 | FUNCTION {output.bibitem} 194 | { newline$ 195 | "\bibitem{" write$ 196 | cite$ write$ 197 | "}" write$ 198 | newline$ 199 | "" 200 | before.all 'output.state := 201 | } 202 | 203 | FUNCTION {fin.entry} 204 | { duplicate$ empty$ 205 | 'pop$ 206 | 'write$ 207 | if$ 208 | newline$ 209 | % "\thudot" write$ 210 | % newline$ 211 | } 212 | 213 | % FUNCTION {fin.entry} 214 | % { add.period$ 215 | % write$ 216 | % %remove.dots 217 | % newline$ 218 | % } 219 | 220 | % FUNCTION {fin.entry} 221 | % { duplicate$ empty$ 222 | % 'pop$ 223 | % 'write$ 224 | % if$ 225 | % newline$ 226 | % } 227 | 228 | FUNCTION {new.block} 229 | { output.state before.all = 230 | 'skip$ 231 | { after.block 'output.state := } 232 | if$ 233 | } 234 | 235 | FUNCTION {new.sentence} 236 | { output.state after.block = 237 | 'skip$ 238 | { output.state before.all = 239 | 'skip$ 240 | { after.sentence 'output.state := } 241 | if$ 242 | } 243 | if$ 244 | } 245 | 246 | 247 | FUNCTION {new.block.checka} 248 | { empty$ 249 | 'skip$ 250 | 'new.block 251 | if$ 252 | } 253 | 254 | FUNCTION {new.block.checkb} 255 | { empty$ 256 | swap$ empty$ 257 | and 258 | 'skip$ 259 | 'new.block 260 | if$ 261 | } 262 | 263 | FUNCTION {new.sentence.checka} 264 | { empty$ 265 | 'skip$ 266 | 'new.sentence 267 | if$ 268 | } 269 | 270 | FUNCTION {new.sentence.checkb} 271 | { empty$ 272 | swap$ empty$ 273 | and 274 | 'skip$ 275 | 'new.sentence 276 | if$ 277 | } 278 | 279 | FUNCTION {field.or.null} 280 | { duplicate$ empty$ 281 | { pop$ "" } 282 | 'skip$ 283 | if$ 284 | } 285 | 286 | FUNCTION {emphasize} 287 | { duplicate$ empty$ 288 | { pop$ "" } 289 | { "{\em " swap$ * "}" * } 290 | if$ 291 | } 292 | 293 | INTEGERS { nameptr namesleft numnames } 294 | 295 | FUNCTION {bbl.etal} 296 | { "et~al." } 297 | 298 | FUNCTION {bbl.cn.etal} 299 | { "等." } 300 | 301 | FUNCTION {format.lang} 302 | { lang empty$ 303 | 'skip$ 304 | 'skip$ 305 | if$ 306 | } 307 | 308 | FUNCTION {format.names} 309 | { 's := 310 | #1 'nameptr := 311 | s num.names$ 'numnames := 312 | numnames 'namesleft := 313 | { namesleft #0 > } 314 | { s nameptr 315 | %"{ff }{ll}" 316 | "{ll }{f{~}}" 317 | format.name$ 318 | remove.dots 319 | %bibinfo bibinfo.check 320 | 't := 321 | nameptr #1 > 322 | { 323 | nameptr #3 324 | #1 + = 325 | numnames #3 326 | > and 327 | { "others" 't := 328 | #1 'namesleft := } 329 | 'skip$ 330 | if$ 331 | namesleft #1 > 332 | { ", " * t * } 333 | { numnames #2 > 334 | { "" * } 335 | 'skip$ 336 | if$ 337 | s nameptr "{ll}" format.name$ duplicate$ "others" = 338 | { 't := } 339 | { pop$ } 340 | if$ 341 | t "others" = 342 | { 343 | lang empty$ 344 | { ", " * bbl.etal * } 345 | { lang "zh" = 346 | { ", " * bbl.cn.etal * } 347 | 'skip$ 348 | if$ 349 | } 350 | if$ 351 | } 352 | { 353 | lang empty$ 354 | { ", " * t * } 355 | { lang "zh" = 356 | { ", " * t * } 357 | 'skip$ 358 | if$ 359 | } 360 | if$ 361 | } 362 | if$ 363 | } 364 | if$ 365 | } 366 | 't 367 | if$ 368 | nameptr #1 + 'nameptr := 369 | namesleft #1 - 'namesleft := 370 | } 371 | while$ 372 | } 373 | 374 | FUNCTION {format.authors} 375 | { author empty$ 376 | { "" } 377 | { author format.names } 378 | if$ 379 | } 380 | 381 | FUNCTION {editors.names} 382 | { lang empty$ 383 | { ", (eds.)" } 384 | { ", 编" } 385 | if$ 386 | } 387 | 388 | 389 | FUNCTION {format.editors} 390 | { editor empty$ 391 | { "" } 392 | { editor format.names 393 | % editor num.names$ #1 > 394 | %{ ", editors" * } 395 | %{ ", editor" * } 396 | % if$ 397 | editors.names * 398 | } 399 | if$ 400 | } 401 | 402 | FUNCTION {format.title} 403 | { title empty$ 404 | { "" } 405 | { title } 406 | if$ 407 | } 408 | 409 | FUNCTION {n.dashify} 410 | { 't := 411 | "" 412 | { t empty$ not } 413 | { t #1 #1 substring$ "-" = 414 | { t #1 #2 substring$ "--" = not 415 | { "--" * 416 | t #2 global.max$ substring$ 't := 417 | } 418 | { { t #1 #1 substring$ "-" = } 419 | { "-" * 420 | t #2 global.max$ substring$ 't := 421 | } 422 | while$ 423 | } 424 | if$ 425 | } 426 | { t #1 #1 substring$ * 427 | t #2 global.max$ substring$ 't := 428 | } 429 | if$ 430 | } 431 | while$ 432 | } 433 | 434 | FUNCTION {format.date} 435 | { year empty$ 436 | { month empty$ 437 | { "" } 438 | { "there's a month but no year in " cite$ * warning$ 439 | month 440 | } 441 | if$ 442 | } 443 | { month empty$ 444 | 'year 445 | { month ", " * year * } 446 | if$ 447 | } 448 | if$ 449 | } 450 | 451 | FUNCTION {format.btitle} 452 | { title %emphasize 453 | } 454 | 455 | FUNCTION {tie.or.space.connect} 456 | { duplicate$ text.length$ #3 < 457 | { "~" } 458 | { " " } 459 | if$ 460 | swap$ * * 461 | } 462 | 463 | FUNCTION {either.or.check} 464 | { empty$ 465 | 'pop$ 466 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 467 | if$ 468 | } 469 | 470 | FUNCTION {format.bvolume} 471 | { volume empty$ 472 | { "" } 473 | { "volume" volume tie.or.space.connect 474 | series empty$ 475 | 'skip$ 476 | { " of " * series emphasize * } 477 | if$ 478 | "volume and number" number either.or.check 479 | } 480 | if$ 481 | } 482 | 483 | FUNCTION {format.number.series} 484 | { volume empty$ 485 | { number empty$ 486 | { series field.or.null } 487 | { output.state mid.sentence = 488 | { "number" } 489 | { "Number" } 490 | if$ 491 | number tie.or.space.connect 492 | series empty$ 493 | { "there's a number but no series in " cite$ * warning$ } 494 | { " in " * series * } 495 | if$ 496 | } 497 | if$ 498 | } 499 | { "" } 500 | if$ 501 | } 502 | 503 | FUNCTION {format.edition} 504 | { edition empty$ 505 | { "" } 506 | { output.state mid.sentence = 507 | { edition "l" change.case$ " ed." * } 508 | { edition "t" change.case$ " ed." * } 509 | if$ 510 | } 511 | if$ 512 | } 513 | 514 | 515 | FUNCTION {format.url} 516 | { url empty$ 517 | { "" } 518 | { new.block " {\url{" url * "}}" * } 519 | if$ 520 | } 521 | 522 | 523 | INTEGERS { multiresult } 524 | 525 | FUNCTION {multi.page.check} 526 | { 't := 527 | #0 'multiresult := 528 | { multiresult not 529 | t empty$ not 530 | and 531 | } 532 | { t #1 #1 substring$ 533 | duplicate$ "-" = 534 | swap$ duplicate$ "," = 535 | swap$ "+" = 536 | or or 537 | { #1 'multiresult := } 538 | { t #2 global.max$ substring$ 't := } 539 | if$ 540 | } 541 | while$ 542 | multiresult 543 | } 544 | 545 | FUNCTION {format.pages} 546 | { pages empty$ 547 | { "" } 548 | { pages multi.page.check 549 | { "" pages n.dashify tie.or.space.connect } 550 | { "" pages tie.or.space.connect } 551 | if$ 552 | } 553 | if$ 554 | } 555 | 556 | FUNCTION {format.vol.num.pages} 557 | { volume field.or.null 558 | number empty$ 559 | 'skip$ 560 | { "(" number * ")" * * 561 | volume empty$ 562 | { "there's a number but no volume in " cite$ * warning$ } 563 | 'skip$ 564 | if$ 565 | } 566 | if$ 567 | pages empty$ 568 | 'skip$ 569 | { duplicate$ empty$ 570 | { pop$ format.pages } 571 | { ":" * pages n.dashify * } 572 | if$ 573 | } 574 | if$ 575 | } 576 | 577 | FUNCTION {format.chapter.pages} 578 | { chapter empty$ 579 | { "" } 580 | { type empty$ 581 | { "chapter" } 582 | { type "l" change.case$ } 583 | if$ 584 | chapter tie.or.space.connect 585 | pages empty$ 586 | 'skip$ 587 | { ", " * format.pages * } 588 | if$ 589 | } 590 | if$ 591 | } 592 | 593 | FUNCTION {collection.in} 594 | { lang empty$ 595 | { "In: " } 596 | { "见: " } 597 | if$ 598 | } 599 | 600 | FUNCTION {format.in.ed.booktitle} 601 | { booktitle empty$ 602 | { "" } 603 | { editor empty$ 604 | { lang empty$ 605 | { "Proceedings of " booktitle * } 606 | { " " booktitle * } 607 | if$ 608 | } 609 | { lang empty$ 610 | { collection.in format.editors * ". Proceedings of " * booktitle * } 611 | { collection.in format.editors * ". " * booktitle * } 612 | if$ 613 | } 614 | if$ 615 | } 616 | if$ 617 | } 618 | 619 | FUNCTION {empty.misc.check} 620 | { author empty$ title empty$ howpublished empty$ 621 | month empty$ year empty$ note empty$ 622 | and and and and and 623 | { "all relevant fields are empty in " cite$ * warning$ } 624 | 'skip$ 625 | if$ 626 | } 627 | 628 | FUNCTION {format.thesis.type} 629 | { type empty$ 630 | 'skip$ 631 | { pop$ 632 | type "t" change.case$ 633 | } 634 | if$ 635 | } 636 | 637 | FUNCTION {format.tr.number} 638 | { type empty$ 639 | { "Technical Report" } 640 | 'type 641 | if$ 642 | number empty$ 643 | { "t" change.case$ } 644 | { number tie.or.space.connect } 645 | if$ 646 | } 647 | 648 | FUNCTION {format.article.crossref} 649 | { key empty$ 650 | { journal empty$ 651 | { "need key or journal for " cite$ * " to crossref " * crossref * 652 | warning$ 653 | "" 654 | } 655 | { "In {\em " journal * "\/}" * } 656 | if$ 657 | } 658 | { "In " key * } 659 | if$ 660 | " \cite{" * crossref * "}" * 661 | } 662 | 663 | FUNCTION {format.crossref.editor} 664 | { editor #1 "{ll }{f{~}}" format.name$ 665 | editor num.names$ duplicate$ 666 | #2 > 667 | { pop$ " et~al." * } 668 | { #2 < 669 | 'skip$ 670 | { editor #2 "{ll }{f{~}}" format.name$ "others" = 671 | { " et~al." * } 672 | { " and " * editor #2 "{ll }{f{~}}" format.name$ * } 673 | if$ 674 | } 675 | if$ 676 | } 677 | if$ 678 | } 679 | 680 | FUNCTION {format.book.crossref} 681 | { volume empty$ 682 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 683 | "In " 684 | } 685 | { "Volume" volume tie.or.space.connect 686 | " of " * 687 | } 688 | if$ 689 | editor empty$ 690 | editor field.or.null author field.or.null = 691 | or 692 | { key empty$ 693 | { series empty$ 694 | { "need editor, key, or series for " cite$ * " to crossref " * 695 | crossref * warning$ 696 | "" * 697 | } 698 | { "{\em " * series * "\/}" * } 699 | if$ 700 | } 701 | { key * } 702 | if$ 703 | } 704 | { format.crossref.editor * } 705 | if$ 706 | " \cite{" * crossref * "}" * 707 | } 708 | 709 | FUNCTION {format.incoll.inproc.crossref} 710 | { editor empty$ 711 | editor field.or.null author field.or.null = 712 | or 713 | { key empty$ 714 | { booktitle empty$ 715 | { "need editor, key, or booktitle for " cite$ * " to crossref " * 716 | crossref * warning$ 717 | "" 718 | } 719 | { "In {\em " booktitle * "\/}" * } 720 | if$ 721 | } 722 | { "In " key * } 723 | if$ 724 | } 725 | { "In " format.crossref.editor * } 726 | if$ 727 | " \cite{" * crossref * "}" * 728 | } 729 | 730 | FUNCTION {format.address.publisher} 731 | { address empty$ 732 | { publisher empty$ 733 | { "" } 734 | { "there's a publisher but no address in " cite$ * warning$ 735 | publisher 736 | } 737 | if$ 738 | } 739 | { publisher empty$ 740 | 'address 741 | { address ": " * publisher * } 742 | if$ 743 | } 744 | if$ 745 | } 746 | 747 | FUNCTION {format.address.school} 748 | { address empty$ 749 | { school empty$ 750 | { "" } 751 | { "there's a school but no address in " cite$ * warning$ 752 | school 753 | } 754 | if$ 755 | } 756 | { school empty$ 757 | 'address 758 | { address ": " * school * } 759 | if$ 760 | } 761 | if$ 762 | } 763 | 764 | 765 | FUNCTION {format.title.type} 766 | { title empty$ 767 | { type empty$ 768 | { "" } 769 | { "there's a type but no title in " cite$ * warning$ 770 | type 771 | } 772 | if$ 773 | } 774 | { type empty$ 775 | 'title 776 | { title ": " * type * } 777 | if$ 778 | } 779 | if$ 780 | } 781 | 782 | FUNCTION {book} 783 | { output.bibitem 784 | author empty$ 785 | { format.editors "author and editor" output.check } 786 | { format.authors output.nonnull 787 | crossref missing$ 788 | { "author and editor" editor either.or.check } 789 | 'skip$ 790 | if$ 791 | } 792 | if$ 793 | new.block 794 | format.btitle "[M]" * title output.check 795 | %format.btitle "title" output.check 796 | crossref missing$ 797 | { format.bvolume output 798 | new.block 799 | format.number.series output 800 | %new.sentence 801 | %format.address.publisher output 802 | } 803 | { new.block 804 | format.book.crossref output.nonnull 805 | } 806 | if$ 807 | format.edition output 808 | format.address.publisher output 809 | pages empty$ 810 | { format.date "year" output.check 811 | % new.sentence 812 | % format.pages output 813 | } 814 | { format.date ":" * format.pages * output } 815 | if$ 816 | fin.entry 817 | } 818 | 819 | FUNCTION {article} 820 | { output.bibitem 821 | format.authors "author" output.check 822 | new.block 823 | format.title "[J]" * title output.check 824 | %format.title "title" output.check 825 | new.block 826 | crossref missing$ 827 | { %journal emphasize "journal" output.check 828 | journal "journal" output.check 829 | %format.date "year" output.check 830 | %new.block 831 | year output 832 | format.vol.num.pages output.year 833 | } 834 | { format.article.crossref output.nonnull 835 | format.pages output 836 | } 837 | if$ 838 | new.block 839 | format.note output 840 | fin.entry 841 | } 842 | 843 | FUNCTION {booklet} 844 | { output.bibitem 845 | format.authors output 846 | new.block 847 | format.title "title" output.check 848 | howpublished address new.block.checkb 849 | howpublished output 850 | address output 851 | format.date output 852 | new.block 853 | note output 854 | fin.entry 855 | } 856 | 857 | FUNCTION {inbook} 858 | { output.bibitem 859 | author empty$ 860 | { format.editors "author and editor" output.check } 861 | { format.authors output.nonnull 862 | crossref missing$ 863 | { "author and editor" editor either.or.check } 864 | 'skip$ 865 | if$ 866 | } 867 | if$ 868 | new.block 869 | format.btitle "[M]" * title output.check 870 | %format.btitle "title" output.check 871 | crossref missing$ 872 | { format.bvolume output 873 | %format.chapter.pages "chapter and pages" output.check 874 | new.block 875 | format.number.series output 876 | new.sentence 877 | publisher "publisher" output.check 878 | address output 879 | } 880 | { format.chapter.pages "chapter and pages" output.check 881 | new.block 882 | format.book.crossref output.nonnull 883 | } 884 | if$ 885 | format.edition output 886 | pages empty$ 887 | { format.date output } 888 | { format.date ":" * format.pages * output } 889 | if$ 890 | % format.date "." * format.pages * output 891 | fin.entry 892 | } 893 | 894 | FUNCTION {incollection} 895 | { output.bibitem 896 | format.authors "author" output.check 897 | new.block 898 | format.title "[M]//" * title output.check 899 | %format.title "title" output.check 900 | new.block 901 | crossref missing$ 902 | { format.in.ed.booktitle "booktitle" output.check 903 | %format.bvolume output 904 | format.number.series output 905 | format.chapter.pages output 906 | new.sentence 907 | format.address.publisher output 908 | %address output 909 | %publisher "publisher" output.check 910 | %format.edition output 911 | % format.date "year" output.check 912 | % format.date ". " * format.pages * output 913 | format.date ":" * format.pages * output 914 | } 915 | { format.incoll.inproc.crossref output.nonnull 916 | format.chapter.pages output 917 | } 918 | if$ 919 | % new.block 920 | % note output 921 | fin.entry 922 | } 923 | 924 | FUNCTION {inproceedings} 925 | { output.bibitem 926 | format.authors "author" output.check 927 | new.block 928 | format.title "[C]//" * title output.check 929 | %format.title "title" output.check 930 | new.block 931 | crossref missing$ 932 | { format.in.ed.booktitle "booktitle" output.noperiodcheck 933 | format.bvolume output 934 | %format.number.series output 935 | %format.pages output 936 | address empty$ 937 | { organization publisher new.sentence.checkb 938 | organization output 939 | publisher output 940 | %format.date "year" output.check 941 | year output 942 | } 943 | { %address output.nonnull 944 | format.address.publisher output 945 | %format.date "year" output.check 946 | year output 947 | new.sentence 948 | organization output 949 | %publisher output 950 | } 951 | if$ 952 | new.block 953 | format.pages output 954 | %remove.dots 955 | } 956 | { format.incoll.inproc.crossref output.nonnull 957 | format.pages output 958 | } 959 | if$ 960 | new.block 961 | note output 962 | fin.entry 963 | } 964 | 965 | FUNCTION {conference} { inproceedings } 966 | 967 | FUNCTION {manual} 968 | { output.bibitem 969 | author empty$ 970 | { organization empty$ 971 | 'skip$ 972 | { organization output.nonnull 973 | address output 974 | } 975 | if$ 976 | } 977 | { format.authors output.nonnull } 978 | if$ 979 | new.block 980 | format.btitle "[M]" * title output.check 981 | %format.btitle "title" output.check 982 | author empty$ 983 | { organization empty$ 984 | { address new.block.checka 985 | address output 986 | } 987 | 'skip$ 988 | if$ 989 | } 990 | { organization address new.block.checkb 991 | organization output 992 | address output 993 | } 994 | if$ 995 | format.edition output 996 | format.date output 997 | new.block 998 | note output 999 | fin.entry 1000 | } 1001 | 1002 | FUNCTION {masterthesis.type} 1003 | { lang empty$ 1004 | { "[D]" } 1005 | { "\thumasterbib" } 1006 | if$ 1007 | } 1008 | 1009 | FUNCTION {mastersthesis} 1010 | { output.bibitem 1011 | format.authors "author" add.period$ output.check 1012 | new.block 1013 | % format.title remove.dots ": " * masterthesis.type * output 1014 | format.title remove.dots masterthesis.type * output 1015 | new.block 1016 | format.address.school output 1017 | %format.madd "address" output.check 1018 | %school "school" output.check 1019 | format.date "year" output.check 1020 | new.block 1021 | note output 1022 | fin.entry 1023 | } 1024 | 1025 | FUNCTION {misc} 1026 | { output.bibitem 1027 | format.authors output 1028 | title howpublished new.block.checkb 1029 | format.title output 1030 | howpublished new.block.checka 1031 | howpublished output 1032 | format.date output 1033 | format.url output 1034 | new.block 1035 | note output 1036 | fin.entry 1037 | empty.misc.check 1038 | } 1039 | 1040 | FUNCTION {phdthesis.type} 1041 | { lang empty$ 1042 | { "[D]" } 1043 | { "\thuphdbib" } 1044 | if$ 1045 | } 1046 | 1047 | FUNCTION {phdthesis} 1048 | { output.bibitem 1049 | format.authors "author" add.period$ output.check 1050 | new.block 1051 | % format.title remove.dots ": " * phdthesis.type * output 1052 | format.title remove.dots phdthesis.type * output 1053 | new.block 1054 | format.address.school output 1055 | %address output 1056 | %school "school" output.check 1057 | format.date "year" output.check 1058 | new.block 1059 | note output 1060 | fin.entry 1061 | } 1062 | 1063 | FUNCTION {proceedings} 1064 | { output.bibitem 1065 | editor empty$ 1066 | { organization output } 1067 | { format.editors output.nonnull } 1068 | if$ 1069 | new.block 1070 | format.btitle "[C]" * title output.check 1071 | %format.btitle "title" output.check 1072 | format.bvolume output 1073 | format.number.series output 1074 | address empty$ 1075 | { editor empty$ 1076 | { publisher new.sentence.checka } 1077 | { organization publisher new.sentence.checkb 1078 | organization output 1079 | } 1080 | if$ 1081 | publisher output 1082 | format.date "year" output.check 1083 | } 1084 | { address output.nonnull 1085 | format.date "year" output.check 1086 | new.sentence 1087 | editor empty$ 1088 | 'skip$ 1089 | { organization output } 1090 | if$ 1091 | publisher output 1092 | } 1093 | if$ 1094 | new.block 1095 | note output 1096 | fin.entry 1097 | } 1098 | 1099 | FUNCTION {techreport} 1100 | { output.bibitem 1101 | format.authors "author" output.check 1102 | new.block 1103 | format.title "[R]" * title output.check 1104 | %format.title "title" output.check 1105 | new.block 1106 | format.tr.number output.nonnull 1107 | institution "institution" output.check 1108 | address output 1109 | format.date "year" output.check 1110 | format.url output 1111 | new.block 1112 | note output 1113 | fin.entry 1114 | } 1115 | 1116 | FUNCTION {unpublished} 1117 | { output.bibitem 1118 | format.authors "author" output.check 1119 | new.block 1120 | format.title "title" output.check 1121 | new.block 1122 | note "note" output.check 1123 | format.date output 1124 | fin.entry 1125 | } 1126 | 1127 | FUNCTION {default.type} { misc } 1128 | 1129 | MACRO {jan} {"January"} 1130 | 1131 | MACRO {feb} {"February"} 1132 | 1133 | MACRO {mar} {"March"} 1134 | 1135 | MACRO {apr} {"April"} 1136 | 1137 | MACRO {may} {"May"} 1138 | 1139 | MACRO {jun} {"June"} 1140 | 1141 | MACRO {jul} {"July"} 1142 | 1143 | MACRO {aug} {"August"} 1144 | 1145 | MACRO {sep} {"September"} 1146 | 1147 | MACRO {oct} {"October"} 1148 | 1149 | MACRO {nov} {"November"} 1150 | 1151 | MACRO {dec} {"December"} 1152 | 1153 | MACRO {acmcs} {"ACM Computing Surveys"} 1154 | 1155 | MACRO {acta} {"Acta Informatica"} 1156 | 1157 | MACRO {cacm} {"Communications of the ACM"} 1158 | 1159 | MACRO {ibmjrd} {"IBM Journal of Research and Development"} 1160 | 1161 | MACRO {ibmsj} {"IBM Systems Journal"} 1162 | 1163 | MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 1164 | 1165 | MACRO {ieeetc} {"IEEE Transactions on Computers"} 1166 | 1167 | MACRO {ieeetcad} 1168 | {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 1169 | 1170 | MACRO {ipl} {"Information Processing Letters"} 1171 | 1172 | MACRO {jacm} {"Journal of the ACM"} 1173 | 1174 | MACRO {jcss} {"Journal of Computer and System Sciences"} 1175 | 1176 | MACRO {scp} {"Science of Computer Programming"} 1177 | 1178 | MACRO {sicomp} {"SIAM Journal on Computing"} 1179 | 1180 | MACRO {tocs} {"ACM Transactions on Computer Systems"} 1181 | 1182 | MACRO {tods} {"ACM Transactions on Database Systems"} 1183 | 1184 | MACRO {tog} {"ACM Transactions on Graphics"} 1185 | 1186 | MACRO {toms} {"ACM Transactions on Mathematical Software"} 1187 | 1188 | MACRO {toois} {"ACM Transactions on Office Information Systems"} 1189 | 1190 | MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 1191 | 1192 | MACRO {tcs} {"Theoretical Computer Science"} 1193 | 1194 | READ 1195 | 1196 | STRINGS { longest.label } 1197 | 1198 | INTEGERS { number.label longest.label.width } 1199 | 1200 | FUNCTION {initialize.longest.label} 1201 | { "" 'longest.label := 1202 | #1 'number.label := 1203 | #0 'longest.label.width := 1204 | } 1205 | 1206 | FUNCTION {longest.label.pass} 1207 | { number.label int.to.str$ 'label := 1208 | number.label #1 + 'number.label := 1209 | label width$ longest.label.width > 1210 | { label 'longest.label := 1211 | label width$ 'longest.label.width := 1212 | } 1213 | 'skip$ 1214 | if$ 1215 | } 1216 | 1217 | EXECUTE {initialize.longest.label} 1218 | 1219 | ITERATE {longest.label.pass} 1220 | 1221 | FUNCTION {begin.bib} 1222 | { preamble$ empty$ 1223 | 'skip$ 1224 | { preamble$ write$ newline$ } 1225 | if$ 1226 | "\begin{thebibliography}{" longest.label * "}" * write$ newline$ 1227 | } 1228 | 1229 | EXECUTE {begin.bib} 1230 | 1231 | EXECUTE {init.state.consts} 1232 | 1233 | ITERATE {call.type$} 1234 | 1235 | FUNCTION {end.bib} 1236 | { newline$ 1237 | "\end{thebibliography}" write$ newline$ 1238 | } 1239 | 1240 | EXECUTE {end.bib} 1241 | -------------------------------------------------------------------------------- /DEMO/FEM-Tank-Bottom.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/FEM-Tank-Bottom.pdf -------------------------------------------------------------------------------- /DEMO/Fitted-Transfer-01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Fitted-Transfer-01.pdf -------------------------------------------------------------------------------- /DEMO/Fitted-Transfer-02.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Fitted-Transfer-02.pdf -------------------------------------------------------------------------------- /DEMO/Forewords.tex: -------------------------------------------------------------------------------- 1 | % !TEX encoding = UTF-8 Unicode 2 | %!TEX TS-program = xelatex 3 | 4 | \frontchapter{评审委员会} 5 | 6 | \frontchapter{中文摘要} 7 | 纵向耦合振动(POGO)是由于大型液体火箭结构与管路推进系统相互作用而产生的一种不稳定振动。结合国内外大量历史资料,可以看出自上世纪六十年代初美国的雷神/阿金钠运载器和法国的EMERAUDE(VE121)运载器开始,许多大型液体火箭运载器在发射升空过程中都经历了较为严重的纵向耦合振动。 8 | 9 | 首先,针对传统POGO稳定性分析方法难以进行耦合系统特征值求解这一问题,本文提出了一种基于矩阵法和有理分式拟合法的耦合系统快速特征值求解算法。采用引入辅助变量的技术,该方法能够将结构与管路耦合系统的控制方程等效的变换为与结构动力学方程一致的形式,因此可以通过快速求解矩阵特征值来确定耦合系统的动力学特性,进而判断系统的稳定性。经过将此方法的计算结果与液体火箭遥测数据进行对比,可知该方法具有良好的求解精度和计算效率。 10 | 11 | 接下来,鉴于以往的液体火箭结构系统模型通常没有考虑带液贮箱的弹性变形,加之由此推导得出的管路系统入口端脉动压力与流量边界条件过于简化,文章又引入了一套液体火箭带液贮箱的三维轴对称建模方法。发展后的三维带液贮箱模型不仅能够提供足够完整且合理的结构系统模态参与耦合计算,并且为管路系统提供了更为科学和精确的入口端边界条件。结合MSC.Nastran提供的传递函数TF卡建模工具,本文另外给出了一种能够使得有理分式形式的反馈力传递函数参与结构系统耦合计算的商业软件整合技术,基本实现了耦合系统时变复特征值计算的模块化与自动化。 12 | 13 | 此外,考虑到液体火箭结构系统阻尼特性对于耦合系统特征值计算的重要影响,文章还着重指出了适用于液体火箭POGO仿真的阻尼建模方式及施加方法。通过调整贮箱干/湿面材料随时间变化的比例阻尼系数,成功的利用有限元模型模拟了实测贮箱阻尼结果。 14 | 15 | 最后,通过比较不同类型的液体火箭在多种工况下的POGO稳定性分析结果,本文一方面揭示了耦合系统特征值与管路系统关键参数(如蓄压器容积等)之间的相互联系,另一方面还指出了将耦合系统动态传递特性分析纳入液体火箭POGO稳定性分析的重要性和必要性。参考现阶段国内液体火箭的设计水平与制造工艺,提出了一些分析及防治液体火箭POGO振动的基本思路,给出了液体火箭纵向耦合振动的理论分析框架和试验设计框架。 16 | 17 | \bigskip 18 | \noindent \textbf{关键词:\hspace{\Han}} 19 | 纵向耦合振动;\; 20 | 液体推进剂火箭;\; 21 | 有理分式逼近;\; 22 | 快速特征值求解;\; 23 | 带液贮箱有限元建模;\; 24 | 传递特性分析;\; 25 | 参数优化 26 | 27 | \bigskip 28 | \noindent \textbf{中图分类号:\hspace{\Han}V475.1} 29 | 30 | \frontchapter{Abstract} 31 | The coupled longitudinal oscillation of liquid rocket(POGO) belongs to a type of instability due to interaction of its structural and propulsion system. In view of the historical documentation both domestic and abroad, severe POGO oscillation had been observed during launches of America's Thor/Agena and French's Emeraude(VE121) dating back to the 1960s. Since then, a large proportion of liquid-propellant rockets underwent this instability during blastoff. 32 | 33 | To begin with, considering the complexity of eigenvalue extraction of traditional POGO analysis methods, a Fast Matrix Algorithm based on the commonly used Matrix Method and Rational Function Fitting, is presented for POGO instability prediction in this dissertation. With the aid of auxiliary variables, the governing transfer function of the coupled structure-propulsion system can be firstly converted into the form of typical structural dynamic equation. Therefore, eigenvalues of the coupled system can be obtained much faster without losing accuracy by mature eigensolvers, and relevant dynamical properties of the rocket can be determined conveniently in the end. By comparison of the computational results and telemetry data, this new method proved to be highly efficient and accurate. 34 | 35 | 36 | Secondly, on account of the facts that the flexibility of liquid rocket propellant tank is frequently omitted and the description of relationship between oscillatory pressure and outflow near tank outlet is generally oversimplified in nearly all the earlier studies, a 3D modeling technique is developed to provide a more accurate tank simulation. As it is demonstrated by later examples, this new liquid rocket tank not only can provide more valuable vibration modes for the coupled system stability analysis, it also gives a far better boundary condition for the propulsion system naturally. By means of the TF input method in MSC.Natran, an integration technique is further presented to combine the rational form of feedback forces into the FEM computation of rocket structural system. As a result, the aforementioned Fast Matrix Algorithm can be realized by the commercial software automatically. 37 | 38 | In addition, a modeling and applying method for the damping phenomena of liquid rocket structural system is offered herein, in light of its remarkable influence over eigenvalue computation of coupled system. By adjusting the tank shell's proportional damping coefficient according to whether the element is wetted or not, this method successfully reproduced the tank experiments numerically. 39 | 40 | At last, the state of art POGO stability analysis method is applied to various types of liquid rockets under multiple launch conditions. By comparing typical results, the relationship of eigenvalue and key feedline parameters(like accumulator compliance) is revealed, and the necessity and importance of including frequency response analysis into POGO stability research is highlighted. Considering the current status of domestic liquid rocket manufacturing and design, some basic principles of POGO instability analysis are contributed in the end, as also the framework of theoretical and experimental study of POGO problem. 41 | 42 | \bigskip 43 | \noindent \textbf{Key Words:\hspace{\Han}} 44 | Coupled Longitudinal Oscillation;\; 45 | Liquid Propellant Rocket;\; 46 | Rational Function Fitting;\; 47 | Fast Matrix Algorithm;\; 48 | Liquid Tank Modeling;\; 49 | Frequency Response Analysis;\; 50 | Parameter Optimization 51 | 52 | \bigskip 53 | \noindent \textbf{CLC Number:\hspace{\Han}V475.1} 54 | 55 | -------------------------------------------------------------------------------- /DEMO/General-Liquid-Tank.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/General-Liquid-Tank.pdf -------------------------------------------------------------------------------- /DEMO/Inter-connect.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Inter-connect.jpg -------------------------------------------------------------------------------- /DEMO/Intro.tex: -------------------------------------------------------------------------------- 1 | % !TEX encoding = UTF-8 Unicode 2 | %!TEX TS-program = xelatex 3 | \chapter{绪论} 4 | \section{液体火箭纵向耦合振动问题的提出} 5 | 纵向耦合振动是由于大型液体火箭结构与管路推进系统相互作用而产生的一种不稳定振动\cite{Rubin:1966, Rubin:1970, Rubin:1973}。结合国内外大量历史资料,可以看出自上世纪六十年代初美国的雷神/阿金钠运载器\cite{Leadbetter:1965, Rubin:1966}和法国的EMERAUDE(VE121)\cite{Dordain:1974}运载器开始,许多大型液体火箭运载器在发射升空过程中都经历了较为严重的纵向耦合振动。由于这种振动的形态和“跳跃的弹簧单腿高跷”类似,所以又被研究者们戏称为POGO振动\cite{Rasumoff:1973}(图\ref{POGO-Analog}),其典型的时域历程如图\ref{Typical:POGO}所示。 6 | 7 | \begin{figure}[hb] 8 | \centering 9 | \includegraphics[width=.65\linewidth]{POGO-Analog} 10 | \caption{POGO比拟示意图}\label{POGO-Analog} 11 | \end{figure} 12 | 13 | \begin{figure}[th] 14 | \centering 15 | \includegraphics[width=.75\linewidth]{POGO-Typical.pdf} 16 | \caption{典型纵向耦合振动的时域历程}\label{Typical:POGO} 17 | \end{figure} 18 | 19 | 纵观现代火箭工程发展史,POGO振动有害于人类航天飞行的典型例证当属美国土星V运载器的一系列发射经历\cite{Hill:1969, Rich:1969, Jarvinen:1970}。土星V运载火箭是美国最大的运载器,是美国国家航空航天局(NASA)在阿波罗计划和天空实验室两项太空计划中使用的多级可抛式液态燃料火箭。事实上,在其总共多达十三次的发射经历中,数次都受到了POGO振动问题的困扰\cite{Larsen:2008}。在1968年土星V编号AS-502次的发射过程中,液体火箭一级推进器(图\ref{SaturnV-Stage1})在工作段105$\sim$140秒内发生了振动频率为5.3Hz,幅值约0.33g的POGO振动。振动导致了五个发动机推力不同步,最终使得飞船登月舱裙部壁板发生开裂。同年十二月发射的土星AS-503,在发动机关机前50秒出现了振动频率为18Hz的POGO振动。事后调查表明,此次主发动机机架与贮箱底部产生的谐振虽然没有传递到火箭壳体,但是已经非常接近简体结构的设计强度极限。在1969年第AS-507次飞行中,液体火箭二级发动机在工作期间出现了四次严格意义上的POGO 振动,所幸最终都被结构系统的非线性效应所遏制。然而,在1970年土星V执行阿波罗13号任务的时候(AS-508),严重的POGO振动导致主发动机机架产生了频率为16Hz,加速度高达68g的失稳现象。由于燃烧室内压力脉动过于剧烈,火箭中部的5号推进器在二级火箭燃烧过程中发生了提前关闭(图\ref{SaturnV-Stage1}),最终导致登月任务被迫放弃,调查发现发动机机架总共被拉长了约7.6厘米。除此之外,宇宙神、大力神和雷神等航空运载器也都在各自发射过程中出现了或多或少的POGO振动\cite{Walker:1964, Wagner:1970, Oppenheim:1993};而法国钻石B火箭更是在其初次发射的五次飞行中都遇到了POGO振动,并且箭体上部分位置的振动量级已然高达足以导致运载器或者卫星结构发生破坏的20$\sim$30g\cite{Dordain:1974}。反观我国的航天事业,在2003年运载火箭长征2F第五次飞行中,遥测数据与宇航员的感受均显示一级助推器飞行末期火箭产生了比较强烈的振动\cite{Ma-Daoyuan:2010, Rong-Kelin:2011}。 20 | 21 | \begin{figure}[t] 22 | \begin{center} 23 | \begin{minipage}{.47\linewidth} 24 | \includegraphics[width=\linewidth]{SaturnV-Stage1.jpg} 25 | \caption{土星V一级推进器 S-IC}\label{SaturnV-Stage1} 26 | \end{minipage} 27 | \begin{minipage}{.47\linewidth} 28 | \includegraphics[width=\linewidth]{SaturnV-Stage2.jpg} 29 | \caption{土星V二级推进器提前关闭}\label{SaturnV-Stage2} 30 | \end{minipage} 31 | \end{center} 32 | \end{figure} 33 | 34 | POGO振动的危害性主要表现在如下几个方面\cite{Rubin:1970, Wang-Qizheng:1999}: 35 | \begin{enumerate}[leftmargin=\parindent, align=parleft, labelindent=0pt, labelwidth=*] 36 | \item 可使运载器结构系统产生过大的动载荷,造成火箭有效载荷部分损坏,影响主要任务的完成。如法国的“钻石B”运载火箭。 37 | \item 管路系统产生的脉动压力和脉动流量可以导致运载火箭性能降低,造成任务失败。由于燃烧室压力的剧烈振荡导致出现虚假的推进剂耗尽指示信号,致使发动机过早关车。如美国的“大力神”二号任务失败,“土星V/阿波罗13”运载火箭第二级性能大大降低。 38 | \item 增加运载器结构载荷,使有效载荷重量受到限制,而不得不重新设计结构。如美国的“雷神/阿金纳”火箭重新设计了“阿金纳”的结构。 39 | \item 可以导致仪器、惯性仪表、设备和卫星所不允许的振动环境条件。如“雷神/阿金纳”运载火箭“阿金纳”级上的仪器设备需按较大的正弦振动等级重做安全鉴定。 40 | \item 可以产生宇航员所不能允许的振动条件,使得宇航员的生理系统失调、身体不适,进而不能正常工作。如“双子星座/大力神”运载火箭的宇航员视力模糊,感到不舒服。 41 | \end{enumerate} 42 | 43 | 根据NASA等机构对人体的测试表明\cite{Creer:1960, Burton:1988, Davis:2008}:垂直状态下正常人体所能承受的G力极限为5g,经过训练的宇航员可以短时承受正9g的最大加速度;在水平方向上,早期实验表明未经训练的人员在20g的加速度下只能坚持少于十秒的时间,10g可以支持一分钟,6g状态则能够维持十分钟。一般来说,短暂的“红视症”(Blackout,负G力)与“黑视症”(Redout,正G力)只是人体自我保护机制产生的警讯,用以警告人体已经濒临极限。倘若继续维持甚至增加G力,脑部将再因保护机制而停止工作产生昏厥,此时位于空中的飞行器即有极度危险;接着,当G力超过人脑所能负荷极限时,人脑将因长时间过度缺氧或充血的血管破裂而造成永久性伤害,最严重的即是因脑部严重损坏而死亡,或是脆弱的内部组织因持续遭受高G力而产生破裂,造成严重出血并危及生命。 44 | 45 | 可以看出,能否成功抑制甚至消除POGO振动已经成为当代航天运载器的重要设计指标之一,也是人类能否进行宇航飞行的前提之一。所以,目前基本上所有研究大型液体火箭的国家都对这种振动给予了相当大的重视和研究力度。因此,在我国大力发展宇航事业的重大契机下,针对POGO振动稳定性方面的理论分析也变得更加紧迫和必要。 46 | 47 | \section{纵向耦合振动问题的主要机理分析} 48 | \label{sec:POGO_Mechanicsm} 49 | 从本质上讲,POGO振动是一种由于火箭结构系统和管路推进系统发生相互作用而引起的不稳定振动。这种振动带有明显的流固耦合低频振动特征,属于不稳定的闭环自激振动\cite{Rubin:1973, Doiron:1977, Huang-Huaide:1987}。 50 | 51 | \begin{figure}[h] 52 | \centering 53 | \includegraphics[width=.6\linewidth]{Struture-Feedline-Interaction-Diagram.pdf} 54 | \caption{POGO振动示意框图}\label{Interaction-Diagram} 55 | \end{figure} 56 | 57 | 除去一种不常见的增压气体耦合POGO振动\cite{Rubin:1970},典型的POGO闭环振动究其原因可以归纳为如下过程(图\ref{Interaction-Diagram}):在大型液体运载火箭飞行的过程中,燃烧剂和氧化剂输送管路内的液路压力和流量会因为火箭结构系统的扰动而产生脉动。此脉动量经过不同管路元件的层层传递,最终将会到达液体火箭燃烧室,进而引起发动机产生推力脉动。此外,在燃烧剂和氧化剂的输运过程中,管路系统也会由于液体和管壁发生流固耦合作用而产生作用于结构系统上的额外反馈力\cite{About:1987, Paidoussis:1993}。所以当发动机推力脉动,联合上述管路系统反馈力,作为外界扰动力反作用于箭体结构时,火箭结构系统和管路推进系统两者就有可能因为固有频率相接近而产生不断放大耦合作用,从而导致液体推进火箭产生自激的纵向不稳定振动\cite{Rubin:1970, Oppenheim:1993}。 58 | 59 | \begin{figure}[!htb] 60 | \centering 61 | \includegraphics[width=\linewidth]{telemetry-typical.pdf} 62 | \caption{土星V箭体加速度传感器数据}\label{telemetry-typical} 63 | \end{figure} 64 | 65 | 参考POGO振动的发生机理并结合国内外大量的飞行遥测数据\cite{Feng-Zhenxing:1981},可以知道这种不稳定振动的发生频率大多与火箭结构系统的低阶纵向振动频率较为接近,其产生和发展过程也表现的十分突然和强烈。事实表明,POGO振动可能发生在液体火箭飞行过程的各个时刻,一次发射也确实可能会出现多次的POGO 振动\cite{Larsen:2008}。然而,由于液体火箭飞行过程是一个持续的变结构参数过程,并且箭体结构在发生较大变形时所引起的非线性效应会打破上面描述的这种频率耦合,所以即使出现POGO 现象,箭体振动的幅值也不会一直发散,而是在其响应时间的历程记录曲线上会出现一个先增大后减小的“鼓包”,典型的遥测POGO振动图像如图\ref{telemetry-typical}所示。鉴于POGO振动从发生到完全消失的时间可能长达数十秒,并且由其引起的箭体纵向振动加速度幅值可能在有效载荷处高达十几甚至几十倍于重力加速度,所以POGO振动对于液体火箭所造成的影响需要根据这种自激振动的量级及持续的时间来进行评价\cite{Wang-Qizheng:1999}。 66 | 67 | 68 | 69 | \section{本文的主要工作} 70 | 71 | \begin{figure}[!b] 72 | \centering 73 | \includegraphics[width=.85\linewidth]{Inter-connect.jpg} 74 | \caption{神舟十号与天宫一号交汇对接示意图}\label{China-Manned-Flight} 75 | \end{figure} 76 | 77 | 液体火箭纵向耦合振动问题是一个相对古老却又富含新鲜挑战和契机的复杂系统问题。在我国大力发展航空事业的今天(图\ref{China-Manned-Flight}),更被赋予了深层次的时代意义。传统的液体火箭POGO稳定性分析方法主要分为了矩阵法、单传法和临界阻尼法\cite{Wang-Qizheng:1999}等几类。这些方法都需要先计算出耦合系统的闭环或者开环传递函数,然后通过对系统传递函数进行特征值求解或者绘制Bode和Nyquist图等手段来进行POGO稳定性分析。不过,由于耦合系统的传递函数通常都包含了一些复杂的非线性函数,所以POGO稳定分析的理论难点其实可以被归结为如何快速精确地计算出复杂传递函数的特征值这一经典问题。以矩阵法为例,由于系统反馈力传递矩阵中的元素包含了超越函数和高阶多项式,所以需要对不对称的复数传递矩阵进行非线性复特征值求解,而通常这种非线性方程的求解过程都十分困难并且容易漏根\cite{Dennis:1983, Golub:1996}。正是考虑到此类特征值问题的复杂性,Oppenheim\cite{Oppenheim:1993}等人如前所述,尝试了利用有限元法对管路系统进行直接建模。事实证明,这种方法在处理简单液路元件的组装计算方面确实具有着很高的可操作性和精确度。然而,由于管道内的流体运动问题归根结底是一个复杂的非线性问题\cite{Munson:1990, Paidoussis:1993, Morand:1995},所以当简单流体模型不能够精确描述管路系统传递关系,而研究者们必须要考虑诸如边界层效应,甚至湍流等复杂流体运动的时候,经典的有限元方法就必须被进一步拓展才能适应研究需要,而这种扩展可能相比于直接求解非线性特征值问题更加棘手。除此之外,由于流体单元本构关系的构建严重依赖于液路元件实验参数(如液路惯性,阻抗等)的精确标定,而相比于直接测定各类液路元件的工作参数,标定管路系统的总体反馈力传递函数可能会显得更加方便并且直接。所以,本文在POGO稳定性求解方法的研究方面,直接针对于管路系统的反馈力传递函数展开分析,开辟了另外一种与液路元件有限元组装法平行的POGO振动问题快速特征值求解方法。 78 | 79 | 为了解决上述主要问题,本文将研究工作分为了以下三个部分: 80 | 81 | \begin{enumerate}[label=\textbf{\Roman*.}, align=left, leftmargin=0pt, listparindent=\parindent, itemindent=!, labelwidth=\parindent, labelsep=0pt, itemsep=1em] 82 | \litem{集中参数模型的POGO稳定性分析(第二章)} 本章主要介绍了液体火箭结构系统和管路推进系统典型液路元件的集中参数模型建模方法,发展了一种基于矩阵法和有理分式拟合法的耦合系统快速特征值求解算法。首先推导了各类管路元件上下游脉动压力、流量之间的传递函数关系,结合发动机燃烧室的压力平衡条件与贮箱底部实际边界条件,综合分析出了管路系统反馈于结构系统的力传递函数。接下来,利用快速特征值求解方法,将包含超越函数的管路推进系统反馈力传递函数等效变换为与结构动力学方程一致的形式,通过求解矩阵特征值问题确定了耦合系统的动力学稳定性问题。最后,通过与传统矩阵法进行计算结果和效率方面的比对,验证了该方法的可靠性和高效性。 83 | \litem{基于三维带液贮箱模型的POGO稳定性分析(第三章)} 为了更好的模拟火箭贮箱内液体和结构系统之间的流固耦合效应,引入液体火箭贮箱的三维轴对称模型建模方法,并利用虚质量法对贮箱内的液体进行动力学比拟。发展后的三维带液贮箱模型为管路系统提供了更为科学和精确的入口端边界条件,可以同样利用第二章中描述的管路系统类结构化建模方法,结合MSC.Nastran提供的传递函数TF卡建模工具,将拟合完毕的管路系统传递函数与不同类型的结构系统模型进行耦合计算。通过直接计算耦合系统的复特征值问题,可以方便的得知耦合系统的POGO稳定性。此外,计算过程还考虑了POGO稳定性分析中的另外一项关键性技术,即结构系统阻尼特性的识别和建模。带液贮箱的模态实验表明:在满箱、半箱和空箱等不同状态下,火箭结构系统的阻尼特性存在着较大差异,且半箱状态下结构阻尼较其他状态有明显增大。通过调整贮箱干/湿面材料随时间变化的比例阻尼系数,计算模型成功模拟了上述模态实验结果。最终,通过与实际火箭发射的遥测数据进行对比,证明了本套方法可以快速准确的得出POGO出现时间和振动特性。 84 | \litem{液体火箭POGO稳定性参数分析及传递特性分析(第四章)} 通过比较不同工况下液体火箭POGO稳定性分析结果,本章首先揭示了耦合系统特征值与管路系统关键参数(如蓄压器容积等)之间的相互联系。分析表明,作为POGO抑制器的蓄压器,其容积变化能够显著影响液体火箭管路系统的固有频率,继而改变耦合系统的POGO稳定性。此外,通过比较不同类型液体火箭的历史遥测数据,可以发现有效载荷(如卫星等)的实际振动状态与液体火箭整体POGO振动的强弱并不存在简单的线性关系,单纯的耦合系统特征值计算并不能完全展现液体火箭各处的真实振动状态。文章最后指出,若要使得POGO稳定性分析能够给予未来的发射任务以实质性指导意见,还需综合考虑耦合系统的加速度传递特性分析。 85 | \end{enumerate} -------------------------------------------------------------------------------- /DEMO/Liquid-Tank-FEM-MSC.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Liquid-Tank-FEM-MSC.pdf -------------------------------------------------------------------------------- /DEMO/Lumped-Frequency-Curve.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Lumped-Frequency-Curve.pdf -------------------------------------------------------------------------------- /DEMO/Lumped-Max-Eigen-Curve.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Lumped-Max-Eigen-Curve.pdf -------------------------------------------------------------------------------- /DEMO/Multiplex.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Multiplex.pdf -------------------------------------------------------------------------------- /DEMO/POGO-Typical.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/POGO-Typical.pdf -------------------------------------------------------------------------------- /DEMO/Patran-Tank-Bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Patran-Tank-Bottom.png -------------------------------------------------------------------------------- /DEMO/PipeLines.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/PipeLines.pdf -------------------------------------------------------------------------------- /DEMO/Pump.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Pump.pdf -------------------------------------------------------------------------------- /DEMO/Ring-Baffle-Damping-Curve.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Ring-Baffle-Damping-Curve.pdf -------------------------------------------------------------------------------- /DEMO/SaturnV-Stage1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/SaturnV-Stage1.jpg -------------------------------------------------------------------------------- /DEMO/SaturnV-Stage2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/SaturnV-Stage2.jpg -------------------------------------------------------------------------------- /DEMO/Simplified-Tank-Model.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Simplified-Tank-Model.pdf -------------------------------------------------------------------------------- /DEMO/Straight-Tube.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Straight-Tube.pdf -------------------------------------------------------------------------------- /DEMO/Struture-Feedline-Interaction-Diagram.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Struture-Feedline-Interaction-Diagram.pdf -------------------------------------------------------------------------------- /DEMO/Thesis.ist: -------------------------------------------------------------------------------- 1 | headings_flag 1 2 | heading_prefix "{\\bfseries " 3 | heading_suffix "}\\nopagebreak\n" 4 | delim_0 " \\dotfill " 5 | delim_1 " \\dotfill " 6 | delim_2 " \\dotfill " -------------------------------------------------------------------------------- /DEMO/Thesis.tex: -------------------------------------------------------------------------------- 1 | % !TEX encoding = UTF-8 Unicode 2 | % XeLaTeX can use any Mac OS X font. See the setromanfont command below. 3 | % Input to XeLaTeX is full Unicode, so Unicode characters can be typed directly into the source. 4 | 5 | % The next lines tell TeXShop to typeset with xelatex, and to open and save the source with Unicode encoding. 6 | 7 | %!TEX TS-program = xelatex 8 | 9 | \documentclass[a4paper, 12pt]{book} 10 | %Load FDU Style 11 | \usepackage{FDUThesis} 12 | \title{Pandoxie's Article} 13 | \author{Xu Deyuan $<$\href{mailto:xudeyuanghw@gmail.com}% 14 | {xudeyuanghw@gmail.com}$>$} 15 | 16 | %\date{} % Activate to display a given date or no date 17 | 18 | \begin{document} 19 | %Use \thispagestyle{} fancy, plain, empty to redefine Per/Page Header 20 | 21 | \includepdf{Book-Cover.pdf} 22 | \thispagestyle{empty} 23 | %----------------------------Front Matter-------------------------------! 24 | \frontmatter 25 | %\maketitle 26 | 27 | \phantomsection 28 | \addcontentsline{toc}{chapter}{\contentsname} 29 | \tableofcontents 30 | 31 | %{\pagestyle{plain} 32 | %\tableofcontents 33 | %\cleardoublepage} 34 | 35 | \include{Forewords} 36 | 37 | \listoffigures 38 | %\listoftables 39 | 40 | %----------------------------Main Matter-------------------------------! 41 | \mainmatter 42 | 43 | \include{Intro} 44 | 45 | \include{Chapter01} 46 | 47 | \include{Chapter02} 48 | 49 | \include{Chapter03} 50 | 51 | \include{Chapter04} 52 | %----------------------------Appendix-------------------------------! 53 | \appendix 54 | 55 | \renewcommand{\thechapter}{附录{\Alph{chapter}}} 56 | 57 | %\chapter{公式推导} 58 | 59 | %----------------------------Back Matter-------------------------------! 60 | \backmatter 61 | 62 | \phantomsection 63 | \addcontentsline{toc}{chapter}{\bibname} 64 | \bibliographystyle{FDUbib} 65 | \bibliography{Pandoxie-BiB} 66 | %\nocite{*} 67 | 68 | \backchapter{致谢} 69 | 70 | \clearpage 71 | \printindex 72 | 73 | \end{document} -------------------------------------------------------------------------------- /DEMO/Thrust.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/Thrust.pdf -------------------------------------------------------------------------------- /DEMO/telemetry-typical.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Pandoxie/FDU-Thesis-Latex/2dded309d8f691f321f827c984d0c3ff36d229e3/DEMO/telemetry-typical.pdf -------------------------------------------------------------------------------- /FDUThesis.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{FDUThesis} 2 | %----------------------------Page Layout-------------------------------! 3 | %\usepackage[top=1.75in, bottom=1.75in, left=1.75in, right=1.25in]{geometry} 4 | \usepackage[twoside, head=15pt, bindingoffset=1cm, textwidth=.7\paperwidth,ignorefoot]{geometry} 5 | %\usepackage[top=2.54cm, bottom=2.54cm, left=3.18cm, right=3.18cm]{geometry} 6 | \geometry{a4paper} % ... or a4paper or a5paper or ... 7 | %\usepackage{layout} 8 | %\layout 9 | 10 | %-----------------------------Index, Indent, LineSpace Setup--------------------------! 11 | \usepackage{imakeidx} %Index Enabled 12 | \makeindex[columns=2, options=-s Thesis] 13 | \usepackage[font=footnotesize, totoc]{idxlayout} 14 | \setlength{\parindent}{2em} %Indent 15 | \usepackage{setspace} 16 | \setstretch{1.385} 17 | %\doublespacing 18 | %\onehalfspacing 19 | %\setlength{\baselineskip}{20bp} %baseline skip. No effect in Preamble, insert after begin{document} 20 | %\linespread{1.3844827586206896} 21 | 22 | \newcommand{\frontchapter}[1]{\cleardoublepage \phantomsection \addcontentsline{toc}{chapter}{#1} \chapter*{#1} \markboth{\sffamily {#1}}{}} 23 | \newcommand{\backchapter}[1]{\cleardoublepage \phantomsection \addcontentsline{toc}{chapter}{#1} \chapter*{#1} \markboth{\sffamily {#1}}{}} 24 | 25 | %-----------------------------------Misc-----------------------------------! 26 | \usepackage{graphicx} 27 | \usepackage{amsmath, amsthm, amssymb} 28 | \usepackage{latexsym,bm} 29 | \usepackage{titlesec} 30 | \titleformat{\chapter}[display]{\Huge\sffamily\bfseries}{\thechapter}{1em}{} 31 | %\titleformat{\chapter}[hang]{\center\Huge\sffamily\bfseries}{\thechapter}{1em}{} 32 | \usepackage{xcolor} %Basic: \color{red} \colorbox{red}{text} \fcolorbox \textcolor{red}{text} 33 | \usepackage{caption} 34 | \captionsetup{font={small}} 35 | \captionsetup[table]{belowskip=1ex} 36 | \usepackage{enumitem} 37 | \newcommand\litem[1]{\item{\bfseries #1\par}} 38 | \setlist{nolistsep} 39 | \usepackage{fancybox} 40 | \usepackage{picinpar} 41 | \usepackage{siunitx} 42 | \usepackage{tabularx} 43 | \usepackage{booktabs} 44 | \usepackage{multirow} 45 | \usepackage{arydshln} 46 | \usepackage{pdfpages} 47 | \raggedbottom 48 | \renewcommand{\thefootnote}{\fnsymbol{footnote}} 49 | \newcommand{\ud}{\mathrm{d}} 50 | \newcommand{\ut}{\mathrm{T}} %Matrix Transpose 51 | \newcommand{\Laplace}[1]{\mathcal{L} \left\{ {#1} \right\}} 52 | \newcommand{\Lacelap}[1]{\mathcal{L}^{-1} \left\{ {#1} \right\}} 53 | \newcommand{\RNum}[1]{\uppercase\expandafter{\romannumeral #1\relax}} 54 | \sisetup{ 55 | output-exponent-marker = \ensuremath{\mathrm{E}}, 56 | exponent-product={} 57 | } 58 | %--------------------------------Bib Setup-------------------------------! 59 | \RequirePackage[numbers,super,sort&compress]{natbib} 60 | \bibpunct{[}{]}{,}{s}{}{,} 61 | \renewcommand{\bibfont}{\wuhao} 62 | %\setlength{\bibsep}{0pt} 63 | \usepackage{hypernat} 64 | %-----------------------------Hyper Ref Setup--------------------------! 65 | %Enable Href HyperLinks, BookMarks 66 | \usepackage[colorlinks=true,% Hyper ref Enabled 67 | bookmarks=true,% 68 | linkcolor=black,% 69 | citecolor=black,% 70 | CJKbookmarks=true,% 71 | unicode=true,% 72 | %pagebackref=true,% 73 | hyperindex=true,% 74 | hyperfigures=true,% 75 | pdfauthor={Xu Deyuan}]{hyperref} 76 | 77 | %-----------------------------CJK Font Setup--------------------------! 78 | \usepackage[PunctStyle=kaiming,AutoFakeBold=false,AutoFakeSlant=false,indentfirst,CJKnumber]{xeCJK} 79 | \xeCJKDeclareSubCJKBlock{PUNC}{"FF1F} 80 | \setCJKmainfont[BoldFont={Songti SC Bold}, PUNC=SimSun] {Songti SC Light} 81 | \setCJKsansfont[BoldFont={Heiti SC Medium}]{Heiti SC} 82 | \setCJKmonofont[BoldFont={Hiragino Sans GB W6}]{Hiragino Sans GB W3} 83 | 84 | \setCJKfamilyfont{zhxinsong}{SimSun} 85 | \setCJKfamilyfont{zhsong}[BoldFont={Songti SC Bold}]{Songti SC Light} 86 | \setCJKfamilyfont{zhhei}[BoldFont={Heiti SC Medium}]{Heiti SC} 87 | \setCJKfamilyfont{zhfs}{FangSong} 88 | \setCJKfamilyfont{zhkai}[BoldFont={Kaiti SC Bold}]{Kaiti SC Regular} 89 | \setCJKfamilyfont{zhli}{LiSu} 90 | \setCJKfamilyfont{zhyou}{YouYuan} 91 | 92 | \newcommand*{\simsun}{\CJKfamily{zhxinsong}} % 新宋 93 | \newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体 94 | \newcommand*{\heiti}{\CJKfamily{zhhei}} % 黑体 95 | \newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋 96 | \newcommand*{\kaishu}{\CJKfamily{zhkai}} % 楷书 97 | \newcommand*{\lishu}{\CJKfamily{zhli}} % 隶书 98 | \newcommand*{\youyuan}{\CJKfamily{zhyou}} % 幼圆 99 | 100 | % Use Fontsize inside {}, include a \par at the end of bracket to enable baselineskip 101 | \newcommand{\chuhao}{\fontsize{42pt}{50.4pt}\selectfont} %初号 102 | \newcommand{\xiaochu}{\fontsize{36pt}{43.12pt}\selectfont} %小初号 103 | \newcommand{\yihao}{\fontsize{27.5pt}{33pt}\selectfont} %一号 104 | \newcommand{\erhao}{\fontsize{21pt}{25.2pt}\selectfont} %二号 105 | \newcommand{\xiaoer}{\fontsize{18pt}{21.6pt}\selectfont} %小二号 106 | \newcommand{\sanhao}{\fontsize{15.75pt}{18.9pt}\selectfont} %三号 107 | \newcommand{\sihao}{\fontsize{13.75pt}{16.5pt}\selectfont} %四号 108 | \newcommand{\xiaosi}{\fontsize{12pt}{14.4pt}\selectfont} %小四号 109 | \newcommand{\wuhao}{\fontsize{10.5pt}{12.6pt}\selectfont} %五号 110 | \newcommand{\xiaowu}{\fontsize{9pt}{10.8pt}\selectfont} %小五号 111 | \newcommand{\liuhao}{\fontsize{7.875pt}{9.45pt}\selectfont} %六号 112 | \newcommand{\qihao}{\fontsize{5.25pt}{6.3pt}\selectfont} %七号 113 | 114 | % Will Robertson's fontspec.sty can be used to simplify font choices. 115 | % To experiment, open /Applications/Font Book to examine the fonts provided on Mac OS X, 116 | % and change "Hoefler Text" to any of these choices. 117 | 118 | %-----------------------------English Font Setup--------------------------! 119 | \usepackage{fontspec,xltxtra,xunicode} 120 | \defaultfontfeatures{Mapping=tex-text} 121 | \setmainfont{Times New Roman} 122 | \setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Helvetica} 123 | \setmonofont[Scale=MatchLowercase]{Courier New} 124 | 125 | \newfontfamily{\AMT}{American Typewriter} 126 | \newfontfamily{\Curly}{Baskerville} 127 | \newfontfamily{\Fraktur}{Euclid Fraktur} 128 | 129 | 130 | %Define Han Length 131 | \newlength{\Han} 132 | \settowidth{\Han}{汉} 133 | 134 | %-----------------------------TOC LOF Setup--------------------------! 135 | %Define ListOfContent, Header/Footer, Index 136 | \usepackage[titles]{tocloft} 137 | \renewcommand{\cftchapfont}{\sffamily} 138 | \renewcommand{\cftdotsep}{5} 139 | \renewcommand{\cftparskip}{0pt} 140 | \addtolength{\cftchapnumwidth}{3\Han} % add the extra space 141 | \setlength{\cftbeforechapskip}{0.6em} % Adjust Chapter Menu Spacing 142 | \setlength{\cftbeforesecskip}{\cftbeforechapskip} % Equal Menu Vertical Spacing 143 | \setlength{\cftbeforesubsecskip}{\cftbeforechapskip} 144 | \renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}} % for chapters 145 | \addtolength{\cftsecnumwidth}{0.69\Han} % add the extra space 146 | \renewcommand{\cftsecpresnum}{\raisebox{0.07em}{\S\,}} % for sections 147 | 148 | %-----------------------------Fancy Header Setup--------------------------! 149 | \usepackage{fancyhdr} 150 | \pagestyle{fancy} 151 | \renewcommand{\headrulewidth}{0.5pt} 152 | \renewcommand{\chaptermark}[1]{\markboth{\sffamily\chaptername\ \thechapter \quad #1}{}} 153 | \renewcommand{\sectionmark}[1]{\markright{\sffamily\thesection.\ #1}} 154 | \fancyhf{} 155 | \fancyhead[ER]{\small\leftmark} 156 | \fancyhead[OL]{\small\rightmark} 157 | \fancyhead[EL,OR]{$\cdot$\ \thepage\,$\cdot$} 158 | 159 | %----------------------------Language Setup--------------------------! 160 | \theoremstyle{plain} 161 | \newtheorem{assumption}{假设}[chapter] 162 | \newtheorem{definition}{定义}[chapter] 163 | \newtheorem{proposition}{命题}[chapter] 164 | \newtheorem{lemma}{引理}[chapter] 165 | \newtheorem{theorem}{定理}[chapter] 166 | \newtheorem{axiom}{公理}[chapter] 167 | \newtheorem{corollary}{推论}[chapter] 168 | \newtheorem{exercise}{练习}[chapter] 169 | \newtheorem{example}{例}[chapter] 170 | \newtheorem{remark}{注释}[chapter] 171 | \newtheorem{problem}{问题}[chapter] 172 | \newtheorem{conjecture}{猜想}[chapter] 173 | 174 | 175 | \renewcommand{\chaptername}{} 176 | \renewcommand{\contentsname}{\textsf{目\hspace{.5em}录}} 177 | \renewcommand{\listfigurename}{\textsf{插图索引}} 178 | \renewcommand{\listtablename}{表格索引} 179 | \renewcommand{\bibname}{\textsf{参考文献}} 180 | \renewcommand{\indexname}{\textsf{索\hspace{.5em}引}} 181 | \renewcommand{\figurename}{图} 182 | \renewcommand{\tablename}{表} 183 | \renewcommand{\appendixname}{附\hspace{.5em}录} 184 | \renewcommand{\thechapter}{第\CJKnumber{\arabic{chapter}}章} 185 | \renewcommand{\thesection}{\arabic{chapter}.\arabic{section}} 186 | \renewcommand{\thefigure} {\arabic{chapter}-\arabic{figure}} 187 | \renewcommand{\theequation}{\arabic{chapter}.\arabic{equation}} 188 | \renewcommand{\thetable} {\arabic{chapter}-\arabic{table}} -------------------------------------------------------------------------------- /FDUbib.bst: -------------------------------------------------------------------------------- 1 | % BibTeX standard bibliography style `thubib.bst' derived from `unsrt' 2 | % This file is part of `thuthesis' package. 3 | % 4 | % $Id$ 5 | 6 | ENTRY 7 | { address 8 | author 9 | booktitle 10 | chapter 11 | edition 12 | editor 13 | howpublished 14 | institution 15 | journal 16 | key 17 | lang 18 | month 19 | note 20 | number 21 | organization 22 | pages 23 | publisher 24 | school 25 | series 26 | title 27 | type 28 | volume 29 | year 30 | url 31 | } 32 | {} 33 | { label } 34 | 35 | INTEGERS { output.state before.all mid.sentence after.sentence after.block } 36 | 37 | FUNCTION {not} 38 | { { #0 } 39 | { #1 } 40 | if$ 41 | } 42 | 43 | FUNCTION {and} 44 | { 'skip$ 45 | { pop$ #0 } 46 | if$ 47 | } 48 | 49 | FUNCTION {or} 50 | { { pop$ #1 } 51 | 'skip$ 52 | if$ 53 | } 54 | 55 | FUNCTION {init.state.consts} 56 | { #0 'before.all := 57 | #1 'mid.sentence := 58 | #2 'after.sentence := 59 | #3 'after.block := 60 | } 61 | 62 | STRINGS { s t } 63 | 64 | FUNCTION {output.nonnull} 65 | { 's := 66 | output.state mid.sentence = 67 | { ", " * write$ } 68 | { output.state after.block = 69 | { add.period$ write$ 70 | newline$ 71 | "\newblock " write$ 72 | } 73 | { output.state before.all = 74 | 'write$ 75 | { add.period$ " " * write$ } 76 | if$ 77 | } 78 | if$ 79 | mid.sentence 'output.state := 80 | } 81 | if$ 82 | s 83 | } 84 | 85 | FUNCTION {output.nonperiod} 86 | { 's := 87 | output.state mid.sentence = 88 | { ", " * write$ } 89 | { output.state after.block = 90 | { " " * write$ 91 | newline$ 92 | "\newblock " write$ 93 | } 94 | { output.state before.all = 95 | 'write$ 96 | { add.period$ " " * write$ } 97 | if$ 98 | } 99 | if$ 100 | mid.sentence 'output.state := 101 | } 102 | if$ 103 | s 104 | } 105 | 106 | FUNCTION {output.year} 107 | { 't := 108 | number empty$ 109 | volume empty$ 110 | and 111 | { add.period$ write$ } 112 | { ", " * write$ } 113 | if$ 114 | t 115 | } 116 | 117 | STRINGS {z} 118 | FUNCTION {remove.dots} 119 | { 'z := 120 | "" 121 | { z empty$ not} 122 | { z #1 #1 substring$ 123 | z #2 global.max$ substring$ 'z := 124 | duplicate$ "." = 'pop$ 125 | { * } 126 | if$ 127 | } 128 | while$ 129 | %z 130 | } 131 | 132 | FUNCTION {bibinfo.check} 133 | { swap$ 134 | duplicate$ missing$ 135 | { 136 | pop$ pop$ 137 | "" 138 | } 139 | { duplicate$ empty$ 140 | { 141 | swap$ pop$ 142 | } 143 | { swap$ 144 | pop$ 145 | } 146 | if$ 147 | } 148 | if$ 149 | } 150 | 151 | FUNCTION {format.note} 152 | { 153 | note empty$ 154 | { "" } 155 | { note #1 #1 substring$ 156 | duplicate$ "{" = 157 | 'skip$ 158 | { output.state mid.sentence = 159 | { "l" } 160 | { "u" } 161 | if$ 162 | change.case$ 163 | } 164 | if$ 165 | note #2 global.max$ substring$ * "note" bibinfo.check 166 | } 167 | if$ 168 | } 169 | 170 | FUNCTION {output} 171 | { duplicate$ empty$ 172 | 'pop$ 173 | 'output.nonnull 174 | if$ 175 | } 176 | 177 | FUNCTION {output.check} 178 | { 't := 179 | duplicate$ empty$ 180 | { pop$ "empty " t * " in " * cite$ * warning$ } 181 | 'output.nonnull 182 | if$ 183 | } 184 | 185 | FUNCTION {output.noperiodcheck} 186 | { 't := 187 | duplicate$ empty$ 188 | { pop$ "empty " t * " in " * cite$ * warning$ } 189 | 'output.nonperiod 190 | if$ 191 | } 192 | 193 | FUNCTION {output.bibitem} 194 | { newline$ 195 | "\bibitem{" write$ 196 | cite$ write$ 197 | "}" write$ 198 | newline$ 199 | "" 200 | before.all 'output.state := 201 | } 202 | 203 | FUNCTION {fin.entry} 204 | { duplicate$ empty$ 205 | 'pop$ 206 | 'write$ 207 | if$ 208 | newline$ 209 | % "\thudot" write$ 210 | % newline$ 211 | } 212 | 213 | % FUNCTION {fin.entry} 214 | % { add.period$ 215 | % write$ 216 | % %remove.dots 217 | % newline$ 218 | % } 219 | 220 | % FUNCTION {fin.entry} 221 | % { duplicate$ empty$ 222 | % 'pop$ 223 | % 'write$ 224 | % if$ 225 | % newline$ 226 | % } 227 | 228 | FUNCTION {new.block} 229 | { output.state before.all = 230 | 'skip$ 231 | { after.block 'output.state := } 232 | if$ 233 | } 234 | 235 | FUNCTION {new.sentence} 236 | { output.state after.block = 237 | 'skip$ 238 | { output.state before.all = 239 | 'skip$ 240 | { after.sentence 'output.state := } 241 | if$ 242 | } 243 | if$ 244 | } 245 | 246 | 247 | FUNCTION {new.block.checka} 248 | { empty$ 249 | 'skip$ 250 | 'new.block 251 | if$ 252 | } 253 | 254 | FUNCTION {new.block.checkb} 255 | { empty$ 256 | swap$ empty$ 257 | and 258 | 'skip$ 259 | 'new.block 260 | if$ 261 | } 262 | 263 | FUNCTION {new.sentence.checka} 264 | { empty$ 265 | 'skip$ 266 | 'new.sentence 267 | if$ 268 | } 269 | 270 | FUNCTION {new.sentence.checkb} 271 | { empty$ 272 | swap$ empty$ 273 | and 274 | 'skip$ 275 | 'new.sentence 276 | if$ 277 | } 278 | 279 | FUNCTION {field.or.null} 280 | { duplicate$ empty$ 281 | { pop$ "" } 282 | 'skip$ 283 | if$ 284 | } 285 | 286 | FUNCTION {emphasize} 287 | { duplicate$ empty$ 288 | { pop$ "" } 289 | { "{\em " swap$ * "}" * } 290 | if$ 291 | } 292 | 293 | INTEGERS { nameptr namesleft numnames } 294 | 295 | FUNCTION {bbl.etal} 296 | { "et~al." } 297 | 298 | FUNCTION {bbl.cn.etal} 299 | { "等." } 300 | 301 | FUNCTION {format.lang} 302 | { lang empty$ 303 | 'skip$ 304 | 'skip$ 305 | if$ 306 | } 307 | 308 | FUNCTION {format.names} 309 | { 's := 310 | #1 'nameptr := 311 | s num.names$ 'numnames := 312 | numnames 'namesleft := 313 | { namesleft #0 > } 314 | { s nameptr 315 | %"{ff }{ll}" 316 | "{ll }{f{~}}" 317 | format.name$ 318 | remove.dots 319 | %bibinfo bibinfo.check 320 | 't := 321 | nameptr #1 > 322 | { 323 | nameptr #3 324 | #1 + = 325 | numnames #3 326 | > and 327 | { "others" 't := 328 | #1 'namesleft := } 329 | 'skip$ 330 | if$ 331 | namesleft #1 > 332 | { ", " * t * } 333 | { numnames #2 > 334 | { "" * } 335 | 'skip$ 336 | if$ 337 | s nameptr "{ll}" format.name$ duplicate$ "others" = 338 | { 't := } 339 | { pop$ } 340 | if$ 341 | t "others" = 342 | { 343 | lang empty$ 344 | { ", " * bbl.etal * } 345 | { lang "zh" = 346 | { ", " * bbl.cn.etal * } 347 | 'skip$ 348 | if$ 349 | } 350 | if$ 351 | } 352 | { 353 | lang empty$ 354 | { ", " * t * } 355 | { lang "zh" = 356 | { ", " * t * } 357 | 'skip$ 358 | if$ 359 | } 360 | if$ 361 | } 362 | if$ 363 | } 364 | if$ 365 | } 366 | 't 367 | if$ 368 | nameptr #1 + 'nameptr := 369 | namesleft #1 - 'namesleft := 370 | } 371 | while$ 372 | } 373 | 374 | FUNCTION {format.authors} 375 | { author empty$ 376 | { "" } 377 | { author format.names } 378 | if$ 379 | } 380 | 381 | FUNCTION {editors.names} 382 | { lang empty$ 383 | { ", (eds.)" } 384 | { ", 编" } 385 | if$ 386 | } 387 | 388 | 389 | FUNCTION {format.editors} 390 | { editor empty$ 391 | { "" } 392 | { editor format.names 393 | % editor num.names$ #1 > 394 | %{ ", editors" * } 395 | %{ ", editor" * } 396 | % if$ 397 | editors.names * 398 | } 399 | if$ 400 | } 401 | 402 | FUNCTION {format.title} 403 | { title empty$ 404 | { "" } 405 | { title } 406 | if$ 407 | } 408 | 409 | FUNCTION {n.dashify} 410 | { 't := 411 | "" 412 | { t empty$ not } 413 | { t #1 #1 substring$ "-" = 414 | { t #1 #2 substring$ "--" = not 415 | { "--" * 416 | t #2 global.max$ substring$ 't := 417 | } 418 | { { t #1 #1 substring$ "-" = } 419 | { "-" * 420 | t #2 global.max$ substring$ 't := 421 | } 422 | while$ 423 | } 424 | if$ 425 | } 426 | { t #1 #1 substring$ * 427 | t #2 global.max$ substring$ 't := 428 | } 429 | if$ 430 | } 431 | while$ 432 | } 433 | 434 | FUNCTION {format.date} 435 | { year empty$ 436 | { month empty$ 437 | { "" } 438 | { "there's a month but no year in " cite$ * warning$ 439 | month 440 | } 441 | if$ 442 | } 443 | { month empty$ 444 | 'year 445 | { month ", " * year * } 446 | if$ 447 | } 448 | if$ 449 | } 450 | 451 | FUNCTION {format.btitle} 452 | { title %emphasize 453 | } 454 | 455 | FUNCTION {tie.or.space.connect} 456 | { duplicate$ text.length$ #3 < 457 | { "~" } 458 | { " " } 459 | if$ 460 | swap$ * * 461 | } 462 | 463 | FUNCTION {either.or.check} 464 | { empty$ 465 | 'pop$ 466 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 467 | if$ 468 | } 469 | 470 | FUNCTION {format.bvolume} 471 | { volume empty$ 472 | { "" } 473 | { "volume" volume tie.or.space.connect 474 | series empty$ 475 | 'skip$ 476 | { " of " * series emphasize * } 477 | if$ 478 | "volume and number" number either.or.check 479 | } 480 | if$ 481 | } 482 | 483 | FUNCTION {format.number.series} 484 | { volume empty$ 485 | { number empty$ 486 | { series field.or.null } 487 | { output.state mid.sentence = 488 | { "number" } 489 | { "Number" } 490 | if$ 491 | number tie.or.space.connect 492 | series empty$ 493 | { "there's a number but no series in " cite$ * warning$ } 494 | { " in " * series * } 495 | if$ 496 | } 497 | if$ 498 | } 499 | { "" } 500 | if$ 501 | } 502 | 503 | FUNCTION {format.edition} 504 | { edition empty$ 505 | { "" } 506 | { output.state mid.sentence = 507 | { edition "l" change.case$ " ed." * } 508 | { edition "t" change.case$ " ed." * } 509 | if$ 510 | } 511 | if$ 512 | } 513 | 514 | 515 | FUNCTION {format.url} 516 | { url empty$ 517 | { "" } 518 | { new.block " {\url{" url * "}}" * } 519 | if$ 520 | } 521 | 522 | 523 | INTEGERS { multiresult } 524 | 525 | FUNCTION {multi.page.check} 526 | { 't := 527 | #0 'multiresult := 528 | { multiresult not 529 | t empty$ not 530 | and 531 | } 532 | { t #1 #1 substring$ 533 | duplicate$ "-" = 534 | swap$ duplicate$ "," = 535 | swap$ "+" = 536 | or or 537 | { #1 'multiresult := } 538 | { t #2 global.max$ substring$ 't := } 539 | if$ 540 | } 541 | while$ 542 | multiresult 543 | } 544 | 545 | FUNCTION {format.pages} 546 | { pages empty$ 547 | { "" } 548 | { pages multi.page.check 549 | { "" pages n.dashify tie.or.space.connect } 550 | { "" pages tie.or.space.connect } 551 | if$ 552 | } 553 | if$ 554 | } 555 | 556 | FUNCTION {format.vol.num.pages} 557 | { volume field.or.null 558 | number empty$ 559 | 'skip$ 560 | { "(" number * ")" * * 561 | volume empty$ 562 | { "there's a number but no volume in " cite$ * warning$ } 563 | 'skip$ 564 | if$ 565 | } 566 | if$ 567 | pages empty$ 568 | 'skip$ 569 | { duplicate$ empty$ 570 | { pop$ format.pages } 571 | { ":" * pages n.dashify * } 572 | if$ 573 | } 574 | if$ 575 | } 576 | 577 | FUNCTION {format.chapter.pages} 578 | { chapter empty$ 579 | { "" } 580 | { type empty$ 581 | { "chapter" } 582 | { type "l" change.case$ } 583 | if$ 584 | chapter tie.or.space.connect 585 | pages empty$ 586 | 'skip$ 587 | { ", " * format.pages * } 588 | if$ 589 | } 590 | if$ 591 | } 592 | 593 | FUNCTION {collection.in} 594 | { lang empty$ 595 | { "In: " } 596 | { "见: " } 597 | if$ 598 | } 599 | 600 | FUNCTION {format.in.ed.booktitle} 601 | { booktitle empty$ 602 | { "" } 603 | { editor empty$ 604 | { lang empty$ 605 | { "Proceedings of " booktitle * } 606 | { " " booktitle * } 607 | if$ 608 | } 609 | { lang empty$ 610 | { collection.in format.editors * ". Proceedings of " * booktitle * } 611 | { collection.in format.editors * ". " * booktitle * } 612 | if$ 613 | } 614 | if$ 615 | } 616 | if$ 617 | } 618 | 619 | FUNCTION {empty.misc.check} 620 | { author empty$ title empty$ howpublished empty$ 621 | month empty$ year empty$ note empty$ 622 | and and and and and 623 | { "all relevant fields are empty in " cite$ * warning$ } 624 | 'skip$ 625 | if$ 626 | } 627 | 628 | FUNCTION {format.thesis.type} 629 | { type empty$ 630 | 'skip$ 631 | { pop$ 632 | type "t" change.case$ 633 | } 634 | if$ 635 | } 636 | 637 | FUNCTION {format.tr.number} 638 | { type empty$ 639 | { "Technical Report" } 640 | 'type 641 | if$ 642 | number empty$ 643 | { "t" change.case$ } 644 | { number tie.or.space.connect } 645 | if$ 646 | } 647 | 648 | FUNCTION {format.article.crossref} 649 | { key empty$ 650 | { journal empty$ 651 | { "need key or journal for " cite$ * " to crossref " * crossref * 652 | warning$ 653 | "" 654 | } 655 | { "In {\em " journal * "\/}" * } 656 | if$ 657 | } 658 | { "In " key * } 659 | if$ 660 | " \cite{" * crossref * "}" * 661 | } 662 | 663 | FUNCTION {format.crossref.editor} 664 | { editor #1 "{ll }{f{~}}" format.name$ 665 | editor num.names$ duplicate$ 666 | #2 > 667 | { pop$ " et~al." * } 668 | { #2 < 669 | 'skip$ 670 | { editor #2 "{ll }{f{~}}" format.name$ "others" = 671 | { " et~al." * } 672 | { " and " * editor #2 "{ll }{f{~}}" format.name$ * } 673 | if$ 674 | } 675 | if$ 676 | } 677 | if$ 678 | } 679 | 680 | FUNCTION {format.book.crossref} 681 | { volume empty$ 682 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 683 | "In " 684 | } 685 | { "Volume" volume tie.or.space.connect 686 | " of " * 687 | } 688 | if$ 689 | editor empty$ 690 | editor field.or.null author field.or.null = 691 | or 692 | { key empty$ 693 | { series empty$ 694 | { "need editor, key, or series for " cite$ * " to crossref " * 695 | crossref * warning$ 696 | "" * 697 | } 698 | { "{\em " * series * "\/}" * } 699 | if$ 700 | } 701 | { key * } 702 | if$ 703 | } 704 | { format.crossref.editor * } 705 | if$ 706 | " \cite{" * crossref * "}" * 707 | } 708 | 709 | FUNCTION {format.incoll.inproc.crossref} 710 | { editor empty$ 711 | editor field.or.null author field.or.null = 712 | or 713 | { key empty$ 714 | { booktitle empty$ 715 | { "need editor, key, or booktitle for " cite$ * " to crossref " * 716 | crossref * warning$ 717 | "" 718 | } 719 | { "In {\em " booktitle * "\/}" * } 720 | if$ 721 | } 722 | { "In " key * } 723 | if$ 724 | } 725 | { "In " format.crossref.editor * } 726 | if$ 727 | " \cite{" * crossref * "}" * 728 | } 729 | 730 | FUNCTION {format.address.publisher} 731 | { address empty$ 732 | { publisher empty$ 733 | { "" } 734 | { "there's a publisher but no address in " cite$ * warning$ 735 | publisher 736 | } 737 | if$ 738 | } 739 | { publisher empty$ 740 | 'address 741 | { address ": " * publisher * } 742 | if$ 743 | } 744 | if$ 745 | } 746 | 747 | FUNCTION {format.address.school} 748 | { address empty$ 749 | { school empty$ 750 | { "" } 751 | { "there's a school but no address in " cite$ * warning$ 752 | school 753 | } 754 | if$ 755 | } 756 | { school empty$ 757 | 'address 758 | { address ": " * school * } 759 | if$ 760 | } 761 | if$ 762 | } 763 | 764 | 765 | FUNCTION {format.title.type} 766 | { title empty$ 767 | { type empty$ 768 | { "" } 769 | { "there's a type but no title in " cite$ * warning$ 770 | type 771 | } 772 | if$ 773 | } 774 | { type empty$ 775 | 'title 776 | { title ": " * type * } 777 | if$ 778 | } 779 | if$ 780 | } 781 | 782 | FUNCTION {book} 783 | { output.bibitem 784 | author empty$ 785 | { format.editors "author and editor" output.check } 786 | { format.authors output.nonnull 787 | crossref missing$ 788 | { "author and editor" editor either.or.check } 789 | 'skip$ 790 | if$ 791 | } 792 | if$ 793 | new.block 794 | format.btitle "[M]" * title output.check 795 | %format.btitle "title" output.check 796 | crossref missing$ 797 | { format.bvolume output 798 | new.block 799 | format.number.series output 800 | %new.sentence 801 | %format.address.publisher output 802 | } 803 | { new.block 804 | format.book.crossref output.nonnull 805 | } 806 | if$ 807 | format.edition output 808 | format.address.publisher output 809 | pages empty$ 810 | { format.date "year" output.check 811 | % new.sentence 812 | % format.pages output 813 | } 814 | { format.date ":" * format.pages * output } 815 | if$ 816 | fin.entry 817 | } 818 | 819 | FUNCTION {article} 820 | { output.bibitem 821 | format.authors "author" output.check 822 | new.block 823 | format.title "[J]" * title output.check 824 | %format.title "title" output.check 825 | new.block 826 | crossref missing$ 827 | { %journal emphasize "journal" output.check 828 | journal "journal" output.check 829 | %format.date "year" output.check 830 | %new.block 831 | year output 832 | format.vol.num.pages output.year 833 | } 834 | { format.article.crossref output.nonnull 835 | format.pages output 836 | } 837 | if$ 838 | new.block 839 | format.note output 840 | fin.entry 841 | } 842 | 843 | FUNCTION {booklet} 844 | { output.bibitem 845 | format.authors output 846 | new.block 847 | format.title "title" output.check 848 | howpublished address new.block.checkb 849 | howpublished output 850 | address output 851 | format.date output 852 | new.block 853 | note output 854 | fin.entry 855 | } 856 | 857 | FUNCTION {inbook} 858 | { output.bibitem 859 | author empty$ 860 | { format.editors "author and editor" output.check } 861 | { format.authors output.nonnull 862 | crossref missing$ 863 | { "author and editor" editor either.or.check } 864 | 'skip$ 865 | if$ 866 | } 867 | if$ 868 | new.block 869 | format.btitle "[M]" * title output.check 870 | %format.btitle "title" output.check 871 | crossref missing$ 872 | { format.bvolume output 873 | %format.chapter.pages "chapter and pages" output.check 874 | new.block 875 | format.number.series output 876 | new.sentence 877 | publisher "publisher" output.check 878 | address output 879 | } 880 | { format.chapter.pages "chapter and pages" output.check 881 | new.block 882 | format.book.crossref output.nonnull 883 | } 884 | if$ 885 | format.edition output 886 | pages empty$ 887 | { format.date output } 888 | { format.date ":" * format.pages * output } 889 | if$ 890 | % format.date "." * format.pages * output 891 | fin.entry 892 | } 893 | 894 | FUNCTION {incollection} 895 | { output.bibitem 896 | format.authors "author" output.check 897 | new.block 898 | format.title "[M]//" * title output.check 899 | %format.title "title" output.check 900 | new.block 901 | crossref missing$ 902 | { format.in.ed.booktitle "booktitle" output.check 903 | %format.bvolume output 904 | format.number.series output 905 | format.chapter.pages output 906 | new.sentence 907 | format.address.publisher output 908 | %address output 909 | %publisher "publisher" output.check 910 | %format.edition output 911 | % format.date "year" output.check 912 | % format.date ". " * format.pages * output 913 | format.date ":" * format.pages * output 914 | } 915 | { format.incoll.inproc.crossref output.nonnull 916 | format.chapter.pages output 917 | } 918 | if$ 919 | % new.block 920 | % note output 921 | fin.entry 922 | } 923 | 924 | FUNCTION {inproceedings} 925 | { output.bibitem 926 | format.authors "author" output.check 927 | new.block 928 | format.title "[C]//" * title output.check 929 | %format.title "title" output.check 930 | new.block 931 | crossref missing$ 932 | { format.in.ed.booktitle "booktitle" output.noperiodcheck 933 | format.bvolume output 934 | %format.number.series output 935 | %format.pages output 936 | address empty$ 937 | { organization publisher new.sentence.checkb 938 | organization output 939 | publisher output 940 | %format.date "year" output.check 941 | year output 942 | } 943 | { %address output.nonnull 944 | format.address.publisher output 945 | %format.date "year" output.check 946 | year output 947 | new.sentence 948 | organization output 949 | %publisher output 950 | } 951 | if$ 952 | new.block 953 | format.pages output 954 | %remove.dots 955 | } 956 | { format.incoll.inproc.crossref output.nonnull 957 | format.pages output 958 | } 959 | if$ 960 | new.block 961 | note output 962 | fin.entry 963 | } 964 | 965 | FUNCTION {conference} { inproceedings } 966 | 967 | FUNCTION {manual} 968 | { output.bibitem 969 | author empty$ 970 | { organization empty$ 971 | 'skip$ 972 | { organization output.nonnull 973 | address output 974 | } 975 | if$ 976 | } 977 | { format.authors output.nonnull } 978 | if$ 979 | new.block 980 | format.btitle "[M]" * title output.check 981 | %format.btitle "title" output.check 982 | author empty$ 983 | { organization empty$ 984 | { address new.block.checka 985 | address output 986 | } 987 | 'skip$ 988 | if$ 989 | } 990 | { organization address new.block.checkb 991 | organization output 992 | address output 993 | } 994 | if$ 995 | format.edition output 996 | format.date output 997 | new.block 998 | note output 999 | fin.entry 1000 | } 1001 | 1002 | FUNCTION {masterthesis.type} 1003 | { lang empty$ 1004 | { "[D]" } 1005 | { "\thumasterbib" } 1006 | if$ 1007 | } 1008 | 1009 | FUNCTION {mastersthesis} 1010 | { output.bibitem 1011 | format.authors "author" add.period$ output.check 1012 | new.block 1013 | % format.title remove.dots ": " * masterthesis.type * output 1014 | format.title remove.dots masterthesis.type * output 1015 | new.block 1016 | format.address.school output 1017 | %format.madd "address" output.check 1018 | %school "school" output.check 1019 | format.date "year" output.check 1020 | new.block 1021 | note output 1022 | fin.entry 1023 | } 1024 | 1025 | FUNCTION {misc} 1026 | { output.bibitem 1027 | format.authors output 1028 | title howpublished new.block.checkb 1029 | format.title output 1030 | howpublished new.block.checka 1031 | howpublished output 1032 | format.date output 1033 | format.url output 1034 | new.block 1035 | note output 1036 | fin.entry 1037 | empty.misc.check 1038 | } 1039 | 1040 | FUNCTION {phdthesis.type} 1041 | { lang empty$ 1042 | { "[D]" } 1043 | { "\thuphdbib" } 1044 | if$ 1045 | } 1046 | 1047 | FUNCTION {phdthesis} 1048 | { output.bibitem 1049 | format.authors "author" add.period$ output.check 1050 | new.block 1051 | % format.title remove.dots ": " * phdthesis.type * output 1052 | format.title remove.dots phdthesis.type * output 1053 | new.block 1054 | format.address.school output 1055 | %address output 1056 | %school "school" output.check 1057 | format.date "year" output.check 1058 | new.block 1059 | note output 1060 | fin.entry 1061 | } 1062 | 1063 | FUNCTION {proceedings} 1064 | { output.bibitem 1065 | editor empty$ 1066 | { organization output } 1067 | { format.editors output.nonnull } 1068 | if$ 1069 | new.block 1070 | format.btitle "[C]" * title output.check 1071 | %format.btitle "title" output.check 1072 | format.bvolume output 1073 | format.number.series output 1074 | address empty$ 1075 | { editor empty$ 1076 | { publisher new.sentence.checka } 1077 | { organization publisher new.sentence.checkb 1078 | organization output 1079 | } 1080 | if$ 1081 | publisher output 1082 | format.date "year" output.check 1083 | } 1084 | { address output.nonnull 1085 | format.date "year" output.check 1086 | new.sentence 1087 | editor empty$ 1088 | 'skip$ 1089 | { organization output } 1090 | if$ 1091 | publisher output 1092 | } 1093 | if$ 1094 | new.block 1095 | note output 1096 | fin.entry 1097 | } 1098 | 1099 | FUNCTION {techreport} 1100 | { output.bibitem 1101 | format.authors "author" output.check 1102 | new.block 1103 | format.title "[R]" * title output.check 1104 | %format.title "title" output.check 1105 | new.block 1106 | format.tr.number output.nonnull 1107 | institution "institution" output.check 1108 | address output 1109 | format.date "year" output.check 1110 | format.url output 1111 | new.block 1112 | note output 1113 | fin.entry 1114 | } 1115 | 1116 | FUNCTION {unpublished} 1117 | { output.bibitem 1118 | format.authors "author" output.check 1119 | new.block 1120 | format.title "title" output.check 1121 | new.block 1122 | note "note" output.check 1123 | format.date output 1124 | fin.entry 1125 | } 1126 | 1127 | FUNCTION {default.type} { misc } 1128 | 1129 | MACRO {jan} {"January"} 1130 | 1131 | MACRO {feb} {"February"} 1132 | 1133 | MACRO {mar} {"March"} 1134 | 1135 | MACRO {apr} {"April"} 1136 | 1137 | MACRO {may} {"May"} 1138 | 1139 | MACRO {jun} {"June"} 1140 | 1141 | MACRO {jul} {"July"} 1142 | 1143 | MACRO {aug} {"August"} 1144 | 1145 | MACRO {sep} {"September"} 1146 | 1147 | MACRO {oct} {"October"} 1148 | 1149 | MACRO {nov} {"November"} 1150 | 1151 | MACRO {dec} {"December"} 1152 | 1153 | MACRO {acmcs} {"ACM Computing Surveys"} 1154 | 1155 | MACRO {acta} {"Acta Informatica"} 1156 | 1157 | MACRO {cacm} {"Communications of the ACM"} 1158 | 1159 | MACRO {ibmjrd} {"IBM Journal of Research and Development"} 1160 | 1161 | MACRO {ibmsj} {"IBM Systems Journal"} 1162 | 1163 | MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 1164 | 1165 | MACRO {ieeetc} {"IEEE Transactions on Computers"} 1166 | 1167 | MACRO {ieeetcad} 1168 | {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 1169 | 1170 | MACRO {ipl} {"Information Processing Letters"} 1171 | 1172 | MACRO {jacm} {"Journal of the ACM"} 1173 | 1174 | MACRO {jcss} {"Journal of Computer and System Sciences"} 1175 | 1176 | MACRO {scp} {"Science of Computer Programming"} 1177 | 1178 | MACRO {sicomp} {"SIAM Journal on Computing"} 1179 | 1180 | MACRO {tocs} {"ACM Transactions on Computer Systems"} 1181 | 1182 | MACRO {tods} {"ACM Transactions on Database Systems"} 1183 | 1184 | MACRO {tog} {"ACM Transactions on Graphics"} 1185 | 1186 | MACRO {toms} {"ACM Transactions on Mathematical Software"} 1187 | 1188 | MACRO {toois} {"ACM Transactions on Office Information Systems"} 1189 | 1190 | MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 1191 | 1192 | MACRO {tcs} {"Theoretical Computer Science"} 1193 | 1194 | READ 1195 | 1196 | STRINGS { longest.label } 1197 | 1198 | INTEGERS { number.label longest.label.width } 1199 | 1200 | FUNCTION {initialize.longest.label} 1201 | { "" 'longest.label := 1202 | #1 'number.label := 1203 | #0 'longest.label.width := 1204 | } 1205 | 1206 | FUNCTION {longest.label.pass} 1207 | { number.label int.to.str$ 'label := 1208 | number.label #1 + 'number.label := 1209 | label width$ longest.label.width > 1210 | { label 'longest.label := 1211 | label width$ 'longest.label.width := 1212 | } 1213 | 'skip$ 1214 | if$ 1215 | } 1216 | 1217 | EXECUTE {initialize.longest.label} 1218 | 1219 | ITERATE {longest.label.pass} 1220 | 1221 | FUNCTION {begin.bib} 1222 | { preamble$ empty$ 1223 | 'skip$ 1224 | { preamble$ write$ newline$ } 1225 | if$ 1226 | "\begin{thebibliography}{" longest.label * "}" * write$ newline$ 1227 | } 1228 | 1229 | EXECUTE {begin.bib} 1230 | 1231 | EXECUTE {init.state.consts} 1232 | 1233 | ITERATE {call.type$} 1234 | 1235 | FUNCTION {end.bib} 1236 | { newline$ 1237 | "\end{thebibliography}" write$ newline$ 1238 | } 1239 | 1240 | EXECUTE {end.bib} 1241 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) <2014> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ##Latex Thesis for Fudan University 2 | 该GIT库提供了基本满足**复旦大学**博士(硕士)毕业论文格式要求的Latex模板。 3 | 4 | 主要包含:**FDUbib.bst**(参考文献风格),**FDUThesis.sty**(正文风格)两部分文件。 5 | **Thesis.tex**给出了上述文件的使用框架,仅供参考。 6 | 此外,**Book-Cover.tex**还提供了封面的源码,请自行修改直接编译使用。 7 | 8 | ##Usage 9 | 建议首先下载**DEMO**文件夹下内容进行测试: 10 | - 运行**xelatex**编译器编译**thesis.tex** 11 | - 运行**Bibtex**编译器生成参考文献索引 12 | - **再次/多次**运行**xelatex**生成交叉引用和参考文献等 13 | 14 | *** 15 | DEMO文件夹提供了使用该模板的一篇删减版博士论文,仅供不熟悉Latex使用的同学参考。鉴于水平有限,可能不免贻笑大方。 16 | ~~由于本人论文还:bangbang:**没有**:bangbang:提交教务处审批,各位自重:kissing_heart:~~ 17 | 18 | ## Caveat 19 | - **FDUThesis**加载了较多的个性化宏包,请自行根据需要进行删减 20 | - 由于本人对相对臃肿的**CJK**宏包比较反感,所以仅采用**xecjk**对中文进行基本处理 21 | - 在字体的选择方面,由于本人采用的为Mac平台,所以选择了自己比较偏好的Songti SC而非SimSun(不知何种原因,SimSun排版出来基线好像会对不齐,并且觉得看了不开心)。Windows平台的童鞋若没有安装相应字体,请修改 **CJK Font Setup** 下面的字体名称 22 | - 鉴于时间限制,废话不能过多。Latex的乐趣就在于自己摸索,本模板的最大作用也莫过于抛砖引玉,**Enjoy**:coffee: 23 | 24 | *** 25 | 注:参考文件风格模板(**GB-T 7714-2005**)借鉴了**thuthesis**的基本框架,在此对该模板的制作者致敬! 26 | **Syriana**, 嗷嗷(这算鸣谢么) 27 | **Pandoxie-BiB.bib**提供了参考文献录入示例,原数据为**EndNote**导出。 28 | **BibTeX Export-Zh.ens**提供了本人使用的**EndNote**导出风格插件(忘记修改了什么捏:grimacing:,仅供参考)。 29 | **Thesis.ist**提供了索引的风格定义,可根据实际需要进行修订。 30 | 31 | ## Git-Phobic 32 | - **FDUThesis**还有自己的[Git Page](http://pandoxie.github.io/FDU-Thesis-Latex/),提供懒虫直接下载。 33 | - 欢迎访问Pandoxie的[个人网站](http://www.pandoxie.com)或直接参与Git互动让FDU-Latex更加实用、强大。 34 | 35 | ## License 36 | 37 | The content of this project itself is licensed under the [Creative Commons Attribution 3.0 license](http://creativecommons.org/licenses/by/3.0/us/deed.en_US) 38 | The underlying source code used to format and display that content is licensed under the [MIT license](http://opensource.org/licenses/mit-license.php). 39 | -------------------------------------------------------------------------------- /Thesis.ist: -------------------------------------------------------------------------------- 1 | headings_flag 1 2 | heading_prefix "{\\bfseries " 3 | heading_suffix "}\\nopagebreak\n" 4 | delim_0 " \\dotfill " 5 | delim_1 " \\dotfill " 6 | delim_2 " \\dotfill " -------------------------------------------------------------------------------- /Thesis.tex: -------------------------------------------------------------------------------- 1 | % !TEX encoding = UTF-8 Unicode 2 | % XeLaTeX can use any Mac OS X font. See the setromanfont command below. 3 | % Input to XeLaTeX is full Unicode, so Unicode characters can be typed directly into the source. 4 | 5 | % The next lines tell TeXShop to typeset with xelatex, and to open and save the source with Unicode encoding. 6 | 7 | %!TEX TS-program = xelatex 8 | 9 | \documentclass[a4paper, 12pt]{book} 10 | %Load FDU Style 11 | \usepackage{FDUThesis} 12 | \title{Pandoxie's Article} 13 | \author{Xu Deyuan $<$\href{mailto:xudeyuanghw@gmail.com}% 14 | {xudeyuanghw@gmail.com}$>$} 15 | 16 | %\date{} % Activate to display a given date or no date 17 | 18 | \begin{document} 19 | %Use \thispagestyle{} fancy, plain, empty to redefine Per/Page Header 20 | 21 | \includepdf{Book-Cover.pdf} 22 | \thispagestyle{empty} 23 | %----------------------------Front Matter-------------------------------! 24 | \frontmatter 25 | %\maketitle 26 | 27 | \phantomsection 28 | \addcontentsline{toc}{chapter}{\contentsname} 29 | \tableofcontents 30 | 31 | %{\pagestyle{plain} 32 | %\tableofcontents 33 | %\cleardoublepage} 34 | 35 | \include{Forewords} 36 | 37 | \listoffigures 38 | %\listoftables 39 | 40 | %----------------------------Main Matter-------------------------------! 41 | \mainmatter 42 | 43 | \include{Intro} 44 | 45 | \include{Chapter01} 46 | 47 | \include{Chapter02} 48 | 49 | \include{Chapter03} 50 | 51 | \include{Chapter04} 52 | %----------------------------Appendix-------------------------------! 53 | \appendix 54 | 55 | \renewcommand{\thechapter}{附录{\Alph{chapter}}} 56 | 57 | %\chapter{公式推导} 58 | 59 | %----------------------------Back Matter-------------------------------! 60 | \backmatter 61 | 62 | \phantomsection 63 | \addcontentsline{toc}{chapter}{\bibname} 64 | \bibliographystyle{FDUbib} 65 | \bibliography{Pandoxie-BiB} 66 | %\nocite{*} 67 | 68 | \backchapter{致谢} 69 | 70 | \clearpage 71 | \printindex 72 | 73 | \end{document} --------------------------------------------------------------------------------