15.11.2013 Views

Numerical Simulations of the Steady Euler Equations on ...

Numerical Simulations of the Steady Euler Equations on ...

Numerical Simulations of the Steady Euler Equations on ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<str<strong>on</strong>g>Numerical</str<strong>on</strong>g> <str<strong>on</strong>g>Simulati<strong>on</strong>s</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Steady</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g><br />

<str<strong>on</strong>g>Equati<strong>on</strong>s</str<strong>on</strong>g> <strong>on</strong> Unstructured Grids<br />

HU Guanghui<br />

A <str<strong>on</strong>g>the</str<strong>on</strong>g>sis submitted in partial fulfillment <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> requirements<br />

for <str<strong>on</strong>g>the</str<strong>on</strong>g> degree <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

Doctor <str<strong>on</strong>g>of</str<strong>on</strong>g> Philosophy<br />

Principal Supervisor: Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>. TANG Tao<br />

H<strong>on</strong>g K<strong>on</strong>g Baptist University<br />

October 2009


Declarati<strong>on</strong><br />

I declare that this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis has been composed by myself under <str<strong>on</strong>g>the</str<strong>on</strong>g> guidence <str<strong>on</strong>g>of</str<strong>on</strong>g> my<br />

principal supervisor Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>. TANG Tao, and co-supervisor Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>. WU Xia<strong>on</strong>an. The<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>sis has not previously included in any <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, dissertati<strong>on</strong> or report submitted to<br />

any instituti<strong>on</strong> for a degree, diploma or o<str<strong>on</strong>g>the</str<strong>on</strong>g>r qualificati<strong>on</strong>. All sources <str<strong>on</strong>g>of</str<strong>on</strong>g> informati<strong>on</strong><br />

have been ackowledged by means <str<strong>on</strong>g>of</str<strong>on</strong>g> references to <str<strong>on</strong>g>the</str<strong>on</strong>g> relevant publicati<strong>on</strong>s.<br />

Signature:<br />

October 2009<br />

i


Abstract<br />

This <str<strong>on</strong>g>the</str<strong>on</strong>g>sis is c<strong>on</strong>cerned with effective and robust numerical schemes for solving<br />

steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. For solving <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>linear system resulting from <str<strong>on</strong>g>the</str<strong>on</strong>g> discretizati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s, we employ a standard Newt<strong>on</strong> method<br />

as <str<strong>on</strong>g>the</str<strong>on</strong>g> outer iterative scheme and a linear multigrid method as <str<strong>on</strong>g>the</str<strong>on</strong>g> inner iterative<br />

scheme with <str<strong>on</strong>g>the</str<strong>on</strong>g> block lower-upper symmetric Gauss-Seidel iterati<strong>on</strong> as its smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r.<br />

The Jacobian matrix <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong>-iterati<strong>on</strong> is regularized by <str<strong>on</strong>g>the</str<strong>on</strong>g> local residual, instead<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> using <str<strong>on</strong>g>the</str<strong>on</strong>g> comm<strong>on</strong>ly adopted time-stepping relaxati<strong>on</strong> technique based <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> local CFL number. The local Jacobian matrix <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical fluxes are computed<br />

by using <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical differentiati<strong>on</strong>, which can significantly simplify <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

implementati<strong>on</strong>s by comparing with <str<strong>on</strong>g>the</str<strong>on</strong>g> manually derived approximate derivatives.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> step, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> and <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong><br />

are studied respectively. For <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate<br />

polynomial in each cell is obtained by using <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> method.<br />

The numerical results show that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm works very well with <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO<br />

rec<strong>on</strong>structi<strong>on</strong>. Compared with <str<strong>on</strong>g>the</str<strong>on</strong>g> resutls given by using <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan limiter,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> method gives superior c<strong>on</strong>vergence order, and n<strong>on</strong>oscillatory<br />

and sharp shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles. Although <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method works very well<br />

for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence to <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm is affected if<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method is extended to <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic case directly. So for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic<br />

rec<strong>on</strong>structi<strong>on</strong>, a new hierarchical WENO rec<strong>on</strong>structi<strong>on</strong> method is introduced to<br />

improve <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence to steady state and also to preserve <str<strong>on</strong>g>the</str<strong>on</strong>g> formal order <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

accuracy. The efforts are made to balance <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence order <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical<br />

ii


discretizati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> ability <str<strong>on</strong>g>of</str<strong>on</strong>g> avoiding <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s, and <str<strong>on</strong>g>the</str<strong>on</strong>g> efficiency<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong>-iterati<strong>on</strong>.<br />

The last part <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>sis is c<strong>on</strong>cerned with using <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive technique to<br />

enhance <str<strong>on</strong>g>the</str<strong>on</strong>g> performance <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> proposed numerical algorithms. <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> results<br />

show that with <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive methods <str<strong>on</strong>g>the</str<strong>on</strong>g> grids around <str<strong>on</strong>g>the</str<strong>on</strong>g> shock regi<strong>on</strong>s are<br />

locally refined successfully, which can save a large amount <str<strong>on</strong>g>of</str<strong>on</strong>g> computati<strong>on</strong>al time<br />

and memory.<br />

iii


Acknowledgements<br />

First and foremost, I am particularly grateful to my supervisor, Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>. Tao Tang,<br />

for his inspiring guidance and enthusiastic support. His superb intuiti<strong>on</strong>, his broad<br />

knowledge and experience, and his c<strong>on</strong>tinuous encouragement throughout this research<br />

have all been indispensable for whatever I have achieved. I would also like to<br />

thank my co-supervisor, Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>. Xia<strong>on</strong>an Wu, for his encouragement and support.<br />

I would like to express my deep gratitude to Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>. Ruo Li in Peking University.<br />

He inspired my work by numerous fruitful discussi<strong>on</strong>s, taught me practices and skills<br />

and gave me c<strong>on</strong>tinuous support throughout my PhD educati<strong>on</strong>. I still remember<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> excitement <str<strong>on</strong>g>of</str<strong>on</strong>g> solving a milli<strong>on</strong> order linear system within a few sec<strong>on</strong>ds just<br />

<strong>on</strong> my notebook. His unfailing support is a major factor in <str<strong>on</strong>g>the</str<strong>on</strong>g> completi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> my<br />

doctoral studies.<br />

I would like to thank Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>. Paul Zegeling <str<strong>on</strong>g>of</str<strong>on</strong>g> Utrecht University in <str<strong>on</strong>g>the</str<strong>on</strong>g> Ne<str<strong>on</strong>g>the</str<strong>on</strong>g>rlands.<br />

During my three m<strong>on</strong>ths visit, I had benefited a lot from <str<strong>on</strong>g>the</str<strong>on</strong>g> discussi<strong>on</strong> with<br />

him <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> moving mesh methods. Also I would like to thank Dr. Arthur van Dam<br />

for his enthusiastic help <strong>on</strong> my research and my daily living during my visit. Thanks<br />

are also given to Ms. Alexandra Babenko and Mr. Dmytro Makog<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g>ir help.<br />

With <str<strong>on</strong>g>the</str<strong>on</strong>g>se friends, I had a very w<strong>on</strong>derful experience in <str<strong>on</strong>g>the</str<strong>on</strong>g> Ne<str<strong>on</strong>g>the</str<strong>on</strong>g>rlands.<br />

I would like to thank Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>. Vít Dolejší <str<strong>on</strong>g>of</str<strong>on</strong>g> Charles University in Czech Republic.<br />

His expertise <strong>on</strong> numrical simulati<strong>on</strong>s helps me to much better understand many<br />

details <str<strong>on</strong>g>of</str<strong>on</strong>g> my research projects. I also would like to thank Dr. Václav Kučera for<br />

his useful sharings <strong>on</strong> research.<br />

My thanks extend to all staffs and postgraduate students in our department for<br />

iv


<str<strong>on</strong>g>the</str<strong>on</strong>g>ir help. In particular, I wish to give special thanks to my fellow postgradutes, Dr.<br />

Zh<strong>on</strong>ghua Qiao, Dr. Heyu Wang, Mr. Yubo Zhang, Dr. Xianliang Hu, Dr. Jiwei<br />

Zhang, Dr. Leih<strong>on</strong>g Zhang, Dr. Changqiu Jin, Dr. Qiaolin He, for sharing with<br />

me some <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>ir pr<str<strong>on</strong>g>of</str<strong>on</strong>g>ound knowledge <strong>on</strong> scientific computing. I would like to thank<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> departmental secretaries and technicians, Ms. Claudia Chui, Ms. Susanna Sze,<br />

Ms. Corinna Yu, Ms. LAW, Natalie, Ms. TSE, Amanda, Ms. Tammy Lam, Mr.<br />

Che<strong>on</strong>g-Wing Yeung, for <str<strong>on</strong>g>the</str<strong>on</strong>g>ir kind assistance.<br />

I would like to give speical thanks to my fiancee, Dr. Lei Yang, for her great<br />

love and unlimited support.<br />

Finally, I would like to thank my parents. Their love always accompanies me.<br />

v


Table <str<strong>on</strong>g>of</str<strong>on</strong>g> C<strong>on</strong>tents<br />

Declarati<strong>on</strong><br />

i<br />

Abstract<br />

ii<br />

Acknowledgements<br />

iv<br />

Table <str<strong>on</strong>g>of</str<strong>on</strong>g> C<strong>on</strong>tents<br />

vi<br />

List <str<strong>on</strong>g>of</str<strong>on</strong>g> Tables<br />

ix<br />

List <str<strong>on</strong>g>of</str<strong>on</strong>g> Figures<br />

x<br />

Chapter 1 Introducti<strong>on</strong> 1<br />

1.1 The <str<strong>on</strong>g>Euler</str<strong>on</strong>g> <str<strong>on</strong>g>Equati<strong>on</strong>s</str<strong>on</strong>g> . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

1.2 Mesh Generati<strong>on</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

1.3 The Finite Volume Method . . . . . . . . . . . . . . . . . . . . . . . 7<br />

1.3.1 Soluti<strong>on</strong> Rec<strong>on</strong>structi<strong>on</strong> . . . . . . . . . . . . . . . . . . . . . 11<br />

1.3.2 Slope Limiter Methods . . . . . . . . . . . . . . . . . . . . . . 13<br />

1.3.3 ENO/WENO Rec<strong>on</strong>structi<strong>on</strong> . . . . . . . . . . . . . . . . . . 14<br />

1.3.4 The HLLC Riemann Solver . . . . . . . . . . . . . . . . . . . 16<br />

1.4 The Residual Distributi<strong>on</strong> Method . . . . . . . . . . . . . . . . . . . 18<br />

1.5 Temporal Discretizati<strong>on</strong> . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

1.6 Some Accelerati<strong>on</strong> Techniques . . . . . . . . . . . . . . . . . . . . . . 19<br />

1.6.1 Local Time-Stepping . . . . . . . . . . . . . . . . . . . . . . . 20<br />

1.6.2 The Multigrid Method . . . . . . . . . . . . . . . . . . . . . . 20<br />

vi


1.7 Adaptive Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

1.8 Outline <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 21<br />

Chapter 2 The Linear Finite Volume Solver 24<br />

2.1 The Finite Volume Discretizati<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Steady</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> <str<strong>on</strong>g>Equati<strong>on</strong>s</str<strong>on</strong>g> . . 27<br />

2.2 The Rec<strong>on</strong>structi<strong>on</strong> and Limiting Strategies . . . . . . . . . . . . . . 28<br />

2.2.1 The Linear Rec<strong>on</strong>structi<strong>on</strong> . . . . . . . . . . . . . . . . . . . . 29<br />

2.2.2 The Venkatakrishnan Limiter . . . . . . . . . . . . . . . . . . 30<br />

2.2.3 The WENO Rec<strong>on</strong>structi<strong>on</strong> . . . . . . . . . . . . . . . . . . . 33<br />

2.3 Newt<strong>on</strong> Iterati<strong>on</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

2.3.1 The Jacobian <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Flux . . . . . . . . . . . . . . 35<br />

2.3.2 Regularizati<strong>on</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

2.4 Multigrid Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

2.4.1 The Projecti<strong>on</strong> Operator . . . . . . . . . . . . . . . . . . . . . 39<br />

2.4.2 The Smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r . . . . . . . . . . . . . . . . . . . . . . . . . . . 42<br />

2.5 Boundary C<strong>on</strong>diti<strong>on</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

2.5.1 Solid Wall Boundary C<strong>on</strong>diti<strong>on</strong> . . . . . . . . . . . . . . . . . 44<br />

2.5.2 Farfield Boundary C<strong>on</strong>diti<strong>on</strong> . . . . . . . . . . . . . . . . . . . 45<br />

2.6 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46<br />

2.6.1 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> C<strong>on</strong>vergence Tests . . . . . . . . . . . . . . . . . . 47<br />

2.6.2 The Robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Algorithm . . . . . . . . . . . . . . . . 62<br />

2.6.3 Remarks <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> Efficiency <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Algorithm . . . . . . . . . . 63<br />

2.7 C<strong>on</strong>clusi<strong>on</strong> Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

Chapter 3 The Quadratic Solver Based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> Residual Distributi<strong>on</strong><br />

Schemes 69<br />

3.1 High order rec<strong>on</strong>structi<strong>on</strong> . . . . . . . . . . . . . . . . . . . . . . . . 73<br />

3.2 The WENO hierarchical limiting strategy . . . . . . . . . . . . . . . . 75<br />

3.2.1 Summarizati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Hierarchical Rec<strong>on</strong>structi<strong>on</strong> . . . . . . . 75<br />

vii


3.2.2 Implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> The Hierarchical Rec<strong>on</strong>structi<strong>on</strong> for <str<strong>on</strong>g>Steady</str<strong>on</strong>g><br />

Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78<br />

3.3 Remarks <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> Curved Boundary . . . . . . . . . . . . . . . . . . . . 81<br />

3.4 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

3.4.1 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> C<strong>on</strong>vergence Tests . . . . . . . . . . . . . . . . . . 85<br />

3.4.2 Robustness . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

3.5 C<strong>on</strong>clusi<strong>on</strong> Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

Chapter 4 Combinati<strong>on</strong> with <str<strong>on</strong>g>the</str<strong>on</strong>g> Adaptive Techniques 106<br />

4.1 Moving Finite Element Method for <str<strong>on</strong>g>the</str<strong>on</strong>g> Simulati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Gravity Fingers<br />

in Porous Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107<br />

4.1.1 Finite Element Discretizati<strong>on</strong> . . . . . . . . . . . . . . . . . . 108<br />

4.1.2 Moving Mesh Strategy . . . . . . . . . . . . . . . . . . . . . . 109<br />

4.1.3 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Results . . . . . . . . . . . . . . . . . . . . . . . . 111<br />

4.2 h-Adaptive Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114<br />

4.2.1 Mesh Refinement and Coarsening . . . . . . . . . . . . . . . . 115<br />

4.2.2 Remarks <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> Weight in <str<strong>on</strong>g>the</str<strong>on</strong>g> Rec<strong>on</strong>structi<strong>on</strong> . . . . . . . . . 120<br />

4.2.3 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Results . . . . . . . . . . . . . . . . . . . . . . . . 120<br />

4.3 C<strong>on</strong>clusi<strong>on</strong> Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 122<br />

Chapter 5 C<strong>on</strong>cluding Remarks 134<br />

Bibligraphy 136<br />

Curriculum Vitae 147<br />

viii


List <str<strong>on</strong>g>of</str<strong>on</strong>g> Tables<br />

3.1 L 2 error and c<strong>on</strong>vergence order <str<strong>on</strong>g>of</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> with hierarchical<br />

limiting strategy. . . . . . . . . . . . . . . . . . . . . . . . 81<br />

3.2 The L 2 entropy errors and orders <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>vergence for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong><br />

and quadratic rec<strong>on</strong>structi<strong>on</strong> computati<strong>on</strong>s for <str<strong>on</strong>g>the</str<strong>on</strong>g> flow<br />

around a circle <strong>on</strong> four successive grids; errors are measured in regi<strong>on</strong>s<br />

0.5 ≤ r ≤ 2.0. ”L-lim” and ”Q-lim” stand for linear and quadratic<br />

rec<strong>on</strong>structi<strong>on</strong> with limiting procedure respectively. ”Q.” stands for<br />

quadratic rec<strong>on</strong>structi<strong>on</strong> without limiting procedure. . . . . . . . . . 90<br />

3.3 Same as <str<strong>on</strong>g>the</str<strong>on</strong>g> last columns in Table 3.2, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary<br />

is approximated by <str<strong>on</strong>g>the</str<strong>on</strong>g> linear segments. . . . . . . . . . . . . . . 91<br />

4.1 The data file <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh shown in Fig. 4.3. . . . . . . . . . . . . . . 116<br />

ix


List <str<strong>on</strong>g>of</str<strong>on</strong>g> Figures<br />

1.1 Definiti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a finite c<strong>on</strong>trol volume. . . . . . . . . . . . . . . . . . . 3<br />

1.2 Structured meshes (left) and unstructured meshes (right). . . . . . . . 6<br />

1.3 Cell-centred scheme (left) and Cell-vertex scheme with dual c<strong>on</strong>trol<br />

volume: (middle) and overlapping c<strong>on</strong>trol volume (right). . . . . . . . 8<br />

1.4 Left and right state at <str<strong>on</strong>g>the</str<strong>on</strong>g> cell edge. The cell-centred schemes is used. 11<br />

1.5 Unlimited (left) and limited (right) linear rec<strong>on</strong>structi<strong>on</strong>. . . . . . . . 13<br />

1.6 The comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> between <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO rec<strong>on</strong>structi<strong>on</strong><br />

(solid line) and <str<strong>on</strong>g>the</str<strong>on</strong>g> Lax-Wendr<str<strong>on</strong>g>of</str<strong>on</strong>g>f rec<strong>on</strong>structi<strong>on</strong> (dashed line). . 15<br />

1.7 HLL (left) and HLLC (right) approximate Riemann solvers. . . . . . 17<br />

2.1 Left: <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch P(K) used for <str<strong>on</strong>g>the</str<strong>on</strong>g> least square rec<strong>on</strong>structi<strong>on</strong>.<br />

Right: four patches, {K, K 0 , K 1 , K 2 }, {K, K 0 , K 0,0 , K 0,1 },<br />

{K, K 1 , K 1,0 , K 1,1 }, and {K, K 2 , K 2,0 , K 2,1 }, which are used for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

WENO rec<strong>on</strong>structi<strong>on</strong> in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K. . . . . . . . . . . . . . . . . . . 30<br />

2.2 The min(1, x) functi<strong>on</strong> used in Barth limiter, and its smooth Venkatakrishnan<br />

approximati<strong>on</strong>. . . . . . . . . . . . . . . . . . . . . . . . . . . 32<br />

2.3 Results <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>mesh-refinement study for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong><br />

without limiting procedure, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> and <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

linear rec<strong>on</strong>structi<strong>on</strong> with Venkatakrishnan limiter. The initial mesh<br />

c<strong>on</strong>tains 64 cells, and <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> is implemented <strong>on</strong> six successively<br />

refined meshes. . . . . . . . . . . . . . . . . . . . . . . . . . 34<br />

x


2.4 Representati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a fine mesh with meshsize h, and <str<strong>on</strong>g>of</str<strong>on</strong>g> two coarse<br />

meshes with meshsizes 2h and 4h respectively for <str<strong>on</strong>g>the</str<strong>on</strong>g> structured<br />

meshes case. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

2.5 Element patches near <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil body <str<strong>on</strong>g>of</str<strong>on</strong>g> NACA 0012 generated by<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> aggregati<strong>on</strong> from a quasi-uniform mesh. It shows <str<strong>on</strong>g>the</str<strong>on</strong>g> element<br />

patches <strong>on</strong> four c<strong>on</strong>tinuous levels. . . . . . . . . . . . . . . . . . . . 41<br />

2.6 Dem<strong>on</strong>strati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> physical domain and boundaries used in numerical<br />

simulati<strong>on</strong>s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45<br />

2.7 Mesh used in <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> subs<strong>on</strong>ic flow around a disk. The left<br />

<strong>on</strong>e is entire mesh, <str<strong>on</strong>g>the</str<strong>on</strong>g> right <strong>on</strong>e is <str<strong>on</strong>g>the</str<strong>on</strong>g> detail <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh around <str<strong>on</strong>g>the</str<strong>on</strong>g> disk. 48<br />

2.8 The Mach isolines (bottom) obtained with mesh size 16 × 12 (top). . 49<br />

2.9 The Mach isolines (bottom) obtained with mesh size 32 × 24 (top). . 50<br />

2.10 The Mach isolines (bottom) obtained with mesh size 64 × 48 (top). . 51<br />

2.11 The Mach isolines (bottom) obtained with mesh size 128 × 96 (top). 52<br />

2.12 Results <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh-refinement study for linear rec<strong>on</strong>structi<strong>on</strong> without<br />

limiting procedure, linear WENO rec<strong>on</strong>structi<strong>on</strong> and linear rec<strong>on</strong>structi<strong>on</strong><br />

with Venkatakrishnan limiter. The error is given as <str<strong>on</strong>g>the</str<strong>on</strong>g> L 2<br />

norm <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> entropy producti<strong>on</strong>. . . . . . . . . . . . . . . . . . . . . 53<br />

2.13 The mesh grids generated using EasyMesh. Left: <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh around<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> NACA 0012 airfoil, and <str<strong>on</strong>g>the</str<strong>on</strong>g> whole mesh c<strong>on</strong>taining 2662 cells.<br />

Right: <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh around <str<strong>on</strong>g>the</str<strong>on</strong>g> RAE 2822 airfoil, and <str<strong>on</strong>g>the</str<strong>on</strong>g> whole mesh<br />

c<strong>on</strong>taining 3444 cells. . . . . . . . . . . . . . . . . . . . . . . . . . . 54<br />

2.14 Free-stream c<strong>on</strong>figurati<strong>on</strong>: Mach number 0.8, attack angle 1.25 ◦ . The<br />

airfoil is NACA 0012, and <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 2662 cells. Top: Mesh<br />

details around <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil. Bottom: The Mach isolines. . . . . . . . . . 55<br />

2.15 Same as Fig. 2.14, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 10648 cells. . . . . . 56<br />

2.16 Same as Fig. 2.14, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 42592 cells. . . . . . 57<br />

xi


2.17 The comparis<strong>on</strong> between <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines obtained with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

WENO rec<strong>on</strong>structi<strong>on</strong> (top) and <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> with Venkatakrishnan<br />

limiter (bottom). There are 2662 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . . . . . 58<br />

2.18 Same as Fig. 2.17, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 10648 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . 59<br />

2.19 Same as Fig. 2.17, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 42592 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . 60<br />

2.20 Comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> pressure distributi<strong>on</strong> al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> surface <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil<br />

between <str<strong>on</strong>g>the</str<strong>on</strong>g> results obtained with linear WENO rec<strong>on</strong>structi<strong>on</strong> (left)<br />

and rec<strong>on</strong>structi<strong>on</strong> with Venkatakrishnan limiter (right). The mesh<br />

c<strong>on</strong>tains 2662 cells (top), 10648 cells (middle), and 42592 cells (bottom). 61<br />

2.21 The meshes for two airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields. Left: <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh around<br />

a NACA 0012 airfoil and a RAE 2822 airfoil, and <str<strong>on</strong>g>the</str<strong>on</strong>g> whole mesh<br />

c<strong>on</strong>tains 7870 cells. Right: <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh around two NACA 0012 airfoils,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> whole mesh c<strong>on</strong>tains 4360 cells. . . . . . . . . . . . . . . . . . 63<br />

2.22 Results <str<strong>on</strong>g>of</str<strong>on</strong>g> Mach isolines (top), pressure distributi<strong>on</strong> al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> surface<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil (middle), and c<strong>on</strong>vergence history (bottom) obtained using<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong>. Left: NACA<br />

0012 airfoil with Mach number 0.3 and attack angle 3.0 ◦ . Right: RAE<br />

2822 airfoil with Mach number 0.75 and attack angle 1.0 ◦ . . . . . . 64<br />

2.23 Same as Fig. 2.22, except for <str<strong>on</strong>g>the</str<strong>on</strong>g> free-stream c<strong>on</strong>figurati<strong>on</strong>s: NACA<br />

0012 airfoil with Mach number 0.85 and attack angle 1.0 ◦ (left), and<br />

Mach number 0.99 and attack angle 0.0 ◦ (right). . . . . . . . . . . . . 65<br />

2.24 Same as Fig. 2.22, except for <str<strong>on</strong>g>the</str<strong>on</strong>g> free-stream c<strong>on</strong>figurati<strong>on</strong>s: <strong>on</strong>e<br />

NACA 0012 airfoil and <strong>on</strong>e RAE 2822 airfoil in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields with<br />

Mach number 0.75 and attack angle 1.0 ◦ (left), and two NACA 0012<br />

airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields with Mach number 0.99 and attack angle<br />

0.0 ◦ (right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66<br />

3.1 The rec<strong>on</strong>structi<strong>on</strong> patches P(K) used for <str<strong>on</strong>g>the</str<strong>on</strong>g> least square rec<strong>on</strong>structi<strong>on</strong>.<br />

Left: linear case. Right: quadratic case . . . . . . . . . . . . . . 74<br />

xii


3.2 The computati<strong>on</strong>al domain (dashed line) and its polyg<strong>on</strong> approximati<strong>on</strong><br />

(solid line). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82<br />

3.3 Quadratic isoparametric element (left) and simplified quadratic element<br />

(right). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83<br />

3.4 Quadrature points for Simps<strong>on</strong> formula. In our algorithm, points A,<br />

B, C are used. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84<br />

3.5 The Mach isolines obtained with linear WENO rec<strong>on</strong>structi<strong>on</strong> (top)<br />

and with quadratic rec<strong>on</strong>structi<strong>on</strong> using WENO hierarchical limiting<br />

procedure (bottom). The mesh size is 16 × 12. . . . . . . . . . . . . 86<br />

3.6 Same as Fig. 3.5, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size is 32 × 24. . . . . . . . . 87<br />

3.7 Same as Fig. 3.5, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size is 64 × 48. . . . . . . . . 88<br />

3.8 Same as Fig. 3.5, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size is 128 × 96. . . . . . . . 89<br />

3.9 The Mach isolines obtained with quadratic rec<strong>on</strong>structi<strong>on</strong> using WENO<br />

hierarchical limiting procedure, <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size is 64 × 48. The curved<br />

boundary is approximated with <str<strong>on</strong>g>the</str<strong>on</strong>g> straight line. . . . . . . . . . . . 91<br />

3.10 Mach isolines around <str<strong>on</strong>g>the</str<strong>on</strong>g> whole airfoil (top) and around <str<strong>on</strong>g>the</str<strong>on</strong>g> shock<br />

pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles (bottom) obtained with <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic hierarchical WENO<br />

rec<strong>on</strong>structi<strong>on</strong>. The free-stream c<strong>on</strong>diti<strong>on</strong> is Mach number 0.8 and<br />

attack angle 1.25 ◦ . The mesh c<strong>on</strong>tains 2662 cells. . . . . . . . . . . . 93<br />

3.11 Same as Fig. 3.10, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 10648 cells. . . . . . 94<br />

3.12 Same as Fig. 3.10, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 42592 cells. . . . . . 95<br />

3.13 Comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure distributi<strong>on</strong> al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil surface obtained<br />

with two methods: <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with quadratic rec<strong>on</strong>structi<strong>on</strong><br />

where no limiting procedure is used (top), and with quadratic<br />

hierarchical WENO rec<strong>on</strong>structi<strong>on</strong> (bottom). . . . . . . . . . . . . . 96<br />

3.14 Same as Fig. 3.11, expect that <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting strategy is not used. . . . 97<br />

3.15 C<strong>on</strong>vergence history <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with quadratic WENO rec<strong>on</strong>structi<strong>on</strong><br />

(top) and with <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>. The<br />

mesh c<strong>on</strong>tains 42592 cells. . . . . . . . . . . . . . . . . . . . . . . . . 98<br />

xiii


3.16 The c<strong>on</strong>tours <str<strong>on</strong>g>of</str<strong>on</strong>g> Mach number (top left), pressure (top right), surface<br />

pressure pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil (bottom left), and c<strong>on</strong>vergence history<br />

(bottom right) for NACA 0012 airfoil with free-stream c<strong>on</strong>figurati<strong>on</strong>:<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Mach number is 0.3 and <str<strong>on</strong>g>the</str<strong>on</strong>g> attack angle is 3 ◦ . . . . . . . . . . . 100<br />

3.17 Same as Fig.3.16 except with Mach number 0.73 and attack angle<br />

1.0 ◦ , and <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil is RAE 2822. . . . . . . . . . . . . . . . . . . . . 101<br />

3.18 Same as Fig.3.16 except with Mach number 0.99 and attack angle 0.0 ◦ . 102<br />

3.19 Same as Fig.3.17 except with two airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow filed: NACA<br />

0012 and RAE 2822. . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

3.20 C<strong>on</strong>vergence history for NACA 0012 airfoil in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow filed with freestream<br />

c<strong>on</strong>figurati<strong>on</strong>: Mach number 0.3, attack angle 3 ◦ (left), and<br />

Mach number 0.99, attack angle 0 ◦ (right). The parameter τ = τ i =<br />

0.6 is used. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104<br />

4.1 Computati<strong>on</strong>al regi<strong>on</strong> for single finger . . . . . . . . . . . . . . . . . . 112<br />

4.2 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> soluti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> N<strong>on</strong>equilibrium Richard equati<strong>on</strong> with initial<br />

c<strong>on</strong>diti<strong>on</strong>: K(S) = S 2 , D(S) = S 2 , τ = 0.5, S 1 = 0.7 and S 0 = 0.06. . 113<br />

4.3 A mesh with four elements. . . . . . . . . . . . . . . . . . . . . . . . 115<br />

4.4 A uniform and successive refinement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> element K. . . . . . . . . 118<br />

4.5 The mesh before (left) and after (right) <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

refining and coarsening. . . . . . . . . . . . . . . . . . . . . . . . . . 119<br />

4.6 Element Patches near <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil body <str<strong>on</strong>g>of</str<strong>on</strong>g> NACA 0012 generated by<br />

Algorithm 2. It shows <str<strong>on</strong>g>the</str<strong>on</strong>g> element patches <strong>on</strong> four successive levels<br />

when h-adaptive technique was adopted. . . . . . . . . . . . . . . . . 123<br />

4.7 The Mach isolines (top) and mesh details (bottom) around <str<strong>on</strong>g>the</str<strong>on</strong>g> NACA<br />

0012 airfoil which obtained with linear WENO rec<strong>on</strong>structi<strong>on</strong>, and h-<br />

adaptive method is used. There are 2662 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . . . . . 124<br />

4.8 Same as Fig. 4.7, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 4555 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . . . 125<br />

4.9 Same as Fig. 4.7, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 8746 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . . . 126<br />

4.10 Same as Fig. 4.7, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 15031 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . . 127<br />

xiv


4.11 Same as Fig. 4.10, except that just <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines and <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes<br />

shown in <str<strong>on</strong>g>the</str<strong>on</strong>g> box in Fig. 4.10 (top) are dem<strong>on</strong>strated. . . . . . . . . . 128<br />

4.12 The c<strong>on</strong>vergence history <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm which is implemented <strong>on</strong><br />

four successively refined mesh with h-adaptive method. . . . . . . . . 129<br />

4.13 The pressure distributi<strong>on</strong> al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> NACA 0012 airfoil obtained from<br />

algorithm which is implemented by using four successively refined<br />

mesh with h-adaptive method. Top left: 2662 cells; Top right: 4555<br />

cells; Bottom left: 8746 cells; Bottom right: 15031 cells. . . . . . . . . 130<br />

4.14 The Mach isolines (top) and mesh details (bottom) around two NACA<br />

0012 airfoils which obtained with quadratic hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>,<br />

and h-adaptive method is used. There are 4360 cells in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131<br />

4.15 Same as Fig. 4.14, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 7240 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . . 132<br />

4.16 Same as Fig. 4.14, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 13339 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. . 133<br />

xv


Chapter 1<br />

Introducti<strong>on</strong><br />

Computati<strong>on</strong>al Fluid Dynamics (CFD) has been <strong>on</strong>e <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> most important methods<br />

for understanding <str<strong>on</strong>g>the</str<strong>on</strong>g> fluid flows phenomen<strong>on</strong> since early 1970s. There are many<br />

disadvantages <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> traditi<strong>on</strong>al methods which are used to investigate <str<strong>on</strong>g>the</str<strong>on</strong>g> fluid<br />

dynamics. Since <str<strong>on</strong>g>the</str<strong>on</strong>g> ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matical models <str<strong>on</strong>g>of</str<strong>on</strong>g> fluid dynamics have high n<strong>on</strong>linearity,<br />

most <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> analytical soluti<strong>on</strong>s for <str<strong>on</strong>g>the</str<strong>on</strong>g>se problems can not be obtained; for more and<br />

more practical problems, <str<strong>on</strong>g>the</str<strong>on</strong>g> expense for each physical experiment is too high, and<br />

for some problems such as <str<strong>on</strong>g>the</str<strong>on</strong>g> high temperature flows or/and <str<strong>on</strong>g>the</str<strong>on</strong>g> high speed flows<br />

around aircrafts, it is impossible to give results with physical experiments. Thanks<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g> rapid development <str<strong>on</strong>g>of</str<strong>on</strong>g> CFD, all <str<strong>on</strong>g>the</str<strong>on</strong>g>se drawbacks are avoided. Nowadays, it<br />

was possible to compute <str<strong>on</strong>g>the</str<strong>on</strong>g> inviscid flows past <str<strong>on</strong>g>the</str<strong>on</strong>g> complete aircraft c<strong>on</strong>figurati<strong>on</strong>s<br />

or inside <str<strong>on</strong>g>of</str<strong>on</strong>g> turbomachines.<br />

One <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> most interesting phenomena in <str<strong>on</strong>g>the</str<strong>on</strong>g> fluid dynamics is <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> flows. For example, when <str<strong>on</strong>g>the</str<strong>on</strong>g> aircraft is in <str<strong>on</strong>g>the</str<strong>on</strong>g> cruise status, <str<strong>on</strong>g>the</str<strong>on</strong>g> variables<br />

such as <str<strong>on</strong>g>the</str<strong>on</strong>g> density, <str<strong>on</strong>g>the</str<strong>on</strong>g> velocity, <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure, and <str<strong>on</strong>g>the</str<strong>on</strong>g> temperature around <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

aircraft are unchanged. By solving <str<strong>on</strong>g>the</str<strong>on</strong>g> temporal systems up to sufficiently large<br />

time, such steady states can be obtained approximately. Due to <str<strong>on</strong>g>the</str<strong>on</strong>g> restricti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

CFL c<strong>on</strong>diti<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> stability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical schemes, <str<strong>on</strong>g>the</str<strong>on</strong>g> length <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> time<br />

step can not be too large. C<strong>on</strong>sequently, it may take a very l<strong>on</strong>g time for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

numerical simulati<strong>on</strong>s to achieve <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state. This is not endurable for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

research <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> shape optimizati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> aircraft which is formed by a series <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

1


steady state problems. As a result, <str<strong>on</strong>g>the</str<strong>on</strong>g> efficient and robust solvers for <str<strong>on</strong>g>the</str<strong>on</strong>g> steady<br />

state flows become necessary. So far many classical accelerati<strong>on</strong> techniques have<br />

been presented such as local time stepping, enthalpy damping, residual smoothing,<br />

and multigrid method. With <str<strong>on</strong>g>the</str<strong>on</strong>g>se modern techniques, <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>linear systems can<br />

be solved with residual to machine accuracy <strong>on</strong> desktop computers in a few minutes.<br />

The main purpose <str<strong>on</strong>g>of</str<strong>on</strong>g> this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis is to develop an effective and robust framework<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical algorithm for <str<strong>on</strong>g>the</str<strong>on</strong>g> 2D steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. In this chapter,<br />

some background materials will be presented, which will be useful for <str<strong>on</strong>g>the</str<strong>on</strong>g> following<br />

chapters. We first briefly derive <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. Then several useful methods<br />

will be reviewed, including <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical discretizati<strong>on</strong> methods, <str<strong>on</strong>g>the</str<strong>on</strong>g> classical rec<strong>on</strong>structi<strong>on</strong><br />

and limiting techniques, and <str<strong>on</strong>g>the</str<strong>on</strong>g> implicit method and its c<strong>on</strong>vergence<br />

accelerati<strong>on</strong> strategy. In <str<strong>on</strong>g>the</str<strong>on</strong>g> last secti<strong>on</strong>, a brief descripti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis will be<br />

given.<br />

1.1 The <str<strong>on</strong>g>Euler</str<strong>on</strong>g> <str<strong>on</strong>g>Equati<strong>on</strong>s</str<strong>on</strong>g><br />

The principal equati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> fluid dynamics are derived based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> fact that <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

dynamical behaviour <str<strong>on</strong>g>of</str<strong>on</strong>g> a fluid is determined by <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> laws,<br />

1. <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> mass;<br />

2. <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> momentum;<br />

3. <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> energy.<br />

The c<strong>on</strong>servati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> flow quantity means that <str<strong>on</strong>g>the</str<strong>on</strong>g> total variati<strong>on</strong> inside an<br />

volume can be expressed as <str<strong>on</strong>g>the</str<strong>on</strong>g> net effect <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> amount <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> quantity being<br />

transported across <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary, <str<strong>on</strong>g>of</str<strong>on</strong>g> any internal forces and sources, and <str<strong>on</strong>g>of</str<strong>on</strong>g> external<br />

forces acting <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> volume [8]. To describe <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> laws ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matically,<br />

first we give <str<strong>on</strong>g>the</str<strong>on</strong>g> dem<strong>on</strong>strati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a c<strong>on</strong>trol volume in Fig. 1.1, where Ω is <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

c<strong>on</strong>trol volume and ∂Ω is its boundary. The surface segment dS is also introduced,<br />

and n = (n x , n y ) denotes <str<strong>on</strong>g>the</str<strong>on</strong>g> outward pointing unit normal with respect to dS. The<br />

flow velocity is denoted by v = (u, v).<br />

2


v<br />

dS<br />

n<br />

Ω<br />

∂Ω<br />

Figure 1.1: Definiti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a finite c<strong>on</strong>trol volume.<br />

The c<strong>on</strong>served quantity in <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> mass is <str<strong>on</strong>g>the</str<strong>on</strong>g> density ρ. To derive<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>tinuity equati<strong>on</strong>, we c<strong>on</strong>sider <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume shown in Fig. 1.1. The<br />

time rate <str<strong>on</strong>g>of</str<strong>on</strong>g> change <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> total mass inside <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume Ω is<br />

∫<br />

∂<br />

ρdΩ, (1.1)<br />

∂t Ω<br />

while <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vective flux across <str<strong>on</strong>g>the</str<strong>on</strong>g> surface element dS is written as<br />

ρ(v · n)dS. (1.2)<br />

So <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> law <str<strong>on</strong>g>of</str<strong>on</strong>g> mass is presented by <str<strong>on</strong>g>the</str<strong>on</strong>g> following equati<strong>on</strong><br />

∫ ∮<br />

∂<br />

ρdΩ + ρ(v · n)dS = 0. (1.3)<br />

∂t Ω ∂Ω<br />

In additi<strong>on</strong> to <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> law <str<strong>on</strong>g>of</str<strong>on</strong>g> mass (1.3), we also need an equati<strong>on</strong> for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> velocity. The velocity itself is not <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>served quantity, but <str<strong>on</strong>g>the</str<strong>on</strong>g> momentum is.<br />

The product ρv denotes <str<strong>on</strong>g>the</str<strong>on</strong>g> density <str<strong>on</strong>g>of</str<strong>on</strong>g> momentum in <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume Ω, which<br />

means <str<strong>on</strong>g>the</str<strong>on</strong>g> total momentum in Ω is given by <str<strong>on</strong>g>the</str<strong>on</strong>g> integral <str<strong>on</strong>g>of</str<strong>on</strong>g> ρv over <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol<br />

volume Ω. So <str<strong>on</strong>g>the</str<strong>on</strong>g> time rate <str<strong>on</strong>g>of</str<strong>on</strong>g> change <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> total momentum inside <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol<br />

volume Ω is<br />

∫<br />

∂<br />

ρvdΩ. (1.4)<br />

∂t Ω<br />

There are two ways to change <str<strong>on</strong>g>the</str<strong>on</strong>g> total momentum in <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume Ω. The first<br />

<strong>on</strong>e is that <str<strong>on</strong>g>the</str<strong>on</strong>g>re is momentum carried past <str<strong>on</strong>g>the</str<strong>on</strong>g> surface dS al<strong>on</strong>g with <str<strong>on</strong>g>the</str<strong>on</strong>g> moving<br />

fluid which can be written as ρv(v ·n)dS, while <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r <strong>on</strong>e is due to <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure<br />

3


p <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> fluid, pI · ndS where I is <str<strong>on</strong>g>the</str<strong>on</strong>g> unit tensor. C<strong>on</strong>sequently, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong><br />

law <str<strong>on</strong>g>of</str<strong>on</strong>g> momentum can be modeled as<br />

∫ ∮<br />

∮<br />

∂<br />

ρvdΩ + ρv(v · n)dS + pndS. (1.5)<br />

∂t Ω ∂Ω<br />

∂Ω<br />

Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> energy equati<strong>on</strong> is derived from <str<strong>on</strong>g>the</str<strong>on</strong>g> fist law <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>rmodynamics. The<br />

total energy E is <str<strong>on</strong>g>of</str<strong>on</strong>g>ten decomposed as<br />

E = ρe + 1 ρv · v, (1.6)<br />

2<br />

where ρv ·v/2 denotes <str<strong>on</strong>g>the</str<strong>on</strong>g> kinetic energy, and ρe denotes <str<strong>on</strong>g>the</str<strong>on</strong>g> internal energy, and e<br />

is <str<strong>on</strong>g>the</str<strong>on</strong>g> specific internal energy. The total energy advects with <str<strong>on</strong>g>the</str<strong>on</strong>g> flow, leading to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

macroscopic energy flux term E(v ·n)dS <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> surface. In additi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure p<br />

also leads to a flux in kinetic energy p(v ·n)dS. The final c<strong>on</strong>servati<strong>on</strong> law <str<strong>on</strong>g>of</str<strong>on</strong>g> energy<br />

is given as<br />

∫ ∮<br />

∂<br />

EdΩ + (E + p)(v · n)dS = 0. (1.7)<br />

∂t Ω ∂Ω<br />

Note that we have assumpti<strong>on</strong>s for <str<strong>on</strong>g>the</str<strong>on</strong>g> derivati<strong>on</strong>s, say, <str<strong>on</strong>g>the</str<strong>on</strong>g> flows are inviscid,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g>re is no source term inside <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume Ω and al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> surface ∂Ω.<br />

Such assumpti<strong>on</strong>s actually give us <str<strong>on</strong>g>the</str<strong>on</strong>g> inviscid <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s, which describe <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

pure c<strong>on</strong>vecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> flow quantities.<br />

The compact form <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s which are given by <str<strong>on</strong>g>the</str<strong>on</strong>g> three c<strong>on</strong>servati<strong>on</strong><br />

laws can be written as<br />

∫ ∮<br />

∂<br />

UdΩ + F(U) · ndS = 0, (1.8)<br />

∂t Ω ∂Ω<br />

where U is <str<strong>on</strong>g>the</str<strong>on</strong>g> so-called c<strong>on</strong>servative variables, and has form in 2D case as<br />

⎡ ⎤<br />

ρ<br />

ρu<br />

U =<br />

. (1.9)<br />

⎢ ρv<br />

⎥<br />

⎣ ⎦<br />

E<br />

4


The c<strong>on</strong>vective flux F is given by<br />

⎡<br />

F =<br />

⎢<br />

⎣<br />

ρ(v · n)<br />

ρu(v · n) + n x p<br />

ρv(v · n) + n y p<br />

(E + p)(v · n)<br />

⎤<br />

. (1.10)<br />

⎥<br />

⎦<br />

There are five unknowns, <str<strong>on</strong>g>the</str<strong>on</strong>g> density ρ, <str<strong>on</strong>g>the</str<strong>on</strong>g> velocity v = (u, v), <str<strong>on</strong>g>the</str<strong>on</strong>g> energy E and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> pressure p in <str<strong>on</strong>g>the</str<strong>on</strong>g> system, but just four equati<strong>on</strong>s. To enclose <str<strong>on</strong>g>the</str<strong>on</strong>g> system, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

so-called equati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> state has to be introduced. The comm<strong>on</strong> form <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> equati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> state for an ideal gas is read as<br />

E =<br />

where γ = 1.4 is <str<strong>on</strong>g>the</str<strong>on</strong>g> ratio <str<strong>on</strong>g>of</str<strong>on</strong>g> specific heats <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> ideal gas.<br />

p<br />

γ − 1 + 1 ρv · v, (1.11)<br />

2<br />

The system (1.8) presents <str<strong>on</strong>g>the</str<strong>on</strong>g> 2D unsteady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. It is a hyperbolic<br />

system, and so <str<strong>on</strong>g>the</str<strong>on</strong>g> properties propagate al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> characteristic lines <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system.<br />

However, if <str<strong>on</strong>g>the</str<strong>on</strong>g> temporal term is dropped, <str<strong>on</strong>g>the</str<strong>on</strong>g> type <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system will be changed<br />

with <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach number. For example, <str<strong>on</strong>g>the</str<strong>on</strong>g> system is elliptic when Mach number is<br />

smaller than 1.0, and is hyperbolic when Mach number is bigger than 1.0. This<br />

results in <str<strong>on</strong>g>the</str<strong>on</strong>g> difficulties to solve <str<strong>on</strong>g>the</str<strong>on</strong>g> steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s directly. The popular<br />

way to obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> flows is to solve <str<strong>on</strong>g>the</str<strong>on</strong>g> unsteady system up to<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> point that all time derivatives reach some tolerance criteria.<br />

The numerical simulati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> 1.8 equati<strong>on</strong>s c<strong>on</strong>tain two main ingredients:<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> mesh generati<strong>on</strong> with which <str<strong>on</strong>g>the</str<strong>on</strong>g> finite number <str<strong>on</strong>g>of</str<strong>on</strong>g> geometrical elements<br />

are used to cover <str<strong>on</strong>g>the</str<strong>on</strong>g> flow field, and <str<strong>on</strong>g>the</str<strong>on</strong>g> flow solver which is used to generate <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

soluti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> governing equati<strong>on</strong> over <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes. In <str<strong>on</strong>g>the</str<strong>on</strong>g> following subsecti<strong>on</strong>s,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>se two parts will be introduced respectively.<br />

1.2 Mesh Generati<strong>on</strong><br />

For classical numerical schemes such as <str<strong>on</strong>g>the</str<strong>on</strong>g> Finite Difference Methods, <str<strong>on</strong>g>the</str<strong>on</strong>g> Finite<br />

Volume Methods and <str<strong>on</strong>g>the</str<strong>on</strong>g> Finite Element Methods, <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes is a<br />

5


(5, 5)<br />

(2, 3)<br />

14<br />

(1, 2)<br />

(2, 2)<br />

(2, 1)<br />

(3, 2)<br />

10<br />

5<br />

4<br />

8<br />

13<br />

9<br />

(0, 0)<br />

Figure 1.2: Structured meshes (left) and unstructured meshes (right).<br />

critical issue for obtaining high quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical results. There are two<br />

different types <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh grids, and we state <str<strong>on</strong>g>the</str<strong>on</strong>g>m in <str<strong>on</strong>g>the</str<strong>on</strong>g> 2D case as following.<br />

• Structured meshes. For each mesh grid in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain, it can be accessed<br />

through its indices i, j and <str<strong>on</strong>g>the</str<strong>on</strong>g> corresp<strong>on</strong>ding coordinates x i,j and y i,j . The<br />

dem<strong>on</strong>strati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> structured meshes is given in Fig. 1.2 (left).<br />

• Unstructured meshes. The informati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes such as <str<strong>on</strong>g>the</str<strong>on</strong>g> indices <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

nodes, <str<strong>on</strong>g>the</str<strong>on</strong>g> neighbours <str<strong>on</strong>g>of</str<strong>on</strong>g> certain node is totally unordered. The dem<strong>on</strong>strati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes is given in Fig. 1.2 (right).<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> structured meshes, <str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> nodes is stored in a linear<br />

way in <str<strong>on</strong>g>the</str<strong>on</strong>g> computer memory. This results in that <strong>on</strong>e can access <str<strong>on</strong>g>the</str<strong>on</strong>g> neighbours<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> certain node very flexibly. For example, for <str<strong>on</strong>g>the</str<strong>on</strong>g> current node (2, 2) in Fig. 1.2<br />

(left), <str<strong>on</strong>g>the</str<strong>on</strong>g> right neighbour can be easily accessed by simply adding 1 to <str<strong>on</strong>g>the</str<strong>on</strong>g> x-<br />

comp<strong>on</strong>ent <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> corresp<strong>on</strong>ding index, so its index is (3, 2). Besides this advantage,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> well-ordered indices <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> nodes also give a banded flux jacobian matrix when<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> implicit method is used, and <str<strong>on</strong>g>the</str<strong>on</strong>g> treatment <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary c<strong>on</strong>diti<strong>on</strong> is also<br />

simplified greatly by using <str<strong>on</strong>g>the</str<strong>on</strong>g> structured meshes. However, <str<strong>on</strong>g>the</str<strong>on</strong>g> disadvantage <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> structured meshes is also obvious: for <str<strong>on</strong>g>the</str<strong>on</strong>g> complex domain, it is not easy to<br />

6


give <str<strong>on</strong>g>the</str<strong>on</strong>g> high quality structured meshes. In [8], <str<strong>on</strong>g>the</str<strong>on</strong>g>re is a summarisati<strong>on</strong> about<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> methods which can be used to generate high quality structured meshes for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

complex domains.<br />

Compared with <str<strong>on</strong>g>the</str<strong>on</strong>g> structured case, <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured manner gives very large<br />

flexibility to generate meshes for very complex domains. It also gives <str<strong>on</strong>g>the</str<strong>on</strong>g> flexibility<br />

to use different mesh sizes, or even <str<strong>on</strong>g>the</str<strong>on</strong>g> different element shapes in meshes. This<br />

is good for generating high quality <str<strong>on</strong>g>of</str<strong>on</strong>g> meshes for certain special problems. For<br />

example, for <str<strong>on</strong>g>the</str<strong>on</strong>g> problems with boundary layers, <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical soluti<strong>on</strong>s<br />

can be improved significantly by using mixed meshes which include <str<strong>on</strong>g>the</str<strong>on</strong>g> rectangular<br />

elements used nearby <str<strong>on</strong>g>the</str<strong>on</strong>g> solid walls, and <str<strong>on</strong>g>the</str<strong>on</strong>g> triangular elements inside <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

The fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r advantage <str<strong>on</strong>g>of</str<strong>on</strong>g> unstructured meshes is that <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> depending <strong>on</strong><br />

grid refinement and coarsening can be handled in a relatively native and seamless<br />

manner [8]. Of course, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are disadvantages about <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes.<br />

For example, to obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> neighbours <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> node with <str<strong>on</strong>g>the</str<strong>on</strong>g> index 8 in Fig. 1.2,<br />

additi<strong>on</strong>al memories in <str<strong>on</strong>g>the</str<strong>on</strong>g> computer will be needed to restore <str<strong>on</strong>g>the</str<strong>on</strong>g> indices <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

current node and its neighbours. However, <str<strong>on</strong>g>the</str<strong>on</strong>g> flexibility <str<strong>on</strong>g>of</str<strong>on</strong>g> generating high quality<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> meshes for <str<strong>on</strong>g>the</str<strong>on</strong>g> complex domains results in <str<strong>on</strong>g>the</str<strong>on</strong>g> wide usage in most <str<strong>on</strong>g>of</str<strong>on</strong>g> commercial<br />

CFD s<str<strong>on</strong>g>of</str<strong>on</strong>g>twares. In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes are used, and <str<strong>on</strong>g>the</str<strong>on</strong>g>y are<br />

generated by <str<strong>on</strong>g>the</str<strong>on</strong>g> powerful s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware EasyMesh [68].<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume scheme is adopted for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case, while<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Residual Distributi<strong>on</strong> Scheme is used for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic case. Although <str<strong>on</strong>g>the</str<strong>on</strong>g>y<br />

are two different numerical schemes, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are still some comm<strong>on</strong> parts for both<br />

schemes. In <str<strong>on</strong>g>the</str<strong>on</strong>g> following secti<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume scheme is summarised first.<br />

Then <str<strong>on</strong>g>the</str<strong>on</strong>g> comment <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> difference and relati<strong>on</strong>s between <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume scheme<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> residual distributi<strong>on</strong> scheme is given later.<br />

1.3 The Finite Volume Method<br />

The finite volume method has been widely used since it was first employed by<br />

McD<strong>on</strong>ald [65]. One feature <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume method is that it discretizes <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

7


Figure 1.3: Cell-centred scheme (left) and Cell-vertex scheme with dual c<strong>on</strong>trol<br />

volume: (middle) and overlapping c<strong>on</strong>trol volume (right).<br />

c<strong>on</strong>servati<strong>on</strong> laws directly <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain, and <str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> surface integral in<br />

governing equati<strong>on</strong>s is approximated by <str<strong>on</strong>g>the</str<strong>on</strong>g> sum <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> fluxes crossing <str<strong>on</strong>g>the</str<strong>on</strong>g> individual<br />

faces <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume. So <str<strong>on</strong>g>the</str<strong>on</strong>g>re is no transformati<strong>on</strong> between <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al<br />

domain and physical domain, and <str<strong>on</strong>g>the</str<strong>on</strong>g>re is no limit for <str<strong>on</strong>g>the</str<strong>on</strong>g> shape <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol<br />

volume in <str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain <str<strong>on</strong>g>the</str<strong>on</strong>g>oretically, which makes <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume method<br />

very flexible - both structured and unstructured meshes can be adopted. It allows<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume method to simulate flows in very complex geometries.<br />

The fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r advantage <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume method is that, since <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong><br />

laws are discretized directly, mass, momentum and energy are also c<strong>on</strong>served by <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

numerical schemes. This gives <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume method <str<strong>on</strong>g>the</str<strong>on</strong>g> ability to calculate <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

weak soluti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> governing equati<strong>on</strong>s correctly.<br />

In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, we focus <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes. There are two main types<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume,<br />

• Cell-centred scheme, which is shown in Fig. 1.3 (left). The place to store<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>served variables for Cell-centred scheme is <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol<br />

volume.<br />

• Cell-vertex scheme, which is shown in Fig. 1.3, with dual c<strong>on</strong>trol volume<br />

(middle) and with overlapping c<strong>on</strong>trol volume (right). The c<strong>on</strong>served variables<br />

are <str<strong>on</strong>g>of</str<strong>on</strong>g>ten stored at <str<strong>on</strong>g>the</str<strong>on</strong>g> grid points.<br />

Each scheme has advantages and disadvantages. For example, for Cell-vertex<br />

8


mati<strong>on</strong> to generate much more accurate numerical fluxes. There are many different<br />

implementati<strong>on</strong>s for <str<strong>on</strong>g>the</str<strong>on</strong>g> upwind schemes such as <str<strong>on</strong>g>the</str<strong>on</strong>g> Flux-vector Splitting, Fluxdifference<br />

splitting, Total Variati<strong>on</strong> Diminishing, and Fluctuati<strong>on</strong>-splitting schemes.<br />

All <str<strong>on</strong>g>the</str<strong>on</strong>g>se schemes were first proposed for <str<strong>on</strong>g>the</str<strong>on</strong>g> structured meshes, and can be applied<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes without modificati<strong>on</strong>s to <str<strong>on</strong>g>the</str<strong>on</strong>g> basic methodology. In [8],<br />

Blazek gave <str<strong>on</strong>g>the</str<strong>on</strong>g> summarisati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se schemes.<br />

Am<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g>se schemes, <str<strong>on</strong>g>the</str<strong>on</strong>g> flux-difference splitting schemes are derived based <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> locally <strong>on</strong>e-dimensi<strong>on</strong>al <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s for disc<strong>on</strong>tinuous states<br />

at an edge. Such soluti<strong>on</strong>s can be obtained by solving <str<strong>on</strong>g>the</str<strong>on</strong>g> Riemann (shock tube)<br />

problem. Godunov [25] gave <str<strong>on</strong>g>the</str<strong>on</strong>g> first implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> flux-difference splitting<br />

method, and his method can be summarised as <str<strong>on</strong>g>the</str<strong>on</strong>g> following Rec<strong>on</strong>structi<strong>on</strong>-Evolve-<br />

Average (REA) algorithm [45].<br />

Algorithm 0: [REA]<br />

1. Rec<strong>on</strong>struct a piecewise polynomial h i,tn in each cell K i , from <str<strong>on</strong>g>the</str<strong>on</strong>g> cell averages<br />

Ūi,t n<br />

in every cell. Make sure <str<strong>on</strong>g>the</str<strong>on</strong>g> variables are c<strong>on</strong>served in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell,<br />

say,<br />

∫<br />

K i<br />

h i,tn dΩ = Ūi,t n<br />

.<br />

2. Evolve <str<strong>on</strong>g>the</str<strong>on</strong>g> hyperbolic equati<strong>on</strong> exactly (or approximately) with <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structed<br />

data to obtain h i,tn+1 , where t n+1 = t n + ∆t.<br />

3. Average h i,tn+1 over <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i to obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> updated cell averages<br />

Ū i,tn+1 = 1 ∫<br />

h i,tn+1 dΩ.<br />

| K i | K i<br />

In [25], <str<strong>on</strong>g>the</str<strong>on</strong>g> simplest piecewise c<strong>on</strong>stant polynomial was used, say, <str<strong>on</strong>g>the</str<strong>on</strong>g> Left State<br />

U L and Right State U R (Fig. 1.4) <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> comm<strong>on</strong> edge <str<strong>on</strong>g>of</str<strong>on</strong>g> cells K i and K j were equal<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g> cell averages Ūi and Ūj respectively. This results in a spatial discretizati<strong>on</strong><br />

which is <strong>on</strong>ly first-order accurate. Such piecewise c<strong>on</strong>stant approximati<strong>on</strong> is too<br />

diffusive. The higher order rec<strong>on</strong>structi<strong>on</strong> can be implemented to obtain higher<br />

order numerical accuracy.<br />

10


K i<br />

U L<br />

U R<br />

K j<br />

Figure 1.4: Left and right state at <str<strong>on</strong>g>the</str<strong>on</strong>g> cell edge. The cell-centred schemes is<br />

used.<br />

1.3.1 Soluti<strong>on</strong> Rec<strong>on</strong>structi<strong>on</strong><br />

To achieve <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d-order accuracy, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are many rec<strong>on</strong>structi<strong>on</strong> methods. The<br />

direct way is to extend <str<strong>on</strong>g>the</str<strong>on</strong>g> MUSCL method [44], which was proposed for <str<strong>on</strong>g>the</str<strong>on</strong>g> structured<br />

meshes, to <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes [17]. However, additi<strong>on</strong>al storages are<br />

needed for <str<strong>on</strong>g>the</str<strong>on</strong>g> phantom nodes which are used to evaluate <str<strong>on</strong>g>the</str<strong>on</strong>g> left and right states,<br />

and such approximati<strong>on</strong> method dose not work smoothly for <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary cells since<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> phantom points lie outside <str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain.<br />

The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r way is to use <str<strong>on</strong>g>the</str<strong>on</strong>g> piecewise linear rec<strong>on</strong>structi<strong>on</strong>. The essential is to<br />

evaluate <str<strong>on</strong>g>the</str<strong>on</strong>g> gradient <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> at <str<strong>on</strong>g>the</str<strong>on</strong>g> reference points. To obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> evaluatoin<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> gradient, <str<strong>on</strong>g>the</str<strong>on</strong>g> Green-Gauss approach can be adopted, which uses <str<strong>on</strong>g>the</str<strong>on</strong>g> following<br />

relati<strong>on</strong> to approximate <str<strong>on</strong>g>the</str<strong>on</strong>g> gradient<br />

∇U ≈ 1 Ω<br />

∫<br />

∂Ω<br />

UndS, (1.13)<br />

where Ω is a closed domain, and n is <str<strong>on</strong>g>the</str<strong>on</strong>g> unit out normal vector <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> surface <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Ω. For <str<strong>on</strong>g>the</str<strong>on</strong>g> cell-centred schemes, <str<strong>on</strong>g>the</str<strong>on</strong>g> gradient <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i in<br />

Fig. 1.4 can be obtained as<br />

∇U i ≈ 1 ∑ 1<br />

| K i | 2 (Ūi + Ūj)n ij | S ij |, (1.14)<br />

j<br />

where | S ij | is <str<strong>on</strong>g>the</str<strong>on</strong>g> length <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> comm<strong>on</strong> edge <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i and K j , and summati<strong>on</strong><br />

extends over all edges <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i . The Green-Gauss method can be implemented<br />

efficiently. However, this approach becomes unreliable when <str<strong>on</strong>g>the</str<strong>on</strong>g> highly stretched<br />

meshes are used.<br />

11


The k-exact Rec<strong>on</strong>structi<strong>on</strong><br />

In [2], Barth presented <str<strong>on</strong>g>the</str<strong>on</strong>g> so-called k-exact rec<strong>on</strong>structi<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell-vertex scheme<br />

with dual c<strong>on</strong>trol volume. Then Mitchell and Walters [67] gave <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> k-exact rec<strong>on</strong>structi<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell-centred schemes. The idea <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> k-exact<br />

rec<strong>on</strong>structi<strong>on</strong> is c<strong>on</strong>cise. For certain cell K i , suppose <str<strong>on</strong>g>the</str<strong>on</strong>g>re is an approximate polynomial<br />

h i for <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> in this cell. The polynomial h i can be obtained by using<br />

Taylor Series at <str<strong>on</strong>g>the</str<strong>on</strong>g> reference point, and <str<strong>on</strong>g>the</str<strong>on</strong>g> expansi<strong>on</strong> is truncated after <str<strong>on</strong>g>the</str<strong>on</strong>g> k-th<br />

order term. For <str<strong>on</strong>g>the</str<strong>on</strong>g> cell-vertex scheme, <str<strong>on</strong>g>the</str<strong>on</strong>g> reference point is <str<strong>on</strong>g>the</str<strong>on</strong>g> node <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes,<br />

while for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell-centred scheme, it is <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> each cell. For c<strong>on</strong>serving <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

variables in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i , <str<strong>on</strong>g>the</str<strong>on</strong>g> k-exact rec<strong>on</strong>structi<strong>on</strong> required that <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial h i was equal to <str<strong>on</strong>g>the</str<strong>on</strong>g> original cell average Ūi, say,<br />

∫<br />

1<br />

h i dΩ =<br />

| K i | Ūi, (1.15)<br />

K i<br />

where | K i | is <str<strong>on</strong>g>the</str<strong>on</strong>g> area <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i . Beside <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i , k-exact method also<br />

required that <str<strong>on</strong>g>the</str<strong>on</strong>g> polynomial h i c<strong>on</strong>served <str<strong>on</strong>g>the</str<strong>on</strong>g> variables in <str<strong>on</strong>g>the</str<strong>on</strong>g> neighbours <str<strong>on</strong>g>of</str<strong>on</strong>g> K i .<br />

Suppose cells K j , j = 0, 1, 2, · · · , m are <str<strong>on</strong>g>the</str<strong>on</strong>g> neighbours <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i , <str<strong>on</strong>g>the</str<strong>on</strong>g> following<br />

equati<strong>on</strong>s can be obtained<br />

1<br />

| K j |<br />

∫<br />

K j<br />

h i dΩ = Ūj, j = 0, 1, 2, · · · , m. (1.16)<br />

If m > k, <str<strong>on</strong>g>the</str<strong>on</strong>g> equati<strong>on</strong>s (1.15) and (1.16) are an over-c<strong>on</strong>strained system. Such<br />

system actually minimized <str<strong>on</strong>g>the</str<strong>on</strong>g> difference between <str<strong>on</strong>g>the</str<strong>on</strong>g> cell averages <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate<br />

polynomial h i over <str<strong>on</strong>g>the</str<strong>on</strong>g>se cells and <str<strong>on</strong>g>the</str<strong>on</strong>g> original cell averages <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se cells.<br />

By solving this system, <str<strong>on</strong>g>the</str<strong>on</strong>g> k-th order approximate polynomial <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> is<br />

obtained in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i . Note that <str<strong>on</strong>g>the</str<strong>on</strong>g> obtained h i does not c<strong>on</strong>serve <str<strong>on</strong>g>the</str<strong>on</strong>g> variables<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i strictly, so certain adjustment is needed for <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>stant term <str<strong>on</strong>g>of</str<strong>on</strong>g> h i .<br />

After implementing <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> in cells K i and K j (Fig. 1.4), <str<strong>on</strong>g>the</str<strong>on</strong>g> U L and U R<br />

can be obtained from <str<strong>on</strong>g>the</str<strong>on</strong>g> polynomials h i and h j respectively.<br />

Based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> descripti<strong>on</strong> above, we can see that with <str<strong>on</strong>g>the</str<strong>on</strong>g> k-exact rec<strong>on</strong>structi<strong>on</strong>,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> variables such as <str<strong>on</strong>g>the</str<strong>on</strong>g> density, <str<strong>on</strong>g>the</str<strong>on</strong>g> momentum, and <str<strong>on</strong>g>the</str<strong>on</strong>g> energy<br />

in each cell can be guaranteed. The fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r advantage is that such approach supplys<br />

12


i − 2 i − 1 i i + 1 i − 2 i − 1 i i + 1<br />

Figure 1.5: Unlimited (left) and limited (right) linear rec<strong>on</strong>structi<strong>on</strong>.<br />

a uniform framework to rec<strong>on</strong>struct polynomial with arbitrary order. In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> k-exact rec<strong>on</strong>structi<strong>on</strong> is used for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case.<br />

1.3.2 Slope Limiter Methods<br />

For linear or higher order rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting procedure is necessary for preventing<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s. What expected is a m<strong>on</strong>ot<strong>on</strong>icity preserving<br />

method which means that <str<strong>on</strong>g>the</str<strong>on</strong>g> maxima <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> must be n<strong>on</strong>-increasing, minima<br />

n<strong>on</strong>-decreasing, and no new local extrema is created during <str<strong>on</strong>g>the</str<strong>on</strong>g> time evoluti<strong>on</strong>.<br />

The effect <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting procedure can be dem<strong>on</strong>strated by Fig. 1.5. It shows<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> slope reducti<strong>on</strong> at <str<strong>on</strong>g>the</str<strong>on</strong>g> cell i and <str<strong>on</strong>g>the</str<strong>on</strong>g> change <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> slope at <str<strong>on</strong>g>the</str<strong>on</strong>g> cells i − 2 and<br />

i − 1. With <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting procedure, <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> becomes m<strong>on</strong>ot<strong>on</strong>e.<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> structured meshes, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are many well-established slope limiters such<br />

as <str<strong>on</strong>g>the</str<strong>on</strong>g> Minmod functi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> Superbee functi<strong>on</strong> and <str<strong>on</strong>g>the</str<strong>on</strong>g> MC functi<strong>on</strong>. All <str<strong>on</strong>g>the</str<strong>on</strong>g>se<br />

limiters are summarised in [45].<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes, Barth and Jespersen gave <str<strong>on</strong>g>the</str<strong>on</strong>g> first implementati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> a limiter functi<strong>on</strong> in [4]. Such limiter functi<strong>on</strong> can be used for both cell-vertex<br />

and cell-centred schemes. With limiter <str<strong>on</strong>g>of</str<strong>on</strong>g> Barth and Jespersen, <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical<br />

oscillati<strong>on</strong>s are removed effectively. However, it is ra<str<strong>on</strong>g>the</str<strong>on</strong>g>r dissipative and tends to<br />

13


smear disc<strong>on</strong>tinuities. Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore, <str<strong>on</strong>g>the</str<strong>on</strong>g> usage <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> min functi<strong>on</strong> adversely affects<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical schemes, and so <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> steady state<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm. To avoid <str<strong>on</strong>g>the</str<strong>on</strong>g>se disadvantages, Venkatakrishnan [83] proposed a<br />

limiter which <str<strong>on</strong>g>the</str<strong>on</strong>g> min functi<strong>on</strong> was replaced by a smooth functi<strong>on</strong>. The revised<br />

limiter dem<strong>on</strong>strates <str<strong>on</strong>g>the</str<strong>on</strong>g> superior c<strong>on</strong>vergence properties. But it can not guarantee<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> strictly m<strong>on</strong>ot<strong>on</strong>icity <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>, and <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy in <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth<br />

regi<strong>on</strong> is also affected since <str<strong>on</strong>g>the</str<strong>on</strong>g> limiter can be enactived even in <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> with<br />

smooth soluti<strong>on</strong>.<br />

All limiter functi<strong>on</strong>s introduced above actually c<strong>on</strong>strain <str<strong>on</strong>g>the</str<strong>on</strong>g> polynomial obtained<br />

by using a fixed stencil, so <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence order for <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth soluti<strong>on</strong> must be<br />

adversely affected. To keep <str<strong>on</strong>g>the</str<strong>on</strong>g> desired numerical accuracy and also remove <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>physical<br />

oscillati<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> Essential N<strong>on</strong>-Oscillatory (ENO) and Weighted Essential<br />

N<strong>on</strong>-Oscillatory (WENO) schemes are introduced.<br />

1.3.3 ENO/WENO Rec<strong>on</strong>structi<strong>on</strong><br />

The ENO scheme was first presented by Harten et al.[28, 29].<br />

Different from<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> methods which use a fixed stencil, <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO method uses <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

”smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>st” stencil <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> current cell to rec<strong>on</strong>struct <str<strong>on</strong>g>the</str<strong>on</strong>g> polynomial. Such idea can<br />

be dem<strong>on</strong>strated by Fig. 1.6. This figure shows <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong><br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> with shock. If <str<strong>on</strong>g>the</str<strong>on</strong>g> Lax-Wendr<str<strong>on</strong>g>of</str<strong>on</strong>g>f schemes are used, <str<strong>on</strong>g>the</str<strong>on</strong>g> stencil for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell i should be <str<strong>on</strong>g>the</str<strong>on</strong>g> cells {i, i + 1}, <str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structed<br />

linear functi<strong>on</strong> is shown by <str<strong>on</strong>g>the</str<strong>on</strong>g> dashed line. Obviously <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical oscillati<strong>on</strong>s are<br />

introduced. With <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO method, two approximate polynomials h i−1,i and h i,i+1<br />

are generated in stencils {i − 1, i} and {i, i + 1} respectively, and <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r <strong>on</strong>e<br />

h i−1,i is selected as <str<strong>on</strong>g>the</str<strong>on</strong>g> final approximate polynomial in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell i. Similarly, for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

quadratic case, <str<strong>on</strong>g>the</str<strong>on</strong>g> stencils {i − 2, i − 1, i},{i − 1, i, i + 1}, and {i, i + 1, i + 2} will<br />

be used to generate polynomials h i−2,i−1,i , h i−1,i,i+1 and h i,i+1,i+2 , and <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>st<br />

<strong>on</strong>e h i−2,i−1,i will be used as <str<strong>on</strong>g>the</str<strong>on</strong>g> final polynomial. Such procedure can be straightly<br />

extended to arbitrary high order case.<br />

14


i − 2 i − 1 i i + 1 i + 2 i + 3<br />

Figure 1.6: The comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> between <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO rec<strong>on</strong>structi<strong>on</strong><br />

(solid line) and <str<strong>on</strong>g>the</str<strong>on</strong>g> Lax-Wendr<str<strong>on</strong>g>of</str<strong>on</strong>g>f rec<strong>on</strong>structi<strong>on</strong> (dashed line).<br />

With ENO rec<strong>on</strong>structi<strong>on</strong>, uniform accuracy can be obtained in <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth<br />

regi<strong>on</strong>, and <str<strong>on</strong>g>the</str<strong>on</strong>g> oscillati<strong>on</strong>s can also be prevented by selecting <str<strong>on</strong>g>the</str<strong>on</strong>g> appropriate stencil.<br />

However, due to <str<strong>on</strong>g>the</str<strong>on</strong>g> inherent n<strong>on</strong>-differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> this process, c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> to steady state is not possible[66]. Such drawback can be removed<br />

or reduced by using <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO schemes. The WENO scheme was introduced in<br />

[52, 40] for <str<strong>on</strong>g>the</str<strong>on</strong>g> structured meshes, <str<strong>on</strong>g>the</str<strong>on</strong>g>n was extended to <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes<br />

in [31].<br />

Different from <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO scheme which just uses <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>st polynomial am<strong>on</strong>g<br />

those candidates, <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method uses certain c<strong>on</strong>vex combinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> all candidates.<br />

For example for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> which was described in <str<strong>on</strong>g>the</str<strong>on</strong>g> first<br />

paragraph <str<strong>on</strong>g>of</str<strong>on</strong>g> this subsecti<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are three candidates, say, h i−2,i−1,i , h i−1,i,i+1 and<br />

h i,i+1,i+2 . According to certain criteri<strong>on</strong>, three positive weights ω i−2,i−1,i , ω i−1,i,i+1<br />

and ω i,i+1,i+2 can be supplied to <str<strong>on</strong>g>the</str<strong>on</strong>g>se candidates respectively. Note that ω i−2,i−1,i +<br />

ω i−1,i,i+1 + ω i,i+1,i+2 = 1. Finally, ∑ ωh is used as <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> cell i.<br />

In Subsecti<strong>on</strong>s 1.3.1, 1.3.2 and 1.3.3, <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> rec<strong>on</strong>structi<strong>on</strong> methods and <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

limiting methods are introduced. Now suppose in each cell <str<strong>on</strong>g>the</str<strong>on</strong>g>re is an approximate<br />

polynomial, and we are ready to implement <str<strong>on</strong>g>the</str<strong>on</strong>g> evoluti<strong>on</strong> step in Algorithm 0. For<br />

15


<str<strong>on</strong>g>the</str<strong>on</strong>g> Godunov method in [25], <str<strong>on</strong>g>the</str<strong>on</strong>g> Riemann problem was solved exactly. It is more<br />

efficient if <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate Riemann Solver is used.<br />

There are many classical approximate Riemann solvers such as <str<strong>on</strong>g>the</str<strong>on</strong>g> HLL[30] and<br />

HLLC Riemann solvers [81], <str<strong>on</strong>g>the</str<strong>on</strong>g> Riemann solver <str<strong>on</strong>g>of</str<strong>on</strong>g> Roe[72], and <str<strong>on</strong>g>the</str<strong>on</strong>g> Riemann solver<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> Osher [70]. The summarizati<strong>on</strong>s and applicati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se Riemann solvers can<br />

be found in [79]. In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, <str<strong>on</strong>g>the</str<strong>on</strong>g> HLLC Riemann solver is used.<br />

1.3.4 The HLLC Riemann Solver<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> exact Riemann soluti<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are a large amount <str<strong>on</strong>g>of</str<strong>on</strong>g> details, which may be<br />

ei<str<strong>on</strong>g>the</str<strong>on</strong>g>r shocks or expansi<strong>on</strong> waves. To solve <str<strong>on</strong>g>the</str<strong>on</strong>g> problem efficiently, Harten, Lax and<br />

Van Leer [30] presented <str<strong>on</strong>g>the</str<strong>on</strong>g> well-known HLL solver for <str<strong>on</strong>g>the</str<strong>on</strong>g> Riemann problem.<br />

Suppose we have <str<strong>on</strong>g>the</str<strong>on</strong>g> following 1D Riemann problem<br />

U t + F(U) x = 0,<br />

⎧<br />

⎨ U l , if x < 0,<br />

U(x, 0) =<br />

⎩<br />

U r , if x ≥ 0,<br />

(1.17)<br />

where U and F are selected similar to (1.9) and (1.10) respectively. If <str<strong>on</strong>g>the</str<strong>on</strong>g> flow is<br />

subs<strong>on</strong>ic, a simple Riemann soluti<strong>on</strong> can be given by ignoring <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>tact disc<strong>on</strong>tinuity<br />

and assuming a single, averaged intermediate state U ∗ , between two acoustic<br />

waves with velocities S l and S r . The structure <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> is dem<strong>on</strong>strated in<br />

Fig. 1.7 (left). The HLL numerical flux can be given as<br />

⎧<br />

F ⎪⎨ l , if S l > 0,<br />

F hll = F ∗ , if S l ≤ 0 ≤ S r ,<br />

⎪⎩<br />

F r , if S r < 0,<br />

(1.18)<br />

where F ∗ is given as<br />

F ∗ = S rF l − S l F r + S l S r (U r − U l )<br />

S r − S l<br />

. (1.19)<br />

The HLL flux satisfies <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> laws by c<strong>on</strong>structi<strong>on</strong>. However, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

ignoring <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>tact disc<strong>on</strong>tinuity limited its practical applicati<strong>on</strong>s. To remedy<br />

16


S l<br />

t<br />

S r<br />

S l<br />

t<br />

S m<br />

S r<br />

U l<br />

0<br />

U ∗<br />

0<br />

U ∗l<br />

U ∗r<br />

U r<br />

x<br />

U l<br />

U r<br />

x<br />

Figure 1.7: HLL (left) and HLLC (right) approximate Riemann solvers.<br />

such drawback, Toro et al. [81] proposed <str<strong>on</strong>g>the</str<strong>on</strong>g> much more accurate HLLC solver for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Riemann problem. HLLC solver is a modificati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> HLL solver, whereby <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

missing c<strong>on</strong>tact and shear waves are restored. The soluti<strong>on</strong> structure is dem<strong>on</strong>strated<br />

in Fig. 1.7 (right). The HLLC flux can be written as<br />

⎧<br />

F l , if S l > 0,<br />

⎪⎨ F ∗l , if S l ≤ 0 ≤ S m ,<br />

F hllc =<br />

F ∗r , if S m ≤ 0 ≤ S r ,<br />

⎪⎩ F r , if S r < 0,<br />

(1.20)<br />

where S m is given by<br />

S m = p r − p l + ρ l u l (S l − u l ) − ρ r u r (S r − u r )<br />

. (1.21)<br />

ρ l (S l − u l ) − ρ r (S r − u r )<br />

The intermediate fluxes F ∗l and F ∗r are given by<br />

F ∗k = F k + S k (U ∗k − U k ), for k = l or r. (1.22)<br />

where <str<strong>on</strong>g>the</str<strong>on</strong>g> intermediate states U ∗k are given with following form<br />

⎡<br />

1<br />

( )<br />

Sk − u k<br />

U ∗k = ρ k S k − S m<br />

⎢<br />

S m<br />

⎣<br />

[<br />

]<br />

E k<br />

p k<br />

+ (S m − u k ) S m +<br />

ρ k ρ k (S k − u k )<br />

⎤<br />

⎥<br />

⎦ . (1.23)<br />

For S l and S r in (1.18) and (1.20), <str<strong>on</strong>g>the</str<strong>on</strong>g> values are given based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> Roe average<br />

[20] as<br />

S l = min{λ 1 (U l ), λ 1 (U Roe )},<br />

S r = max{λ m (U Roe ), λ m (U r )},<br />

17<br />

(1.24)


where λ 1 (U l ) is <str<strong>on</strong>g>the</str<strong>on</strong>g> minimum characteristic speed <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> left wave, λ m (U r ) is <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

maximum characteristic speed <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> right wave, and λ 1 (U Roe ) and λ m (U Roe ) are<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> minimum and maximum characteristic values <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Roe matrix.<br />

The finite volume method discussed in this secti<strong>on</strong> will be used for <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm<br />

with linear rec<strong>on</strong>structi<strong>on</strong>. For <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> following residual<br />

distributi<strong>on</strong> method will be used.<br />

1.4 The Residual Distributi<strong>on</strong> Method<br />

The Residual Distributi<strong>on</strong> (RD) schemes, or fluctuati<strong>on</strong> splitting schemes for solving<br />

steady state hyperbolic c<strong>on</strong>servati<strong>on</strong> laws was first introduced by Roe, Sidilkover,<br />

Dec<strong>on</strong>inck, Struijs, Bourgeois et al.[15, 73, 75] and have been widely discussed [1,<br />

12, 14]. The framework <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> residual distributi<strong>on</strong> can be described as follows. For<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s (1.8), steady state means that <str<strong>on</strong>g>the</str<strong>on</strong>g> residual <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system in<br />

every cell K i ∈ T should be zero, say,<br />

∑<br />

∫<br />

e ij ∈∂K i<br />

e ij<br />

F(U) · n ij dS = 0, (1.25)<br />

where U and F(U) are defined in (1.9) and (1.10) respectively. In practical calculati<strong>on</strong>s,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> (1.25) is obtained as <str<strong>on</strong>g>the</str<strong>on</strong>g> limit <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> following pseudo unsteady<br />

scheme<br />

| K i | Un+1 i − Ui<br />

n<br />

∆t<br />

where | K i | is <str<strong>on</strong>g>the</str<strong>on</strong>g> area <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i .<br />

+ ∑<br />

e ij ∈∂K i<br />

∫<br />

e ij<br />

F(U i , U j ) · n ij dS = 0, (1.26)<br />

Similar to <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume methods, (1.26) can be solved by traditi<strong>on</strong>al techniques,<br />

and certain numerical flux such as <str<strong>on</strong>g>the</str<strong>on</strong>g> HLLC flux which was discussed in<br />

Subsecti<strong>on</strong> 1.3.4 can be used to approximate <str<strong>on</strong>g>the</str<strong>on</strong>g> term F(U i , U j ). However, <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong><br />

step implemented in <str<strong>on</strong>g>the</str<strong>on</strong>g> residual distributi<strong>on</strong> schemes is based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

functi<strong>on</strong> values <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i , not <str<strong>on</strong>g>the</str<strong>on</strong>g> cell averages <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se variables<br />

any more. For every new pseudo time level, <str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong>al values <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> cell are updated. Finally, with vanishing <str<strong>on</strong>g>the</str<strong>on</strong>g> cell residuals, <str<strong>on</strong>g>the</str<strong>on</strong>g> accuracy can be<br />

obtained.<br />

18


1.5 Temporal Discretizati<strong>on</strong><br />

So far, <str<strong>on</strong>g>the</str<strong>on</strong>g> spatial discretizati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s have been discussed. For<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> temporal discretizati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are two main methods: <str<strong>on</strong>g>the</str<strong>on</strong>g> Explicit method and<br />

Implicit method.<br />

By using <str<strong>on</strong>g>the</str<strong>on</strong>g> explicit method, <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>linear term in <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s (1.8)<br />

can be evaluated with <str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> in <str<strong>on</strong>g>the</str<strong>on</strong>g> current time level. Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

variables in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain can be updated cell by cell. That means <str<strong>on</strong>g>the</str<strong>on</strong>g>re is no need to<br />

solve <str<strong>on</strong>g>the</str<strong>on</strong>g> linear system. So <str<strong>on</strong>g>the</str<strong>on</strong>g> memory storages needed by explicit method are low,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> updating in each time level can be implemented much more efficiently<br />

compared with <str<strong>on</strong>g>the</str<strong>on</strong>g> implicit methods . However, based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>siderati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> stability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm, sufficiently small time step should be used, which<br />

slows down <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm significantly.<br />

In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, <str<strong>on</strong>g>the</str<strong>on</strong>g> implicit method is adopted, and <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong> method is used to<br />

linearize <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>linear term in <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. Although a large size linear system<br />

needs to be solved in each Newt<strong>on</strong> iterati<strong>on</strong> step, <str<strong>on</strong>g>the</str<strong>on</strong>g> stability and <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical<br />

accuracy <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm are enhanced. To solve <str<strong>on</strong>g>the</str<strong>on</strong>g> linear system efficiently, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

multigrid method is used, which significantly accelerates <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm. Besides <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

multigrid method, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are also many o<str<strong>on</strong>g>the</str<strong>on</strong>g>r accelerati<strong>on</strong> techniques for <str<strong>on</strong>g>the</str<strong>on</strong>g> steady<br />

problems, which will be discussed in <str<strong>on</strong>g>the</str<strong>on</strong>g> next subsecti<strong>on</strong>.<br />

1.6 Some Accelerati<strong>on</strong> Techniques<br />

In last several years, various techniques have been proposed in order to accelerate<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm to obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s (1.8).<br />

These techniques include <str<strong>on</strong>g>the</str<strong>on</strong>g> local time-stepping, residual smoothing, <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid<br />

method, low Mach-number prec<strong>on</strong>diti<strong>on</strong>ing, and etc. An overview <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se accelerati<strong>on</strong><br />

techniques can be found in [42, 60]. In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, <str<strong>on</strong>g>the</str<strong>on</strong>g> following two methods<br />

are adopted.<br />

19


1.6.1 Local Time-Stepping<br />

Generally, <str<strong>on</strong>g>the</str<strong>on</strong>g> criteri<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> selecting <str<strong>on</strong>g>the</str<strong>on</strong>g> length <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> time step is to keep <str<strong>on</strong>g>the</str<strong>on</strong>g> stability<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm. C<strong>on</strong>sequently, <str<strong>on</strong>g>the</str<strong>on</strong>g> time step depends <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> smallest cell size in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> domain which also results in length <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> time step a very small value. For<br />

solving <str<strong>on</strong>g>the</str<strong>on</strong>g> stati<strong>on</strong>ary problems, <str<strong>on</strong>g>the</str<strong>on</strong>g> temporally accurate soluti<strong>on</strong>s are no l<strong>on</strong>ger<br />

important, so <str<strong>on</strong>g>the</str<strong>on</strong>g> largest possible time step for each cell can be used to accelerate<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence. This is <str<strong>on</strong>g>the</str<strong>on</strong>g> idea <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> local time-stepping method.<br />

Based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> understanding <str<strong>on</strong>g>of</str<strong>on</strong>g> local time-stepping method, a new method which<br />

depends <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> local residual in each cell is used instead. It has been proven by a<br />

large amount <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical simulati<strong>on</strong>s that <str<strong>on</strong>g>the</str<strong>on</strong>g> new method works very well. The<br />

descripti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> such method will be given in Subsecti<strong>on</strong> 2.3.2 in Chapter 2.<br />

1.6.2 The Multigrid Method<br />

The multigrid methodology is a very powerful accelerati<strong>on</strong> technique [8]. It was first<br />

proposed by Brandt [9] for solving elliptic partial differential equati<strong>on</strong>s. Now, it has<br />

been successfully used for solving <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s by James<strong>on</strong> [35, 34, 37], and <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Navier-Stokes equati<strong>on</strong>s [57, 82]. The basic idea <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method is to use<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> coarse meshes to drive <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> fine meshes to <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state faster.<br />

There are two main ingredients for implementing <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method. One is <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Projecti<strong>on</strong> Operator which is used to generate <str<strong>on</strong>g>the</str<strong>on</strong>g> smaller system <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse mesh<br />

from <str<strong>on</strong>g>the</str<strong>on</strong>g> system <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> fine mesh. The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r <strong>on</strong>e is <str<strong>on</strong>g>the</str<strong>on</strong>g> Smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r which is used to<br />

cancel <str<strong>on</strong>g>the</str<strong>on</strong>g> residual <strong>on</strong> each coarse meshes.<br />

There are two different types <str<strong>on</strong>g>of</str<strong>on</strong>g> multigrid methods. If <str<strong>on</strong>g>the</str<strong>on</strong>g> projecti<strong>on</strong> operator is<br />

c<strong>on</strong>structed just using <str<strong>on</strong>g>the</str<strong>on</strong>g> system matrix itself, <str<strong>on</strong>g>the</str<strong>on</strong>g> method is called Algebraic Multigrid<br />

(AMG). In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r <strong>on</strong>e, say, <str<strong>on</strong>g>the</str<strong>on</strong>g> Geometrical Multigrid (GMG)<br />

method is used, which <str<strong>on</strong>g>the</str<strong>on</strong>g> projecti<strong>on</strong> operator is c<strong>on</strong>structed based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> topological<br />

structure <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes. According to <str<strong>on</strong>g>the</str<strong>on</strong>g> agglomerati<strong>on</strong> multigrid method<br />

proposed in [8] which is implemented for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell-vertex schemes, a similar method<br />

is proposed in this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis to generate <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse meshes for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell-centred meshes.<br />

20


The details <str<strong>on</strong>g>of</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method to solve <str<strong>on</strong>g>the</str<strong>on</strong>g> final linear<br />

system can be found in Secti<strong>on</strong> 2.4 in Chapter 2.<br />

1.7 Adaptive Methods<br />

For obtaining <str<strong>on</strong>g>the</str<strong>on</strong>g> reliable numerical results <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s in this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, a very<br />

big outer boundary is selected. If <str<strong>on</strong>g>the</str<strong>on</strong>g> uniform meshes are used, a large amount <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

mesh grids will be wasted since for regi<strong>on</strong> nearby <str<strong>on</strong>g>the</str<strong>on</strong>g> outer boundary, <str<strong>on</strong>g>the</str<strong>on</strong>g>re is almost<br />

no variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s. At <str<strong>on</strong>g>the</str<strong>on</strong>g> meantime for <str<strong>on</strong>g>the</str<strong>on</strong>g> trans<strong>on</strong>ic flows, <str<strong>on</strong>g>the</str<strong>on</strong>g>re may<br />

be shocks around <str<strong>on</strong>g>the</str<strong>on</strong>g> inner boundary. So sufficiently small size meshes are needed<br />

to resolve <str<strong>on</strong>g>the</str<strong>on</strong>g> shock structure. The adaptive methods become necessary to satisfy<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> requirement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes.<br />

There are mainly three types <str<strong>on</strong>g>of</str<strong>on</strong>g> adaptive methods. The p-adaptive method<br />

which locally enriches <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial; <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive method which<br />

locally refines and coarsens meshes; and <str<strong>on</strong>g>the</str<strong>on</strong>g> r-adaptive method which relocates <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

mesh grids in a mesh having a fix number <str<strong>on</strong>g>of</str<strong>on</strong>g> nodes. The basic idea <str<strong>on</strong>g>of</str<strong>on</strong>g> all <str<strong>on</strong>g>the</str<strong>on</strong>g>se<br />

adaptive methods is to c<strong>on</strong>centrate mesh grids in <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> with large variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>. In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, both r- and h-adaptive methods are introduced<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter.<br />

1.8 Outline <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Thesis<br />

In Chapter 2, an effective and robust linear finite volume solver is proposed. The<br />

algorithm c<strong>on</strong>tains two main ingredients: Newt<strong>on</strong> iterative scheme which is used to<br />

linearize <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s, and <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid iterative scheme which is used to solve<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> final linear system. The block Lower-Upper Symmetric Gauss-Seidel (LU-SGS)<br />

iterative method is used as <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method. The piecewise linear<br />

rec<strong>on</strong>structi<strong>on</strong> is implemented for each cell in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. Two kinds <str<strong>on</strong>g>of</str<strong>on</strong>g> limiting<br />

strategies are adopted to adjust <str<strong>on</strong>g>the</str<strong>on</strong>g> gradient in each cell. One is Venkatakrishnan<br />

limiter functi<strong>on</strong> which is <strong>on</strong>e kind <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> slope limiters, while <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r <strong>on</strong>e is <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

21


WENO type rec<strong>on</strong>structi<strong>on</strong>. The comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical results and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> efficiency between two methods are dem<strong>on</strong>strated. Since <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s are c<strong>on</strong>sidered, <str<strong>on</strong>g>the</str<strong>on</strong>g> linearized system by Newt<strong>on</strong> method is<br />

actually singular. To regularize this system, <strong>on</strong>e kind <str<strong>on</strong>g>of</str<strong>on</strong>g> local time-stepping method<br />

is adopted. Different from <str<strong>on</strong>g>the</str<strong>on</strong>g> classical way which <str<strong>on</strong>g>the</str<strong>on</strong>g> local time step is used for<br />

each cell, a regularizati<strong>on</strong> term which is based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> local residual is presented.<br />

From <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical simulati<strong>on</strong>s, we can see that <str<strong>on</strong>g>the</str<strong>on</strong>g> proposed regularizati<strong>on</strong> term<br />

works very well.<br />

To obtain high order numerical accuracy, we introduce <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong><br />

in Chapter 3. Besides <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are still many details<br />

we should take care to get <str<strong>on</strong>g>the</str<strong>on</strong>g> desired numerical accuracy such as <str<strong>on</strong>g>the</str<strong>on</strong>g> integral over<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary and numerical quadrature formula. Different from <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

WENO rec<strong>on</strong>structi<strong>on</strong> used in Chapter 2, <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> is sensitive<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-differentiability which is introduced by WENO procedure. Such<br />

n<strong>on</strong>-differentiability takes difficulties to <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

algorithm. To avoid this problem, <str<strong>on</strong>g>the</str<strong>on</strong>g> so-called hierarchical limiting strategy is used<br />

which c<strong>on</strong>strains <str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> level by level from <str<strong>on</strong>g>the</str<strong>on</strong>g> highest order terms to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

lowest order terms. From <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical results, we can see that <str<strong>on</strong>g>the</str<strong>on</strong>g> proposed high<br />

order numerical scheme works well: <str<strong>on</strong>g>the</str<strong>on</strong>g> residual <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system <str<strong>on</strong>g>of</str<strong>on</strong>g> all numerical simulati<strong>on</strong>s<br />

achieved <str<strong>on</strong>g>the</str<strong>on</strong>g> machine accuracy within a few Newt<strong>on</strong>-iterati<strong>on</strong> steps; <str<strong>on</strong>g>the</str<strong>on</strong>g> high<br />

order numerical accuracy is kept in <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth soluti<strong>on</strong> regi<strong>on</strong> and at <str<strong>on</strong>g>the</str<strong>on</strong>g> meantime,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s are removed or reduced significantly.<br />

In fact, <str<strong>on</strong>g>the</str<strong>on</strong>g> outer boundaries <str<strong>on</strong>g>of</str<strong>on</strong>g> domains which are used in numerical simulati<strong>on</strong>s<br />

in Chapters 2 and 3 were selected artificially. To obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> reliable numerical results,<br />

sufficiently large outer boundaries are expected, and <str<strong>on</strong>g>the</str<strong>on</strong>g> larger <str<strong>on</strong>g>the</str<strong>on</strong>g> domain used <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

better <str<strong>on</strong>g>the</str<strong>on</strong>g> accuracy will be. On <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r hand, we also want a small domain which<br />

c<strong>on</strong>tains less mesh grids, which can save <str<strong>on</strong>g>the</str<strong>on</strong>g> CPU time required. Though <str<strong>on</strong>g>the</str<strong>on</strong>g> far field<br />

vortex correcti<strong>on</strong> technique may be used in <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm which uses a relatively<br />

small outer boundary, <str<strong>on</strong>g>the</str<strong>on</strong>g> domain is still very large. In <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> grids<br />

22


always extend about 20 diameters away from <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoils. In Chapter 4, to obtain<br />

high quality <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical results and at <str<strong>on</strong>g>the</str<strong>on</strong>g> same time use less CPU time, <str<strong>on</strong>g>the</str<strong>on</strong>g> h-<br />

adaptive technique is introduced in <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm. With <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive technique,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> mesh around <str<strong>on</strong>g>the</str<strong>on</strong>g> shock or/and disc<strong>on</strong>tinuity regi<strong>on</strong> is locally refined, while <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

mesh in <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth soluti<strong>on</strong> regi<strong>on</strong> is coarsened. In o<str<strong>on</strong>g>the</str<strong>on</strong>g>r words, <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive<br />

technique gives a much more reas<strong>on</strong>able distributi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh grids with <str<strong>on</strong>g>the</str<strong>on</strong>g> same<br />

amount <str<strong>on</strong>g>of</str<strong>on</strong>g> grid points. In <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical simulati<strong>on</strong>s, it is found that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithms<br />

proposed in <str<strong>on</strong>g>the</str<strong>on</strong>g> previous chapters can be improved significantly with <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive<br />

methods.<br />

Finally, we give <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>clusi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis in Chapter 5. where a brief descripti<strong>on</strong><br />

about <str<strong>on</strong>g>the</str<strong>on</strong>g> future work is also presented.<br />

23


Chapter 2<br />

The Linear Finite Volume Solver<br />

Recently, Li et al. [50] proposed a finite volume solver for 2D steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm, <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong>-iterati<strong>on</strong> method is adopted to linearize <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

<str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>, and in each Newt<strong>on</strong>-iterati<strong>on</strong> step <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method with block<br />

lower-upper symmetric Gauss-Seidel (LU-SGS) iterati<strong>on</strong> as its smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r is used to<br />

solve <str<strong>on</strong>g>the</str<strong>on</strong>g> linearized system. In <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> step, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong><br />

is employed to describe <str<strong>on</strong>g>the</str<strong>on</strong>g> variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s in each cell. To avoid <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>physical<br />

oscillati<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan limiter is adopted to c<strong>on</strong>strain gradients<br />

during <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> process.<br />

The limiting strategy is very important for simulati<strong>on</strong>s with <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume<br />

method. A useful limiter functi<strong>on</strong> should be able to remove <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s<br />

nearby <str<strong>on</strong>g>the</str<strong>on</strong>g> shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles and can also preserve <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> smooth regi<strong>on</strong>s. Moreover, <str<strong>on</strong>g>the</str<strong>on</strong>g> limiter functi<strong>on</strong> should not affect <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state. So far, many useful limiting strategies for <str<strong>on</strong>g>the</str<strong>on</strong>g> structured<br />

mesh have been proposed, including <str<strong>on</strong>g>the</str<strong>on</strong>g> total variati<strong>on</strong> diminishing (TVD) limiter<br />

[26, 27], <str<strong>on</strong>g>the</str<strong>on</strong>g> slope limiters like minmod limiter, <str<strong>on</strong>g>the</str<strong>on</strong>g> superbee limiter, <str<strong>on</strong>g>the</str<strong>on</strong>g> MC limiter<br />

and van Leer limiter (all <str<strong>on</strong>g>the</str<strong>on</strong>g>se limiters can be found in [45] and references <str<strong>on</strong>g>the</str<strong>on</strong>g>rein).<br />

However, since <str<strong>on</strong>g>the</str<strong>on</strong>g> fixed stencil is used to approximate <str<strong>on</strong>g>the</str<strong>on</strong>g> variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy is always degraded when <str<strong>on</strong>g>the</str<strong>on</strong>g> above limiter functi<strong>on</strong>s are<br />

used. To preserve <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy, <str<strong>on</strong>g>the</str<strong>on</strong>g> essentially n<strong>on</strong>-oscillatory (ENO)<br />

method is introduced [28, 29]. In order to rec<strong>on</strong>struct <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial<br />

24


<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s <strong>on</strong> each cell, <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO methods test different neighboring stencils<br />

so that <str<strong>on</strong>g>the</str<strong>on</strong>g> locally smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>st stencils can be selected eventually. By selecting a<br />

c<strong>on</strong>vex combinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> results obtained from all possible stencils, <str<strong>on</strong>g>the</str<strong>on</strong>g> weighted<br />

essentially n<strong>on</strong>-oscillatory (WENO) methods were proposed, see, e.g., [40, 51, 74].<br />

These limiter functi<strong>on</strong>s yield satisfactory numerical results <strong>on</strong> structured meshes.<br />

On <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes, <strong>on</strong>e <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> classical ways to obtain high resoluti<strong>on</strong><br />

results is to use <str<strong>on</strong>g>the</str<strong>on</strong>g> k-exact rec<strong>on</strong>structi<strong>on</strong> [2, 67] toge<str<strong>on</strong>g>the</str<strong>on</strong>g>r with a slope limiter. For<br />

example, for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case, it is assumed that <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> is piecewise linearly<br />

distributed over <str<strong>on</strong>g>the</str<strong>on</strong>g> cell. Such linear approximati<strong>on</strong> is determined by solving a least<br />

square system based <strong>on</strong> cell averages <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell and its neighbours. After that,<br />

certain slope limiter is used to guarantee <str<strong>on</strong>g>the</str<strong>on</strong>g> m<strong>on</strong>ot<strong>on</strong>icity <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s. On <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

unstructured meshes, <str<strong>on</strong>g>the</str<strong>on</strong>g> first implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a limiter functi<strong>on</strong> was presented<br />

by Barth and Jespersen [4]. The Barth and Jespersen limiter is used to enforce a<br />

m<strong>on</strong>ot<strong>on</strong>e soluti<strong>on</strong>. However, <str<strong>on</strong>g>the</str<strong>on</strong>g>ir method is ra<str<strong>on</strong>g>the</str<strong>on</strong>g>r dissipative which leads to smear<br />

disc<strong>on</strong>tinuities. Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore, <str<strong>on</strong>g>the</str<strong>on</strong>g> limiter may be active in smooth flow regi<strong>on</strong>s due<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical noise, which causes difficulties <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady<br />

state [8]. To improve <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> limiter in [4], <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan<br />

limiter was proposed in [83] and has been widely used. Similar to <str<strong>on</strong>g>the</str<strong>on</strong>g> structured<br />

mesh case, <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>oretically predicted accuracy also can not be guaranteed with<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> fixed stencil when <str<strong>on</strong>g>the</str<strong>on</strong>g>se limiters are used. Moreover, since <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan<br />

limiter does not preserve strict m<strong>on</strong>ot<strong>on</strong>icity, slight oscillati<strong>on</strong>s can be observed near<br />

shock disc<strong>on</strong>tinuities. To fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r improve <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical soluti<strong>on</strong>s for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

unstructured meshes, <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO/WENO type rec<strong>on</strong>structi<strong>on</strong>s may be c<strong>on</strong>sidered due<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g>ir good performance <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> structured meshes.<br />

In [31], Hu and Shu implemented <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO type finite volume schemes <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

unstructured meshes. In [55, 56, 97], <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method was adopted as <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting<br />

strategy to <str<strong>on</strong>g>the</str<strong>on</strong>g> disc<strong>on</strong>tinuous Galerkin method. With <str<strong>on</strong>g>the</str<strong>on</strong>g> help <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO<br />

method, not <strong>on</strong>ly desired numerical accuracy in <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth regi<strong>on</strong> is preserved but<br />

also <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-oscillatory sharp shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles are obtained. However, as <str<strong>on</strong>g>the</str<strong>on</strong>g> differen-<br />

25


tiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical schemes was affected with <str<strong>on</strong>g>the</str<strong>on</strong>g> use <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO methods,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence to steady state soluti<strong>on</strong>s is found unsatisfactory, see, e.g., [56, 97].<br />

In [97], <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO type limiting procedure was <strong>on</strong>ly implemented in <str<strong>on</strong>g>the</str<strong>on</strong>g> ”trouble<br />

cells”; this may also make <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical scheme less smooth (i.e., <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability<br />

becomes worse). As a result, it was observed in [97] that <str<strong>on</strong>g>the</str<strong>on</strong>g> residual <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

system can not be reduced to <str<strong>on</strong>g>the</str<strong>on</strong>g> machine accuracy. Moreover, <str<strong>on</strong>g>the</str<strong>on</strong>g> situati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

third-order case was worse than that <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d-order case. Recently, Liu et al.<br />

[53, 54] and Xu et al. [89] proposed <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical WENO rec<strong>on</strong>structi<strong>on</strong> methods,<br />

which are adopted by Hu et al. [32] to design high-order residual distributi<strong>on</strong><br />

(RD) schemes for solving <str<strong>on</strong>g>the</str<strong>on</strong>g> steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. It is seen in [32] that <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical<br />

WENO rec<strong>on</strong>structi<strong>on</strong> can improve <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical<br />

schemes so that <str<strong>on</strong>g>the</str<strong>on</strong>g> system residual resulting from <str<strong>on</strong>g>the</str<strong>on</strong>g> discretizati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady<br />

<str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s can reach machine accuracy in a few Newt<strong>on</strong>-iterati<strong>on</strong> steps. However,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical WENO rec<strong>on</strong>structi<strong>on</strong> can not guarantee <str<strong>on</strong>g>the</str<strong>on</strong>g> m<strong>on</strong>ot<strong>on</strong>icity<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> numerical soluti<strong>on</strong>s. C<strong>on</strong>sequently, slight oscillati<strong>on</strong>s were observed nearby <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

shock disc<strong>on</strong>tinuities.<br />

In this paper, we will present a robust and effective finite volume solver based <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> to solve <str<strong>on</strong>g>the</str<strong>on</strong>g> steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. The algorithm<br />

is based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> solver proposed in [50], where as <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan limiter was<br />

used to c<strong>on</strong>strain gradients <strong>on</strong> each cell <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm suffers from <str<strong>on</strong>g>the</str<strong>on</strong>g> problems<br />

menti<strong>on</strong>ed above. To obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> high quality <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical soluti<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO<br />

type rec<strong>on</strong>structi<strong>on</strong> will be used in this paper. In [50], a very large rec<strong>on</strong>structi<strong>on</strong><br />

patch for linear case is adopted to ensure <str<strong>on</strong>g>the</str<strong>on</strong>g> stability. The principle for choosing<br />

patch P(K) is as following. For a cell K, <str<strong>on</strong>g>the</str<strong>on</strong>g> cell which has <strong>on</strong>e comm<strong>on</strong> vertex with<br />

K is chosen as <strong>on</strong>e comp<strong>on</strong>ent <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch <str<strong>on</strong>g>of</str<strong>on</strong>g> K. In this paper, based<br />

<strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>siderati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm efficiency, a much smaller patch is used. More<br />

precisely, for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K, <str<strong>on</strong>g>the</str<strong>on</strong>g> cell has <strong>on</strong>e comm<strong>on</strong> edge with K is chosen to be <strong>on</strong>e<br />

comp<strong>on</strong>ent <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch <str<strong>on</strong>g>of</str<strong>on</strong>g> K. Then with cell averages <str<strong>on</strong>g>of</str<strong>on</strong>g> those cells<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> patch, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> is implemented for each cell K ∈ P(K). After<br />

26


looping all rec<strong>on</strong>structi<strong>on</strong> patches in <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes, each cell has 3 or 4 approximate<br />

polynomials. The final approximate polynomial in each cell is given by <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vex<br />

combinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se candidates according to certain smoothness indicator. It is<br />

observed from <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical experiments that <str<strong>on</strong>g>the</str<strong>on</strong>g> proposed linear finite volume<br />

solver is not sensitive to <str<strong>on</strong>g>the</str<strong>on</strong>g> influence <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical scheme<br />

which is introduced by <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method. The system residuals <str<strong>on</strong>g>of</str<strong>on</strong>g> all numerical<br />

experiments can achieve machine accuracy in a few Newt<strong>on</strong>-iterati<strong>on</strong> steps. Besides<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence, <str<strong>on</strong>g>the</str<strong>on</strong>g> proposed solver can keep desired numerical accuracy in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

smooth regi<strong>on</strong>, and at <str<strong>on</strong>g>the</str<strong>on</strong>g> same time remove spurious oscillati<strong>on</strong>s nearby <str<strong>on</strong>g>the</str<strong>on</strong>g> shock<br />

and/or disc<strong>on</strong>tinuity regi<strong>on</strong>. It is shown in <str<strong>on</strong>g>the</str<strong>on</strong>g> final secti<strong>on</strong> that <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

numerical results <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case is improved significantly in comparis<strong>on</strong> with<br />

that in [50]. Since <str<strong>on</strong>g>the</str<strong>on</strong>g> smaller patch is used and <str<strong>on</strong>g>the</str<strong>on</strong>g> behavior <str<strong>on</strong>g>of</str<strong>on</strong>g> Newt<strong>on</strong> iterati<strong>on</strong> is<br />

improved, <str<strong>on</strong>g>the</str<strong>on</strong>g> increment <str<strong>on</strong>g>of</str<strong>on</strong>g> CPU time is not significant compared with <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm<br />

with <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan limiter.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> rest <str<strong>on</strong>g>of</str<strong>on</strong>g> this chapter, <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical discretizati<strong>on</strong> for <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s will<br />

be described in <str<strong>on</strong>g>the</str<strong>on</strong>g> next secti<strong>on</strong>. In Secti<strong>on</strong> 2.2, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Venkatakrishnan limiter and <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> will be introduced respectively.<br />

Then <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong>-iterati<strong>on</strong> and <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method for solving <str<strong>on</strong>g>the</str<strong>on</strong>g> corresp<strong>on</strong>ding<br />

n<strong>on</strong>linear system will be discussed in Secti<strong>on</strong>s 2.3 and 2.4. The boundary<br />

c<strong>on</strong>diti<strong>on</strong>s which are used in <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s will be simply discussed in Secti<strong>on</strong> 2.5.<br />

<str<strong>on</strong>g>Numerical</str<strong>on</strong>g> experiments will be carried out in Secti<strong>on</strong> 2.6. Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>clusi<strong>on</strong>s<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> this chapter will be given in Secti<strong>on</strong> 2.7.<br />

2.1 The Finite Volume Discretizati<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Steady</str<strong>on</strong>g><br />

<str<strong>on</strong>g>Euler</str<strong>on</strong>g> <str<strong>on</strong>g>Equati<strong>on</strong>s</str<strong>on</strong>g><br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical simulati<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> system (1.8) is solved in domain Ω := R 2 − Ω c ,<br />

where Ω c denotes <str<strong>on</strong>g>the</str<strong>on</strong>g> domain occupied by <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil, which is <str<strong>on</strong>g>the</str<strong>on</strong>g> body <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> aircraft<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> two-dimensi<strong>on</strong>al case. Since <str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain is unbounded, <str<strong>on</strong>g>the</str<strong>on</strong>g> comm<strong>on</strong>ly<br />

27


used strategy is to solve <str<strong>on</strong>g>the</str<strong>on</strong>g> problem in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain ¯Ω := Ω ⋂ {| x |< R} and <str<strong>on</strong>g>the</str<strong>on</strong>g>n<br />

adopt <str<strong>on</strong>g>the</str<strong>on</strong>g> far field vortex correcti<strong>on</strong> technique to remedy <str<strong>on</strong>g>the</str<strong>on</strong>g> error introduced by<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> abrupt domain truncati<strong>on</strong>.<br />

The Cell-centered scheme is adopted to discretize <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>tinuous equati<strong>on</strong>. Let<br />

T be a triangular partiti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> ¯Ω, and K ∈ T be <strong>on</strong>e cell in <str<strong>on</strong>g>the</str<strong>on</strong>g> partiti<strong>on</strong>. We assume<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> intersecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> two different cells can <strong>on</strong>ly be ei<str<strong>on</strong>g>the</str<strong>on</strong>g>r an edge or a vertex. Let n ij<br />

denote <str<strong>on</strong>g>the</str<strong>on</strong>g> outer unit normal <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> edge e ij , pointing from K i to K j . Since we just<br />

focus <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s (1.8) becomes<br />

∮<br />

∂K i<br />

F(U) · ndS = 0, (2.1)<br />

where n is <str<strong>on</strong>g>the</str<strong>on</strong>g> unit out normal <str<strong>on</strong>g>of</str<strong>on</strong>g> ∂K i . By introducing <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical flux, (2.1) can<br />

be approximated as<br />

∮<br />

∂K i<br />

F(U) · ndS ≈<br />

∑ ∫<br />

e ij ∈∂K i<br />

e ij<br />

¯F(Ui , U j ) · n ij dS = 0, (2.2)<br />

where ¯F(U i , U j ) denotes <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical flux, and certain Riemann solver can be used<br />

to give its value. Many excellent Riemann solvers have been proposed such as LF<br />

solver, Roe solver, Osher solver, HLL solver and its improvement versi<strong>on</strong> HLLC [78]<br />

solver. For details <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se Riemann solvers, we refer to [80] and references <str<strong>on</strong>g>the</str<strong>on</strong>g>rein.<br />

In our algorithm, HLLC solver is adopted.<br />

2.2 The Rec<strong>on</strong>structi<strong>on</strong> and Limiting Strategies<br />

The classical Godunov scheme assumed that in each cell, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>served variable is<br />

a c<strong>on</strong>stant, which <str<strong>on</strong>g>of</str<strong>on</strong>g> course is equal to <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average. This assumpti<strong>on</strong> makes<br />

Godunov scheme be <strong>on</strong>e <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> first order schemes which are too dissipative. To get<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d order accuracy, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear distributi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s <strong>on</strong> each cell should be<br />

determined. In this secti<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> used in [50] will be summarized<br />

first, and <str<strong>on</strong>g>the</str<strong>on</strong>g>n two different limiting strategies are presented respectively later.<br />

28


2.2.1 The Linear Rec<strong>on</strong>structi<strong>on</strong><br />

There are two classical ways to find out <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate gradient in each cell. One<br />

is Green-Gauss approach which approximates <str<strong>on</strong>g>the</str<strong>on</strong>g> gradient <str<strong>on</strong>g>of</str<strong>on</strong>g> functi<strong>on</strong> U as <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

surface integral <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> product <str<strong>on</strong>g>of</str<strong>on</strong>g> U with an outward-pointing unit normal vector<br />

over c<strong>on</strong>trol volume K, say,<br />

∇U ≈ 1 ∮<br />

UndS. (2.3)<br />

| K | K<br />

The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r <strong>on</strong>e is <str<strong>on</strong>g>the</str<strong>on</strong>g> least square method which <str<strong>on</strong>g>the</str<strong>on</strong>g> gradient is rec<strong>on</strong>structed using<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> all available nearest neighbours. In c<strong>on</strong>trast to Green-Gauss<br />

approach, <str<strong>on</strong>g>the</str<strong>on</strong>g> least square method is more suitable and reliable even <strong>on</strong> highly<br />

stretched meshes. In <str<strong>on</strong>g>the</str<strong>on</strong>g> rest <str<strong>on</strong>g>of</str<strong>on</strong>g> this subsecti<strong>on</strong>, we describe <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong><br />

with <str<strong>on</strong>g>the</str<strong>on</strong>g> least square method.<br />

In fact, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> used in this subsecti<strong>on</strong> bel<strong>on</strong>gs to category <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

k-exact rec<strong>on</strong>structi<strong>on</strong>. For <str<strong>on</strong>g>the</str<strong>on</strong>g> detailed descripti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> k-exact rec<strong>on</strong>structi<strong>on</strong>,<br />

we refer to [2] and references <str<strong>on</strong>g>the</str<strong>on</strong>g>rein. In this secti<strong>on</strong>, we just give <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> k-exact rec<strong>on</strong>structi<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case.<br />

First, we use <str<strong>on</strong>g>the</str<strong>on</strong>g> following principle to choose <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

cell K: <str<strong>on</strong>g>the</str<strong>on</strong>g> cell which has <strong>on</strong>e comm<strong>on</strong> edge with <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K is selected to be <strong>on</strong>e<br />

comp<strong>on</strong>ent <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> patch P K . The dem<strong>on</strong>strati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> patch<br />

P(K) = {K, K 0 , K 1 , K 2 } is shown in Fig. 2.1 (left).<br />

Expanding <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate functi<strong>on</strong> h(x, y) at <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid (x K , y K ) <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell<br />

K by using Taylor expansi<strong>on</strong>, and truncating after <str<strong>on</strong>g>the</str<strong>on</strong>g> linear terms, we get <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

following approximate polynomial:<br />

h(x, y) ≈ a 0 + a 1 (x − x K ) + a 2 (y − y K ). (2.4)<br />

The classical k-exact rec<strong>on</strong>structi<strong>on</strong> actually minimize <str<strong>on</strong>g>the</str<strong>on</strong>g> difference <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell<br />

average <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structed functi<strong>on</strong> h(x, y) and <str<strong>on</strong>g>the</str<strong>on</strong>g> original functi<strong>on</strong> U over each<br />

cell in P K . However, <str<strong>on</strong>g>the</str<strong>on</strong>g>re is <str<strong>on</strong>g>the</str<strong>on</strong>g> following relati<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear functi<strong>on</strong> h(x, y) in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> cell K: <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong> h(x, y) is equal to its functi<strong>on</strong>al value<br />

<strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell. That means if <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average is c<strong>on</strong>served during <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

29


K 2,0<br />

K 1,1<br />

K 1,0<br />

K 1<br />

K 2 K<br />

K<br />

1<br />

K 2<br />

K<br />

K 2,1<br />

K 0<br />

K 0,0<br />

K 0 K 0,1<br />

Figure 2.1: Left: <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch P(K) used for <str<strong>on</strong>g>the</str<strong>on</strong>g> least square<br />

rec<strong>on</strong>structi<strong>on</strong>. Right: four patches, {K, K 0 , K 1 , K 2 }, {K, K 0 , K 0,0 , K 0,1 },<br />

{K, K 1 , K 1,0 , K 1,1 }, and {K, K 2 , K 2,0 , K 2,1 }, which are used for <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong><br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K.<br />

rec<strong>on</strong>structi<strong>on</strong>, a 0 in (2.4) will be known in advance, and equal to <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average<br />

over <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K. So <str<strong>on</strong>g>the</str<strong>on</strong>g> problem becomes <str<strong>on</strong>g>the</str<strong>on</strong>g> minimizati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> difference between<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong>al values <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> neighbours K 0 , K 1 and K 2 and <str<strong>on</strong>g>the</str<strong>on</strong>g> original<br />

values U <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> neighbours. The problem is written as<br />

min<br />

∑<br />

a 1 ,a 2<br />

∀K l ∈P(K)<br />

|| a 0,l − a 0 − a 1 x K,l − a 2 y K,l<br />

d K,l<br />

|| 2 2, (2.5)<br />

where a 0,l is <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average over <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K l , l = 0, 1, 2, and x K,l = (x l − x K ),<br />

y K,l = (y l − y K ). d K,l means <str<strong>on</strong>g>the</str<strong>on</strong>g> length between <str<strong>on</strong>g>the</str<strong>on</strong>g> centroids <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K l and <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

cell K.<br />

By solving (2.5), we can get <str<strong>on</strong>g>the</str<strong>on</strong>g> linear distributi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> cell K.<br />

For all rec<strong>on</strong>structi<strong>on</strong> methods which are higher than first order, a powerful<br />

limiting strategy is necessary for preventing <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s. Limiting<br />

procedure may also enhances <str<strong>on</strong>g>the</str<strong>on</strong>g> robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with improving <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

poor gradient rec<strong>on</strong>structi<strong>on</strong> accuracy caused by <str<strong>on</strong>g>the</str<strong>on</strong>g> lack <str<strong>on</strong>g>of</str<strong>on</strong>g> sufficient grid quality. In<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> next two subsecti<strong>on</strong>s, two different limiting methods are introduced respectively.<br />

2.2.2 The Venkatakrishnan Limiter<br />

In [4], Barth and Jespersen gave <str<strong>on</strong>g>the</str<strong>on</strong>g> first implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a limiter functi<strong>on</strong> <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured mesh. The sufficient c<strong>on</strong>diti<strong>on</strong> to avoid n<strong>on</strong>-physical oscillati<strong>on</strong>s is<br />

30


that no new local extrema are formed during rec<strong>on</strong>structi<strong>on</strong>. Barth and Jespersen<br />

limiter achieves this purpose by introducing a value Φ in each cell to limit <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

gradient which is obtained from rec<strong>on</strong>structi<strong>on</strong>. More precisely,<br />

h ∗ (x, y) = a 0 + Φ(a 1 (x − x K ) + a 2 (y − y K )), Φ ∈ [0, 1], (2.6)<br />

will be used as <str<strong>on</strong>g>the</str<strong>on</strong>g> final approximate polynomial in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K. Barth and Jespersen<br />

used <str<strong>on</strong>g>the</str<strong>on</strong>g> following functi<strong>on</strong> to determine <str<strong>on</strong>g>the</str<strong>on</strong>g> value Φ to prevent <str<strong>on</strong>g>the</str<strong>on</strong>g> formati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

local extrema at <str<strong>on</strong>g>the</str<strong>on</strong>g> Gauss quadrature points (x l , y l ) <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> flux integrati<strong>on</strong> <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

edge,<br />

⎧<br />

⎪⎨<br />

Φ l =<br />

⎪⎩<br />

min(1, ∆ 1,max<br />

∆ 2<br />

), if ∆ 2 > 0<br />

min(1, ∆ 1,min<br />

∆ 2<br />

), if ∆ 2 < 0<br />

1, if ∆ 2 = 0,<br />

, (2.7)<br />

where ∆ 1,max = max(a 0,j − a 0 ) and ∆ 1,min = min(a 0,j − a 0 ) are respectively <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

largest positive and negative difference <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> values <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroids <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

neighbours in K j ∈ P K and <str<strong>on</strong>g>the</str<strong>on</strong>g> current cell K. ∆ 2 = a 1 (x l − x K ) + a 2 (y l − y K ) is<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> difference between <str<strong>on</strong>g>the</str<strong>on</strong>g> unc<strong>on</strong>strained functi<strong>on</strong> value at Gauss quadrature point<br />

(x l , y l ) and <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K. Finally, Φ is determined after looping all <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Gauss quadrature points in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K with<br />

Φ = min(Φ l ). (2.8)<br />

In practice, Barth and Jespersen limiter removed <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s<br />

effectively. However, since <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-differentiability is introduced to <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical<br />

schemes with Barth limiter, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical schemes to <str<strong>on</strong>g>the</str<strong>on</strong>g> steady<br />

state is adversely affected.<br />

To enhance <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting method, Venkatakrishnan introduced<br />

a smooth functi<strong>on</strong> as<br />

f(x) = x2 + 2x<br />

x 2 + x + 2<br />

(2.9)<br />

to replace <str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong> min(·, ·) in (2.7). The difference between two functi<strong>on</strong>s can<br />

be seen from Fig. 2.2.2.<br />

31


Figure 2.2: The min(1, x) functi<strong>on</strong> used in Barth limiter, and its smooth<br />

Venkatakrishnan approximati<strong>on</strong>.<br />

With this modificati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting method is improved.<br />

However, it is found that <str<strong>on</strong>g>the</str<strong>on</strong>g> modified limiter is enactived even in certain regi<strong>on</strong><br />

with smooth soluti<strong>on</strong>. C<strong>on</strong>sequently, <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy would be degraded.<br />

Finally, Venkatakrishnan gave <str<strong>on</strong>g>the</str<strong>on</strong>g> fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r modificati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> limiter to eliminate<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> effect <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> limiter when h j − a 0 ≤ (K∆h) 1.5 , where K is a parameter and ∆h<br />

is <str<strong>on</strong>g>the</str<strong>on</strong>g> diameter <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K. The modified Φ j is given as<br />

⎧<br />

∆ 1,max + ǫ 2 + 2∆ 1,max ∆ 2<br />

⎪⎨<br />

∆ 2 1,max + 2∆2 2 + ∆ 1,max∆ 2 + ǫ 2, if ∆ 2 > 0<br />

Φ j =<br />

∆ 1,min + ǫ 2 + 2∆ 1,min ∆ 2<br />

∆ 2 1,min<br />

⎪⎩<br />

+ 2∆2 2 + ∆ 1,min∆ 2 + ǫ 2, if ∆ 2 < 0<br />

1, if ∆ 2 = 0<br />

, (2.10)<br />

where ǫ 2 = (K∆ h ) 3 .<br />

Venkatakrishnan limiter dem<strong>on</strong>strated <str<strong>on</strong>g>the</str<strong>on</strong>g> superior c<strong>on</strong>vergence properties and<br />

has been widely used. However, Venkatakrishnan limiter can not guarantee <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

strict m<strong>on</strong>ot<strong>on</strong>icity <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> results with K > 0. In o<str<strong>on</strong>g>the</str<strong>on</strong>g>r word, <str<strong>on</strong>g>the</str<strong>on</strong>g> slight oscillati<strong>on</strong>s<br />

may still be observed around <str<strong>on</strong>g>the</str<strong>on</strong>g> shocks. Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore, <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting strategy<br />

proposed in this subsecti<strong>on</strong> actually reduces <str<strong>on</strong>g>the</str<strong>on</strong>g> gradient obtained with <str<strong>on</strong>g>the</str<strong>on</strong>g> fixed<br />

stencil {K, K 0 , K 1 , K 2 }, it can be predicted that <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy will be degraded<br />

by using Venkatakrishnan limiter. To fix <str<strong>on</strong>g>the</str<strong>on</strong>g>se problems, <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO type<br />

rec<strong>on</strong>structi<strong>on</strong> will be introduced in <str<strong>on</strong>g>the</str<strong>on</strong>g> next subsecti<strong>on</strong>.<br />

32


2.2.3 The WENO Rec<strong>on</strong>structi<strong>on</strong><br />

To implement <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K, first we need to select<br />

different rec<strong>on</strong>structi<strong>on</strong> patches. In this paper, <str<strong>on</strong>g>the</str<strong>on</strong>g> patches {K, K 0 , K 1 , K 2 }, {K,<br />

K 0 , K 0,0 , K 0,1 }, {K, K 1 , K 1,0 , K 1,1 }, and {K, K 2 , K 2,0 , K 2,1 } are selected for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell<br />

K, which are shown in Fig. 2.1 (right).<br />

For each patch, <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> procedure described in <str<strong>on</strong>g>the</str<strong>on</strong>g> last subsecti<strong>on</strong> is<br />

implemented to generate <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate linear functi<strong>on</strong> h(x, y) in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K. After<br />

that, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are four linear functi<strong>on</strong>s h i (x, y), i = 0, 1, 2, 3 as candidates for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell<br />

K.<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO schemes, <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>st <strong>on</strong>e <str<strong>on</strong>g>of</str<strong>on</strong>g> four candidates h i (x, y), i = 0, 1, 2, 3<br />

is selected to be <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K. Such operati<strong>on</strong> gives<br />

sharp shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles, and uniform numerical accuracy in <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth regi<strong>on</strong> is kept<br />

very well. However, its inherent n<strong>on</strong>-differentiability prevent <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence to<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> steady state . So <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO schemes are not suitable for simulating <str<strong>on</strong>g>the</str<strong>on</strong>g> steady<br />

problems. Fortunately, <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO schemes improve <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

numerical schemes, in which <str<strong>on</strong>g>the</str<strong>on</strong>g> final approximate polynomial is given by certain<br />

c<strong>on</strong>vex combinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> all <str<strong>on</strong>g>the</str<strong>on</strong>g> candidates. To give <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO<br />

rec<strong>on</strong>structi<strong>on</strong>, first we follow [31] to introduce <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothness indicator for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

polynomial h(x, y) <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K as<br />

S = ∑<br />

1≤|α|≤k<br />

where α is a multi-index and D is <str<strong>on</strong>g>the</str<strong>on</strong>g> derivative operator.<br />

∫<br />

K<br />

| K | |α|−1 (D α h(x, y)) 2 dΩ, (2.11)<br />

Now we need to give <str<strong>on</strong>g>the</str<strong>on</strong>g> weight <str<strong>on</strong>g>of</str<strong>on</strong>g> each candidate <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> polynomials based <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> smoothness indicator. For <str<strong>on</strong>g>the</str<strong>on</strong>g> candidate h j (x, y), <str<strong>on</strong>g>the</str<strong>on</strong>g> weight is<br />

ω j =<br />

˜ω j<br />

∑ 3<br />

i=0 ˜ω , ˜ω i =<br />

i<br />

1<br />

(ǫ + S i ) β , (2.12)<br />

where ǫ is a positive parameter. We follow [31] to choose ǫ = 10 −4 and β = 2 in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

implementati<strong>on</strong>.<br />

33


Figure 2.3: Results <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>mesh-refinement study for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong><br />

without limiting procedure, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> and <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

rec<strong>on</strong>structi<strong>on</strong> with Venkatakrishnan limiter. The initial mesh c<strong>on</strong>tains 64 cells,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> is implemented <strong>on</strong> six successively refined meshes.<br />

The final approximate polynomial for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K is<br />

3∑<br />

h ∗ (x, y) = ω i h i (x, y). (2.13)<br />

i=0<br />

Since <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average is c<strong>on</strong>served by each candidate in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K, and <str<strong>on</strong>g>the</str<strong>on</strong>g> final<br />

approximate polynomial is actually <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vex combinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se candidates with<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> summati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> weights to be 1, <str<strong>on</strong>g>the</str<strong>on</strong>g> final polynomial also c<strong>on</strong>serves <str<strong>on</strong>g>the</str<strong>on</strong>g> cell<br />

average in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K.<br />

The c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> is studied by using <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

smooth functi<strong>on</strong> f = sin(πx) cos(2πy) <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> domain [0, 1] × [0, 1]. The mesh is<br />

generated by EasyMesh [68]. The rec<strong>on</strong>structi<strong>on</strong> is implemented <strong>on</strong> six successively<br />

refined meshes, and <str<strong>on</strong>g>the</str<strong>on</strong>g> results <str<strong>on</strong>g>of</str<strong>on</strong>g> L 2 norm <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> error between <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structed<br />

values and <str<strong>on</strong>g>the</str<strong>on</strong>g> exact values in each cell are shown in Fig. 2.3. From results, we<br />

can see that <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> with Venkatakrishnan limiter degrades <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

c<strong>on</strong>vergence order, while <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> worked very well: even<br />

higher c<strong>on</strong>vergence order than <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>oretical <strong>on</strong>e is obtained.<br />

Note that if <str<strong>on</strong>g>the</str<strong>on</strong>g> criteri<strong>on</strong> to determine <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

rec<strong>on</strong>structi<strong>on</strong> is carried out strictly, <str<strong>on</strong>g>the</str<strong>on</strong>g> patch <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell adjacent to <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary<br />

will be smaller than that <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell inside <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. To keep <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accu-<br />

34


acy and enhance <str<strong>on</strong>g>the</str<strong>on</strong>g> stability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm, <str<strong>on</strong>g>the</str<strong>on</strong>g> patch P(K) for <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary<br />

cell will be enlarged by using <str<strong>on</strong>g>the</str<strong>on</strong>g> cell which has <str<strong>on</strong>g>the</str<strong>on</strong>g> comm<strong>on</strong> vertex with <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K.<br />

2.3 Newt<strong>on</strong> Iterati<strong>on</strong><br />

If <str<strong>on</strong>g>the</str<strong>on</strong>g> system (2.2) is solved implicitly, <str<strong>on</strong>g>the</str<strong>on</strong>g> evaluati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical flux ¯F(U i , U j )<br />

needs to be given based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> unknown varibales U i and U j . Obviously it is impossible.<br />

We can use Newt<strong>on</strong> method to linearize <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>linear system (2.2) as:<br />

∑<br />

∫<br />

e ij ∈∂K i<br />

where ¯F (n) =<br />

e ij<br />

¯F<br />

(n) · n ij dS + ∑<br />

e ij ∈∂K i<br />

∫<br />

¯F(U<br />

(n)<br />

i<br />

(n)<br />

∂ ¯F<br />

(<br />

e ij<br />

δU (n)<br />

i ) · n ij dS<br />

∂U i<br />

+ ∑ ∫<br />

(n)<br />

∂ ¯F<br />

( δU (n)<br />

j ) · n ij dS = 0, (2.14)<br />

e ij ∈∂K<br />

e ij<br />

∂U j i<br />

, U (n)<br />

j ), and <str<strong>on</strong>g>the</str<strong>on</strong>g> terms ∂ ¯F (n) /∂U i and ∂ ¯F (n) /∂U j are refered as<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Flux Jacobians. After each iterati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> U i is updated by<br />

U (n+1)<br />

i<br />

= U (n)<br />

i + τ i δU i (n), (2.15)<br />

where τ i is a relaxati<strong>on</strong> parameter <strong>on</strong> K i .<br />

2.3.1 The Jacobian <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Flux<br />

The calculati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> flux Jacobian ∂ ¯F/∂U i has been discussed extensively in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

references. Often <str<strong>on</strong>g>the</str<strong>on</strong>g> derivatives are obtained by using <str<strong>on</strong>g>the</str<strong>on</strong>g> chain rule, which may<br />

lead to l<strong>on</strong>g and tedious formulas. It is in general difficult to get <str<strong>on</strong>g>the</str<strong>on</strong>g> exact expressi<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se derivatives, especially when <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary c<strong>on</strong>diti<strong>on</strong> is evolved. Even <str<strong>on</strong>g>the</str<strong>on</strong>g>se<br />

approximated derivatives are <str<strong>on</strong>g>of</str<strong>on</strong>g>ten so complex that <str<strong>on</strong>g>the</str<strong>on</strong>g>y give rise to serious difficulties<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong>. As an alternative, we approximate <str<strong>on</strong>g>the</str<strong>on</strong>g> derivatives<br />

using numerical differentiati<strong>on</strong>, which makes <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm c<strong>on</strong>verge successfully.<br />

The Jacobians are based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> data at <str<strong>on</strong>g>the</str<strong>on</strong>g> Gauss points <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary <str<strong>on</strong>g>of</str<strong>on</strong>g> each<br />

cell. First, <str<strong>on</strong>g>the</str<strong>on</strong>g> piecewise polynomial is rec<strong>on</strong>structed <strong>on</strong> each cell, <str<strong>on</strong>g>the</str<strong>on</strong>g>n we can obtain<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> left and right states <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>served variables <strong>on</strong> each edge, as well as <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

numerical flux <str<strong>on</strong>g>of</str<strong>on</strong>g> this edge. Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical differentiati<strong>on</strong> ∂ ¯F/∂U can be<br />

35


obtained by perturbing <str<strong>on</strong>g>the</str<strong>on</strong>g> left or right state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>served variables a little bit.<br />

More precisely, we use <str<strong>on</strong>g>the</str<strong>on</strong>g> following forms to approximate ∂ ¯F/∂U i and ∂ ¯F/∂U j ,<br />

∂ ¯F l<br />

∂U i,m<br />

≈<br />

∂ ¯F l<br />

∂U j,m<br />

≈<br />

¯F l (U (n)<br />

i,m + εδU(n) i,m , U(n) j,m ) − ¯F l (U (n)<br />

i,m , U(n) j,m )<br />

|εδU (n)<br />

i,m | ,<br />

¯F l (U (n)<br />

i,m , U(n) j,m + εδU(n) j,m ) − ¯F l (U (n)<br />

i,m , U(n) j,m )<br />

|εδU (n)<br />

j,m | ,<br />

where ∂ ¯F l /∂U i,m means <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> derivative <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> l-th element <str<strong>on</strong>g>of</str<strong>on</strong>g> vector ¯F respect to<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> m-th element <str<strong>on</strong>g>of</str<strong>on</strong>g> vector U i , and ε is chosen as 10 −6 in our implementati<strong>on</strong> which<br />

is about half-word length <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> machine epsil<strong>on</strong>.<br />

2.3.2 Regularizati<strong>on</strong><br />

Without <str<strong>on</strong>g>the</str<strong>on</strong>g> time evolving term, (2.14) is in fact a singular system. The popular<br />

way to regularize (2.14) is to add an artificial time derivative term to <str<strong>on</strong>g>the</str<strong>on</strong>g> Jacobian<br />

matrix. The term can be written as<br />

∫K i<br />

δU (n)<br />

i<br />

∆t i<br />

dΩ, (2.16)<br />

where ∆t i = CFL∆h i /λ + , and CFL is <str<strong>on</strong>g>the</str<strong>on</strong>g> local CFL number, ∆h i is <str<strong>on</strong>g>the</str<strong>on</strong>g> diameter<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i , λ + is <str<strong>on</strong>g>the</str<strong>on</strong>g> maximal local propagati<strong>on</strong> speed <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system <strong>on</strong> K i .<br />

For time-dependent problems, CFL number should be chosen as about O(1) to<br />

make sure <str<strong>on</strong>g>the</str<strong>on</strong>g> length <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> time step is small enough. Then <str<strong>on</strong>g>the</str<strong>on</strong>g> reliable intermediate<br />

state <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s in each time level could be obtained. But for <str<strong>on</strong>g>the</str<strong>on</strong>g> steady problems,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> intermediate state <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s is no l<strong>on</strong>ger important. All we care about is <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

final steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> flows. In o<str<strong>on</strong>g>the</str<strong>on</strong>g>r word, <str<strong>on</strong>g>the</str<strong>on</strong>g> state <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s when t → ∞<br />

is our aim. So <strong>on</strong>ly if <str<strong>on</strong>g>the</str<strong>on</strong>g> iterati<strong>on</strong> method can c<strong>on</strong>verge, <str<strong>on</strong>g>the</str<strong>on</strong>g> CFL number can<br />

be chosen as large as possible to accelerate <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence rate. Generally, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

CFL should be chosen as about O(1) at <str<strong>on</strong>g>the</str<strong>on</strong>g> beginning time <str<strong>on</strong>g>of</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> whole algorithm. When <str<strong>on</strong>g>the</str<strong>on</strong>g> residual <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system begin to reduce, <str<strong>on</strong>g>the</str<strong>on</strong>g> CFL<br />

number should be increased dynamically to improve <str<strong>on</strong>g>the</str<strong>on</strong>g> efficiency.<br />

36


2.4 Multigrid Method<br />

The implicit method will result in a linear system with a large and sparse matrix.<br />

The multigrid method will be used to solve this system, which can dramatically<br />

improve <str<strong>on</strong>g>the</str<strong>on</strong>g> efficiency <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm. Since Brandt [9] originally developed <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

multigrid method for <str<strong>on</strong>g>the</str<strong>on</strong>g> elliptic partial differential equati<strong>on</strong>s, a lot <str<strong>on</strong>g>of</str<strong>on</strong>g> work has been<br />

d<strong>on</strong>e around this topic. James<strong>on</strong> [34, 35, 36, 37] applied <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method to<br />

solve <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. Then it was employed to solve Navier-Stokes equati<strong>on</strong>s in<br />

[62, 64].<br />

The multigrid method mainly uses <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse mesh in order to drive <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong><br />

<strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> finest mesh faster to <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state. This idea came from <str<strong>on</strong>g>the</str<strong>on</strong>g> discovery<br />

that comm<strong>on</strong> iterative methods such as Jacobian iterative method and Gauss-Seidel<br />

iterative method reduce <str<strong>on</strong>g>the</str<strong>on</strong>g> high-frequency comp<strong>on</strong>ents <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s error efficiently,<br />

while <str<strong>on</strong>g>the</str<strong>on</strong>g> low-frequency parts are usually damped out very slow. C<strong>on</strong>sequently, this<br />

resulted in very low efficiency for <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm to c<strong>on</strong>verge to <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state.<br />

The multigrid method uses this property to accelerate <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

following strategy. First, certain iterative scheme is implemented a few times in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

fine mesh to cancel <str<strong>on</strong>g>the</str<strong>on</strong>g> high-frequency comp<strong>on</strong>ents <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s error. Then certain<br />

projecti<strong>on</strong> operator is used to generate soluti<strong>on</strong>s <strong>on</strong> coarse mesh from soluti<strong>on</strong>s <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> fine mesh, and <str<strong>on</strong>g>the</str<strong>on</strong>g> iterative method is implemented a few times. Since <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

coarse mesh, <str<strong>on</strong>g>the</str<strong>on</strong>g> low-frequency parts <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s error becomes <str<strong>on</strong>g>the</str<strong>on</strong>g> high-frequency<br />

parts, <str<strong>on</strong>g>the</str<strong>on</strong>g> error will be reduced efficiently. Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> correcti<strong>on</strong>s obtained <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

coarse mesh are added back to <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> fine mesh. In <str<strong>on</strong>g>the</str<strong>on</strong>g> practices,<br />

several levels <str<strong>on</strong>g>of</str<strong>on</strong>g> coarse meshes are used to reduce different frequency comp<strong>on</strong>ents <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

soluti<strong>on</strong>s error. With such operati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> whole error is reduced very quickly, and<br />

c<strong>on</strong>vergence is accelerated significantly.<br />

Based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> above descripti<strong>on</strong>, we can see that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are two main ingredients in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method: The Projecti<strong>on</strong> Operator and <str<strong>on</strong>g>the</str<strong>on</strong>g> Smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r. The projecti<strong>on</strong><br />

operator is used to project <str<strong>on</strong>g>the</str<strong>on</strong>g> linear system from <str<strong>on</strong>g>the</str<strong>on</strong>g> fine mesh to <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse mesh,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r is certain iterative method which is used to damp out <str<strong>on</strong>g>the</str<strong>on</strong>g> solu-<br />

38


ti<strong>on</strong>s error. The quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se two operati<strong>on</strong>s determines <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> multigrid<br />

method.<br />

2.4.1 The Projecti<strong>on</strong> Operator<br />

For c<strong>on</strong>structing <str<strong>on</strong>g>the</str<strong>on</strong>g> high quality <str<strong>on</strong>g>of</str<strong>on</strong>g> projecti<strong>on</strong> operator, <str<strong>on</strong>g>the</str<strong>on</strong>g> key is to generate <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

high quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse mesh from <str<strong>on</strong>g>the</str<strong>on</strong>g> fine mesh. It is straightforward for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

structured meshes since <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse meshes can be obtained easily by deleting every<br />

sec<strong>on</strong>d grid line in <str<strong>on</strong>g>the</str<strong>on</strong>g> respective coordinate directi<strong>on</strong>. So <str<strong>on</strong>g>the</str<strong>on</strong>g> diameters <str<strong>on</strong>g>of</str<strong>on</strong>g> each cell<br />

in each level <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse meshes are 2h, 4h, etc., where h is <str<strong>on</strong>g>the</str<strong>on</strong>g> diameter <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

cell in <str<strong>on</strong>g>the</str<strong>on</strong>g> finest mesh. Fig. 2.4 shows <str<strong>on</strong>g>the</str<strong>on</strong>g> fine mesh and <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse meshes for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

structured meshes case.<br />

h 2h 4h<br />

Figure 2.4: Representati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> a fine mesh with meshsize h, and <str<strong>on</strong>g>of</str<strong>on</strong>g> two coarse<br />

meshes with meshsizes 2h and 4h respectively for <str<strong>on</strong>g>the</str<strong>on</strong>g> structured meshes case.<br />

Compared with <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>cise strategy for generating coarse meshes for structured<br />

case, <str<strong>on</strong>g>the</str<strong>on</strong>g> strategy for <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured meshes is much more complicated. To implement<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method effectively for <str<strong>on</strong>g>the</str<strong>on</strong>g> unstructured mesh case, <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse<br />

meshes generated from <str<strong>on</strong>g>the</str<strong>on</strong>g> fine mesh should be uniform. Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore, <str<strong>on</strong>g>the</str<strong>on</strong>g> ratio<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell volumes <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse to <str<strong>on</strong>g>the</str<strong>on</strong>g> fine mesh should be kept around certain<br />

c<strong>on</strong>stant (4 for 2D case, and 8 for 3D case). In spite <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> difficulty <str<strong>on</strong>g>of</str<strong>on</strong>g> generating<br />

coarse mesh for unstructured mesh case, many excellent methods have been proposed<br />

such as <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>ested-grids methods [59, 63], <str<strong>on</strong>g>the</str<strong>on</strong>g> topological methods [69, 3]<br />

39


and <str<strong>on</strong>g>the</str<strong>on</strong>g> agglomerati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>trol volumes method [43, 41]. Am<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g>se methods,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> agglomerati<strong>on</strong> method is a very popular <strong>on</strong>e because <str<strong>on</strong>g>of</str<strong>on</strong>g> its high efficiency. The<br />

agglomerati<strong>on</strong> method generates a coarse mesh by fusing <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

fine mesh with <str<strong>on</strong>g>the</str<strong>on</strong>g>ir neighbours. There are many implementati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> agglomerati<strong>on</strong><br />

methods <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell-vertex schemes. In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, we follow <str<strong>on</strong>g>the</str<strong>on</strong>g> method for<br />

cell-vertex scheme which is proposed in [8] to give a similar implementati<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

cell-centred scheme:<br />

Algorithm 2: [Agglomerati<strong>on</strong> method for cell-centred scheme]<br />

1. Loop over all c<strong>on</strong>trol volumes in <str<strong>on</strong>g>the</str<strong>on</strong>g> current mesh, and build a list <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

so-called seed c<strong>on</strong>trol volumes. Only c<strong>on</strong>trol volume which has at least 3<br />

(for 2D case) unagglomerated neighbours can be selected as a seed c<strong>on</strong>trol<br />

volume;<br />

2. Loop over all seed c<strong>on</strong>trol volumes, agglomerate <str<strong>on</strong>g>the</str<strong>on</strong>g> current seed c<strong>on</strong>trol<br />

volume and its three ”nearest” neighbours as <strong>on</strong>e big c<strong>on</strong>trol volume <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

coarse mesh. The ”nearest” neighbour means <str<strong>on</strong>g>the</str<strong>on</strong>g> adjacent c<strong>on</strong>trol volume<br />

which has <str<strong>on</strong>g>the</str<strong>on</strong>g> most comm<strong>on</strong> edges with <str<strong>on</strong>g>the</str<strong>on</strong>g> seed c<strong>on</strong>trol volume;<br />

3. Loop all c<strong>on</strong>trol volumes in <str<strong>on</strong>g>the</str<strong>on</strong>g> current mesh, and eliminate <str<strong>on</strong>g>the</str<strong>on</strong>g> unagglomerated<br />

c<strong>on</strong>trol volumes. After implementing Step 1 and 2, <str<strong>on</strong>g>the</str<strong>on</strong>g>re may be<br />

some unagglomerated c<strong>on</strong>trol volumes left. If <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume is adjacent<br />

to some big agglomerated c<strong>on</strong>trol volumes, merge it to <str<strong>on</strong>g>the</str<strong>on</strong>g> ”nearest”<br />

<strong>on</strong>e. O<str<strong>on</strong>g>the</str<strong>on</strong>g>rwise, agglomerate this c<strong>on</strong>trol volume and all its unagglomerated<br />

neighbours as a new big c<strong>on</strong>trol volume <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse mesh;<br />

4. Repeat Step 3 until <str<strong>on</strong>g>the</str<strong>on</strong>g>re is no unagglomerated c<strong>on</strong>trol volume in <str<strong>on</strong>g>the</str<strong>on</strong>g> current<br />

mesh;<br />

Algorithm 2 is repeated until all <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse meshes are generated. Fig. 2.5 shows<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> element patches generated <strong>on</strong> four c<strong>on</strong>tinuous levels with Algorithm 2. The<br />

projected linear system <strong>on</strong> each level <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse mesh can be obtained based <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> relati<strong>on</strong> between <str<strong>on</strong>g>the</str<strong>on</strong>g> current mesh and finer mesh. The ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matical descripti<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> projecti<strong>on</strong> procedure is given as below.<br />

40


1.5<br />

1.5<br />

1<br />

1<br />

0.5<br />

0.5<br />

0<br />

0<br />

−0.5<br />

−0.5<br />

−1<br />

−1<br />

−1.5<br />

−1 −0.5 0 0.5 1 1.5 2<br />

−1.5<br />

−1 −0.5 0 0.5 1 1.5 2<br />

1.5<br />

1.5<br />

1<br />

1<br />

0.5<br />

0.5<br />

0<br />

0<br />

−0.5<br />

−0.5<br />

−1<br />

−1<br />

−1.5<br />

−1 −0.5 0 0.5 1 1.5 2<br />

−1.5<br />

−1 −0.5 0 0.5 1 1.5 2<br />

Figure 2.5: Element patches near <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil body <str<strong>on</strong>g>of</str<strong>on</strong>g> NACA 0012 generated by<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> aggregati<strong>on</strong> from a quasi-uniform mesh. It shows <str<strong>on</strong>g>the</str<strong>on</strong>g> element patches <strong>on</strong> four<br />

c<strong>on</strong>tinuous levels.<br />

We denote <str<strong>on</strong>g>the</str<strong>on</strong>g> original partiti<strong>on</strong> <strong>on</strong> ¯Ω as T 0 = T . The implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Algorithm<br />

2 will give a sequence <str<strong>on</strong>g>of</str<strong>on</strong>g> meshes denoted as T m , m = 1, 2, · · ·. For every cell<br />

K i,m+1 ∈ T m+1 , it is a uni<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> some cells in mesh T m :<br />

K i,m+1 = ∩ j∈I(i,m+1) K j,m , (2.19)<br />

where I(i, m + 1) is <str<strong>on</strong>g>the</str<strong>on</strong>g> set <str<strong>on</strong>g>of</str<strong>on</strong>g> indices for cells in T m as a part <str<strong>on</strong>g>of</str<strong>on</strong>g> cell K i,m+1 .<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> linear system (2.18), it can be reformulated as <str<strong>on</strong>g>the</str<strong>on</strong>g> following expressi<strong>on</strong>:<br />

∑<br />

A ij,0 δU i,0 = −R i,0 , (2.20)<br />

j<br />

41


where<br />

A ii,0<br />

= α || R (n)<br />

i<br />

A ij,0 = ∑<br />

e ij ∈K i<br />

∫<br />

R i,0<br />

δU i,0<br />

= R (n)<br />

i ,<br />

= δU (n)<br />

i .<br />

|| l 1 + ∑<br />

e ij ∈K i<br />

∫<br />

(n)<br />

∂ ¯F<br />

e ij<br />

(n)<br />

∂ ¯F<br />

e ij<br />

∂U i<br />

∂U j<br />

· n ij dS, i ≠ j,<br />

· n ij dS,<br />

Then <str<strong>on</strong>g>the</str<strong>on</strong>g> projected linear system <strong>on</strong> mesh level m + 1 from level m is given as<br />

∑<br />

A ij,m+1 δU i,m+1 = −R i,m+1 , (2.21)<br />

j<br />

where<br />

∑ ∑<br />

A ij,m+1 =<br />

A ξη,m , (2.22)<br />

ξ∈I(i,m+1) η∈I(j,m+1)<br />

∑<br />

R i,m+1 =<br />

j,m +<br />

j∈I(i,m+1)(R ∑ A jξ,m δU ξ,m ). (2.23)<br />

ξ<br />

As <str<strong>on</strong>g>the</str<strong>on</strong>g> correcti<strong>on</strong>s obtained from <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh level m+1, δU i,m+1 is added back to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

soluti<strong>on</strong> <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh level m as<br />

δU j,m → δU j,m + δU i,m+1 , if j ∈ I(i, m + 1). (2.24)<br />

2.4.2 The Smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r<br />

The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r important comp<strong>on</strong>ent <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method is <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r. For <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

unstructured mesh case, <str<strong>on</strong>g>the</str<strong>on</strong>g> implicit Lower-Upper Symmetric Gauss-Seidel (LU-<br />

SGS) method has been widely used [7, 71, 95] since it was proposed by Yo<strong>on</strong> and<br />

James<strong>on</strong> [92, 93, 94]. Compared with o<str<strong>on</strong>g>the</str<strong>on</strong>g>r iterative scheme, LU-SGS scheme has<br />

lower numerical complexity, and its memory requirements are modest. Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore,<br />

it can be used <strong>on</strong> both structured and unstructured meshes, and can be implemented<br />

easily <strong>on</strong> parallel computers. Based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> LU-SGS scheme, Chen and Wang [11]<br />

presented <str<strong>on</strong>g>the</str<strong>on</strong>g> Block LU-SGS (BLU-SGS) scheme to solve <str<strong>on</strong>g>the</str<strong>on</strong>g> linearized Jacobian<br />

matrix block by block, and showed impressive results. In our algorithm, <str<strong>on</strong>g>the</str<strong>on</strong>g> BLU-<br />

SGS scheme is adopted as <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method. The procedure<br />

42


<str<strong>on</strong>g>of</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> BLU-SGS scheme <strong>on</strong> mesh level T m can be formulated as two<br />

symmetric loops:<br />

1. For K i,m ∈ T m , loop for i increasingly<br />

δU i,m := A −1<br />

ii,m (R i,m − ∑ i≠j<br />

A ij,m δU j,m ); (2.25)<br />

2. For K i,m ∈ T m , loop for i decreasingly<br />

δU i,m := A −1<br />

ii,m (R i,m − ∑ i≠j<br />

A ij,m δU j,m ). (2.26)<br />

After updating <str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i , <str<strong>on</strong>g>the</str<strong>on</strong>g> system (2.18) is solved by a direct<br />

LU decompositi<strong>on</strong> solver.<br />

Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> V -cycle type iterati<strong>on</strong> is adopted in <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> our linear<br />

multigrid solver. For getting better efficiency, <str<strong>on</strong>g>the</str<strong>on</strong>g> BLU-SGS method is implemented<br />

symmetrically before <str<strong>on</strong>g>the</str<strong>on</strong>g> projecti<strong>on</strong> and after <str<strong>on</strong>g>the</str<strong>on</strong>g> coarse mesh correcti<strong>on</strong>s.<br />

The algorithm <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> V -cycle agglomerati<strong>on</strong> multigrid method for solving <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

linear system is given as<br />

Algorithm 3: [Multigrid method]<br />

1. Let m = 0;<br />

2. For ∑ j A ij,mδU i,m = −R i,m , iterate for 2 or 3 times by using BLU-SGS<br />

method;<br />

3. Check if <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh T m is <str<strong>on</strong>g>the</str<strong>on</strong>g> coarsest mesh, if yes, go to Step 4. O<str<strong>on</strong>g>the</str<strong>on</strong>g>rwise,<br />

get <str<strong>on</strong>g>the</str<strong>on</strong>g> linear system (2.21) <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh T m+1 and let m = m + 1, <str<strong>on</strong>g>the</str<strong>on</strong>g>n go<br />

to Step 2;<br />

4. Implement (2.24) to add correcti<strong>on</strong>s δU i,m obtained from <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh level<br />

m back to <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh level m − 1, and iterate system<br />

∑<br />

j A ij,m−1δU i,m−1 = −R i,m−1 for 2 or 3 times by using block LU-SGS<br />

method;<br />

5. Check if <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh T m−1 is <str<strong>on</strong>g>the</str<strong>on</strong>g> finest <strong>on</strong>e, if yes, stop. O<str<strong>on</strong>g>the</str<strong>on</strong>g>rwise, let<br />

m = m − 1, and go to Step 4;<br />

43


The multigrid algorithm, as <str<strong>on</strong>g>the</str<strong>on</strong>g> inner iterati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> complete Newt<strong>on</strong>-iterati<strong>on</strong><br />

in Algorithm 1, is used for <strong>on</strong>ly a few steps in each Newt<strong>on</strong>-iterati<strong>on</strong>. According to<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> numerical experiences, too many iterati<strong>on</strong>s in <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method will make <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

solver inefficient, especially when <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach number is bigger than 0.9. For <str<strong>on</strong>g>the</str<strong>on</strong>g> low<br />

Mach number case, increasing number <str<strong>on</strong>g>of</str<strong>on</strong>g> iterati<strong>on</strong>s appropriately in <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid<br />

method can decrease <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> iterati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> outer Newt<strong>on</strong> method. In <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

numerical simulati<strong>on</strong>s, we just set <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> iterati<strong>on</strong>s in <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid to be 2,<br />

and it works very well for all numerical simulati<strong>on</strong>s in this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis.<br />

2.5 Boundary C<strong>on</strong>diti<strong>on</strong><br />

As we menti<strong>on</strong>ed in Secti<strong>on</strong> 2.1, <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain we used is Ω := R 2 −Ω c ,<br />

where Ω c denotes <str<strong>on</strong>g>the</str<strong>on</strong>g> domain occupied by <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil, which is <str<strong>on</strong>g>the</str<strong>on</strong>g> body <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> aircraft<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> two-dimensi<strong>on</strong>al case.<br />

In practice, <str<strong>on</strong>g>the</str<strong>on</strong>g> popular way to cope with <str<strong>on</strong>g>the</str<strong>on</strong>g> unbounded domain Ω is to use <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

bounded domain ¯Ω := Ω ⋂ {| x |< R} instead, <str<strong>on</strong>g>the</str<strong>on</strong>g>n remedy <str<strong>on</strong>g>the</str<strong>on</strong>g> truncati<strong>on</strong> error by<br />

using <str<strong>on</strong>g>the</str<strong>on</strong>g> far field vortex correcti<strong>on</strong> technique. For <str<strong>on</strong>g>the</str<strong>on</strong>g> detail <str<strong>on</strong>g>of</str<strong>on</strong>g> this technique, we<br />

refer to [10] and references <str<strong>on</strong>g>the</str<strong>on</strong>g>rein.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical experiments, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are two main boundaries we need to take<br />

care: The farfield boundary and <str<strong>on</strong>g>the</str<strong>on</strong>g> solid wall boundary. A typical dem<strong>on</strong>strati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain is shown in Fig. 2.5.<br />

For a detailed descripti<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary c<strong>on</strong>diti<strong>on</strong>s, we refer to [8] and references<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>rein. In this secti<strong>on</strong>, we just list <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary c<strong>on</strong>diti<strong>on</strong>s which are used<br />

in our simulati<strong>on</strong>s.<br />

2.5.1 Solid Wall Boundary C<strong>on</strong>diti<strong>on</strong><br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> inviscid flows, <str<strong>on</strong>g>the</str<strong>on</strong>g> fluid just slip over <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary. So <str<strong>on</strong>g>the</str<strong>on</strong>g> following formula<br />

is adopted to serve as <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary c<strong>on</strong>diti<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> velocity:<br />

v · n = 0, (2.27)<br />

44


Inflow boundary<br />

Outflow boundary<br />

Solid boundary<br />

Flow steam line<br />

Figure 2.6: Dem<strong>on</strong>strati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> physical domain and boundaries used in numerical<br />

simulati<strong>on</strong>s.<br />

where v is <str<strong>on</strong>g>the</str<strong>on</strong>g> velocity <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> flow <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary, and n is <str<strong>on</strong>g>the</str<strong>on</strong>g> unit outer normal<br />

vector <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> triangular mesh are used. So <strong>on</strong>e layer <str<strong>on</strong>g>of</str<strong>on</strong>g> dummy<br />

cells are employed outside <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary followed <str<strong>on</strong>g>the</str<strong>on</strong>g> suggesti<strong>on</strong> in [22, 21]. The<br />

velocity in <str<strong>on</strong>g>the</str<strong>on</strong>g> dummy cell is set to be<br />

v d = v b − 2(v b · n)n, (2.28)<br />

where v b means <str<strong>on</strong>g>the</str<strong>on</strong>g> velocity in <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary cell, and v d is <str<strong>on</strong>g>the</str<strong>on</strong>g> velocity in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

corresp<strong>on</strong>ding dummy cell. For <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r variables such as <str<strong>on</strong>g>the</str<strong>on</strong>g> density, <str<strong>on</strong>g>the</str<strong>on</strong>g> total<br />

energy and <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> dummy cell, we just set <str<strong>on</strong>g>the</str<strong>on</strong>g>m equal to <str<strong>on</strong>g>the</str<strong>on</strong>g> values in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> corresp<strong>on</strong>ding boundary cell respectively.<br />

2.5.2 Farfield Boundary C<strong>on</strong>diti<strong>on</strong><br />

The derivati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> farfiled boundary c<strong>on</strong>diti<strong>on</strong> is based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>cept <str<strong>on</strong>g>of</str<strong>on</strong>g> characteristic<br />

variables as it was described in [88].<br />

45


For well-posedness it is necessary to impose additi<strong>on</strong>al boundary c<strong>on</strong>diti<strong>on</strong>s <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> artificial boundary to reduce <str<strong>on</strong>g>the</str<strong>on</strong>g> negative influence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> reflecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> any outgoing<br />

disturbances back into <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al regi<strong>on</strong> [8]. For all numerical experiments<br />

in this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, a subs<strong>on</strong>ic free-stream c<strong>on</strong>figurati<strong>on</strong> is used as <str<strong>on</strong>g>the</str<strong>on</strong>g> initial guess<br />

for Newt<strong>on</strong>-iterati<strong>on</strong>. So we just give <str<strong>on</strong>g>the</str<strong>on</strong>g> inflow and outflow boundary c<strong>on</strong>diti<strong>on</strong>s<br />

for <str<strong>on</strong>g>the</str<strong>on</strong>g> subs<strong>on</strong>ic case. For <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r cases, we refer to [8] and references <str<strong>on</strong>g>the</str<strong>on</strong>g>rein.<br />

Let <str<strong>on</strong>g>the</str<strong>on</strong>g> subscript ∞ denotes <str<strong>on</strong>g>the</str<strong>on</strong>g> free-stream values, and subscript e denotes <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

values from <str<strong>on</strong>g>the</str<strong>on</strong>g> interior cells adjacent to <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary. u n is <str<strong>on</strong>g>the</str<strong>on</strong>g> velocity comp<strong>on</strong>ent<br />

normal to <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary, and c = √ γp/ρ is <str<strong>on</strong>g>the</str<strong>on</strong>g> speed <str<strong>on</strong>g>of</str<strong>on</strong>g> sound. The <strong>on</strong>e dimensi<strong>on</strong>al<br />

Riemann invariants al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> outer normal vector <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary are<br />

R 1 = u n +<br />

2c<br />

γ − 1 , R 2 = u n − 2c<br />

γ − 1 , (2.29)<br />

which are corresp<strong>on</strong>d to <str<strong>on</strong>g>the</str<strong>on</strong>g> eigenvalues λ 1 = u n − c and λ 2 = u n + c respectively.<br />

The farfield boundary c<strong>on</strong>diti<strong>on</strong> can be given as<br />

Subs<strong>on</strong>ic inflow<br />

λ 1 < 0, λ 2 > 0, R 1 = R 1∞ , R 2 = R 2e , S = S ∞ , u t = u t∞ , (2.30)<br />

where S = p/ρ γ is <str<strong>on</strong>g>the</str<strong>on</strong>g> entropy and u t is <str<strong>on</strong>g>the</str<strong>on</strong>g> tangential velocity al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary.<br />

Subs<strong>on</strong>ic outflow<br />

λ 1 > 0, λ 2 < 0, R 1 = R 1∞ , R 2 = R 2e , S = S e , u t = u te . (2.31)<br />

Now we have stated main details <str<strong>on</strong>g>of</str<strong>on</strong>g> our algorithm. In <str<strong>on</strong>g>the</str<strong>on</strong>g> next secti<strong>on</strong>, plenty<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> numerical results will be given to dem<strong>on</strong>strate <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence and robustness <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> solver proposed in this chapter.<br />

2.6 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Results<br />

In this secti<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> significant improvement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical results with<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> compared with that in [50] is dem<strong>on</strong>strated. First, a<br />

46


c<strong>on</strong>vergence test <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> subs<strong>on</strong>ic flows is implemented to show that <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>oretical<br />

c<strong>on</strong>vergence order could be obtained. Then we take a c<strong>on</strong>vergence test <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> trans<strong>on</strong>ic<br />

flows which shows that <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s are removed completely.<br />

Results <str<strong>on</strong>g>of</str<strong>on</strong>g> several testes with different free-stream c<strong>on</strong>figurati<strong>on</strong>s and different geometrical<br />

c<strong>on</strong>figurati<strong>on</strong>s are dem<strong>on</strong>strated at <str<strong>on</strong>g>the</str<strong>on</strong>g> end <str<strong>on</strong>g>of</str<strong>on</strong>g> this secti<strong>on</strong> to show <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> our algorithm.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical simulati<strong>on</strong>s, we always use α = 2 (see (2.18)), τ i = τ = 1 (see<br />

(2.15)), β = 2 (see (2.12)), and <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothing steps in <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid solver is 2.<br />

The codes are based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> Adaptive Finite Element Package (AFEPack) developed<br />

by Li and Liu [47]. It will be observed that <str<strong>on</strong>g>the</str<strong>on</strong>g> residual in all experiments are<br />

reduced to 10 −12 .<br />

In all numerical experiments in this secti<strong>on</strong>, we used following quantities as <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

initial guess <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong> iterati<strong>on</strong>: <str<strong>on</strong>g>the</str<strong>on</strong>g> density ρ = 1, <str<strong>on</strong>g>the</str<strong>on</strong>g> velocity V = (u, v) =<br />

(cosθ, sin θ), where θ is <str<strong>on</strong>g>the</str<strong>on</strong>g> attack angle. The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r quantities such as pressure p<br />

and energy e are determined by ρ, V and <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach number.<br />

2.6.1 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> C<strong>on</strong>vergence Tests<br />

Example 2.6.1 The problem is <str<strong>on</strong>g>the</str<strong>on</strong>g> two-dimensi<strong>on</strong>al steady-state, subs<strong>on</strong>ic flow<br />

around a disk at Mach number M ∞ = 0.38 [5].<br />

This test is implemented using linear rec<strong>on</strong>structi<strong>on</strong>, linear WENO rec<strong>on</strong>structi<strong>on</strong><br />

and linear rec<strong>on</strong>structi<strong>on</strong> with Venkatakrishnan limiter respectively. The computati<strong>on</strong>s<br />

are performed <strong>on</strong> four successively refined grids, i.e. 16 × 12, 32 × 24,<br />

64 × 48, 128 × 96 points respectively. Fig. 2.7 shows <str<strong>on</strong>g>the</str<strong>on</strong>g> initial mesh <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> whole<br />

domain and <str<strong>on</strong>g>the</str<strong>on</strong>g> detail around <str<strong>on</strong>g>the</str<strong>on</strong>g> inner circle. The grids extend about 20 diameters<br />

away from <str<strong>on</strong>g>the</str<strong>on</strong>g> circle.<br />

Figs. 2.8-2.11 show <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines obtained with linear WENO rec<strong>on</strong>structi<strong>on</strong>.<br />

The isolines are plotted for values <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach numbers M i = M 0 + i∆M,<br />

i = 0, 1, · · ·, M 0 = 0 and ∆M = 0.038. For <str<strong>on</strong>g>the</str<strong>on</strong>g> exact soluti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> this problem, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

mach isolines should be symmetric. As we can see from <str<strong>on</strong>g>the</str<strong>on</strong>g> results, <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

47


Figure 2.7: Mesh used in <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> subs<strong>on</strong>ic flow around a disk. The<br />

left <strong>on</strong>e is entire mesh, <str<strong>on</strong>g>the</str<strong>on</strong>g> right <strong>on</strong>e is <str<strong>on</strong>g>the</str<strong>on</strong>g> detail <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh around <str<strong>on</strong>g>the</str<strong>on</strong>g> disk.<br />

numerical results becomes better and better with <str<strong>on</strong>g>the</str<strong>on</strong>g> refinement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh.<br />

Note that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are no analytical soluti<strong>on</strong>s for this simulati<strong>on</strong>. Since <str<strong>on</strong>g>the</str<strong>on</strong>g> inviscid<br />

subs<strong>on</strong>ic flow is isentropic, <str<strong>on</strong>g>the</str<strong>on</strong>g> entropy producti<strong>on</strong> in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields can be<br />

used to measure <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical error introduced by <str<strong>on</strong>g>the</str<strong>on</strong>g> methods. The numerical<br />

c<strong>on</strong>vergence is studied for different limiting methods, and results are shown in Fig.<br />

2.12. From <str<strong>on</strong>g>the</str<strong>on</strong>g> results, it is observed that all three methods obtained c<strong>on</strong>vergent<br />

results; <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence order <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with Venkatakrishnan limiter is lower<br />

than that without limiting procedure, while with <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong>, higher<br />

c<strong>on</strong>vergence order than that without limiting procedure is obtained.<br />

Note that in <str<strong>on</strong>g>the</str<strong>on</strong>g> test in Secti<strong>on</strong> 3 which <str<strong>on</strong>g>the</str<strong>on</strong>g> results are shown in Fig. 2.3, and in<br />

this test, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence orders <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with linear WENO rec<strong>on</strong>structi<strong>on</strong><br />

are higher than that without limiting procedure. This could be explained that with<br />

WENO method, <str<strong>on</strong>g>the</str<strong>on</strong>g> stencil which is used to generate <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial in<br />

each cell is actually wider than that without limiting strategy. So with <str<strong>on</strong>g>the</str<strong>on</strong>g> refinement<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh, <str<strong>on</strong>g>the</str<strong>on</strong>g> much more reas<strong>on</strong>able distributi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s is obtained with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

WENO method in each cell.<br />

Example 2.6.2 The problem is <str<strong>on</strong>g>the</str<strong>on</strong>g> two-dimensi<strong>on</strong>al steady-state trans<strong>on</strong>ic flow<br />

around <str<strong>on</strong>g>the</str<strong>on</strong>g> NACA 0012 airfoil at Mach number M ∞ = 0.8 and attack angle 1.25 ◦ .<br />

48


Figure 2.8: The Mach isolines (bottom) obtained with mesh size 16 × 12 (top).<br />

49


Figure 2.9: The Mach isolines (bottom) obtained with mesh size 32 × 24 (top).<br />

50


Figure 2.10: The Mach isolines (bottom) obtained with mesh size 64 × 48 (top).<br />

51


Figure 2.11: The Mach isolines (bottom) obtained with mesh size 128 × 96 (top).<br />

52


Figure 2.12: Results <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh-refinement study for linear rec<strong>on</strong>structi<strong>on</strong> without<br />

limiting procedure, linear WENO rec<strong>on</strong>structi<strong>on</strong> and linear rec<strong>on</strong>structi<strong>on</strong> with<br />

Venkatakrishnan limiter. The error is given as <str<strong>on</strong>g>the</str<strong>on</strong>g> L 2 norm <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> entropy<br />

producti<strong>on</strong>.<br />

In this simulati<strong>on</strong>, two shocks exist around <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil. The str<strong>on</strong>g shock is located<br />

at <str<strong>on</strong>g>the</str<strong>on</strong>g> upper boundary <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil, while <str<strong>on</strong>g>the</str<strong>on</strong>g> weak <strong>on</strong>e is located at <str<strong>on</strong>g>the</str<strong>on</strong>g> lower<br />

boundary. To study <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm, <str<strong>on</strong>g>the</str<strong>on</strong>g> experiment is<br />

implemented <strong>on</strong> three successively refined meshes. There are 2662 cells, 10648 cells<br />

and 42592 cells in three meshes respectively. Fig. 2.13 (left) shows <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh around<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> NACA 0012 airfoil.<br />

Figs. 2.14-2.16 show <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines obtained with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong>.<br />

The numerical c<strong>on</strong>vergence can be read easily from <str<strong>on</strong>g>the</str<strong>on</strong>g> figure. That is,<br />

with <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh becomes denser, <str<strong>on</strong>g>the</str<strong>on</strong>g> shock also becomes sharper. Especially, with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

coarse mesh (2662 cells), <str<strong>on</strong>g>the</str<strong>on</strong>g>re is no shock al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> lower boundary <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil.<br />

It becomes evident when dense mesh is used.<br />

Apart from keeping <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy which is shown in Example 2.6.1,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> results shown in Figs. 2.14-2.16 dem<strong>on</strong>strate that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

WENO rec<strong>on</strong>structi<strong>on</strong> also works very well for <str<strong>on</strong>g>the</str<strong>on</strong>g> cases with shocks in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

flow fields. To dem<strong>on</strong>starte <str<strong>on</strong>g>the</str<strong>on</strong>g> ability <str<strong>on</strong>g>of</str<strong>on</strong>g> preventing n<strong>on</strong>-physical oscillati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

53


Figure 2.13: The mesh grids generated using EasyMesh. Left: <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh around<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> NACA 0012 airfoil, and <str<strong>on</strong>g>the</str<strong>on</strong>g> whole mesh c<strong>on</strong>taining 2662 cells. Right: <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

mesh around <str<strong>on</strong>g>the</str<strong>on</strong>g> RAE 2822 airfoil, and <str<strong>on</strong>g>the</str<strong>on</strong>g> whole mesh c<strong>on</strong>taining 3444 cells.<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> methods, two comparis<strong>on</strong>s between <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan<br />

limiter and <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> method are given. From <str<strong>on</strong>g>the</str<strong>on</strong>g> Figs. 2.17 -<br />

2.19 where <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines around <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil are shown, we can see that although<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan limiter is used, <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical oscillati<strong>on</strong>s are still observed<br />

(top figures), while <str<strong>on</strong>g>the</str<strong>on</strong>g> oscillati<strong>on</strong>s are removed completely by using <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO<br />

rec<strong>on</strong>structi<strong>on</strong> method (bottom figures). The superior <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong><br />

method can be fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r dem<strong>on</strong>strated in Fig. 2.20 where <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure distributi<strong>on</strong>s<br />

al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil are given. As we can see from <str<strong>on</strong>g>the</str<strong>on</strong>g> figure, <str<strong>on</strong>g>the</str<strong>on</strong>g> undershoot and overshoot<br />

phenomena are observed clearly for <str<strong>on</strong>g>the</str<strong>on</strong>g> results obtained with Venkatakrishnan<br />

limiter (left column <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> figure), while n<strong>on</strong>-oscillatory distributi<strong>on</strong>s are given by<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> method.<br />

Example 2.6.1 and Example 2.6.2 show that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm proposed in this paper<br />

is stable and c<strong>on</strong>vergent. With linear WENO rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm keeps<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>oretical c<strong>on</strong>vergence order, and at <str<strong>on</strong>g>the</str<strong>on</strong>g> meantime generates <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-oscillatory<br />

shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles. The following several examples mainly show <str<strong>on</strong>g>the</str<strong>on</strong>g> robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> our<br />

algorithm.<br />

54


Figure 2.14: Free-stream c<strong>on</strong>figurati<strong>on</strong>: Mach number 0.8, attack angle 1.25 ◦ .<br />

The airfoil is NACA 0012, and <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 2662 cells. Top: Mesh details<br />

around <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil. Bottom: The Mach isolines.<br />

55


Figure 2.15: Same as Fig. 2.14, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 10648 cells.<br />

56


Figure 2.16: Same as Fig. 2.14, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 42592 cells.<br />

57


Figure 2.17: The comparis<strong>on</strong> between <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines obtained with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

WENO rec<strong>on</strong>structi<strong>on</strong> (top) and <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> with Venkatakrishnan limiter<br />

(bottom). There are 2662 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

58


Figure 2.18: Same as Fig. 2.17, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 10648 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

domain.<br />

59


Figure 2.19: Same as Fig. 2.17, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 42592 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

domain.<br />

60


-2.5<br />

-1.5<br />

-2<br />

-1<br />

-1.5<br />

Pressure coefficient, Cp<br />

-1<br />

-0.5<br />

0<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

0.5<br />

1<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

-1.5<br />

-1.5<br />

-1<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

-1.5<br />

-1.5<br />

-1<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 2.20: Comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> pressure distributi<strong>on</strong> al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> surface <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

airfoil between <str<strong>on</strong>g>the</str<strong>on</strong>g> results obtained with linear WENO rec<strong>on</strong>structi<strong>on</strong> (left) and<br />

rec<strong>on</strong>structi<strong>on</strong> with Venkatakrishnan limiter (right). The mesh c<strong>on</strong>tains 2662<br />

cells (top), 10648 cells (middle), and 42592 cells (bottom).<br />

61


2.6.2 The Robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Algorithm<br />

To dem<strong>on</strong>strate <str<strong>on</strong>g>the</str<strong>on</strong>g> robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> our algorithm, plenty <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical experiments<br />

are executed in this subsecti<strong>on</strong>, with different free-stream and geometrical c<strong>on</strong>figurati<strong>on</strong>s.<br />

The meshes used in <str<strong>on</strong>g>the</str<strong>on</strong>g> following simulati<strong>on</strong>s are dem<strong>on</strong>strated in Figs.<br />

2.13 and 2.21.<br />

Example 2.6.3 The airfoil is NACA 0012. The free-stream c<strong>on</strong>figurati<strong>on</strong>: Mach<br />

number 0.3, and attack angle 3.0 ◦ . The mesh c<strong>on</strong>tains 2662 cells..<br />

Example 2.6.4 The airfoil is RAE 2822. The free-stream c<strong>on</strong>figurati<strong>on</strong>: Mach<br />

number 0.75, and attack angle 1.0 ◦ . The mesh c<strong>on</strong>tains 3444 cells.<br />

Example 2.6.5 The airfoil is NACA 0012. The free-stream c<strong>on</strong>figurati<strong>on</strong>: Mach<br />

number 0.85, and attack angle 1.0 ◦ . The mesh c<strong>on</strong>tains 2662 cells.<br />

Example 2.6.6 The airfoil is NACA 0012. The free-stream c<strong>on</strong>figurati<strong>on</strong>: Mach<br />

number 0.99, and attack angle 0.0 ◦ . The mesh c<strong>on</strong>tains 2662 cells.<br />

Example 2.6.7 Two airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields: NACA 0012 and RAE 2822. The<br />

free-stream c<strong>on</strong>figurati<strong>on</strong>: Mach number 0.75, and attack angle 1.0 ◦ . The mesh<br />

c<strong>on</strong>tains 7870 cells.<br />

Example 2.6.8 Two NACA 0012 airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields. The free-stream c<strong>on</strong>figurati<strong>on</strong>:<br />

Mach number 0.85, and attack angle 1.0 ◦ . The mesh c<strong>on</strong>tains 2662 cells.<br />

The mesh c<strong>on</strong>tains 4360 cells.<br />

The results <str<strong>on</strong>g>of</str<strong>on</strong>g> Examples 2.6.3-2.6.8 are shown in Figs. 2.22-2.24 respectively. In<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>se results, <str<strong>on</strong>g>the</str<strong>on</strong>g> isolines are plotted for values <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach number M i = M 0 +i∆M,<br />

i = 0, 1, · · ·, M 0 = 0 and ∆M = 0.04. From <str<strong>on</strong>g>the</str<strong>on</strong>g>se results, three observati<strong>on</strong>s can be<br />

made as followings<br />

1. The algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> can handle problems<br />

with a large range <str<strong>on</strong>g>of</str<strong>on</strong>g> free-stream c<strong>on</strong>figurati<strong>on</strong>s, say, from subs<strong>on</strong>ic case with<br />

62


Figure 2.21: The meshes for two airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields. Left: <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh<br />

around a NACA 0012 airfoil and a RAE 2822 airfoil, and <str<strong>on</strong>g>the</str<strong>on</strong>g> whole mesh c<strong>on</strong>tains<br />

7870 cells. Right: <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh around two NACA 0012 airfoils, and <str<strong>on</strong>g>the</str<strong>on</strong>g> whole mesh<br />

c<strong>on</strong>tains 4360 cells.<br />

Mach number 0.3 or even lower to trans<strong>on</strong>ic case with Mach number 0.99, and<br />

different attack angles. For <str<strong>on</strong>g>the</str<strong>on</strong>g> cases with multi-airfoil in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields, it<br />

also works very well. Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore, for all numerical experiments, it is no need<br />

to adjust <str<strong>on</strong>g>the</str<strong>on</strong>g> parameters in (2.18), (2.15), and (2.12);<br />

2. From <str<strong>on</strong>g>the</str<strong>on</strong>g> results <str<strong>on</strong>g>of</str<strong>on</strong>g> pressure distributi<strong>on</strong> al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> surface <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoils, we can<br />

see that our algorithm can remove <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s very effectively,<br />

which is a significant improvement compared with that given in [50] where <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Venkatakrishnan limiter is used.<br />

3. The steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s is achieved successfully for every<br />

numerical experiment. The residual <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system in every simulati<strong>on</strong> is<br />

reduced to <str<strong>on</strong>g>the</str<strong>on</strong>g> machine accuracy with just a few Newt<strong>on</strong>-iterati<strong>on</strong> steps.<br />

2.6.3 Remarks <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> Efficiency <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Algorithm<br />

Examples 2.6.1-2.6.8 show <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence and <str<strong>on</strong>g>the</str<strong>on</strong>g> robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> our algorithm,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> significant improvement <str<strong>on</strong>g>of</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical results with <str<strong>on</strong>g>the</str<strong>on</strong>g> help <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

63


-1.5<br />

-1.5<br />

-1<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 2.22: Results <str<strong>on</strong>g>of</str<strong>on</strong>g> Mach isolines (top), pressure distributi<strong>on</strong> al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

surface <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil (middle), and c<strong>on</strong>vergence history (bottom) obtained using<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong>. Left: NACA 0012 airfoil with<br />

Mach number 0.3 and attack angle 3.0 ◦ . Right: RAE 2822 airfoil with Mach number<br />

0.75 and attack angle 1.0 ◦ 64


-1.5<br />

-1.5<br />

-1<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 2.23: Same as Fig. 2.22, except for <str<strong>on</strong>g>the</str<strong>on</strong>g> free-stream c<strong>on</strong>figurati<strong>on</strong>s:<br />

NACA 0012 airfoil with Mach number 0.85 and attack angle 1.0 ◦ (left), and Mach<br />

number 0.99 and attack angle 0.0 ◦ (right).<br />

65


-1.5<br />

-1.5<br />

-1<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1<br />

1.5<br />

-0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6<br />

Chordwise stati<strong>on</strong>, x/C<br />

1.5<br />

-0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 2.24: Same as Fig. 2.22, except for <str<strong>on</strong>g>the</str<strong>on</strong>g> free-stream c<strong>on</strong>figurati<strong>on</strong>s: <strong>on</strong>e<br />

NACA 0012 airfoil and <strong>on</strong>e RAE 2822 airfoil in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields with Mach number<br />

0.75 and attack angle 1.0 ◦ (left), and two NACA 0012 airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields<br />

with Mach number 0.99 and attack angle 0.0 ◦ (right).<br />

66


WENO rec<strong>on</strong>structi<strong>on</strong>. However, since <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method is used, <str<strong>on</strong>g>the</str<strong>on</strong>g> efficiency<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm is degraded. When <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan limiter is used, just <strong>on</strong>e<br />

2 × 2 system needs to be solved for every cell in each Newt<strong>on</strong> iterati<strong>on</strong>, while it<br />

is four by using <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method. There is a large increment <str<strong>on</strong>g>of</str<strong>on</strong>g> CPU time in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> step when <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method is used. But it should be pointed<br />

out that <str<strong>on</strong>g>the</str<strong>on</strong>g> change <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> overall CPU time <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> whole algorithm is not significant,<br />

mainly because <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> improved <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

Newt<strong>on</strong>-iterati<strong>on</strong> method. For instance, in Example 2.6.4 <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence history<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm is shown in Fig. 2.22 (right column, bottom). From <str<strong>on</strong>g>the</str<strong>on</strong>g> result we<br />

can see that around 70 Newt<strong>on</strong>-iterati<strong>on</strong> steps are needed to solve <str<strong>on</strong>g>the</str<strong>on</strong>g> problem with<br />

residual c<strong>on</strong>vergence up to machine accuracy, while for <str<strong>on</strong>g>the</str<strong>on</strong>g> same example which is<br />

shown in [50] where Venkatakrishnan limiter is used, around 250 Newt<strong>on</strong> iterati<strong>on</strong>s<br />

are needed. In o<str<strong>on</strong>g>the</str<strong>on</strong>g>r word, to solve <str<strong>on</strong>g>the</str<strong>on</strong>g> problem shown in Example 2.6.4, <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm<br />

with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> saved 70% Newt<strong>on</strong>-iterati<strong>on</strong> steps<br />

compared with that when Venkatakrishnan limiter is used.<br />

The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r comparis<strong>on</strong> is given by Fig. 2.23 (left column, bottom) where <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

c<strong>on</strong>vergence histroy for Example 2.6.5 is shown. In [50], almost 90 Newt<strong>on</strong>-iterati<strong>on</strong>s<br />

are needed to make <str<strong>on</strong>g>the</str<strong>on</strong>g> residual c<strong>on</strong>vergent to <str<strong>on</strong>g>the</str<strong>on</strong>g> machine accuracy, while <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

number becomes 60 when <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> is used. For this case, around<br />

30% iterati<strong>on</strong> steps are saved when <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> is used. The speed<br />

up <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong>-iterati<strong>on</strong> method is observed for all o<str<strong>on</strong>g>the</str<strong>on</strong>g>r simulati<strong>on</strong>s in Examples<br />

2.6.2-2.6.8.<br />

To enhance <str<strong>on</strong>g>the</str<strong>on</strong>g> efficiency <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong>, we<br />

also used <str<strong>on</strong>g>the</str<strong>on</strong>g> idea that <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method is implemented <strong>on</strong>ly in <str<strong>on</strong>g>the</str<strong>on</strong>g> ”trouble cells”,<br />

say, in <str<strong>on</strong>g>the</str<strong>on</strong>g> cells which <str<strong>on</strong>g>the</str<strong>on</strong>g> disc<strong>on</strong>tinuities are detected. With this strategy, quite a<br />

lot <str<strong>on</strong>g>of</str<strong>on</strong>g> CPU time is saved. However, <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> numerical results is degraded, and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence to <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state may not be achieved if <str<strong>on</strong>g>the</str<strong>on</strong>g>re exist str<strong>on</strong>g shocks<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields.<br />

We emphasize again that <strong>on</strong>e <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> advantages <str<strong>on</strong>g>of</str<strong>on</strong>g> our proposed scheme is insen-<br />

67


sitive to <str<strong>on</strong>g>the</str<strong>on</strong>g> parameters used in <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>s: α = 2 (see (2.18)), τ i = τ = 1<br />

(see (2.15)), µ = 2 (see (2.12)), and <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothing steps in <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid solver is 2.<br />

2.7 C<strong>on</strong>clusi<strong>on</strong> Remarks<br />

In this chapter, we present a robust linear finite volume solver for inviscid steady<br />

<str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. The algorithm uses Newt<strong>on</strong>-iterati<strong>on</strong> to linearize <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method is used to solve <str<strong>on</strong>g>the</str<strong>on</strong>g> linearized Jacobian matrix<br />

with block LU-SGS iterati<strong>on</strong> as its smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r. Both <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> with<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan limiter and <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> are used to generate<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial in each cell. The local Jacobian matrix <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

numerical fluxes is computed using <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical differentiati<strong>on</strong>, which can simplify<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> significantly. With <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> quality<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> numerical results is improved significantly compared with that obtained with<br />

Venkatakrishnan limiter. The numerical accuracy is kept in <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth regi<strong>on</strong>s,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s are removed effectively at <str<strong>on</strong>g>the</str<strong>on</strong>g> same time. The numerical<br />

simulati<strong>on</strong>s also dem<strong>on</strong>strated <str<strong>on</strong>g>the</str<strong>on</strong>g> robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm: <strong>on</strong>ly <strong>on</strong>e set<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> three parameters (i.e., <str<strong>on</strong>g>the</str<strong>on</strong>g> proporti<strong>on</strong>al c<strong>on</strong>stant α for <str<strong>on</strong>g>the</str<strong>on</strong>g> local residual, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

relaxati<strong>on</strong> parameter τ in <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong>-iterati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> weight β in <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> smoothing steps in <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid solver) is employed for problems<br />

with various geometrical and free-stream c<strong>on</strong>figurati<strong>on</strong>s.<br />

It seems that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm proposed in this paper can not be extended to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

higher order WENO rec<strong>on</strong>structi<strong>on</strong> directly. In fact, <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong><br />

affected <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical schemes, and it may also affect <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> to <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state. From results given in this paper,<br />

we can see that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with linear WENO rec<strong>on</strong>structi<strong>on</strong> is not sensitive<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g> influence. But it does give <str<strong>on</strong>g>the</str<strong>on</strong>g> negative effect to <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

quadratic WENO rec<strong>on</strong>structi<strong>on</strong>. In next chapter, a new hierarchical WENO rec<strong>on</strong>structi<strong>on</strong><br />

method will be introduced to help <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s achieve <str<strong>on</strong>g>the</str<strong>on</strong>g> steady<br />

state successfully.<br />

68


Chapter 3<br />

The Quadratic Solver Based <strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Residual Distributi<strong>on</strong> Schemes<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter, a robust and effective linear finite volume solver is proposed<br />

to solve 2D inviscid steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. However, since linear rec<strong>on</strong>structi<strong>on</strong> is<br />

used, <strong>on</strong>ly sec<strong>on</strong>d-order c<strong>on</strong>vergence is obtained. To obtain higher order accuracy,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> higher order rec<strong>on</strong>structi<strong>on</strong> is needed. In this chapter, we extend <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

solver proposed in <str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter to <str<strong>on</strong>g>the</str<strong>on</strong>g> higher order solver, and discuss several<br />

critical topics about keeping high order numerical accuracy.<br />

On unstructured grids, many high-order methods have been presented <strong>on</strong> unstructured<br />

grids. Barth [2] develops <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>cept <str<strong>on</strong>g>of</str<strong>on</strong>g> k-exact rec<strong>on</strong>structi<strong>on</strong> scheme<br />

for <str<strong>on</strong>g>the</str<strong>on</strong>g> median-dual finite volume scheme. Such technique is extended to <str<strong>on</strong>g>the</str<strong>on</strong>g> cellcentered<br />

finite volume scheme by Mitchell and Walters [67]. Based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> idea<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> selecting <str<strong>on</strong>g>the</str<strong>on</strong>g> locally smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>st stencil, ENO/WENO schemes [40, 52, 74] are<br />

proposed for <str<strong>on</strong>g>the</str<strong>on</strong>g> hyperbolic system <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>servati<strong>on</strong> laws. Recently, Disc<strong>on</strong>tinuous<br />

Galerkin (DG) schemes [13] and Spectral Volume (SV) methods [76, 87] have been<br />

developed; both methods employ <str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> inside <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>trol volume. All<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>se numerical schemes dem<strong>on</strong>strate excellent high-order behaviors.<br />

To extend <str<strong>on</strong>g>the</str<strong>on</strong>g> linear solver proposed in Chapter 2 to <str<strong>on</strong>g>the</str<strong>on</strong>g> higher order case, <str<strong>on</strong>g>the</str<strong>on</strong>g>re<br />

are two classical ways:<br />

69


• The k-exact schemes[2]. The rec<strong>on</strong>structi<strong>on</strong> is based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell averages <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

each cell. The corresp<strong>on</strong>ding least square system minimizes <str<strong>on</strong>g>the</str<strong>on</strong>g> difference<br />

between <str<strong>on</strong>g>the</str<strong>on</strong>g> original cell average and <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average obtained from <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structed<br />

polynomial in each cell. Note that <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>stant term needs to be<br />

adjusted to c<strong>on</strong>serve <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average finally.<br />

• The approximate polynomial in each cell is rec<strong>on</strong>structed based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong>al<br />

value <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> each cell. The corresp<strong>on</strong>ding least square system<br />

minimizes <str<strong>on</strong>g>the</str<strong>on</strong>g> difference between <str<strong>on</strong>g>the</str<strong>on</strong>g> original functi<strong>on</strong> value and <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structed<br />

functi<strong>on</strong> value <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> each cell.<br />

In fact, <str<strong>on</strong>g>the</str<strong>on</strong>g> above two methods are c<strong>on</strong>sistent with each o<str<strong>on</strong>g>the</str<strong>on</strong>g>r in <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

rec<strong>on</strong>structi<strong>on</strong> case because for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear functi<strong>on</strong>, its functi<strong>on</strong> value <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell is equal to its cell average over <str<strong>on</strong>g>the</str<strong>on</strong>g> cell. However, <str<strong>on</strong>g>the</str<strong>on</strong>g>y are different<br />

with each o<str<strong>on</strong>g>the</str<strong>on</strong>g>r for higher order rec<strong>on</strong>structi<strong>on</strong> case. More precisely, <str<strong>on</strong>g>the</str<strong>on</strong>g> k-exact<br />

rec<strong>on</strong>structi<strong>on</strong> method results in a high order finite volume scheme, while <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d<br />

rec<strong>on</strong>structi<strong>on</strong> method results in a high order Residual Distributi<strong>on</strong> (RD) scheme.<br />

The RD schemes have been extensively discussed in <str<strong>on</strong>g>the</str<strong>on</strong>g> literatures [1, 12, 14].<br />

Traditi<strong>on</strong>al RD schemes start with point values <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g>n an interpolati<strong>on</strong><br />

to obtain a polynomial approximati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g>n an approximati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

residual resulting from an integrated versi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state PDE (which, by <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

divergence <str<strong>on</strong>g>the</str<strong>on</strong>g>orem, involves <strong>on</strong>ly integrals <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> flux al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> cell boundaries),<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>n a pseudo-time or ano<str<strong>on</strong>g>the</str<strong>on</strong>g>r method to compute <str<strong>on</strong>g>the</str<strong>on</strong>g> resulting n<strong>on</strong>linear system.<br />

The scheme in this chapter differs from traditi<strong>on</strong>al RD schemes <strong>on</strong>ly in <str<strong>on</strong>g>the</str<strong>on</strong>g> last<br />

step, namely <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>linear system is solved directly by <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong> type method<br />

ra<str<strong>on</strong>g>the</str<strong>on</strong>g>r than through residual distributi<strong>on</strong> and pseudo-time marching. We point out<br />

that our algorithm has almost <str<strong>on</strong>g>the</str<strong>on</strong>g> same efficiency as finite volume schemes <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

unstructured mesh case, since for both schemes, a least square system (5 ×5 for our<br />

scheme and 6 × 6 for finite volume schemes) is solved in every cell in each Newt<strong>on</strong><br />

iterati<strong>on</strong> step.<br />

To implement <str<strong>on</strong>g>the</str<strong>on</strong>g> high order rec<strong>on</strong>structi<strong>on</strong>, a larger rec<strong>on</strong>structi<strong>on</strong> patch is<br />

70


needed compared with linear case. For <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> case, a reas<strong>on</strong>able<br />

choice is to select <str<strong>on</strong>g>the</str<strong>on</strong>g> cell which has <str<strong>on</strong>g>the</str<strong>on</strong>g> comm<strong>on</strong> vertex with <str<strong>on</strong>g>the</str<strong>on</strong>g> current<br />

cell as <str<strong>on</strong>g>the</str<strong>on</strong>g> comp<strong>on</strong>ent <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> patch. By using such criteri<strong>on</strong>, even <str<strong>on</strong>g>the</str<strong>on</strong>g> patch <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

boundary cell can supply sufficient cells for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong>.<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> high order rec<strong>on</strong>structi<strong>on</strong>, we always need certain limiting procedure to<br />

guarantee <str<strong>on</strong>g>the</str<strong>on</strong>g> m<strong>on</strong>ot<strong>on</strong>icity <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s. Since <str<strong>on</strong>g>the</str<strong>on</strong>g> excellent performance<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> in <str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter, a nature method for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> high order rec<strong>on</strong>structi<strong>on</strong> is to use <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method directly. Unfortunately,<br />

this strategy works not well according to our numerical experiments. Because <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

WENO procedure affect <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical scheme, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm may also be prevented. Such phenomena<br />

are also observed in [56] and [97] where <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO methods are used as <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting<br />

strategy. In <str<strong>on</strong>g>the</str<strong>on</strong>g>ir results, <str<strong>on</strong>g>the</str<strong>on</strong>g> residual <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system can not achieve <str<strong>on</strong>g>the</str<strong>on</strong>g> machine<br />

accuracy under certain circumstance.<br />

Recently, a so-called Hierarchical Rec<strong>on</strong>structi<strong>on</strong> method is proposed by Liu et<br />

al.[53, 54] for <str<strong>on</strong>g>the</str<strong>on</strong>g> central and finite volume schemes. Then such limiting strategy<br />

is extended to <str<strong>on</strong>g>the</str<strong>on</strong>g> Disc<strong>on</strong>tinuous Galerkin method by Xu et al.[90] and <str<strong>on</strong>g>the</str<strong>on</strong>g> Spectral<br />

Volume method by Xu et al.[91]. For <str<strong>on</strong>g>the</str<strong>on</strong>g> traditi<strong>on</strong>al limiting methods, all <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

coefficients <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial are c<strong>on</strong>strained at <str<strong>on</strong>g>the</str<strong>on</strong>g> same time according<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g> m<strong>on</strong>ot<strong>on</strong>icity criteri<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s. Different from those<br />

methods, <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical strategy limits <str<strong>on</strong>g>the</str<strong>on</strong>g>se coefficients level by level from <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

highest order terms to <str<strong>on</strong>g>the</str<strong>on</strong>g> lowest order terms. With <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong><br />

technique, <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s are reduced significantly around <str<strong>on</strong>g>the</str<strong>on</strong>g> disc<strong>on</strong>tinuity<br />

regi<strong>on</strong>, and desired numerical accuracy is also kept. However, results shown<br />

in [53, 54, 90, 91] are mainly about <str<strong>on</strong>g>the</str<strong>on</strong>g> unsteady problems. For <str<strong>on</strong>g>the</str<strong>on</strong>g> steady problems,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> solver works not well if <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong> technique proposed<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g>se papers is used directly. The possible reas<strong>on</strong> may be that <str<strong>on</strong>g>the</str<strong>on</strong>g> operators<br />

introduced in <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong> procedure such as <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO schemes,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> minmod functi<strong>on</strong>s affected <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting procedure. So in<br />

71


<str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm in this chapter, <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong><br />

is used with some modificati<strong>on</strong>.<br />

In this chapter, we first give <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> RD<br />

schemes. After <str<strong>on</strong>g>the</str<strong>on</strong>g> initial rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> each cell<br />

such as <str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong> value, <str<strong>on</strong>g>the</str<strong>on</strong>g> gradients and <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d-order derivatives is known.<br />

What <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong> does is to recompute all <str<strong>on</strong>g>the</str<strong>on</strong>g> informati<strong>on</strong> level<br />

by level from <str<strong>on</strong>g>the</str<strong>on</strong>g> highest order terms to <str<strong>on</strong>g>the</str<strong>on</strong>g> lowest order terms by using <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO<br />

method. The quadratic rec<strong>on</strong>structi<strong>on</strong> gives a quadratic polynomial in each cell, for<br />

example, first <str<strong>on</strong>g>the</str<strong>on</strong>g> coefficients <str<strong>on</strong>g>of</str<strong>on</strong>g> sec<strong>on</strong>d-order terms are recomputed using c<strong>on</strong>stant<br />

term and gradients in different rec<strong>on</strong>structi<strong>on</strong> patch, and several candidates for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g>se coefficients are generated. Then <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO schemes are used to determine<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> limited coefficients for <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d-order terms. For <str<strong>on</strong>g>the</str<strong>on</strong>g> linear terms, a similar<br />

way is used to generate <str<strong>on</strong>g>the</str<strong>on</strong>g> limited coefficients with c<strong>on</strong>stant term and <str<strong>on</strong>g>the</str<strong>on</strong>g> updated<br />

sec<strong>on</strong>d-order terms <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> polynomial. The numerical results in <str<strong>on</strong>g>the</str<strong>on</strong>g> final secti<strong>on</strong><br />

show that such limiting strategy works very well: <str<strong>on</strong>g>the</str<strong>on</strong>g> high order numerical accuracy<br />

is kept in <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth regi<strong>on</strong>, at <str<strong>on</strong>g>the</str<strong>on</strong>g> meantime, <str<strong>on</strong>g>the</str<strong>on</strong>g> spurious oscillati<strong>on</strong>s nearby <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

shock regi<strong>on</strong> are removed or reduced significantly.<br />

The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r ingredients <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm are same as <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case. The n<strong>on</strong>linear<br />

<str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s are linearized by Newt<strong>on</strong>-iterati<strong>on</strong> methods, and <str<strong>on</strong>g>the</str<strong>on</strong>g> singular linear<br />

system is regularized by adding <str<strong>on</strong>g>the</str<strong>on</strong>g> factor which depends <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> local residual.<br />

Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> regularized system is solved by using <str<strong>on</strong>g>the</str<strong>on</strong>g> geometrical multigrid methods,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> block LU-SGS iterative scheme is adopted as <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r.<br />

The rest <str<strong>on</strong>g>of</str<strong>on</strong>g> this chapter is organized as follows. In <str<strong>on</strong>g>the</str<strong>on</strong>g> next two secti<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

quadratic rec<strong>on</strong>structi<strong>on</strong> technique and <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical limiting strategy will be<br />

introduced. Then <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary which is <strong>on</strong>e <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> critical topics about<br />

keeping high order numerical accuracy will be discussed in Secti<strong>on</strong> 3.3. Finally,<br />

<str<strong>on</strong>g>Numerical</str<strong>on</strong>g> experiments will be carried out in Secti<strong>on</strong> 3.4.<br />

72


3.1 High order rec<strong>on</strong>structi<strong>on</strong><br />

The discritized steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s can be written as<br />

∑<br />

∫<br />

e ij ∈∂K i<br />

e ij<br />

¯F(Ui , U j ) · n ij dS = 0, (3.1)<br />

where ¯F(U i , U j ) denotes <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical flux, and <str<strong>on</strong>g>the</str<strong>on</strong>g> left and right states <str<strong>on</strong>g>of</str<strong>on</strong>g> each<br />

edge are calculated by using <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomials which are rec<strong>on</strong>structed<br />

with functi<strong>on</strong>al value <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> each cell.<br />

In order to achieve <str<strong>on</strong>g>the</str<strong>on</strong>g> high order accuracy, we need to rec<strong>on</strong>struct a high order<br />

polynomial <strong>on</strong> each cell to describe <str<strong>on</strong>g>the</str<strong>on</strong>g> variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>. In this secti<strong>on</strong>,<br />

we use <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> as an example to describe <str<strong>on</strong>g>the</str<strong>on</strong>g> procedure <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

rec<strong>on</strong>structi<strong>on</strong>.<br />

Expanding <str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong> U at <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>trol volume K by using Taylor expansi<strong>on</strong>,<br />

and truncating after <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic term, we get <str<strong>on</strong>g>the</str<strong>on</strong>g> following approximate<br />

polynomial soluti<strong>on</strong>:<br />

h q (x, y) = a 0 + a 1 (x − x 0 ) + a 2 (y − y 0 ) + 1 2 a 3(x − x 0 ) 2<br />

+a 4 (x − x 0 )(y − y 0 ) + 1 2 a 5(y − y 0 ) 2 . (3.2)<br />

where a 0 = U(x 0 , y 0 ) is <str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong> value at <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> cell. Our goal is<br />

to find out a 1 = U x (x 0 , y 0 ), a 2 = U y (x 0 , y 0 ), a 3 = U xx (x 0 , y 0 ), a 4 = U xy (x 0 , y 0 ) and<br />

a 5 = U yy (x 0 , y 0 ).<br />

The method to obtain above unknowns is <str<strong>on</strong>g>the</str<strong>on</strong>g> least square method. The detail is<br />

as <str<strong>on</strong>g>the</str<strong>on</strong>g> follows. First, we choose <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch for each cell. For <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

rec<strong>on</strong>structi<strong>on</strong> which is described in Chapter 2, <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch c<strong>on</strong>tains<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> current cell K 0 and its direct neighbours K 1 , K 4 , and K 7 . Such patch is too small<br />

for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic case. So for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> enlarged patch which<br />

c<strong>on</strong>tains <str<strong>on</strong>g>the</str<strong>on</strong>g> current cell K 0 and <str<strong>on</strong>g>the</str<strong>on</strong>g> cell which has at least <strong>on</strong>e comm<strong>on</strong> vertex with<br />

K 0 is adopted. The dem<strong>on</strong>strati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> patch P q (K 0 ) = {K i }, i = 0, 1, · · ·12 is shown<br />

in Fig. 3.1. Generally speaking, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are around 13 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch<br />

for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell inside <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain. This is sufficient for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic<br />

73


K 5<br />

K 8<br />

K 9<br />

K 11<br />

K 7<br />

K 4<br />

K 0<br />

K 6<br />

K 12<br />

K 3<br />

K 1 K 2<br />

K 10<br />

Figure 3.1: The rec<strong>on</strong>structi<strong>on</strong> patches P(K) used for <str<strong>on</strong>g>the</str<strong>on</strong>g> least square<br />

rec<strong>on</strong>structi<strong>on</strong>. Left: linear case. Right: quadratic case<br />

rec<strong>on</strong>structi<strong>on</strong>. Even <str<strong>on</strong>g>the</str<strong>on</strong>g> patch <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary cell c<strong>on</strong>tains around 8 cells, that<br />

means <str<strong>on</strong>g>the</str<strong>on</strong>g> criteri<strong>on</strong> for choosing quadratic patch can be used smoothly for every cell<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain.<br />

We obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> unknowns a 1 , a 2 , a 3 , a 4 and a 5 by solving <str<strong>on</strong>g>the</str<strong>on</strong>g> following minimizati<strong>on</strong><br />

problem:<br />

min<br />

a 1 ,a 2 ,a 3 ,a 4 ,a 5<br />

∑<br />

∀K l ∈P q(K 0 ),l≠0<br />

|| a 0,l −a 0 −a 1 x 0l −a 2 y 0l − 1 2 a 3x 2 0l −a 4x 0l y 0l − 1 2 a 5y 2 0l ||2 2 , (3.3)<br />

where a 0,l means <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> value <str<strong>on</strong>g>of</str<strong>on</strong>g> at <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid (x l , y l ) ∈ K l , and x 0l = x l −x 0 ,<br />

y 0l = y l − y 0 .<br />

Before we use <str<strong>on</strong>g>the</str<strong>on</strong>g> obtained approximate polynomial h q (x, y) in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K 0 to<br />

calculate <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical flux, certain limiting procedure should be implemented for<br />

preventing <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical oscillati<strong>on</strong>s. In <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong><br />

works very well. But for higher order schemes, it seems not easy to give a<br />

limiting strategy which can remove <str<strong>on</strong>g>the</str<strong>on</strong>g> spurious oscillati<strong>on</strong>s and also keep <str<strong>on</strong>g>the</str<strong>on</strong>g> high<br />

order accuracy. In [16], two different limiter functi<strong>on</strong>s are designed for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

and quadratic terms respectively, and satisfactory numerical results are obtained.<br />

In [66], <str<strong>on</strong>g>the</str<strong>on</strong>g> classical Venkatakrishnan limiter functi<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d order schemes<br />

is extend to <str<strong>on</strong>g>the</str<strong>on</strong>g> higher order (third- and fourth-order) cases with some modificati<strong>on</strong>s.<br />

The n<strong>on</strong>-oscillatory numerical results are observed in [66], but <str<strong>on</strong>g>the</str<strong>on</strong>g> ability<br />

74


<str<strong>on</strong>g>of</str<strong>on</strong>g> limiter functi<strong>on</strong>s to keep <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy is not clear since <str<strong>on</strong>g>the</str<strong>on</strong>g>re are no<br />

results <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> study <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence order. Recently, Liu et al. present a series<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> papers [53, 54] to describe a new strategy, called hierarchical rec<strong>on</strong>structi<strong>on</strong>, to<br />

limit high order polynomials. The hierarchical rec<strong>on</strong>structi<strong>on</strong> limits each term <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> polynomial in a unified way, which makes <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> easier. In <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

next secti<strong>on</strong>, we will introduce a method to limit (3.2) following <str<strong>on</strong>g>the</str<strong>on</strong>g> idea <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

hierarchical rec<strong>on</strong>structi<strong>on</strong>.<br />

3.2 The WENO hierarchical limiting strategy<br />

Before introducing <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting strategy used in <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm <str<strong>on</strong>g>of</str<strong>on</strong>g> this chapter, we<br />

briefly summarize <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong> proposed in [53, 54, 90] first.<br />

3.2.1 Summarizati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Hierarchical Rec<strong>on</strong>structi<strong>on</strong><br />

After implementing <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> for all cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al<br />

domain, <str<strong>on</strong>g>the</str<strong>on</strong>g>re is a quadratic polynomial in each cell. For example, in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i ,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial is<br />

h i (x, y) = a 0,i + a 1,i (x − x 0 ) + a 2,i (y − y 0 ) + 1 2 a 3,i(x − x 0 ) 2<br />

+a 4,i (x − x 0 )(y − y 0 ) + 1 2 a 5,i(y − y 0 ) 2 . (3.4)<br />

To c<strong>on</strong>strain <str<strong>on</strong>g>the</str<strong>on</strong>g>se polynomials, we first limit <str<strong>on</strong>g>the</str<strong>on</strong>g> coefficients <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d order<br />

terms, a 3,i , a 4,i and a 5,i . Take <str<strong>on</strong>g>the</str<strong>on</strong>g> first partial derivative with respect to x for every<br />

h i (x, y), we obtain<br />

h i,x = a 1,i + a 3,i (x − x i ) + a 4,i (y − y i ). (3.5)<br />

Then we calculate <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average <str<strong>on</strong>g>of</str<strong>on</strong>g> h i,x <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i to obtain ¯h i,x , for all K i<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain. Now we can rec<strong>on</strong>struct <str<strong>on</strong>g>the</str<strong>on</strong>g> linear polynomial based<br />

<strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g>se cell averages ¯h i,x with certain n<strong>on</strong>-oscillatory method, and get <str<strong>on</strong>g>the</str<strong>on</strong>g> new<br />

approximate linear polynomial<br />

˜h i,x = ã 1,i + ã 3,i (x − x i ) + ã 4,i (y − y i ), (3.6)<br />

75


where ã 3,i and ã 4,i are <str<strong>on</strong>g>the</str<strong>on</strong>g> candidates for <str<strong>on</strong>g>the</str<strong>on</strong>g> final limited coefficients a 3,i and a 4,i<br />

respectively.<br />

Similarly, take <str<strong>on</strong>g>the</str<strong>on</strong>g> first derivative with respect to y for every h i (x, y), we obtain<br />

h i,y = a 2,i + a 4,i (x − x i ) + a 5,i (y − y i ).<br />

After calculating <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average in each cell for h i,y and implementing <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>oscillatory<br />

rec<strong>on</strong>structi<strong>on</strong>, we obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> following new approximate linear polynomial<br />

in each cell<br />

˜h i,y = ã 2,i + ã 4,i (x − x i ) + ã 5,i (y − y i ), (3.7)<br />

where ã 4,i and ã 5,i are <str<strong>on</strong>g>the</str<strong>on</strong>g> candidates for <str<strong>on</strong>g>the</str<strong>on</strong>g> final limited coefficients a 4,i and a 5,i<br />

respectively.<br />

Note that <str<strong>on</strong>g>the</str<strong>on</strong>g>re is <strong>on</strong>ly <strong>on</strong>e candidate ã 3,i or ã 5,i for <str<strong>on</strong>g>the</str<strong>on</strong>g> final limited a 3,i or a 5,i<br />

respectively, so <str<strong>on</strong>g>the</str<strong>on</strong>g>se two candidates are used as <str<strong>on</strong>g>the</str<strong>on</strong>g> new values. However, <str<strong>on</strong>g>the</str<strong>on</strong>g>re<br />

are two candidates for <str<strong>on</strong>g>the</str<strong>on</strong>g> final a i,4 which are given in (3.6) and (3.7) respectively.<br />

Certain limiter functi<strong>on</strong> is introduced to determine <str<strong>on</strong>g>the</str<strong>on</strong>g> final value <str<strong>on</strong>g>of</str<strong>on</strong>g> a 4,i .<br />

So far, <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d order informati<strong>on</strong> such as a 3,i , a 4,i and a 5,i has been updated.<br />

The next step is to c<strong>on</strong>strain <str<strong>on</strong>g>the</str<strong>on</strong>g> linear informati<strong>on</strong>, say, to update a 1,i and a 2,i in<br />

(3.4). Equati<strong>on</strong> (3.4) can be reformulated as<br />

h i (x, y) = L i (x, y) + R i (x, y), (3.8)<br />

where L i (x, y) = a 0,i + a 1,i (x − x i ) + a 2,i (y − y i ) is <str<strong>on</strong>g>the</str<strong>on</strong>g> linear part <str<strong>on</strong>g>of</str<strong>on</strong>g> h i (x, y), and<br />

R i (x, y) = 1 2 a 3,i(x −x i ) 2 +a 4,i (x −x i )(y −y i )+ 1 2 a 5,i(y −y i ) 2 is <str<strong>on</strong>g>the</str<strong>on</strong>g> remainder. Note<br />

that a 3,i , a 4,i and a 5,i in R i (x, y) are <str<strong>on</strong>g>the</str<strong>on</strong>g> updated versi<strong>on</strong>. In each cell K i , let Ūi<br />

and ¯R i (x, y) denote <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong> and R i (x, y) in (3.8)<br />

respectively, where ¯R i (x, y) is calculated from <str<strong>on</strong>g>the</str<strong>on</strong>g> updated a 3,i , a 4,i and a 5,i . Then<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> cell average for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear part <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong> ¯L i (x, y) in each cell K i<br />

can be obtained by<br />

¯L i (x, y) = Ūi(x, y) − ¯R i (x, y). (3.9)<br />

After <str<strong>on</strong>g>the</str<strong>on</strong>g> cell average ¯L i (x, y) <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear part <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong> in each<br />

cell is obtained, <str<strong>on</strong>g>the</str<strong>on</strong>g> same n<strong>on</strong>-oscillatory rec<strong>on</strong>structi<strong>on</strong> which is used to generate<br />

76


<str<strong>on</strong>g>the</str<strong>on</strong>g> candidates for quadratic informati<strong>on</strong> could be implemented for each cell. We<br />

obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> new approximate linear part <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong><br />

˜L i = ã 0,i + ã 1,i (x − x i ) + ã 2,i (y − y i ), (3.10)<br />

where ã 1,i and ã 1,i are <str<strong>on</strong>g>the</str<strong>on</strong>g> candidates for <str<strong>on</strong>g>the</str<strong>on</strong>g> final limited coefficients a 1,i and a 2,i<br />

respectively. Since <str<strong>on</strong>g>the</str<strong>on</strong>g>re is <strong>on</strong>ly <strong>on</strong>e candidate for a 1,i and a 2,i , ã 1,i and ã 2,i are used<br />

as <str<strong>on</strong>g>the</str<strong>on</strong>g> final limited values directly.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> last step, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>stant term a 0,i in (3.4) is adjusted in each cell to c<strong>on</strong>serve<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> cell average <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>.<br />

In [54], <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-oscillatory MUSCL or <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d-order ENO strategy is adopted<br />

to implement <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> <strong>on</strong> each level, and <str<strong>on</strong>g>the</str<strong>on</strong>g> minmod functi<strong>on</strong> is<br />

used to determine <str<strong>on</strong>g>the</str<strong>on</strong>g> final value <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> term which has several candidates.<br />

However, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> procedure using minmod or ENO limiter functi<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g>ten fails to give <str<strong>on</strong>g>the</str<strong>on</strong>g> desired order <str<strong>on</strong>g>of</str<strong>on</strong>g> accuracy. By implementing <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong><br />

procedure with a center biased minmod limiter or ENO limiter functi<strong>on</strong><br />

can keep <str<strong>on</strong>g>the</str<strong>on</strong>g> desired order <str<strong>on</strong>g>of</str<strong>on</strong>g> accuracy, but <str<strong>on</strong>g>the</str<strong>on</strong>g> significant overshoots and undershoots<br />

may be introduced [89]. To fix this problem, Xu et al.[89] used WENO-type<br />

linear rec<strong>on</strong>structi<strong>on</strong> procedure as <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-oscillatory method in each level. To fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r<br />

improve <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong><br />

using partial neighbouring cells strategy is proposed. With <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO-type rec<strong>on</strong>structi<strong>on</strong><br />

procedure, <str<strong>on</strong>g>the</str<strong>on</strong>g> desired numerical accuracy is obtained in <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical<br />

simulati<strong>on</strong>s in [89], and <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s are also reduced significantly.<br />

Note that <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong> strategy presented in [53, 54, 90, 91]<br />

is mainly used for solving unsteady problems. Based <strong>on</strong> our numerical experience,<br />

such strategy works not well for simulating <str<strong>on</strong>g>the</str<strong>on</strong>g> steady problems if it is used directly.<br />

For example, since <str<strong>on</strong>g>the</str<strong>on</strong>g> operators such as <str<strong>on</strong>g>the</str<strong>on</strong>g> minmod and <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO functi<strong>on</strong>s are<br />

adopted, <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical schemes is affected. C<strong>on</strong>sequently,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm is also affected.<br />

In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, we <strong>on</strong>ly c<strong>on</strong>sider <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s. So <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

hierarchical rec<strong>on</strong>structi<strong>on</strong> is adopted to prevent <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s, with<br />

77


some modificati<strong>on</strong>s.<br />

3.2.2 Implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> The Hierarchical Rec<strong>on</strong>structi<strong>on</strong><br />

for <str<strong>on</strong>g>Steady</str<strong>on</strong>g> Problems<br />

In this subsecti<strong>on</strong>, we use <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic case as<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> example to describe <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting strategy adopted in our algorithm.<br />

To enhance <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical schemes by using <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical<br />

rec<strong>on</strong>structi<strong>on</strong> method, <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO schemes are aband<strong>on</strong>ed, and <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO<br />

schemes are adopted for <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-oscillatory rec<strong>on</strong>structi<strong>on</strong> in each level. Note that<br />

for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic or higher order rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are always several candidates<br />

generated during <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong> for<br />

such terms (x − x i ) i (y − y i ) j , i, j ≠ 0. To avoid using <str<strong>on</strong>g>the</str<strong>on</strong>g> minmod or similar limiter<br />

functi<strong>on</strong>s to determine <str<strong>on</strong>g>the</str<strong>on</strong>g> final values (since <str<strong>on</strong>g>the</str<strong>on</strong>g> minmod limiter functi<strong>on</strong> also<br />

affects <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical schemes), and to make <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting procedure much simpler, we rec<strong>on</strong>struct <str<strong>on</strong>g>the</str<strong>on</strong>g> whole informati<strong>on</strong><br />

in certain level at <str<strong>on</strong>g>the</str<strong>on</strong>g> same time. For example, for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong>, we<br />

use <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>stant term a 0,i and <str<strong>on</strong>g>the</str<strong>on</strong>g> gradients informati<strong>on</strong> a 1,i and a 2,i to c<strong>on</strong>strain<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d-order informati<strong>on</strong> a 3,i , a 4,i and a 5,i . The problem becomes minimizing<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> difference <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d-order coefficients between <str<strong>on</strong>g>the</str<strong>on</strong>g> original <strong>on</strong>es in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell<br />

K i and <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structed <strong>on</strong>es from <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch P q <str<strong>on</strong>g>of</str<strong>on</strong>g> K i . Then a 3,i ,<br />

a 4,i and a 5,i can be obtained by solving <str<strong>on</strong>g>the</str<strong>on</strong>g> minimizati<strong>on</strong> problem, and we do not<br />

need <str<strong>on</strong>g>the</str<strong>on</strong>g> minmod limiter any more.<br />

As menti<strong>on</strong>ed before, our numerical scheme bel<strong>on</strong>gs to <str<strong>on</strong>g>the</str<strong>on</strong>g> residual distributi<strong>on</strong><br />

schemes. The rec<strong>on</strong>structi<strong>on</strong> is based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong>al value <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> each<br />

cell, <str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structed polynomial is used directly to describe <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s in <str<strong>on</strong>g>the</str<strong>on</strong>g> integral form. So during <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting polynomial, we<br />

just keep <str<strong>on</strong>g>the</str<strong>on</strong>g> functi<strong>on</strong>al value <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> centroid <str<strong>on</strong>g>of</str<strong>on</strong>g> each cell unchanged.<br />

Since <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method is used for <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-oscillatory rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> stencils<br />

for each cell should be determined first. The stencils used in our algorithm for<br />

78


<str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic case are much complicated than that for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case which is shown<br />

in Fig. 2.1. It seems a little difficult to give a clear figure to dem<strong>on</strong>strate it. But<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> principle to determine <str<strong>on</strong>g>the</str<strong>on</strong>g> stencils for quadratic case is same as for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

case. For example, for <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> patch which is shown in Fig. 3.1, we know<br />

that it is <str<strong>on</strong>g>the</str<strong>on</strong>g> patch for <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K 0 . Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore, such rec<strong>on</strong>structi<strong>on</strong> patch is also<br />

selected to rec<strong>on</strong>struct <str<strong>on</strong>g>the</str<strong>on</strong>g> polynomial for <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r cells K i , i = 1, 2, · · · , 12 in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

patch. With such principle, each cell in <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain has around 13<br />

stencils. The linear and quadratic informati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial will<br />

be rec<strong>on</strong>structed with <str<strong>on</strong>g>the</str<strong>on</strong>g>se stencils.<br />

Now we are ready to present <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical limiting procedure used in our<br />

algorithm. Suppose in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i , <str<strong>on</strong>g>the</str<strong>on</strong>g>re are a quadratic polynomial h i (3.4), and<br />

stencils S j , j = 0, 1, 2 · · ·. According to <str<strong>on</strong>g>the</str<strong>on</strong>g> idea <str<strong>on</strong>g>of</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong>, we<br />

first recompute <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic informati<strong>on</strong> a 3,i , a 4,i and a 5,i . Since <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>stant term<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> gradients are known in every cell, we can obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic informati<strong>on</strong><br />

by solving <str<strong>on</strong>g>the</str<strong>on</strong>g> following minimizati<strong>on</strong> problem<br />

min<br />

ã 3,i,j ,ã 4,i,j ,ã 5,i,j<br />

∑<br />

∀K l ∈S j ,l≠i<br />

|| a 0,l −a 0,i −a 1,i x 0l −a 2,i y 0l − 1 2ã3,i,jx 2 0l −ã 4,i,jx 0l y 0l − 1 2ã5,i,jy 2 0l ||2 2 ,<br />

(3.11)<br />

in every stencil. Here ã 3,i,j , ã 4,i,j and ã 5,i,j are <str<strong>on</strong>g>the</str<strong>on</strong>g> candidates <str<strong>on</strong>g>of</str<strong>on</strong>g> coefficients <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

sec<strong>on</strong>d order terms <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i obtained with stencil S j .<br />

After looping all stencil S j , we obtain several candidates for sec<strong>on</strong>d-order informati<strong>on</strong><br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i , say, ã 3,i,j , ã 4,i,j and ã 5,i,j , j = 0, 1, 2, · · · , m. The final limited<br />

quadratic informati<strong>on</strong> is given by using <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method. First, <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothness<br />

indicator is introduced [31] for each candidate<br />

∫<br />

S j = | K i | (ã 2 3,i,j + ã 2 4,i,j + ã 2 5,i,j)dΩ,<br />

K i<br />

(3.12)<br />

where | K i | is <str<strong>on</strong>g>the</str<strong>on</strong>g> area <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i . Then <str<strong>on</strong>g>the</str<strong>on</strong>g> weight <str<strong>on</strong>g>of</str<strong>on</strong>g> each candidate is given as<br />

ω j =<br />

˜ω j<br />

∑<br />

k ˜ω , ˜ω k =<br />

k<br />

1<br />

(ǫ + S k ) µ,<br />

(3.13)<br />

where ǫ = 10 −4 and µ = 1. Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d order informati<strong>on</strong> in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K is<br />

79


presented as<br />

ã k,i =<br />

m∑<br />

ω j ã k,i , k = 3, 4, 5. (3.14)<br />

j=1<br />

The linear informati<strong>on</strong> in each cell K i is also rec<strong>on</strong>structed in a similar way. For<br />

obtaining candidates <str<strong>on</strong>g>of</str<strong>on</strong>g> coefficients <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear terms ã 1,i,j and ã 2,i,j , <str<strong>on</strong>g>the</str<strong>on</strong>g> following<br />

minimizati<strong>on</strong> problem is solved in every stencil S j , j = 0, 1, 2, · · · , m,<br />

min<br />

ã 1,i,j ,ã 2,i,j<br />

∑<br />

∀K l ∈S j ,l≠i<br />

|| a 0,l − a 0,i − ã 1,i,j x 0l − ã 2,i,j y 0l − 1 2 ã 3,i x 2 0l − ã 4,i x 0l y 0l − 1 2 ã 5,i y 2 0l ||2 2 .<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case, <str<strong>on</strong>g>the</str<strong>on</strong>g> following smoothness indicator is used<br />

(3.15)<br />

∫<br />

S j = (ã 2 1,j + ã2 2,j )dΩ.<br />

K i<br />

(3.16)<br />

The coefficients <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear term in each cell is determined in <str<strong>on</strong>g>the</str<strong>on</strong>g> same way to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

quadratic case<br />

ã k,i =<br />

m∑<br />

ω j ã k,i , k = 1, 2, (3.17)<br />

j=1<br />

where ω j is similarly given by (3.13) with <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothness indicator (3.16).<br />

Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate polynomial in <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i after <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting strategy is<br />

h q (x, y) = a 0 + ã 1,i (x − x 0 ) + ã 2,i (y − y 0 ) + 1 2 ã 3,i (x − x 0 ) 2<br />

+ã 4,i (x − x 0 )(y − y 0 ) + 1 2 ã 5,i (y − y 0 ) 2 . (3.18)<br />

Note that <str<strong>on</strong>g>the</str<strong>on</strong>g> parameter µ = 1 used in <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> is different<br />

from µ = 2 used in <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case. The reas<strong>on</strong> is that when µ → ∞, <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO<br />

schemes become <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO schemes. That is, <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>st results are selected as <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

final values. We know that <str<strong>on</strong>g>the</str<strong>on</strong>g> ENO schemes have <str<strong>on</strong>g>the</str<strong>on</strong>g> inherent n<strong>on</strong>-differentiability<br />

which affects <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical schemes. So we<br />

use <str<strong>on</strong>g>the</str<strong>on</strong>g> smaller µ = 1 compared with that <str<strong>on</strong>g>of</str<strong>on</strong>g> linear case to make <str<strong>on</strong>g>the</str<strong>on</strong>g> high order<br />

solver c<strong>on</strong>verge smoothly. Based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical experiments shown in <str<strong>on</strong>g>the</str<strong>on</strong>g> last<br />

secti<strong>on</strong>, µ = 1 works very well.<br />

The c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO hierarchical limiting strategy is studied by using<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> smooth functi<strong>on</strong> f = sin(πx) cos(2πy) <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> domain [0, 1] × [0, 1]. The mesh<br />

80


No. <str<strong>on</strong>g>of</str<strong>on</strong>g> cells L 2 error Order<br />

64 4.99e-02<br />

256 9.36e-03 2.4<br />

1024 1.34e-03 2.8<br />

4096 1.69e-04 3.0<br />

16384 2.11e-05 3.0<br />

65536 2.65e-06 3.0<br />

Table 3.1: L 2 error and c<strong>on</strong>vergence order <str<strong>on</strong>g>of</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> with<br />

hierarchical limiting strategy.<br />

used is generated by EasyMesh [68]. Table 3.1 gives L 2 errors <strong>on</strong> six successively<br />

refined meshes, and <str<strong>on</strong>g>the</str<strong>on</strong>g> expected c<strong>on</strong>vergence order is observed.<br />

3.3 Remarks <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> Curved Boundary<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s in <str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter where <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> is employed,<br />

we use <str<strong>on</strong>g>the</str<strong>on</strong>g> polyg<strong>on</strong> to approximate <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain, see 3.2 (left). It works<br />

well for keeping sec<strong>on</strong>d-order numerical accuracy as we can see in <str<strong>on</strong>g>the</str<strong>on</strong>g> results from<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter. However, when <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic or even higher order rec<strong>on</strong>structi<strong>on</strong><br />

is used in each cell, such crude approximati<strong>on</strong> fails to hold <str<strong>on</strong>g>the</str<strong>on</strong>g> desired numerical<br />

accuracy for <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain with <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary. In Fig. 3.2<br />

(right), for <str<strong>on</strong>g>the</str<strong>on</strong>g> Gauss quadrature formula with two points, <str<strong>on</strong>g>the</str<strong>on</strong>g> exact points should<br />

be point A and B. But with <str<strong>on</strong>g>the</str<strong>on</strong>g> polyg<strong>on</strong> approximati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> quadrature points C<br />

and D are actually used. The difference <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> positi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> points and <str<strong>on</strong>g>the</str<strong>on</strong>g>ir<br />

normal directi<strong>on</strong>s introduces <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d-order error which is not suitable for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

quadratic rec<strong>on</strong>structi<strong>on</strong> case. Thus it becomes important to describe <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary<br />

much more precisely.<br />

In [5], Bassi and Rebay carefully discuss <str<strong>on</strong>g>the</str<strong>on</strong>g> impact <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> accuracy when <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

disc<strong>on</strong>tinuous Galerkin method is used with <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary. From <str<strong>on</strong>g>the</str<strong>on</strong>g>ir results,<br />

81


C<br />

A<br />

D<br />

B<br />

Figure 3.2: The computati<strong>on</strong>al domain (dashed line) and its polyg<strong>on</strong> approximati<strong>on</strong><br />

(solid line).<br />

we can see that even for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear approximati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s in each cell, a high<br />

order approximati<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary cell is necessary to obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> desired<br />

numerical accuracy. This is very different from <str<strong>on</strong>g>the</str<strong>on</strong>g> results which are given in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

last chapter. In <str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter, though <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> is adopted, and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> polyg<strong>on</strong> is used to approximate <str<strong>on</strong>g>the</str<strong>on</strong>g> circle in Example 2.6.1, we still obtain <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

correct and c<strong>on</strong>vergent results with desired c<strong>on</strong>vergence order. This c<strong>on</strong>firms <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

phenomen<strong>on</strong> given in [5] that <str<strong>on</strong>g>the</str<strong>on</strong>g> disc<strong>on</strong>tinuous finite element method suffers from<br />

a piecewise linear approximati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> geometry <str<strong>on</strong>g>of</str<strong>on</strong>g> solid boundaries much more<br />

than standard finite volume schemes. For obtaining desired accuracy, <str<strong>on</strong>g>the</str<strong>on</strong>g> standard<br />

sec<strong>on</strong>d-order geometrical transformati<strong>on</strong> is adopted in [5], and <str<strong>on</strong>g>the</str<strong>on</strong>g> dem<strong>on</strong>strati<strong>on</strong><br />

for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic isoparameteric element is shown in Fig. 3.3 (left).<br />

Besides <str<strong>on</strong>g>the</str<strong>on</strong>g> high order approximati<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary element, Bassi<br />

and Rebay also test <str<strong>on</strong>g>the</str<strong>on</strong>g> case that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> domain approximated<br />

by <str<strong>on</strong>g>the</str<strong>on</strong>g> polyg<strong>on</strong>, but <str<strong>on</strong>g>the</str<strong>on</strong>g> normal directi<strong>on</strong> is adjusted locally al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary<br />

according to element obtained with quadratic geometrical transformati<strong>on</strong>. Though<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> accuracy <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s is still not good, <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s<br />

is improved. In [56], Luo et al. fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r improve <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy by adjusting<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> normal directi<strong>on</strong> in <str<strong>on</strong>g>the</str<strong>on</strong>g> quadrature points with local true surface normal based<br />

82


3<br />

3<br />

5<br />

4<br />

1 2<br />

6<br />

1 2<br />

4<br />

Figure 3.3: Quadratic isoparametric element (left) and simplified quadratic<br />

element (right).<br />

<strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> analytically defined boundary geometries, and <str<strong>on</strong>g>the</str<strong>on</strong>g> desired c<strong>on</strong>vergence order<br />

is observed in <str<strong>on</strong>g>the</str<strong>on</strong>g>ir results.<br />

In most cases, <str<strong>on</strong>g>the</str<strong>on</strong>g>re is <strong>on</strong>ly <strong>on</strong>e curved boundary in each cell in <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al<br />

domain, as shown in Fig. 3.3 (right). Based <strong>on</strong> this observati<strong>on</strong>, Wang and Liu [86]<br />

propose a much simpler sec<strong>on</strong>d-order geometrical transformati<strong>on</strong> which is uniquely<br />

determined by four nodes. Such technique works very well for <str<strong>on</strong>g>the</str<strong>on</strong>g> spectral volume<br />

methods. For details about <str<strong>on</strong>g>the</str<strong>on</strong>g> transformati<strong>on</strong>, we refer to [86].<br />

In our simulati<strong>on</strong> with <str<strong>on</strong>g>the</str<strong>on</strong>g> high-order rec<strong>on</strong>structi<strong>on</strong>, we used <str<strong>on</strong>g>the</str<strong>on</strong>g> method proposed<br />

in [56]. Note that we implemented <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical quadrature with Simps<strong>on</strong><br />

integral formula instead <str<strong>on</strong>g>of</str<strong>on</strong>g> Gauss formula. For <str<strong>on</strong>g>the</str<strong>on</strong>g> Gauss integral formula, <strong>on</strong>ly two<br />

quadrature points are needed to hold <str<strong>on</strong>g>the</str<strong>on</strong>g> third-order numerical accuracy. But <str<strong>on</strong>g>the</str<strong>on</strong>g>se<br />

two points are inside <str<strong>on</strong>g>the</str<strong>on</strong>g> interval <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curved edge. By using Simps<strong>on</strong> formula,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> quadrature points are two vertices and <str<strong>on</strong>g>the</str<strong>on</strong>g> midpoint <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curved edge, see<br />

Fig. 3.4. The vertices are known in advanced, so we <strong>on</strong>ly need to find out <str<strong>on</strong>g>the</str<strong>on</strong>g> midpoint<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curved edge (point C in Fig. 3.4). It make <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> much<br />

simpler. From <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical results dem<strong>on</strong>strated in <str<strong>on</strong>g>the</str<strong>on</strong>g> next secti<strong>on</strong>, we can see<br />

that desired c<strong>on</strong>vergence order is obtained with such approximati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curved<br />

boundary. For <str<strong>on</strong>g>the</str<strong>on</strong>g> edges which are not <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary, we use <str<strong>on</strong>g>the</str<strong>on</strong>g> two-point Gauss<br />

integral formula.<br />

83


C<br />

A<br />

C’<br />

B<br />

Figure 3.4: Quadrature points for Simps<strong>on</strong> formula. In our algorithm, points A,<br />

B, C are used.<br />

The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r details <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> are same<br />

as that with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear rec<strong>on</strong>structi<strong>on</strong> case. The n<strong>on</strong>linear system 3.1 is linearized<br />

by Newt<strong>on</strong> method, and <str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> linear system is regularized with <str<strong>on</strong>g>the</str<strong>on</strong>g> L 1 norm <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> local residual in each cell. Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method is adopted to solve <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

system, and <str<strong>on</strong>g>the</str<strong>on</strong>g> block LU-SGS method is used as <str<strong>on</strong>g>the</str<strong>on</strong>g> smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r in every mesh level.<br />

Now we take <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong>.<br />

3.4 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Results<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> following numerical simulati<strong>on</strong>s, we first show <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm<br />

with <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> when <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO hierarchical limiting procedure<br />

is used, and <str<strong>on</strong>g>the</str<strong>on</strong>g> comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy with results obtained<br />

with linear WENO rec<strong>on</strong>structi<strong>on</strong>. The ability to remove or reduce <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical<br />

oscillati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic WENO hierarchical rec<strong>on</strong>structi<strong>on</strong><br />

is also dem<strong>on</strong>strated in <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d numerical experiment which has shocks in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

domain. For <str<strong>on</strong>g>the</str<strong>on</strong>g> rest <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical experiments, different free-stream and geometrical<br />

c<strong>on</strong>figurati<strong>on</strong>s are tested which show <str<strong>on</strong>g>the</str<strong>on</strong>g> robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s, we always use α = 2 (see (2.18)), τ i = τ = 0.2 (see (2.15)),<br />

µ = 1.0 (see (3.13)), and <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothing steps in <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid solver is 2.<br />

The initial guess for <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong>-iterati<strong>on</strong> method is same as <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case: <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

density ρ = 1.0, <str<strong>on</strong>g>the</str<strong>on</strong>g> velocity V = (u, v) = (cosθ, sin θ), where θ is <str<strong>on</strong>g>the</str<strong>on</strong>g> attack angle.<br />

The o<str<strong>on</strong>g>the</str<strong>on</strong>g>r quantities such as <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure p and <str<strong>on</strong>g>the</str<strong>on</strong>g> energy e are determined by ρ,<br />

84


V toge<str<strong>on</strong>g>the</str<strong>on</strong>g>r with <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach number.<br />

The residual <str<strong>on</strong>g>of</str<strong>on</strong>g> each variable in every experiment reduced to <str<strong>on</strong>g>the</str<strong>on</strong>g> machine accuracy<br />

if <str<strong>on</strong>g>the</str<strong>on</strong>g>re is no special statement.<br />

3.4.1 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> C<strong>on</strong>vergence Tests<br />

Example 3.4.1 The test problem is <str<strong>on</strong>g>the</str<strong>on</strong>g> two-dimensi<strong>on</strong>al steady-state, subs<strong>on</strong>ic flow<br />

around a disk at Mach number M ∞ = 0.38 [5].<br />

The computati<strong>on</strong>s have been performed <strong>on</strong> four successively refined grids, i.e.<br />

16 × 12, 32 × 24, 64 × 48, 128 × 96 points. The initial mesh is shown in Fig. 2.7.<br />

Figs. 3.5-3.8 show <str<strong>on</strong>g>the</str<strong>on</strong>g> comparis<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines obtained with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

WENO rec<strong>on</strong>structi<strong>on</strong> (top) and <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic hierarchical WENO rec<strong>on</strong>structi<strong>on</strong><br />

(bottom) <strong>on</strong> four successively refined meshes. It is obviously observed that <str<strong>on</strong>g>the</str<strong>on</strong>g> symmetry<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines around <str<strong>on</strong>g>the</str<strong>on</strong>g> inner circle is improved with <str<strong>on</strong>g>the</str<strong>on</strong>g> refinement<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes for both case, and <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic results is better than<br />

that <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear results. In fact, from Fig. 3.8 we can see that, <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic case (bottom) are almost perfectly symmetric, while <str<strong>on</strong>g>the</str<strong>on</strong>g>re is a little<br />

flaw for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear case which can be observed from <str<strong>on</strong>g>the</str<strong>on</strong>g> outflow side <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> circle.<br />

The numerical c<strong>on</strong>vergence and <str<strong>on</strong>g>the</str<strong>on</strong>g> superiority <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with quadratic<br />

rec<strong>on</strong>structi<strong>on</strong> are also dem<strong>on</strong>strated in Table 3.2 where <str<strong>on</strong>g>the</str<strong>on</strong>g> L 2 entropy errors <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic hierarchical WENO<br />

rec<strong>on</strong>structi<strong>on</strong>, and <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> without limiting procedure are<br />

listed respectively. First, with <str<strong>on</strong>g>the</str<strong>on</strong>g> refinement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh, <str<strong>on</strong>g>the</str<strong>on</strong>g> error <str<strong>on</strong>g>of</str<strong>on</strong>g> each case<br />

becomes small, and <str<strong>on</strong>g>the</str<strong>on</strong>g> error obtained with quadratic rec<strong>on</strong>structi<strong>on</strong> (whatever <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

limiting procedure is used or not) is always smaller than that obtained with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

linear WENO rec<strong>on</strong>structi<strong>on</strong>. Sec<strong>on</strong>d, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence order <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with<br />

quadratic hierarchical WENO rec<strong>on</strong>structi<strong>on</strong> is always bigger than that with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

linear WENO rec<strong>on</strong>structi<strong>on</strong>. For <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic case, although <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence<br />

order is degraded when limiting procedure is used, <str<strong>on</strong>g>the</str<strong>on</strong>g> difference <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence<br />

order obtained between with and without limiting procedure becomes small when<br />

85


Figure 3.5: The Mach isolines obtained with linear WENO rec<strong>on</strong>structi<strong>on</strong> (top)<br />

and with quadratic rec<strong>on</strong>structi<strong>on</strong> using WENO hierarchical limiting procedure<br />

(bottom). The mesh size is 16 × 12.<br />

86


Figure 3.6: Same as Fig. 3.5, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size is 32 × 24.<br />

87


Figure 3.7: Same as Fig. 3.5, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size is 64 × 48.<br />

88


Figure 3.8: Same as Fig. 3.5, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size is 128 × 96.<br />

89


mesh is globally refined. This means that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with quadratic hierarchical<br />

WENO rec<strong>on</strong>structi<strong>on</strong> successfully kept <str<strong>on</strong>g>the</str<strong>on</strong>g> desired numerical accuracy.<br />

Mesh Err. (L-lim) Order Err. (Q-lim) Order Err. (Q.) Order<br />

16x12 2.50e-01 2.30e-01 1.61e-01<br />

32x24 6.22e-02 2.0 5.05e-02 2.2 2.26e-02 2.8<br />

64x48 1.03e-02 2.6 5.99e-03 3.1 2.52e-03 3.2<br />

128x96 1.74e-03 2.6 6.33e-04 3.2 2.56e-04 3.3<br />

Table 3.2: The L 2 entropy errors and orders <str<strong>on</strong>g>of</str<strong>on</strong>g> c<strong>on</strong>vergence for <str<strong>on</strong>g>the</str<strong>on</strong>g> linear<br />

rec<strong>on</strong>structi<strong>on</strong> and quadratic rec<strong>on</strong>structi<strong>on</strong> computati<strong>on</strong>s for <str<strong>on</strong>g>the</str<strong>on</strong>g> flow around a<br />

circle <strong>on</strong> four successive grids; errors are measured in regi<strong>on</strong>s 0.5 ≤ r ≤ 2.0.<br />

"L-lim" and "Q-lim" stand for linear and quadratic rec<strong>on</strong>structi<strong>on</strong> with limiting<br />

procedure respectively. "Q." stands for quadratic rec<strong>on</strong>structi<strong>on</strong> without<br />

limiting procedure.<br />

It is pointed out that <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> used to measure <str<strong>on</strong>g>the</str<strong>on</strong>g> errors is <str<strong>on</strong>g>the</str<strong>on</strong>g> cirque with<br />

radius from 0.5 to 2.0, which c<strong>on</strong>tains <str<strong>on</strong>g>the</str<strong>on</strong>g> inner boundary. Results in Table 3.2 show<br />

that <str<strong>on</strong>g>the</str<strong>on</strong>g> method we propose to take care <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary works very well.<br />

As we discuss in Secti<strong>on</strong> 3.3 for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong>, if <str<strong>on</strong>g>the</str<strong>on</strong>g> polyg<strong>on</strong> is used<br />

to approximate <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary <str<strong>on</strong>g>of</str<strong>on</strong>g> computati<strong>on</strong>al domain, <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d-order<br />

error will be introduced from <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary, which will pollute <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical<br />

accuracy in <str<strong>on</strong>g>the</str<strong>on</strong>g> whole computati<strong>on</strong>al domain. Table 3.3 shows <str<strong>on</strong>g>the</str<strong>on</strong>g> L 2 entropy error<br />

obtained with quadratic rec<strong>on</strong>structi<strong>on</strong> when polyg<strong>on</strong> is used as <str<strong>on</strong>g>the</str<strong>on</strong>g> approximati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary. From results we can see that, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence order is<br />

degraded significantly, which c<strong>on</strong>firms our discussi<strong>on</strong> in Secti<strong>on</strong> 3.3. Finally, we<br />

give <str<strong>on</strong>g>the</str<strong>on</strong>g> dem<strong>on</strong>strati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines obtained with quadratic rec<strong>on</strong>structi<strong>on</strong><br />

when polyg<strong>on</strong> boundary is used, <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size is 64 × 48, see Fig. 3.9. This figure<br />

shows that even <str<strong>on</strong>g>the</str<strong>on</strong>g> polyg<strong>on</strong> boundary is used, <str<strong>on</strong>g>the</str<strong>on</strong>g> approximate soluti<strong>on</strong>s can still be<br />

obtained, which c<strong>on</strong>firms <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>clusi<strong>on</strong> proposed in [5] that standard finite volume<br />

methods suffer from <str<strong>on</strong>g>the</str<strong>on</strong>g> linear approximati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> curved boundary less than that<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> DG method.<br />

90


Figure 3.9: The Mach isolines obtained with quadratic rec<strong>on</strong>structi<strong>on</strong> using WENO<br />

hierarchical limiting procedure, <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size is 64 × 48. The curved boundary is<br />

approximated with <str<strong>on</strong>g>the</str<strong>on</strong>g> straight line.<br />

Mesh Err. (Q.) Ord.<br />

16x12<br />

1.44e-01<br />

32x24 2.10e-02 2.8<br />

64x48 3.09e-03 2.8<br />

128x96 7.75e-04 2.0<br />

Table 3.3: Same as <str<strong>on</strong>g>the</str<strong>on</strong>g> last columns in Table 3.2, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> curved<br />

boundary is approximated by <str<strong>on</strong>g>the</str<strong>on</strong>g> linear segments.<br />

91


Example 3.4.2 The test problem is a NACA 0012 airfoil in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow field with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

free-stream c<strong>on</strong>diti<strong>on</strong>: Mach number 0.8 and <str<strong>on</strong>g>the</str<strong>on</strong>g> attack angle 1.25 ◦ .<br />

As <str<strong>on</strong>g>the</str<strong>on</strong>g> same example in <str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter, <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>s have been performed<br />

<strong>on</strong> three successively refined grids (2662 cells, 10648 cells and 42592 cells respectively).<br />

The numerical results in Figs. 3.10-3.12 show <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach c<strong>on</strong>tour lines around<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> whole airfoil (top) and nearby <str<strong>on</strong>g>the</str<strong>on</strong>g> shock regi<strong>on</strong> (bottom) with three different<br />

meshes respectively. The results are obtained by using <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic hierarchical<br />

WENO limiting procedure. As expected, <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical c<strong>on</strong>vergence can be read<br />

obviously from <str<strong>on</strong>g>the</str<strong>on</strong>g>se results. With <str<strong>on</strong>g>the</str<strong>on</strong>g> refinement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh, <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines<br />

become smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r, and <str<strong>on</strong>g>the</str<strong>on</strong>g> shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles become sharper.<br />

Besides <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical c<strong>on</strong>vergence, <str<strong>on</strong>g>the</str<strong>on</strong>g> results presented in this example also<br />

dem<strong>on</strong>strate <str<strong>on</strong>g>the</str<strong>on</strong>g> ability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting methods to prevent <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s.<br />

It is obvious that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are very big overshoot and undershoot around <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>ile as shown in Fig. 3.13 (top). The results are obtained without limiting<br />

procedure. As a comparis<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> oscillati<strong>on</strong>s are reduced significantly with <str<strong>on</strong>g>the</str<strong>on</strong>g> help<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>, which is shown in Fig. 3.13 (bottom).<br />

The improvement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s by using <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical<br />

WENO rec<strong>on</strong>structi<strong>on</strong> can also be observed from <str<strong>on</strong>g>the</str<strong>on</strong>g> comparis<strong>on</strong> between results<br />

shown in Figs. 3.14 and 3.11. With <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

Mach isolines shown in Fig. 3.11 are much more ordered than that shown in Fig.<br />

3.14 where <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting procedure is not used.<br />

It should be pointed out that <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical oscillati<strong>on</strong>s are not removed thoroughly<br />

with <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>, as <str<strong>on</strong>g>the</str<strong>on</strong>g> slight overshoot/undershoot<br />

phenomen<strong>on</strong> are still observed in Figs. 3.10-3.12. This seems not avoidable with<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> present hierarchical rec<strong>on</strong>structi<strong>on</strong> strategy; see Liu et al. [53, 54, 89] where<br />

overshoot/undershoot are also observed. More efforts have to be made to improve<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> limiting strategy.<br />

In fact, if we use <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic WENO rec<strong>on</strong>structi<strong>on</strong> method in <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s can be fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r improved. Here <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic<br />

92


Figure 3.10: Mach isolines around <str<strong>on</strong>g>the</str<strong>on</strong>g> whole airfoil (top) and around <str<strong>on</strong>g>the</str<strong>on</strong>g> shock<br />

pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles (bottom) obtained with <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>.<br />

The free-stream c<strong>on</strong>diti<strong>on</strong> is Mach number 0.8 and attack angle 1.25 ◦ . The mesh<br />

c<strong>on</strong>tains 2662 cells.<br />

93


Figure 3.11: Same as Fig. 3.10, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 10648 cells.<br />

94


Figure 3.12: Same as Fig. 3.10, except that <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh c<strong>on</strong>tains 42592 cells.<br />

95


-2<br />

-1.5<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

-2<br />

-1.5<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 3.13: Comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure distributi<strong>on</strong> al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil surface<br />

obtained with two methods: <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with quadratic rec<strong>on</strong>structi<strong>on</strong> where<br />

no limiting procedure is used (top), and with quadratic hierarchical WENO<br />

rec<strong>on</strong>structi<strong>on</strong> (bottom).<br />

96


Figure 3.14: Same as Fig. 3.11, expect that <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting strategy is not used.<br />

97


Figure 3.15: C<strong>on</strong>vergence history <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with quadratic WENO<br />

rec<strong>on</strong>structi<strong>on</strong> (top) and with <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>. The mesh<br />

c<strong>on</strong>tains 42592 cells.<br />

98


WENO rec<strong>on</strong>structi<strong>on</strong> means <str<strong>on</strong>g>the</str<strong>on</strong>g> direct extensi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong><br />

which is presented in <str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter. That is, <str<strong>on</strong>g>the</str<strong>on</strong>g> whole quadratic polynomial<br />

is rec<strong>on</strong>structed in every stencil <str<strong>on</strong>g>of</str<strong>on</strong>g> each cell, <str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> final approximate polynomial<br />

is given by certain c<strong>on</strong>vex combinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se candidates. As our numerical experience<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> results shown in [97], when <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong> is used, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

c<strong>on</strong>vergence order is superior than that obtained without limiting strategy, and <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

n<strong>on</strong>-physical oscillati<strong>on</strong>s are removed effectively. However, <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm is affected by <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic WENO rec<strong>on</strong>structi<strong>on</strong>.<br />

As shown in Fig. 3.15, <str<strong>on</strong>g>the</str<strong>on</strong>g> results <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> top is <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence history <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm<br />

with <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic WENO rec<strong>on</strong>structi<strong>on</strong>, and <str<strong>on</strong>g>the</str<strong>on</strong>g> residual <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system<br />

oscillates around 10 −3 . For <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic hierarchical WENO<br />

rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> system residual achieves <str<strong>on</strong>g>the</str<strong>on</strong>g> machine accuracy smoothly.<br />

One possible method to improve <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm by using <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

quadratic WENO rec<strong>on</strong>structi<strong>on</strong> is maybe <str<strong>on</strong>g>the</str<strong>on</strong>g> usage <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> artificial viscous term in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> governing equati<strong>on</strong>. When <str<strong>on</strong>g>the</str<strong>on</strong>g> artificial viscous term is used, <str<strong>on</strong>g>the</str<strong>on</strong>g> differentiability<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical schemes will be improved, and hopefully <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

steady state <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm will also be improved. Some preliminary results c<strong>on</strong>firm<br />

it, and more effort to improve <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> high order schemes will be taken<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> future work.<br />

3.4.2 Robustness<br />

We apply our algorithm to problems with different free-stream and geometrical<br />

c<strong>on</strong>figurati<strong>on</strong>s.<br />

On different free-stream c<strong>on</strong>figurati<strong>on</strong>s<br />

Three free-stream c<strong>on</strong>figurati<strong>on</strong>s are tested for <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil NACA 0012 or RAE 2822:<br />

Example 3.4.3 Low free-stream Mach number <str<strong>on</strong>g>of</str<strong>on</strong>g> 0.3 and a big attack angle <str<strong>on</strong>g>of</str<strong>on</strong>g> 3 ◦ ,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil is NACA 0012. Results are shown in Fig. 3.16.<br />

99


-1.5<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 3.16: The c<strong>on</strong>tours <str<strong>on</strong>g>of</str<strong>on</strong>g> Mach number (top left), pressure (top right),<br />

surface pressure pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil (bottom left), and c<strong>on</strong>vergence history<br />

(bottom right) for NACA 0012 airfoil with free-stream c<strong>on</strong>figurati<strong>on</strong>: <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach<br />

number is 0.3 and <str<strong>on</strong>g>the</str<strong>on</strong>g> attack angle is 3 ◦ .<br />

Example 3.4.4 Moderate free-stream Mach number <str<strong>on</strong>g>of</str<strong>on</strong>g> 0.73 and attack angle <str<strong>on</strong>g>of</str<strong>on</strong>g> 1 ◦ ,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil is RAE 2822. Results are shown in Fig. 3.17.<br />

Example 3.4.5 High free-stream Mach number <str<strong>on</strong>g>of</str<strong>on</strong>g> 0.99 and attack angle <str<strong>on</strong>g>of</str<strong>on</strong>g> 0.0 ◦ ,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil is NACA0012. Results are shown in Fig. 3.18<br />

The meshes used in all <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical tests are generated by EasyMesh, and are<br />

dem<strong>on</strong>strated in Figs. 2.13. The mesh for NACA 0012 airfoil c<strong>on</strong>tains 2662 cells, and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> mesh for RAE 2822 airfoil c<strong>on</strong>tains 3444 cells. From results shown in Figs. 3.16-<br />

3.18, we can see that our algorithm works very well with <str<strong>on</strong>g>the</str<strong>on</strong>g> same set <str<strong>on</strong>g>of</str<strong>on</strong>g> parameters<br />

100


-1.5<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 3.17: Same as Fig.3.16 except with Mach number 0.73 and attack angle<br />

1.0 ◦ , and <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil is RAE 2822.<br />

indicated at <str<strong>on</strong>g>the</str<strong>on</strong>g> beginning <str<strong>on</strong>g>of</str<strong>on</strong>g> this secti<strong>on</strong>. For all <str<strong>on</strong>g>the</str<strong>on</strong>g> free-stream c<strong>on</strong>figurati<strong>on</strong>s,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> residual <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system reduces to 10 −10 with around 500 Newt<strong>on</strong> iterati<strong>on</strong> steps.<br />

Although <str<strong>on</strong>g>the</str<strong>on</strong>g>re are still slight numerical oscillati<strong>on</strong>s which can be observed from<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> plot <str<strong>on</strong>g>of</str<strong>on</strong>g> surface pressure coefficients, <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO hierarchical limiting strategy<br />

improves <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s nearby <str<strong>on</strong>g>the</str<strong>on</strong>g> shock regi<strong>on</strong> significantly.<br />

On multi-airfoil in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields<br />

To test <str<strong>on</strong>g>the</str<strong>on</strong>g> robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm, we also present <str<strong>on</strong>g>the</str<strong>on</strong>g> following example which<br />

has two airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow field.<br />

Example 3.4.6 One NACA 0012 airfoil and <strong>on</strong>e RAE 2822 airfoil in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow field<br />

with Mach number 0.73 and <str<strong>on</strong>g>the</str<strong>on</strong>g> attack angle 1.0 ◦ .<br />

101


-1.5<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 3.18: Same as Fig.3.16 except with Mach number 0.99 and attack angle<br />

0.0 ◦ .<br />

Fig. 3.19 shows <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> Example 3.4.6. It can be seen from <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

figure that our algorithm works successfully. It is also observed from <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence<br />

history that <str<strong>on</strong>g>the</str<strong>on</strong>g> residual for this case can achieve <str<strong>on</strong>g>the</str<strong>on</strong>g> machine accuracy with almost<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> same number <str<strong>on</strong>g>of</str<strong>on</strong>g> iterati<strong>on</strong>s as that <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> single airfoil case (see Fig. 3.17).<br />

We emphasize again that <strong>on</strong>e <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> advantages <str<strong>on</strong>g>of</str<strong>on</strong>g> our proposed scheme is insensitive<br />

to <str<strong>on</strong>g>the</str<strong>on</strong>g> parameters used in <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>s: α = 2 (see (2.18)), τ i = τ = 0.2<br />

(see (2.15)), µ = 0.2 in <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO procedure, and <str<strong>on</strong>g>the</str<strong>on</strong>g> smoothing steps in <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid<br />

solver is 2. This is in c<strong>on</strong>trast with many existing algorithms where quite a<br />

number <str<strong>on</strong>g>of</str<strong>on</strong>g> parameters have to be fixed case by case.<br />

Of course, by adjusting <str<strong>on</strong>g>the</str<strong>on</strong>g> parameters used, <str<strong>on</strong>g>the</str<strong>on</strong>g> efficiency can be fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r improved.<br />

For example, for simulati<strong>on</strong>s shown in Figs. 3.16 and 3.18, if <str<strong>on</strong>g>the</str<strong>on</strong>g> value<br />

102


-1.5<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1.5<br />

-0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 3.19: Same as Fig.3.17 except with two airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow filed: NACA<br />

0012 and RAE 2822.<br />

τ = τ i = 0.6 is used, <str<strong>on</strong>g>the</str<strong>on</strong>g> iterati<strong>on</strong> steps can be reduced significantly compared with<br />

that by using τ = τ i = 0.2, see Fig. 3.20.<br />

3.5 C<strong>on</strong>clusi<strong>on</strong> Remarks<br />

In this chapter, <str<strong>on</strong>g>the</str<strong>on</strong>g> linear solver proposed in <str<strong>on</strong>g>the</str<strong>on</strong>g> last chapter is extended to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

quadratic case successfully. A new hierarchical WENO limiting strategy is presented,<br />

which can reduce <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical oscillati<strong>on</strong>s significantly and can also keep<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> high numerical accuracy generated by <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong>. Apart from<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> high-order accuracy, <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical examples also dem<strong>on</strong>strate <str<strong>on</strong>g>the</str<strong>on</strong>g> robustness <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

our algorithm: <strong>on</strong>e set <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> four parameters (i.e., <str<strong>on</strong>g>the</str<strong>on</strong>g> proporti<strong>on</strong>al c<strong>on</strong>stant α for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> local residual, <str<strong>on</strong>g>the</str<strong>on</strong>g> relaxati<strong>on</strong> parameter τ in <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong>-iterati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> weight µ<br />

103


Figure 3.20: C<strong>on</strong>vergence history for NACA 0012 airfoil in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow filed with<br />

free-stream c<strong>on</strong>figurati<strong>on</strong>: Mach number 0.3, attack angle 3 ◦ (left), and Mach<br />

number 0.99, attack angle 0 ◦ (right). The parameter τ = τ i = 0.6 is used.<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO scheme, and <str<strong>on</strong>g>the</str<strong>on</strong>g> number <str<strong>on</strong>g>of</str<strong>on</strong>g> smoothing steps in <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid solver)<br />

is sufficient for various geometrical c<strong>on</strong>figurati<strong>on</strong>s and free-stream c<strong>on</strong>figurati<strong>on</strong>s.<br />

This is regarded as a str<strong>on</strong>g indicator <str<strong>on</strong>g>of</str<strong>on</strong>g> robustness. Of course, <str<strong>on</strong>g>the</str<strong>on</strong>g> efficiency can be<br />

optimized by adjusting <str<strong>on</strong>g>the</str<strong>on</strong>g>se parameters case by case.<br />

The hierarchical WENO limiting strategy used in this paper works smoothly<br />

for all <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical experiments. However, <str<strong>on</strong>g>the</str<strong>on</strong>g> slight undershoot/overshoot phenomen<strong>on</strong><br />

can still be observed near <str<strong>on</strong>g>the</str<strong>on</strong>g> shocks. This will be fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r studied in future<br />

by improving <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting strategy.<br />

It is important to point out that <str<strong>on</strong>g>the</str<strong>on</strong>g> scheme in this paper is not cheaper than <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

traditi<strong>on</strong>al finite volume schemes, since <str<strong>on</strong>g>the</str<strong>on</strong>g> least square interpolati<strong>on</strong> used in this<br />

paper is not less expensive than <str<strong>on</strong>g>the</str<strong>on</strong>g> traditi<strong>on</strong>al least square rec<strong>on</strong>structi<strong>on</strong> from cell<br />

averages in a finite volume setting. This is different from <str<strong>on</strong>g>the</str<strong>on</strong>g> residual distributi<strong>on</strong><br />

scheme in Chou and Shu [12] in which a n<strong>on</strong>-smooth tensor product mesh is assumed<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> interpolati<strong>on</strong> is avoided. A numerical integrati<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> flux al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

cell boundary is directly computed based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> point values <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> al<strong>on</strong>g<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> line <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell boundary, thus resulting in significant cost saving over finite<br />

volume schemes.<br />

In Chapters 2 and 3, <str<strong>on</strong>g>the</str<strong>on</strong>g> fixed meshes are used in <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s. Compared<br />

104


with <str<strong>on</strong>g>the</str<strong>on</strong>g> whole physical domain, <str<strong>on</strong>g>the</str<strong>on</strong>g> domain occupied by <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoils is relatively<br />

much smaller. Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore, generally we <strong>on</strong>ly c<strong>on</strong>centrate <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s around<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> airfoils. For <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong>s far away from <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoils, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are almost no variati<strong>on</strong>s<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s. For <str<strong>on</strong>g>the</str<strong>on</strong>g> fixed mesh case, if a very dense mesh is used to obtain <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

high quality numerical accuracy around <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil, a large amount <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh grids<br />

are also distributed in those regi<strong>on</strong>s far away from <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoils. C<strong>on</strong>sequently, very<br />

much CPU time and large memory are needed to solve this large system. In <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

next chapter, <str<strong>on</strong>g>the</str<strong>on</strong>g> adaptive techniques will be employed to optimize <str<strong>on</strong>g>the</str<strong>on</strong>g> efficiency <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm proposed in Chapters 2 and 3.<br />

105


Chapter 4<br />

Combinati<strong>on</strong> with <str<strong>on</strong>g>the</str<strong>on</strong>g> Adaptive<br />

Techniques<br />

In Chapters 2 and 3, to obtain high resoluti<strong>on</strong> results, <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh was globally refined,<br />

see Figs. 2.8-2.11, and 2.14-2.16 in Chapter 2, and corresp<strong>on</strong>ding results shown in<br />

Chapter 3.<br />

For some problems, <str<strong>on</strong>g>the</str<strong>on</strong>g>y have <str<strong>on</strong>g>the</str<strong>on</strong>g> following comm<strong>on</strong> properties. In most parts<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain, <str<strong>on</strong>g>the</str<strong>on</strong>g> variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical is very small. Just in a<br />

very small regi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s vary dramatically. If <str<strong>on</strong>g>the</str<strong>on</strong>g> global refinement<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh was used to obtain high resoluti<strong>on</strong> results, a large amount <str<strong>on</strong>g>of</str<strong>on</strong>g> degree <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

freedoms will be wasted. In fact, we just need a large amount <str<strong>on</strong>g>of</str<strong>on</strong>g> degrees <str<strong>on</strong>g>of</str<strong>on</strong>g> freedoms<br />

in that small regi<strong>on</strong> where <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s vary dramatically.<br />

So far, <str<strong>on</strong>g>the</str<strong>on</strong>g>re are three classical methods to optimize <str<strong>on</strong>g>the</str<strong>on</strong>g> distributi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> degree<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> freedoms [77]:<br />

• h-method. The h-method involves automatic refinement or coarsening <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

spatial mesh based <strong>on</strong> a posteriori error estimates or error indicators. The<br />

overall method c<strong>on</strong>tains two independent parts, i.e. a soluti<strong>on</strong> algorithm and<br />

a mesh selecti<strong>on</strong> algorithm.<br />

• p-method. The p-method involves <str<strong>on</strong>g>the</str<strong>on</strong>g> adaptive enrichment <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> polynomial<br />

order.<br />

106


• r-method. The r-method is also known as moving mesh method (MMM).<br />

It relocates grid points in a mesh having a fixed number <str<strong>on</strong>g>of</str<strong>on</strong>g> nodes in such a<br />

way that <str<strong>on</strong>g>the</str<strong>on</strong>g> nodes remain c<strong>on</strong>centrated in regi<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> rapid variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

soluti<strong>on</strong>.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> following two secti<strong>on</strong>s, we briefly introduce <str<strong>on</strong>g>the</str<strong>on</strong>g> moving mesh method with<br />

some relevant applicati<strong>on</strong>s. The moving mesh method used in <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical simulati<strong>on</strong>s<br />

is based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> harm<strong>on</strong>ic mapping approach, which was first introduced by<br />

Dvinsky [18] and fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r developped by Li et al. [48, 49]. Based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>siderati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> existence and uniqueness <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> harm<strong>on</strong>ic mapping, <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm proposed<br />

by Li et al. [48, 49] can <strong>on</strong>ly be used for <str<strong>on</strong>g>the</str<strong>on</strong>g> simply c<strong>on</strong>nected domains. As <str<strong>on</strong>g>the</str<strong>on</strong>g> domains<br />

in Chapters 2 and 3 are multiply c<strong>on</strong>nected domains, <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive method<br />

will be c<strong>on</strong>sidered in Secti<strong>on</strong> 4.2 to improve <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithms proposed in Chapters 2<br />

and 3.<br />

4.1 Moving Finite Element Method for <str<strong>on</strong>g>the</str<strong>on</strong>g> Simulati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> Gravity Fingers in Porous Media<br />

In [33], <str<strong>on</strong>g>the</str<strong>on</strong>g> moving finite element method was adopted to simulate <str<strong>on</strong>g>the</str<strong>on</strong>g> finger phenomen<strong>on</strong><br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> porous media. The governing equati<strong>on</strong> for modeling <str<strong>on</strong>g>the</str<strong>on</strong>g> finger<br />

phenomen<strong>on</strong> is <str<strong>on</strong>g>the</str<strong>on</strong>g> N<strong>on</strong>-equilibrium Richards equati<strong>on</strong> (NERE), which can be read<br />

as<br />

∂S<br />

∂t = ∇ · (D(S)∇S) + ∂ (<br />

∂z K(S) + τ∇ · K(S)∇ ∂S )<br />

, (4.1)<br />

∂t<br />

where S is <str<strong>on</strong>g>the</str<strong>on</strong>g> effective saturati<strong>on</strong> (0 ≤ S ≤ 1), K(S) is <str<strong>on</strong>g>the</str<strong>on</strong>g> hydraulic c<strong>on</strong>ductivity,<br />

D(S) is <str<strong>on</strong>g>the</str<strong>on</strong>g> diffusivity functi<strong>on</strong>, and τ is a c<strong>on</strong>stant. When τ = 0, NERE becomes<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> classical Richards equati<strong>on</strong>, which has been proved unc<strong>on</strong>diti<strong>on</strong>al stable [19] and<br />

so not suitable for modeling finger phenomen<strong>on</strong>.<br />

107


4.1.1 Finite Element Discretizati<strong>on</strong><br />

Suppose <str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain is Ω ∈ R 2 , and <str<strong>on</strong>g>the</str<strong>on</strong>g> triangulati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Ω is T with T i as<br />

its elements and ⃗ X i as its nodes. The piecewise linear finite element space is denoted<br />

by V h corresp<strong>on</strong>ding to T . Then <str<strong>on</strong>g>the</str<strong>on</strong>g> finite element approximati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> unknown S in<br />

(4.1) can be written as<br />

∑N T<br />

S h = S i N i (T ),<br />

i=1<br />

where {S i } N T<br />

i=1 is <str<strong>on</strong>g>the</str<strong>on</strong>g> coefficient for variable S in (4.1) with N T <str<strong>on</strong>g>the</str<strong>on</strong>g> dimensi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> V h ,<br />

and {N i (T )} N T<br />

i=1 <str<strong>on</strong>g>the</str<strong>on</strong>g> finite element basis for V h.<br />

For c<strong>on</strong>venience, S is also used to denote <str<strong>on</strong>g>the</str<strong>on</strong>g> coefficient. Based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> above<br />

assumpti<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> discretizati<strong>on</strong> formulati<strong>on</strong> for Eq. (4.1) takes <str<strong>on</strong>g>the</str<strong>on</strong>g> form<br />

M S<br />

∂S<br />

∂t = −K SS + F S − τ ˜K S<br />

∂S<br />

∂t , (4.2)<br />

where M S , K S and ˜K S are matrices. whose entries are<br />

∫<br />

M S (i, j) = N i (T )N j (T ) + τK(S)∇N i (T )∇N j (T )dxdz,<br />

∫<br />

K S (i, j) =<br />

∫<br />

˜K S (i, j) =<br />

and F S is a vector whose i-th entry is<br />

Ω<br />

Ω<br />

Ω<br />

∫<br />

(F S ) i =<br />

D(S h )∇N i (T )∇N j (T )dxdz,<br />

K(S h )∇N i (T )∇N j (T )dxdz,<br />

Ω<br />

∂<br />

∂z K(S)N i(T )dxdz, 1 ≤ i ≤ N T .<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> time discritizati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> scheme is used. Let ∆t be <str<strong>on</strong>g>the</str<strong>on</strong>g> length <str<strong>on</strong>g>of</str<strong>on</strong>g> time<br />

step, <str<strong>on</strong>g>the</str<strong>on</strong>g> final full-discretized scheme can be formulated as<br />

( )<br />

1<br />

∆t (M S + τ ˜K S (S (n)<br />

h<br />

)) + K S(S (n)<br />

h ) S (n+1) = 1 (<br />

M S + τ<br />

∆t<br />

˜K<br />

)<br />

S (S (n)<br />

h ) S (n) +F S (S (n)<br />

h ).<br />

(4.3)<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> above equati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> first and third term <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> right hand side <str<strong>on</strong>g>of</str<strong>on</strong>g> (4.2)<br />

are handled implicitly for <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>siderati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> stability.<br />

108


4.1.2 Moving Mesh Strategy<br />

Our mesh redistributi<strong>on</strong> strategy is based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> harm<strong>on</strong>ic mappings [48, 49]. Suppose<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain Ω and <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain Ω c are two compact<br />

Riemannian manifolds <str<strong>on</strong>g>of</str<strong>on</strong>g> 2D with metric tensors G ij and g αβ in some local coordinates<br />

⃗x and ξ ⃗ respectively. The energy for a map ξ ⃗ = ξ(⃗x) ⃗ can be defined as<br />

E( ξ) ⃗ = ∑ ∫<br />

ij ∂ξk ∂ξ k<br />

G d⃗x, (4.4)<br />

k<br />

Ω ∂x i ∂xj where (G ij ) −1 is called <str<strong>on</strong>g>the</str<strong>on</strong>g> m<strong>on</strong>itor functi<strong>on</strong>s.<br />

By solving <str<strong>on</strong>g>the</str<strong>on</strong>g> following <str<strong>on</strong>g>Euler</str<strong>on</strong>g>-<br />

Lagrange equati<strong>on</strong><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> minimizer <str<strong>on</strong>g>of</str<strong>on</strong>g> 4.4 can be obtained.<br />

( )<br />

∂<br />

ij<br />

∂ξk<br />

G = 0, (4.5)<br />

∂x i ∂x j<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong>, we use <str<strong>on</strong>g>the</str<strong>on</strong>g> following procedure to move <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh and to<br />

redistribute <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s. First, we get <str<strong>on</strong>g>the</str<strong>on</strong>g> initial mesh T c with A as its<br />

nodes in <str<strong>on</strong>g>the</str<strong>on</strong>g> logical domain by solving <str<strong>on</strong>g>the</str<strong>on</strong>g> Poiss<strong>on</strong> equati<strong>on</strong><br />

⎧<br />

⎨ ∆ x ξ = 0, ⃗x ∈ Ω,<br />

⎩<br />

ξ | ∂Ω = ξ b .<br />

(4.6)<br />

This initial logical mesh is used as <str<strong>on</strong>g>the</str<strong>on</strong>g> reference to denote <str<strong>on</strong>g>the</str<strong>on</strong>g> movement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh<br />

grid in <str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain. Now suppose <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> U i = ⃗u(X i ) <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> current<br />

nodes X i has been given at <str<strong>on</strong>g>the</str<strong>on</strong>g> time step t = t n , <str<strong>on</strong>g>the</str<strong>on</strong>g>n <str<strong>on</strong>g>the</str<strong>on</strong>g> new locati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> nodes X ∗ i<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> new soluti<strong>on</strong> U ∗ <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> new nodes can be obtained by using <str<strong>on</strong>g>the</str<strong>on</strong>g> following<br />

three steps.<br />

1. Obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> error <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh points in <str<strong>on</strong>g>the</str<strong>on</strong>g> logical domain.<br />

First, we solve <str<strong>on</strong>g>the</str<strong>on</strong>g> following generalized Poiss<strong>on</strong> equati<strong>on</strong><br />

∂ ∂ξk<br />

∂xi(Gij ∂x ) = 0 (4.7)<br />

j<br />

toge<str<strong>on</strong>g>the</str<strong>on</strong>g>r with <str<strong>on</strong>g>the</str<strong>on</strong>g> same boundary c<strong>on</strong>diti<strong>on</strong> to (4.6), and <str<strong>on</strong>g>the</str<strong>on</strong>g> new logical mesh<br />

T new with A new as its nodes can be obtained. Then <str<strong>on</strong>g>the</str<strong>on</strong>g> quantity<br />

δA = A − A new (4.8)<br />

can be used as <str<strong>on</strong>g>the</str<strong>on</strong>g> movement <str<strong>on</strong>g>of</str<strong>on</strong>g> nodes in <str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain in <str<strong>on</strong>g>the</str<strong>on</strong>g> next step;<br />

109


2. Obtain <str<strong>on</strong>g>the</str<strong>on</strong>g> movement <str<strong>on</strong>g>of</str<strong>on</strong>g> physical nodes.<br />

By solving <str<strong>on</strong>g>the</str<strong>on</strong>g> following system <strong>on</strong> each element E with X Ei as its nodes in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain (we use triangular mesh in <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong>, so it is a<br />

2 × 2 order system)<br />

⎡<br />

⎣ Anew,1 E 1<br />

A new,2<br />

E 1<br />

− A new,1<br />

E 0<br />

− A new,2<br />

E 0<br />

A new,1<br />

E 2<br />

A new,2<br />

E 2<br />

− A new,1<br />

E 0<br />

− A new,2<br />

E 0<br />

⎡<br />

⎤⎡<br />

⎦⎣<br />

∂x 1 ∂x 1<br />

∂ξ 1 ∂ξ 2<br />

∂x 2<br />

∂ξ 1 ∂x 2<br />

∂ξ 2 ⎤<br />

⎦ =<br />

⎤<br />

⎣ X1 E 1<br />

− XE 1 0<br />

XE 1 2<br />

− XE 1 0<br />

⎦ (4.9)<br />

XE 2 1<br />

− XE 2 0<br />

XE 2 2<br />

− XE 2 0<br />

we can get <str<strong>on</strong>g>the</str<strong>on</strong>g> ∂⃗x<br />

∂ξ<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> element E. Then <str<strong>on</strong>g>the</str<strong>on</strong>g> weighted average error <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh<br />

points in <str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain is given by<br />

δX i =<br />

∑⃗x∈E | E | ∂⃗x<br />

∂ξ | E δA i<br />

∑⃗x∈E | E | (4.10)<br />

where | E | is <str<strong>on</strong>g>the</str<strong>on</strong>g> volume <str<strong>on</strong>g>of</str<strong>on</strong>g> element E. Finally, we get <str<strong>on</strong>g>the</str<strong>on</strong>g> new mesh <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

physical domain with X new as its nodes<br />

X new = X + τδX<br />

where τ is a positive parameter and is used to avoid <str<strong>on</strong>g>the</str<strong>on</strong>g> intersecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> new<br />

grid points.<br />

3. Update <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> new mesh<br />

The method we used to update <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> assumpti<strong>on</strong> that <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

surface <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong> <strong>on</strong> each time step will be kept unchanged. For <str<strong>on</strong>g>the</str<strong>on</strong>g> detail <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> method, we refer to [48].<br />

M<strong>on</strong>itor Functi<strong>on</strong><br />

Generally, people use <str<strong>on</strong>g>the</str<strong>on</strong>g> standard gradient based m<strong>on</strong>itor functi<strong>on</strong><br />

m = √ 1 + β | ∇S | 2 (4.11)<br />

where β is a positive c<strong>on</strong>stant. When β = 0, it means <strong>on</strong>e identity map between<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain and physical domain is defined and <str<strong>on</strong>g>the</str<strong>on</strong>g>re is totally no<br />

110


adaptivity. With β > 0, <str<strong>on</strong>g>the</str<strong>on</strong>g> adaptive phenomen<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong> can be observed, and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> higher value <str<strong>on</strong>g>of</str<strong>on</strong>g> β, <str<strong>on</strong>g>the</str<strong>on</strong>g> more adaptivity. Unfortunately, β is problem-dependent,<br />

how to choose this parameter is mostly depend <strong>on</strong> your comprehensi<strong>on</strong> about <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

problem.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> this paper, we used <str<strong>on</strong>g>the</str<strong>on</strong>g> BM type m<strong>on</strong>itor functi<strong>on</strong>[23, 24, 96]<br />

which can be read as<br />

m = M(t) + δ | ∇S | α (4.12)<br />

where α and δ are positive c<strong>on</strong>stant, and followed [6] to choose <str<strong>on</strong>g>the</str<strong>on</strong>g> time dependent<br />

functi<strong>on</strong> M(t) = 1 ∫<br />

| ∇S | β dΩ , where c<strong>on</strong>stant β is also a positive parameter,<br />

| Ω | Ω<br />

and Ω is <str<strong>on</strong>g>the</str<strong>on</strong>g> physical domain and | Ω | is its area. In [6], α = β = 0.5 and δ = 1.0<br />

are suggested (actually, <str<strong>on</strong>g>the</str<strong>on</strong>g>re is no parameter δ in that paper). With <str<strong>on</strong>g>the</str<strong>on</strong>g>se choices,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> floor <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> BM m<strong>on</strong>itor matrix is adjusted automatically in proporti<strong>on</strong> to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

measure <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> (smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>d) soluti<strong>on</strong> gradient[6]. In this paper, we used parameters<br />

α = 1, β = 2, and for different computati<strong>on</strong>al domain, we use different δ ∈ (0, 1].<br />

For some simulati<strong>on</strong>, we used smaller δ to enhance <str<strong>on</strong>g>the</str<strong>on</strong>g> robustness <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm.<br />

In certain simulati<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> diffusive strategy for m<strong>on</strong>itor functi<strong>on</strong> proposed by [85] is<br />

adopted to cluster much more grid points around <str<strong>on</strong>g>the</str<strong>on</strong>g> wetting fr<strong>on</strong>t.<br />

So far we have stated all details about <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm, <str<strong>on</strong>g>the</str<strong>on</strong>g> flow chart <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

algorithm is as following<br />

Algorithm 4: Moving FEM for NERE model<br />

1. Generate initial mesh and set <str<strong>on</strong>g>the</str<strong>on</strong>g> initial status for S;<br />

2. Solve (4.3);<br />

3. Move <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh using <str<strong>on</strong>g>the</str<strong>on</strong>g> strategy proposed in this secti<strong>on</strong>;<br />

4. Let t = t + ∆t, if t < T, goto step 2; else stop.<br />

4.1.3 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Results<br />

We just present <strong>on</strong>e numerical example in this subsecti<strong>on</strong>, and refer to [33] for fruitful<br />

and detailed numerical results about this model.<br />

111


Example 4.1.1 Simulating <strong>on</strong>e single finger which created through introducing water<br />

via a c<strong>on</strong>tinuous c<strong>on</strong>stant regi<strong>on</strong> source in a dry soil.<br />

The initial c<strong>on</strong>diti<strong>on</strong> is taken as<br />

⎧<br />

⎨ 7.0, 7.5 ≤ x ≤ 12.5 & z ≥ 18.0<br />

S init =<br />

⎩<br />

1.0, elsewhere<br />

(4.13)<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> boundary y = 20 (See Fig. 4.1), <str<strong>on</strong>g>the</str<strong>on</strong>g> Dirichlet boundary c<strong>on</strong>diti<strong>on</strong> is used,<br />

and homogeneous Neumann boundary c<strong>on</strong>diti<strong>on</strong> is used for <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r boundaries.<br />

The initial mesh size is around ∆h = 0.5. We follow [19] to choose K(S) = S 2 and<br />

D(S) = S 2 in (4.1).<br />

(0,20)<br />

(20,20)<br />

S 0 = 0.7<br />

S 0 = 0.06<br />

(0, −10) (20, −10)<br />

Figure 4.1: Computati<strong>on</strong>al regi<strong>on</strong> for single finger<br />

From results shown in Fig. 4.2, we can see that <str<strong>on</strong>g>the</str<strong>on</strong>g> grid points are clustered<br />

around <str<strong>on</strong>g>the</str<strong>on</strong>g> edge <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> ”finger” successfully with moving mesh strategy proposed in<br />

Secti<strong>on</strong> 4.1.2. With sufficient mesh dense, <str<strong>on</strong>g>the</str<strong>on</strong>g> hold-back-pile-up phenomen<strong>on</strong> was<br />

obviously observed from <str<strong>on</strong>g>the</str<strong>on</strong>g> saturati<strong>on</strong> isolines shown in Fig. 4.2 (left).<br />

Note that with <str<strong>on</strong>g>the</str<strong>on</strong>g> time development, <str<strong>on</strong>g>the</str<strong>on</strong>g> area <str<strong>on</strong>g>of</str<strong>on</strong>g> soluti<strong>on</strong>s with <str<strong>on</strong>g>the</str<strong>on</strong>g> large gradients<br />

in <str<strong>on</strong>g>the</str<strong>on</strong>g> computati<strong>on</strong>al domain becomes bigger. So a hidden trouble is that<br />

when such area is sufficiently big, <str<strong>on</strong>g>the</str<strong>on</strong>g>re may be not enough grid points to describe<br />

112


Figure 4.2: <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> soluti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> N<strong>on</strong>equilibrium Richard equati<strong>on</strong> with initial<br />

c<strong>on</strong>diti<strong>on</strong>: K(S) = S 2 , D(S) = S 2 , τ = 0.5, S 1 = 0.7 and S 0 = 0.06.<br />

113


<str<strong>on</strong>g>the</str<strong>on</strong>g> variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s precisely in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. By using h-adaptive method,<br />

that hidden trouble could be avoided effectively.<br />

As we menti<strong>on</strong>ed at <str<strong>on</strong>g>the</str<strong>on</strong>g> beginning <str<strong>on</strong>g>of</str<strong>on</strong>g> this chapter, <str<strong>on</strong>g>the</str<strong>on</strong>g> moving mesh method<br />

based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> harm<strong>on</strong>ic mapping used in this secti<strong>on</strong> can not be used directly for<br />

numerical simulati<strong>on</strong>s in Chapter 2 and 3, since <str<strong>on</strong>g>the</str<strong>on</strong>g> existence and uniqueness <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

harm<strong>on</strong>ic mapping can not be guaranteed for <str<strong>on</strong>g>the</str<strong>on</strong>g> multiply c<strong>on</strong>nected domain. So in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> next secti<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive method will be introduced to enhance <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm<br />

proposed in this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis.<br />

4.2 h-Adaptive Method<br />

Different from <str<strong>on</strong>g>the</str<strong>on</strong>g> r-adaptive method, which moves <str<strong>on</strong>g>the</str<strong>on</strong>g> grid points to where <str<strong>on</strong>g>the</str<strong>on</strong>g>y<br />

are most needed while keeping <str<strong>on</strong>g>the</str<strong>on</strong>g> total number <str<strong>on</strong>g>of</str<strong>on</strong>g> grid points unchanged, <str<strong>on</strong>g>the</str<strong>on</strong>g> h-<br />

adaptive method adjusts <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh density locally based <strong>on</strong> certain indicator by<br />

refining or coarsening <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes.<br />

Generally speaking, <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm for solving certain partial differential equati<strong>on</strong><br />

with adaptive technique has similar framework to Algorithm 4. For h-adaptive<br />

method, Step 3 in Algorithm 4 becomes locally refining or coarsening <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g>n updating soluti<strong>on</strong>s from <str<strong>on</strong>g>the</str<strong>on</strong>g> original mesh to <str<strong>on</strong>g>the</str<strong>on</strong>g> updated mesh. The idea<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> h-adaptive method is c<strong>on</strong>cise. For regi<strong>on</strong> with large indicator, <str<strong>on</strong>g>the</str<strong>on</strong>g> element is<br />

refined, while for regi<strong>on</strong> with sufficient small indicator, <str<strong>on</strong>g>the</str<strong>on</strong>g> element is coarsen, say,<br />

several small elements is combined toge<str<strong>on</strong>g>the</str<strong>on</strong>g>r to be a big element. However, it is a<br />

great challenge to develop <strong>on</strong>e efficient algorithm to implement such procedure. In<br />

[46], Li proposed an algorithm which can locally refine or coarsen mesh efficiently,<br />

based <strong>on</strong> a hierarchical data structure which is defined by himself. In <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical<br />

simulati<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm proposed by Li [46] will be used. In <str<strong>on</strong>g>the</str<strong>on</strong>g> following secti<strong>on</strong>,<br />

such algorithm will be briefly summarized.<br />

114


3<br />

5<br />

2<br />

6<br />

2<br />

4<br />

7<br />

3<br />

4<br />

1<br />

3<br />

2 0 1<br />

0 0<br />

1<br />

Figure 4.3: A mesh with four elements.<br />

4.2.1 Mesh Refinement and Coarsening<br />

For keeping <str<strong>on</strong>g>the</str<strong>on</strong>g> flexibility and <str<strong>on</strong>g>the</str<strong>on</strong>g> efficiency <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> h-adaptive<br />

method, Li adopted a hierarchical way to record and manage <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh, and <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

refining procedure.<br />

In <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong>, everything in <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh is c<strong>on</strong>sidered as a Geometry. For<br />

example, for a closed domain Ω in R 2 , <str<strong>on</strong>g>the</str<strong>on</strong>g>re is a given regular simplex triangulati<strong>on</strong><br />

T . For every element K ∈ T , K itself is a geometry, while its edges are also<br />

geometries, and so are its nodes. For <str<strong>on</strong>g>the</str<strong>on</strong>g>se geometries, <str<strong>on</strong>g>the</str<strong>on</strong>g>y all have vertices and<br />

edges. The current geometry is defined by describing its vertices and edges. For<br />

clearly dem<strong>on</strong>strating such hierarchical way, <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh data file for <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh shown<br />

in Fig. 4.3 is given in Table 4.1. From Table 4.1, we can see that everything in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> mesh including nodes, edges, and elements has a record. For a high-dimensi<strong>on</strong><br />

geometry, it is defined by describing its low-dimensi<strong>on</strong> geometries such as its vertices<br />

and edges which bel<strong>on</strong>g to itself. By using this hierarchical structure, a mesh for<br />

a domain can be described clearly, and from <str<strong>on</strong>g>the</str<strong>on</strong>g>se bel<strong>on</strong>g-to relati<strong>on</strong>s, <str<strong>on</strong>g>the</str<strong>on</strong>g> vertices<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> edges for a geometry could be find out easily.<br />

115


5 # There are 5 nodes in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

0 0 # The coordinate <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> first nodes.<br />

5 0 # The coordinate <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> sec<strong>on</strong>d nodes.<br />

· · · · · ·<br />

5 # There are 5 0-dimensi<strong>on</strong> geometries in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

0 # The index <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> first 0-dimensi<strong>on</strong> geometry.<br />

1 0 # There is <strong>on</strong>e vertex, and it is 0-th node.<br />

1 0 # There is <strong>on</strong>e edge, and it is 0-th node.<br />

1 # The boundary mark <str<strong>on</strong>g>of</str<strong>on</strong>g> this geometry is 1.<br />

· · · · · ·<br />

8 # There are 8 1-dimensi<strong>on</strong> geometries in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain<br />

0 # The index <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> first 1-dimensi<strong>on</strong> geometry.<br />

2 0 1 # There are two nodes, <str<strong>on</strong>g>the</str<strong>on</strong>g> 0-th node and <str<strong>on</strong>g>the</str<strong>on</strong>g> 1-st node.<br />

2 0 1 # There are two edges, <str<strong>on</strong>g>the</str<strong>on</strong>g> 0-th and <str<strong>on</strong>g>the</str<strong>on</strong>g> 1-st 0-dimensi<strong>on</strong> geometry<br />

1 # The boundary mark <str<strong>on</strong>g>of</str<strong>on</strong>g> this geometry is 1.<br />

· · · · · ·<br />

4 # There are 4 2-dimensi<strong>on</strong> geometries in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain<br />

0 # The index <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> first 1-dimensi<strong>on</strong> geometry.<br />

3 0 1 4 # There are 3 nodes, <str<strong>on</strong>g>the</str<strong>on</strong>g> 0-th, 1-st and 4-th node.<br />

3 1 2 0 # There are 3 edges, <str<strong>on</strong>g>the</str<strong>on</strong>g> 1-st, 2-nd and 0-th 1-dimensi<strong>on</strong> geometry<br />

0 # The boundary mark <str<strong>on</strong>g>of</str<strong>on</strong>g> this geometry is 0.<br />

· · · · · ·<br />

Table 4.1: The data file <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh shown in Fig. 4.3.<br />

116


Besides <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical definiti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> geometry, <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

mesh refinement is also managed by using a hierarchical way. For example, for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> element K ∈ Ω which is a triangle , when it is refined, <str<strong>on</strong>g>the</str<strong>on</strong>g>re will be four<br />

small triangles in <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh; when <str<strong>on</strong>g>the</str<strong>on</strong>g>se triangles are refined, each triangle will also<br />

generate four small triangles, and so <strong>on</strong>. This procedure can be clearly dem<strong>on</strong>strated<br />

in Fig. 4.4. From <str<strong>on</strong>g>the</str<strong>on</strong>g> figure we can see that, by refining <str<strong>on</strong>g>the</str<strong>on</strong>g> element K, four smaller<br />

elements K 0 , K 1 , K 2 , and K 3 are generated. We can call <str<strong>on</strong>g>the</str<strong>on</strong>g> element K <str<strong>on</strong>g>the</str<strong>on</strong>g> parent,<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g> four smaller elements is its children. Similarly, K 2 is <str<strong>on</strong>g>the</str<strong>on</strong>g> parent, and K 20 ,<br />

K 21 , K 22 , and K 23 are its children, and so <strong>on</strong>. The structure was called Hierarchy<br />

Geometry Tree in [46].<br />

With <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical descripti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> geometry and <str<strong>on</strong>g>the</str<strong>on</strong>g> refinement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

mesh, <str<strong>on</strong>g>the</str<strong>on</strong>g> locally refining and coarsening <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh can be implemented efficiently.<br />

First, we need certain strategy to tell which element needs to be refined or which<br />

patch needs to be coarsened. The typical way is to use <str<strong>on</strong>g>the</str<strong>on</strong>g> fixed threshold rule and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> equi-distributi<strong>on</strong> principle [84], and <str<strong>on</strong>g>the</str<strong>on</strong>g> popular indicator for <str<strong>on</strong>g>the</str<strong>on</strong>g> finite element<br />

method is an posteriori error estimator. For simulating steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s, we<br />

follow [50] to use <str<strong>on</strong>g>the</str<strong>on</strong>g> gradient <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure as <str<strong>on</strong>g>the</str<strong>on</strong>g> indicator <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh adapti<strong>on</strong>.<br />

The indicator in each cell K i is given as<br />

I i = ∑ | p i − p j |<br />

| d i,j |<br />

e i,j ∈∂K i<br />

| e i,j |, (4.14)<br />

where d i,j is <str<strong>on</strong>g>the</str<strong>on</strong>g> distance between <str<strong>on</strong>g>the</str<strong>on</strong>g> barycenters <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell K i and K j , | e i,j | is<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> length <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> edge e i,j .<br />

The adapti<strong>on</strong> procedure now can be implemented toward equi-distributing each<br />

element indicator I i<br />

θ · tol ≤ I i ≤ ¯θ · tol, (4.15)<br />

where tol is <str<strong>on</strong>g>the</str<strong>on</strong>g> tolerance and 0 < θ, ¯θ < 1. In <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s, tol = 5.0e − 03 is<br />

used according <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical experience.<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> element K i with <str<strong>on</strong>g>the</str<strong>on</strong>g> indicator I i > ¯θ · tol, it is refined in <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong>,<br />

while for a patch with all <str<strong>on</strong>g>the</str<strong>on</strong>g> indicators <str<strong>on</strong>g>of</str<strong>on</strong>g> its children satisfying I i < θ · tol,<br />

117


K<br />

K 3<br />

K 00<br />

K 0<br />

K 1 K 2<br />

K 33<br />

K 30<br />

K 31 K 32<br />

K 03<br />

K 13 K 23<br />

K 10<br />

K 20<br />

K 01<br />

K 02<br />

K 11 K 12<br />

K 21 K 22<br />

Figure 4.4: A uniform and successive refinement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> element K.<br />

118


K 33<br />

K 3 K 30<br />

K 31 K 32<br />

K 03 K 02<br />

K 03 K 02<br />

K 13 K 00 K 23 K 13 K 00<br />

K 10 K 01 K 20<br />

K 10 K 01 K 2<br />

K 11 K 12<br />

K 21 K 22<br />

K 11 K 12<br />

Figure 4.5: The mesh before (left) and after (right) <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

refining and coarsening.<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> patch is used as an element in <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh. Fig. 4.5 shows <str<strong>on</strong>g>the</str<strong>on</strong>g> effect <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh<br />

refinement and coarsening. Since <str<strong>on</strong>g>the</str<strong>on</strong>g> indicator <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> element K 3 satisfys I 3 > ¯θ ·tol,<br />

it is refined which gives four new elements K 30 , K 31 , K 32 , and K 33 in <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh. Since<br />

for all K 2,i , i = 0, 1, 2, 3, <str<strong>on</strong>g>the</str<strong>on</strong>g> indicators I 2,i < θ · tol, <str<strong>on</strong>g>the</str<strong>on</strong>g>y are <str<strong>on</strong>g>the</str<strong>on</strong>g>n dropped, and K 2<br />

is used as <str<strong>on</strong>g>the</str<strong>on</strong>g> new element <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh.<br />

After looping all Leaf Nodes in <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchy geometry tree, <str<strong>on</strong>g>the</str<strong>on</strong>g> adapted mesh<br />

based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> current soluti<strong>on</strong>s is obtained. The leaf node stands for <str<strong>on</strong>g>the</str<strong>on</strong>g> element<br />

used in <str<strong>on</strong>g>the</str<strong>on</strong>g> current mesh. The leaf nodes do not have children in <str<strong>on</strong>g>the</str<strong>on</strong>g> geometry tree.<br />

Generally, <str<strong>on</strong>g>the</str<strong>on</strong>g> operati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> updating soluti<strong>on</strong>s from <str<strong>on</strong>g>the</str<strong>on</strong>g> current mesh to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

adapted mesh is important to keep <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy for <str<strong>on</strong>g>the</str<strong>on</strong>g> time-dependent<br />

problems. This <str<strong>on</strong>g>the</str<strong>on</strong>g>sis is c<strong>on</strong>cerned with <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady problems, so<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> updating becomes much simpler. In <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong>, we just let<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong>s in <str<strong>on</strong>g>the</str<strong>on</strong>g> new element equal to soluti<strong>on</strong>s in its parent if <str<strong>on</strong>g>the</str<strong>on</strong>g> new element<br />

is obtained by refinement. On <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r hand, <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> will be chosen as <strong>on</strong>e <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

its children if <str<strong>on</strong>g>the</str<strong>on</strong>g> element is obtained by coarsening. Though it is not very accurate,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> updated soluti<strong>on</strong>s are already a very good initial guess for <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong>-iterati<strong>on</strong> method.<br />

Note that <str<strong>on</strong>g>the</str<strong>on</strong>g>re is a midpoint in <str<strong>on</strong>g>the</str<strong>on</strong>g> element K 2 in Fig. 4.5 (right). In <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

implementati<strong>on</strong>, K 2 is c<strong>on</strong>sidered as a polyg<strong>on</strong> with four vertices, which gives four<br />

119


edges. This approach is different with <str<strong>on</strong>g>the</str<strong>on</strong>g> finite element method discussed in [46]<br />

where a basis functi<strong>on</strong> is designed for this point. Theoretically, arbitrary closed<br />

regi<strong>on</strong> can be used as a c<strong>on</strong>trol volume in <str<strong>on</strong>g>the</str<strong>on</strong>g> finite volume method.<br />

4.2.2 Remarks <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> Weight in <str<strong>on</strong>g>the</str<strong>on</strong>g> Rec<strong>on</strong>structi<strong>on</strong><br />

Before dem<strong>on</strong>strating <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical results, let us remark <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> step<br />

which has been discussed in Secti<strong>on</strong>s 2.2 and 3.1.<br />

Note that <str<strong>on</strong>g>the</str<strong>on</strong>g> weight 1/d K,l in (2.5) is used when solving <str<strong>on</strong>g>the</str<strong>on</strong>g> minimizati<strong>on</strong> problem.<br />

Such weight is not used for <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> in (3.3). In fact, for<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> uniform mesh used in <str<strong>on</strong>g>the</str<strong>on</strong>g> simulati<strong>on</strong>s in Chapters 2 and 3, whe<str<strong>on</strong>g>the</str<strong>on</strong>g>r using <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

weight in <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> step does not affect <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical accuracy very much.<br />

However, it is pointed out in [61] that serious drawbacks <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> unweighted approach<br />

are exposed, particularly for highly-stretched meshes in <str<strong>on</strong>g>the</str<strong>on</strong>g> presence <str<strong>on</strong>g>of</str<strong>on</strong>g> surface curvatures.<br />

Several comparis<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> results obtained with weighted method and<br />

unweighted method are still listed in that paper. Their results dem<strong>on</strong>strate that, if<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> stretched mesh is used <str<strong>on</strong>g>the</str<strong>on</strong>g> weighted rec<strong>on</strong>structi<strong>on</strong> method gives more reliable<br />

approximate polynomials.<br />

Although <str<strong>on</strong>g>the</str<strong>on</strong>g> semiregularizati<strong>on</strong> technique in [46] is used in <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> mesh adaptati<strong>on</strong>, which can make <str<strong>on</strong>g>the</str<strong>on</strong>g> variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh size much smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> difference <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> cell sizes in <str<strong>on</strong>g>the</str<strong>on</strong>g> two adjacent cells may be big. For example,<br />

it is observed from Fig. 4.5 (right) that <str<strong>on</strong>g>the</str<strong>on</strong>g> difference <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> size <str<strong>on</strong>g>of</str<strong>on</strong>g> K 32 and K 2 is<br />

big. It can become bigger if K 32 is refined. So based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>siderati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

numerical accuracy and <str<strong>on</strong>g>the</str<strong>on</strong>g> stability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm, it becomes necessary to use<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> weight in <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> step.<br />

4.2.3 <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Results<br />

Example 4.2.1 The problem is <str<strong>on</strong>g>the</str<strong>on</strong>g> two-dimensi<strong>on</strong>al steady-state, trans<strong>on</strong>ic flow<br />

around <str<strong>on</strong>g>the</str<strong>on</strong>g> NACA 0012 airfoil at Mach number M ∞ = 0.8 and attack angle 1.25 ◦ .<br />

The computati<strong>on</strong> is implemented <strong>on</strong> four successively locally refined meshes. The<br />

120


initial mesh c<strong>on</strong>tains 2662 cells, which is dem<strong>on</strong>strated in Fig. 2.13 (left). The three<br />

locally refined meshes c<strong>on</strong>tain 4555 cells, 8746 cells, and 15031 cells respectively. The<br />

parameters used in <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong> are <str<strong>on</strong>g>the</str<strong>on</strong>g> same to those used in Chapter 2.<br />

First, <str<strong>on</strong>g>the</str<strong>on</strong>g> element patches generated by Algorithm 2 in Chapter 2 are dem<strong>on</strong>strated<br />

in Fig. 4.6. It is dem<strong>on</strong>strated that with h-adaptive technique Algorithm 2 can<br />

generate high quality coarse meshes which are used for <str<strong>on</strong>g>the</str<strong>on</strong>g> multigrid method.<br />

The results <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines (top) and details <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh around <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil<br />

(bottom) are presented in Figs. 4.7-4.10. It is obvious that <str<strong>on</strong>g>the</str<strong>on</strong>g> shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles become<br />

sharper with <str<strong>on</strong>g>the</str<strong>on</strong>g> locally refined mesh, which shows <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

algorithm. At <str<strong>on</strong>g>the</str<strong>on</strong>g> same time, <str<strong>on</strong>g>the</str<strong>on</strong>g> meshes become denser around <str<strong>on</strong>g>the</str<strong>on</strong>g> shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles.<br />

For example, it is observed from Fig. 4.10 (bottom) that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are two shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles<br />

around <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil just from <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh informati<strong>on</strong>. To see <str<strong>on</strong>g>the</str<strong>on</strong>g> figure clearly, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

results in <str<strong>on</strong>g>the</str<strong>on</strong>g> box which shown in 4.10 (top) are zoomed out in Fig. 4.11. The<br />

results c<strong>on</strong>firm that <str<strong>on</strong>g>the</str<strong>on</strong>g> locally refined strategy proposed in Subsecti<strong>on</strong> 4.2.1 works<br />

very well.<br />

The sharp shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles obtained by using <str<strong>on</strong>g>the</str<strong>on</strong>g> locally refined technique are<br />

almost <str<strong>on</strong>g>the</str<strong>on</strong>g> same as those obtained with globally refined mesh. However, a large<br />

amount <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh grids are saved. For example, compared <str<strong>on</strong>g>the</str<strong>on</strong>g> results shown in Fig.<br />

2.15 where globally refined meshes are used with <str<strong>on</strong>g>the</str<strong>on</strong>g> results shown in Fig. 4.8, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles are almost <str<strong>on</strong>g>the</str<strong>on</strong>g> same since <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh densities around <str<strong>on</strong>g>the</str<strong>on</strong>g> shock regi<strong>on</strong><br />

for both approaches are almost <str<strong>on</strong>g>the</str<strong>on</strong>g> same. With <str<strong>on</strong>g>the</str<strong>on</strong>g> globally refined technique, <str<strong>on</strong>g>the</str<strong>on</strong>g>re<br />

are 10648 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain, while it is 4555 cells for <str<strong>on</strong>g>the</str<strong>on</strong>g> locally refined technique.<br />

In o<str<strong>on</strong>g>the</str<strong>on</strong>g>r words, by using locally refined technique, up to 50% mesh grids are saved<br />

to obtain almost <str<strong>on</strong>g>the</str<strong>on</strong>g> same soluti<strong>on</strong> reducti<strong>on</strong>. The percentage <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> saved mesh<br />

grids becomes bigger when <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh is fur<str<strong>on</strong>g>the</str<strong>on</strong>g>r refined.<br />

The c<strong>on</strong>vergence histories <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g>se computati<strong>on</strong>s with respect to <str<strong>on</strong>g>the</str<strong>on</strong>g> residual <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> system are listed in Fig. 4.12. Residuals <str<strong>on</strong>g>of</str<strong>on</strong>g> all four computati<strong>on</strong>s achieved <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

machine accuracy successfully within around 60 Newt<strong>on</strong>-iterati<strong>on</strong> steps. Fig. 4.12<br />

also suggests that <str<strong>on</strong>g>the</str<strong>on</strong>g> rough soluti<strong>on</strong> updating technique discussed in <str<strong>on</strong>g>the</str<strong>on</strong>g> end <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

121


Subsecti<strong>on</strong> 4.2.1 works very well for this example.<br />

Finally, results in Fig. 4.13 show that <str<strong>on</strong>g>the</str<strong>on</strong>g> pressure distributi<strong>on</strong>s al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> surface<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil. With <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s<br />

are removed effectively. The grid points around <str<strong>on</strong>g>the</str<strong>on</strong>g> shock regi<strong>on</strong> increased with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

locally refined technique, which makes <str<strong>on</strong>g>the</str<strong>on</strong>g> shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles shaper.<br />

Example 4.2.2 Moderate free-stream Mach number <str<strong>on</strong>g>of</str<strong>on</strong>g> 0.75 and attack angle <str<strong>on</strong>g>of</str<strong>on</strong>g> 2 ◦ .<br />

There are two NACA 0012 airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields.<br />

For <str<strong>on</strong>g>the</str<strong>on</strong>g> final numerical example <str<strong>on</strong>g>of</str<strong>on</strong>g> this chapter, it simulates <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

two NACA 0012 airfoils in <str<strong>on</strong>g>the</str<strong>on</strong>g> flow fields, and <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with quadratic hierarchical<br />

WENO rec<strong>on</strong>structi<strong>on</strong> is used. The initial mesh is shown in Fig. 2.21 (right),<br />

and <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 4360 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain. The parameters used in <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong><br />

are same to that used in Chapter 3.<br />

The simulati<strong>on</strong>s are implemented <strong>on</strong> three successively locally refined meshes,<br />

with 4360 cells, 7240 cells, and 13339 cells respectively. All three simulati<strong>on</strong>s c<strong>on</strong>verge<br />

to steady state successfully with residual <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> system achieving <str<strong>on</strong>g>the</str<strong>on</strong>g> machine<br />

accuracy. The numerical results are shown in Figs. 4.14 - 4.16. The numerical<br />

c<strong>on</strong>vergence can be read easily from <str<strong>on</strong>g>the</str<strong>on</strong>g> figures <str<strong>on</strong>g>of</str<strong>on</strong>g> Mach isolines (top). With <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

locally refined technique, <str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> nearby <str<strong>on</strong>g>the</str<strong>on</strong>g> shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles is refined effectively<br />

which can be seen from <str<strong>on</strong>g>the</str<strong>on</strong>g> figures (bottom). This indicates that <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive<br />

technique proposed in this chapter also works well for <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with quadratic<br />

hierarchical WENO rec<strong>on</strong>structi<strong>on</strong> which was proposed in Chapter 3.<br />

4.3 C<strong>on</strong>clusi<strong>on</strong> Remarks<br />

In this chapter, <str<strong>on</strong>g>the</str<strong>on</strong>g> adaptive method is employed to enhance <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm proposed<br />

in previous chapters. First, <str<strong>on</strong>g>the</str<strong>on</strong>g> work which is fininshed under <str<strong>on</strong>g>the</str<strong>on</strong>g> guidence <str<strong>on</strong>g>of</str<strong>on</strong>g> Pr<str<strong>on</strong>g>of</str<strong>on</strong>g>.<br />

Zegeling <str<strong>on</strong>g>of</str<strong>on</strong>g> Utrecht university is dem<strong>on</strong>strated. In that work, <str<strong>on</strong>g>the</str<strong>on</strong>g> gravity finger<br />

phenomen<strong>on</strong> in <str<strong>on</strong>g>the</str<strong>on</strong>g> porous media is simulated by using <str<strong>on</strong>g>the</str<strong>on</strong>g> moving finite element<br />

method. With <str<strong>on</strong>g>the</str<strong>on</strong>g> appropriate m<strong>on</strong>itor functi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh grids are clustered around<br />

122


Figure 4.6: Element Patches near <str<strong>on</strong>g>the</str<strong>on</strong>g> airfoil body <str<strong>on</strong>g>of</str<strong>on</strong>g> NACA 0012 generated<br />

by Algorithm 2. It shows <str<strong>on</strong>g>the</str<strong>on</strong>g> element patches <strong>on</strong> four successive levels when<br />

h-adaptive technique was adopted.<br />

123


Figure 4.7: The Mach isolines (top) and mesh details (bottom) around <str<strong>on</strong>g>the</str<strong>on</strong>g> NACA<br />

0012 airfoil which obtained with linear WENO rec<strong>on</strong>structi<strong>on</strong>, and h-adaptive<br />

method is used. There are 2662 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

124


Figure 4.8: Same as Fig. 4.7, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 4555 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

125


Figure 4.9: Same as Fig. 4.7, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 8746 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

126


Figure 4.10: Same as Fig. 4.7, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 15031 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

127


Figure 4.11: Same as Fig. 4.10, except that just <str<strong>on</strong>g>the</str<strong>on</strong>g> Mach isolines and <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

meshes shown in <str<strong>on</strong>g>the</str<strong>on</strong>g> box in Fig. 4.10 (top) are dem<strong>on</strong>strated.<br />

128


Figure 4.12: The c<strong>on</strong>vergence history <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm which is implemented <strong>on</strong><br />

four successively refined mesh with h-adaptive method.<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> regi<strong>on</strong> with large variati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> soluti<strong>on</strong> successfully, and <str<strong>on</strong>g>the</str<strong>on</strong>g> characterstic <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> finger phenomen<strong>on</strong> is depicted very well by <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical results.<br />

Since <str<strong>on</strong>g>the</str<strong>on</strong>g> moving mesh method proposed in this chapter can not be used in<br />

multi-c<strong>on</strong>nected domain, <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive method is adopted. The details <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive method is described in Secti<strong>on</strong> 4.2. <str<strong>on</strong>g>Numerical</str<strong>on</strong>g><br />

results indicate that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm proposed in <str<strong>on</strong>g>the</str<strong>on</strong>g> previous chapters worked very<br />

well combined with <str<strong>on</strong>g>the</str<strong>on</strong>g> h-adaptive method. The advantages <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm are<br />

successfully inherited, say, all simulati<strong>on</strong>s achieved <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state smoothly and<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s are removed or reduced significantly. Fur<str<strong>on</strong>g>the</str<strong>on</strong>g>rmore, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

regi<strong>on</strong> nearby <str<strong>on</strong>g>the</str<strong>on</strong>g> shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles are locally refined effectively, which saves a large<br />

amount <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh grids.<br />

129


-1.5<br />

-1.5<br />

-1<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

-1.5<br />

-1.5<br />

-1<br />

-1<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

Pressure coefficient, Cp<br />

-0.5<br />

0<br />

0.5<br />

1<br />

1<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

1.5<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Chordwise stati<strong>on</strong>, x/C<br />

Figure 4.13: The pressure distributi<strong>on</strong> al<strong>on</strong>g <str<strong>on</strong>g>the</str<strong>on</strong>g> NACA 0012 airfoil obtained<br />

from algorithm which is implemented by using four successively refined mesh with<br />

h-adaptive method. Top left: 2662 cells; Top right: 4555 cells; Bottom left:<br />

8746 cells; Bottom right: 15031 cells.<br />

130


Figure 4.14: The Mach isolines (top) and mesh details (bottom) around two NACA<br />

0012 airfoils which obtained with quadratic hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>, and<br />

h-adaptive method is used. There are 4360 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

131


Figure 4.15: Same as Fig. 4.14, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 7240 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g> domain.<br />

132


Figure 4.16: Same as Fig. 4.14, except that <str<strong>on</strong>g>the</str<strong>on</strong>g>re are 13339 cells in <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

domain.<br />

133


Chapter 5<br />

C<strong>on</strong>cluding Remarks<br />

In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, an effective and robust framework <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical algorithm for solving<br />

2D steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s is developed. The main ingredients <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm<br />

include a standard Newt<strong>on</strong> method as <str<strong>on</strong>g>the</str<strong>on</strong>g> outer iterative scheme and a linear multigrid<br />

method as <str<strong>on</strong>g>the</str<strong>on</strong>g> inner iterative scheme with <str<strong>on</strong>g>the</str<strong>on</strong>g> block lower-upper symmetric<br />

Gauss-Seidel (LU-SGS) iterati<strong>on</strong> as its smoo<str<strong>on</strong>g>the</str<strong>on</strong>g>r. With <str<strong>on</strong>g>the</str<strong>on</strong>g> proposed algorithm,<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>linear system is solved with residual up to machine accuracy within a few<br />

Newt<strong>on</strong>-iterati<strong>on</strong> steps. It is also found that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm is not sensetive to <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

parameters. More precisely, for each rec<strong>on</strong>structi<strong>on</strong> method, <strong>on</strong>e set <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> parameters<br />

can be used for all simulati<strong>on</strong>s with different free-stream c<strong>on</strong>figurati<strong>on</strong>s and<br />

geometrical c<strong>on</strong>figurati<strong>on</strong>s.<br />

In Chapter 2, <str<strong>on</strong>g>the</str<strong>on</strong>g> details <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm are carefully described. Since <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g><br />

equati<strong>on</strong>s are n<strong>on</strong>linear, <str<strong>on</strong>g>the</str<strong>on</strong>g> Newt<strong>on</strong> method is used to linearize this n<strong>on</strong>linear system<br />

(Secti<strong>on</strong> 2.3). The local Jacobian matrix <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical fluxes are computed<br />

using <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical differentiati<strong>on</strong>, which can significantly simplify <str<strong>on</strong>g>the</str<strong>on</strong>g> implementati<strong>on</strong>s<br />

by comparing with <str<strong>on</strong>g>the</str<strong>on</strong>g> manually derived approximate derivatives (Subsecti<strong>on</strong><br />

2.3.1). Without <str<strong>on</strong>g>the</str<strong>on</strong>g> temporal term, <str<strong>on</strong>g>the</str<strong>on</strong>g> linearized system is actually singular. A<br />

new factor which is based <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> local residual in each cell is used to regularize <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

singular system (Subsecti<strong>on</strong> 2.3.2). Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> regularized linear system is solved<br />

by using <str<strong>on</strong>g>the</str<strong>on</strong>g> geometrical multigrid method (Secti<strong>on</strong> 2.4). The boundary c<strong>on</strong>diti<strong>on</strong>s<br />

are briefly summarized in Secti<strong>on</strong> 2.5.<br />

134


The linear rec<strong>on</strong>structi<strong>on</strong> is used in Chapter 2. To prevent <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s,<br />

two different limiting procedure are introduced. One is <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan<br />

limiter functi<strong>on</strong> (Subsecti<strong>on</strong> 2.2.2), and <str<strong>on</strong>g>the</str<strong>on</strong>g> o<str<strong>on</strong>g>the</str<strong>on</strong>g>r <strong>on</strong>e is <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong><br />

(Subsecti<strong>on</strong> 2.2.3). In <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical experiments, <str<strong>on</strong>g>the</str<strong>on</strong>g> comparis<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> two different<br />

limiting methods is presented. The comparis<strong>on</strong> suggests that with <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO rec<strong>on</strong>structi<strong>on</strong>,<br />

much higher quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical results is obtained. Although<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> CPU time is increased in <str<strong>on</strong>g>the</str<strong>on</strong>g> rec<strong>on</strong>structi<strong>on</strong> step when <str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method is<br />

adopted, it is observed that <str<strong>on</strong>g>the</str<strong>on</strong>g> outer Newt<strong>on</strong>-iterati<strong>on</strong> steps used are reduced quite<br />

significantly. C<strong>on</strong>sequently, compared with <str<strong>on</strong>g>the</str<strong>on</strong>g> Venkatakrishnan limiter case, <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

increment <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> CPU time for solving <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>linear system is not significant when<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> WENO method is used.<br />

In Chapter 3, <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic rec<strong>on</strong>structi<strong>on</strong> is employed for obtaining high order<br />

numerical accuracy. Our numerical experiments suggest that <str<strong>on</strong>g>the</str<strong>on</strong>g> direct extensi<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> proposed in Chapter 2 to <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic case<br />

does not work not well as it may be difficult to obtain c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady<br />

state. To fix <str<strong>on</strong>g>the</str<strong>on</strong>g> problem, <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical rec<strong>on</strong>structi<strong>on</strong> method is adopted. With<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical WENO rec<strong>on</strong>structi<strong>on</strong>, <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm worked very well. Residual <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> system for each simulati<strong>on</strong> in Chapter 3 achieved machine accuracy successfully.<br />

The desired c<strong>on</strong>vergence order is obtained for <str<strong>on</strong>g>the</str<strong>on</strong>g> smooth soluti<strong>on</strong> case. Finally,<br />

compared with <str<strong>on</strong>g>the</str<strong>on</strong>g> results obtained without <str<strong>on</strong>g>the</str<strong>on</strong>g> limiting procedure, <str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical<br />

WENO rec<strong>on</strong>structi<strong>on</strong> reduces <str<strong>on</strong>g>the</str<strong>on</strong>g> n<strong>on</strong>-physical oscillati<strong>on</strong>s significantly.<br />

To fu<str<strong>on</strong>g>the</str<strong>on</strong>g>r improve <str<strong>on</strong>g>the</str<strong>on</strong>g> ability <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm, <str<strong>on</strong>g>the</str<strong>on</strong>g> adaptive techinique is employed<br />

in Chapter 4. First <str<strong>on</strong>g>the</str<strong>on</strong>g> moving finite element method is summarized, and results<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> simulati<strong>on</strong>s for <str<strong>on</strong>g>the</str<strong>on</strong>g> NERE model are dem<strong>on</strong>strated. Since <str<strong>on</strong>g>the</str<strong>on</strong>g> moving mesh<br />

method used in this chapter can not be extended to <str<strong>on</strong>g>the</str<strong>on</strong>g> multi-c<strong>on</strong>nected domain<br />

smoothly, h-adaptive technique is adopted to optimize <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm. <str<strong>on</strong>g>Numerical</str<strong>on</strong>g><br />

results showed that <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm with h-adaptive technique works very well. All<br />

advantages <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm proposed in Chapters 2 and 3 are inherited, and at <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

meantime, <str<strong>on</strong>g>the</str<strong>on</strong>g> mesh grids around <str<strong>on</strong>g>the</str<strong>on</strong>g> shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>iles are locally refined successfully,<br />

135


which saves a large amount <str<strong>on</strong>g>of</str<strong>on</strong>g> mesh grids.<br />

The quadratic hierarchical WENO rec<strong>on</strong>structi<strong>on</strong> works smoothly for obtaining<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> steady soluti<strong>on</strong>s. However, <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical results are affected.<br />

Different from <str<strong>on</strong>g>the</str<strong>on</strong>g> linear WENO rec<strong>on</strong>structi<strong>on</strong> , <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence order obtained<br />

with hierarchical WENO rec<strong>on</strong>structi<strong>on</strong> was degraded compared with that obtained<br />

without limiting procedure. The slight oscillati<strong>on</strong>s around <str<strong>on</strong>g>the</str<strong>on</strong>g> shock pr<str<strong>on</strong>g>of</str<strong>on</strong>g>ile are still<br />

observed. Although <str<strong>on</strong>g>the</str<strong>on</strong>g> quality <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> numerical soluti<strong>on</strong>s can be imporved when<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> hierarchical strategy was droped, <str<strong>on</strong>g>the</str<strong>on</strong>g> quadratic WENO rec<strong>on</strong>structi<strong>on</strong> method<br />

will take <str<strong>on</strong>g>the</str<strong>on</strong>g> difficults about <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergence <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> steady state to <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm.<br />

Based <strong>on</strong> some preliminary results, it is found that <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>vergenc <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm<br />

can be improved by introducing certain diffusive mechanism. We will work <strong>on</strong> this<br />

directi<strong>on</strong> to improve <str<strong>on</strong>g>the</str<strong>on</strong>g> high order algorithm proposed in this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis in <str<strong>on</strong>g>the</str<strong>on</strong>g> future.<br />

In this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis, we mainly focus <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> 2D problems. For practical applicati<strong>on</strong>s,<br />

it is necessary to extend <str<strong>on</strong>g>the</str<strong>on</strong>g> 2D solver proposed in this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis to <str<strong>on</strong>g>the</str<strong>on</strong>g> 3D case. Since<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> algorithm is developped with unstructured meshes, such extensi<strong>on</strong> should be<br />

straightforward. However, <str<strong>on</strong>g>the</str<strong>on</strong>g> requirement <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> memory for stroing <str<strong>on</strong>g>the</str<strong>on</strong>g> Jocabian<br />

matrix is a main challenge when <str<strong>on</strong>g>the</str<strong>on</strong>g> implicit methods is used. In <str<strong>on</strong>g>the</str<strong>on</strong>g> future, we will<br />

work <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> combinati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> our algorithm with <str<strong>on</strong>g>the</str<strong>on</strong>g> parallel computati<strong>on</strong> technique<br />

to solve 3D problems.<br />

Finally, <str<strong>on</strong>g>the</str<strong>on</strong>g> research <strong>on</strong> <str<strong>on</strong>g>the</str<strong>on</strong>g> aerodynamics design is also expected to do with <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

robust and effective algorithm proposed in this <str<strong>on</strong>g>the</str<strong>on</strong>g>sis.<br />

136


[10] G.V. Candler, M.J. Wright, and J.D. McD<strong>on</strong>ald, A data-parallel LU-SGS<br />

method for reacting flows, AIAA, Aerospace Sciences Meeting and Exhibit 10-<br />

13 (1994).<br />

[11] R. F. Chen and Z. J. Wang, Fast block lower-upper symmetric Gauss-Seidel<br />

scheme for arbitrary grid, AIAA Journal 38 (2000), no. 12, 2238–2245.<br />

[12] C. S. Chou and C. W. Shu, High order residual distributi<strong>on</strong> c<strong>on</strong>servative finite<br />

difference WENO schemes for steady state problems <strong>on</strong> n<strong>on</strong>-smooth meshes,<br />

Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 214 (2006), 698–724.<br />

[13] B. Cockburn and C. W. Shu, The Runge-Kutta disc<strong>on</strong>tinuous Galerkin method<br />

for c<strong>on</strong>servati<strong>on</strong> laws V: multidimensi<strong>on</strong>al systems, J. Comput. Phys. 141 (1998),<br />

199–224.<br />

[14] A. Csik, M. Ricchiuto, and H. Dec<strong>on</strong>inck, A c<strong>on</strong>servative formulati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

multidimensi<strong>on</strong>al upwind residual distributi<strong>on</strong> schemes for general n<strong>on</strong>linear c<strong>on</strong>servati<strong>on</strong><br />

laws, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 179 (2002), 286–312.<br />

[15] H. Dec<strong>on</strong>inck, R. Struijs, G. Bourgeois, and P. Roe, Compact advecti<strong>on</strong> schemes<br />

<strong>on</strong> unstructured meshes, Computati<strong>on</strong>al Fluid Dynamics VKI Lecture Series<br />

1993-04 (1993).<br />

[16] M. Delanaye and J. A. Essers, Finite volume scheme with quadratic rec<strong>on</strong>structi<strong>on</strong><br />

<strong>on</strong> unstructured adaptive meshes applied to turbomachinery flows, ASME<br />

IGTI Gas Turebine C<strong>on</strong>ference, Housti<strong>on</strong>, USA (1995).<br />

[17] J. A. Desideri and A. Dervieux, Compressible slow solvers using unstructured<br />

grids, VKI Lectures Series 1988-05 (1988), 1–115.<br />

[18] A. S. Dvinsky, Adaptive grid generati<strong>on</strong> from harm<strong>on</strong>ic maps <strong>on</strong> Riemannian<br />

manifolds, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 95 (1991), 450–476.<br />

138


[19] A. G. Egorov, R. Z. Dautov, J. L. Nieber, and A. Y. Sheshukov, Stability<br />

analysis <str<strong>on</strong>g>of</str<strong>on</strong>g> gravity-driven infiltrating flow, Water Resources Research 39 (2003),<br />

1266.<br />

[20] B. Einfeldt, C. D. Munz, P. L. Roe, and B. Sjogreen, On Godunov-type methods<br />

near low densities, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 92 (1991), 273–295.<br />

[21] N. T. Frink, Recent progress toward a three-dimensi<strong>on</strong>al Navier-Stokes solver,<br />

AIAA Paper 94-0061 (1994).<br />

[22] N. T. Frink, P. Parikh, and S. Pirzadeh, A fast upwind solver for <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s<br />

<strong>on</strong> three-dimensi<strong>on</strong>al unstrucutred meshes, AIAA Paper 91-0102 (1991).<br />

[23] G.Beckett and J.A. Mackenzie, C<strong>on</strong>vergence analysis <str<strong>on</strong>g>of</str<strong>on</strong>g> finite difference approximati<strong>on</strong>s<br />

<strong>on</strong> equidistributed grids to a singularly perturbed boundary value problem,<br />

Appl. Numer. Math. 35 (2000), 87.<br />

[24] G.Beckett and J.A. Mackenzie, On a uniformly accurate finite difference aaproximati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> a singularly perturbed reacti<strong>on</strong>-diffusi<strong>on</strong> problem using grid equidistributi<strong>on</strong>,<br />

J. Comput. Appl. Math. 131 (2001), 381.<br />

[25] S. K. Godunov, A difference schemes for numerical computati<strong>on</strong> disc<strong>on</strong>tinuous<br />

soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> hydrodynamic equati<strong>on</strong>s, Math. Sbornik (in Russian) 47 (1959), 271–<br />

306, translated US Joint Publ. Res. Service, JPRS 7226, 1969.<br />

[26] A. Harten, High resoluti<strong>on</strong> schemes for hyperbolic c<strong>on</strong>servati<strong>on</strong> laws, Journal<br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 49 (1983), 357–393.<br />

[27] A. Harten, On a class <str<strong>on</strong>g>of</str<strong>on</strong>g> high resoluti<strong>on</strong> total variati<strong>on</strong> stable finite difference<br />

schemes, SIAM J. Numer. Anal. 21 (1984), 1–23.<br />

[28] A. Harten, B. Engquist, S. Osher, and S. Chakravarthy, Uniformly high order<br />

essentially n<strong>on</strong>-oscillatory schemes, III, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 71<br />

(1987), 231–303.<br />

139


[29] A. Harten, B. Engquist, S. Osher, and R. Chakravathy, Some results <strong>on</strong> uniformly<br />

high order accurate essentially n<strong>on</strong>-oscillatory schemes, Applied <str<strong>on</strong>g>Numerical</str<strong>on</strong>g><br />

Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics 2 (1986), 347–377.<br />

[30] A. Harten, P. D. Lax, and B. Van Leer, On upstream differencing and Godunovtype<br />

schemes for hyperbolic c<strong>on</strong>servati<strong>on</strong> laws, SIAM Rev. 25 (1983), 35–61.<br />

[31] C. Q. Hu and C. W. Shu, Weighted essentially n<strong>on</strong>-oscillatory schemes <strong>on</strong><br />

triangular meshes, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 150 (1999), 97–127.<br />

[32] G. H. Hu, R. Li, and T. Tang, A robust high-order residual distributi<strong>on</strong> type<br />

scheme for steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s <strong>on</strong> unstructured grids, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al<br />

Physics Accepted (2009).<br />

[33] G. H. Hu, T. Tang, and P. Zegeling, Simulating finger phenomen<strong>on</strong> in porous<br />

media with moving finite element method, In preparati<strong>on</strong>. (2009).<br />

[34] A. James<strong>on</strong>, Soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s by a multigrid method, Appl. Math.<br />

and Comput. 13 (1983), 25–46.<br />

[35] A. James<strong>on</strong>, Soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s for two dimensi<strong>on</strong>al trans<strong>on</strong>ic flow<br />

by a multigrid method, Appl. Math. and Comput. 13 (1983), 327–355.<br />

[36] A. James<strong>on</strong>, Soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s for two-dimensi<strong>on</strong>al trans<strong>on</strong>ic flow<br />

by a multigrid method, MAE Report No. 1613, Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Mechanical and<br />

Aerospace Engineering (1983), Princet<strong>on</strong> University.<br />

[37] A. James<strong>on</strong>, Multigrid algorithms for compressible flow calculati<strong>on</strong>s, Lecture<br />

Notes in Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, vol. 1228, Springer Verlag, 1985.<br />

[38] A. James<strong>on</strong>, T. J. Baker, and N. P. Wea<str<strong>on</strong>g>the</str<strong>on</strong>g>rill, Calculati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> inviscid trans<strong>on</strong>ic<br />

flow over a complete aircraft, AIAA Paper 86-0103 (1986).<br />

[39] A. James<strong>on</strong>, W. Schmidt, and E. Turkel, <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s<br />

by finite volume methods using Runge-Kutta time-stepping schemes, AIAA<br />

Paper 81-1259 (1981).<br />

140


[40] G. Jiang and C. W. Shu, Efficient implementati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> weighted ENO, J. Comput.<br />

Phys. 126 (1996), 202.<br />

[41] B. Koobus, M.H. Lallemand, and A. Dervieux, Unstructured volumeagglomerati<strong>on</strong><br />

multigrid soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> poiss<strong>on</strong> equati<strong>on</strong>, Int. J. <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Methods<br />

in Fluids 18 (1994), 27–42.<br />

[42] N. Kroll and R.K. Jain, Soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> two-dimensi<strong>on</strong>al <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s - experience<br />

with a finite volume code, DFVLR-FB 87-41 (1987).<br />

[43] M. H. Lallemand, H. Steve, and A. Dervieux, Unstructured multigridding by<br />

volume agglomerati<strong>on</strong>: Current status, Computer & Fluids 21 (1992), 397–433.<br />

[44] B. Van Leer, Towards <str<strong>on</strong>g>the</str<strong>on</strong>g> ultimate c<strong>on</strong>servative difference scheme V. a sec<strong>on</strong>d<br />

order sequel to Godunov’s method, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 32 (1979),<br />

101–136.<br />

[45] R. J. Leveque, Finite volume methods for hyperbolic problems, Cambridge University<br />

Press, 2002.<br />

[46] R. Li, On multi-mesh h-adaptive methods, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Scientific Computing 24<br />

(2005).<br />

[47] R. Li and W. B. Liu, http://circus.math.pku.edu.cn/AFEPack.<br />

[48] R. Li, T. Tang, and P. W. Zhang, Moving mesh methods in multiple dimensi<strong>on</strong>s<br />

based <strong>on</strong> harm<strong>on</strong>ic maps, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 170 (2001), 562–588.<br />

[49] R. Li, T. Tang, and P. W. Zhang, A moving mesh finite element algorithm for<br />

singular problems in two and three space dimensi<strong>on</strong>s, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al<br />

Physics 177 (2002), 365–393.<br />

[50] R. Li, X. Wang, and W.B. Zhao, A multigrid block lower-upper symmetric<br />

Gauss-Seidel algorithm for steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong> <strong>on</strong> unstructured grids, Numer.<br />

Math. Theor., Meth. and Appl. 1 (2008), 92–112.<br />

141


[51] X. D. Liu and S. Osher, C<strong>on</strong>vex eno high order multi-dimensi<strong>on</strong>al schemes<br />

without field by field decompositi<strong>on</strong> or staggered grids, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al<br />

Physics 142 (1998), 304–338.<br />

[52] X. D. Liu, S. Osher, and T. Chan, Weighted essentially n<strong>on</strong>-oscillatory schemes,<br />

J. Comput. Phys. 115 (1994), no. 200-212.<br />

[53] Y. J. Liu, C. W. Shu, E. Tadmor, and M. P. Zhang, Central disc<strong>on</strong>tinuous<br />

Galerkin methods <strong>on</strong> overlapping cells with a n<strong>on</strong>-oscillatory hierarchical rec<strong>on</strong>structi<strong>on</strong>,<br />

SIAM J. Numer. Anal 45 (2007), 2442–2467.<br />

[54] Y. J. Liu, C. W. Shu, E. Tadmor, and M. P. Zhang, N<strong>on</strong>-oscillatory hierarchical<br />

rec<strong>on</strong>structi<strong>on</strong> for central and finite volume schemes, Communicati<strong>on</strong>s in<br />

Computati<strong>on</strong>al Physics 2 (2007), no. 5, 933–963.<br />

[55] H. Luo, J. D. Baum, and R. Lohner, A hermite WENO-based limiter for disc<strong>on</strong>tinuous<br />

Galerkin method <strong>on</strong> unstructured grids, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics<br />

225 (2007), 686–713.<br />

[56] H. Luo, J. D. Baum, and R. Lohner, A disc<strong>on</strong>tinuous Galerkin method based<br />

<strong>on</strong> a Taylor basis for <str<strong>on</strong>g>the</str<strong>on</strong>g> compressible flows <strong>on</strong> arbitrary grids, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al<br />

Physics 227 (2008), 8875–8893.<br />

[57] L. Martinelli, Calculati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> viscous flows with a multigrid method, Ph. D Thesis<br />

(1987).<br />

[58] D. J. Mavriplis, Multigrid soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> two-dimensi<strong>on</strong>al <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s <strong>on</strong><br />

unstructured triangular meshes., AIAA Journal 26 (1988), 824–831.<br />

[59] D. J. Mavriplis, Three-dimensi<strong>on</strong>al multigrid for <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s, AIAA<br />

Journal 30 (1992), 1753–1761.<br />

[60] D. J. Mavriplis, On c<strong>on</strong>vergence accelerati<strong>on</strong> techniques for unstructured<br />

meshes, AIAA Paper 98-2966 (1998).<br />

142


[61] D. J. Mavriplis, Unstructured mesh discretizati<strong>on</strong>s and solver for computati<strong>on</strong>al<br />

aerodynamics, AIAA Paper 2007-3955 (2007).<br />

[62] D. J. Mavriplis, A. James<strong>on</strong>, and L. Martinelli, Multigrid soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> Navier-<br />

Stokes equati<strong>on</strong>s <strong>on</strong> triangular meshes, ICASE Report 89-11 (1989).<br />

[63] D. J. Mavriplis and L. Martinelli, Multigrid soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> compressible turbulent<br />

flow <strong>on</strong> unstructured meshes using a two-equati<strong>on</strong> model, Int. J. <str<strong>on</strong>g>Numerical</str<strong>on</strong>g><br />

Method in Fluids 18 (1994), 887–914.<br />

[64] D.J. Mavriplis and V. Venkatakrishnan, A 3d agglomerati<strong>on</strong> multigrid solver<br />

for <str<strong>on</strong>g>the</str<strong>on</strong>g> reynolds-averaged Navier-Stokes equati<strong>on</strong>s <strong>on</strong> unstructured meshes, Int. J.<br />

numerical Methods in Fluids 23 (1996), 527–544.<br />

[65] P. W. McD<strong>on</strong>ald, The computati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> trans<strong>on</strong>ic flow through two-dimensi<strong>on</strong>al<br />

gas turbine cascades, ASME Paper 71-GT-89 (1971).<br />

[66] K. Michalak and C. Ollivier-Gooch, Limiters for unstructured higher-order accurate<br />

soluti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s, AIAA Forty-Sixth Aerospace Sciences<br />

Meeting (2008).<br />

[67] C. R. Mitchell and R. W. Walters, K-exact rec<strong>on</strong>structi<strong>on</strong> for <str<strong>on</strong>g>the</str<strong>on</strong>g> Navier-Stokes<br />

equati<strong>on</strong> <strong>on</strong> arbitrary grids, AIAA Paper 93 (1993), 0536.<br />

[68] B. Niceno, http://www-dinma.univ.trieste.it/nirftc/research/easymesh/.<br />

[69] C. Ollivier-Gooch, Multigrid accelerati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> an upwind <str<strong>on</strong>g>Euler</str<strong>on</strong>g> solver <strong>on</strong> unstructured<br />

meshes, AIAA Journal 33 (1995), 1822–1827.<br />

[70] S. Osher, Riemann solvers, <str<strong>on</strong>g>the</str<strong>on</strong>g> entropy c<strong>on</strong>diti<strong>on</strong> and difference approximati<strong>on</strong>s,<br />

SIAM J. Numer. Anal. 21 (1984), 217–235.<br />

[71] H. Rieger and A. James<strong>on</strong>, Soluti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> steady 3-d compressible <str<strong>on</strong>g>Euler</str<strong>on</strong>g> and<br />

Navier-Stokes equati<strong>on</strong>s by an implicit lu scheme, AIAA Paper 88-0619 (1988).<br />

143


[72] P. L. Roe, Approximate Riemann solvers, parameter vectors and difference<br />

schemes, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 43 (1981), 357–372.<br />

[73] P. L. Roe and D. Sidilkover, Optimum positive linear schemes for advecti<strong>on</strong> in<br />

two or three dimensi<strong>on</strong>s, SIAM Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Analysis 29 (1992), 1542–<br />

1588.<br />

[74] C. W. Shu, Essentially n<strong>on</strong>-oscillatory and weighted essentially n<strong>on</strong>-oscillatory<br />

schemes for hyperbolic c<strong>on</strong>servati<strong>on</strong> laws, In Advanced <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Approximati<strong>on</strong><br />

<str<strong>on</strong>g>of</str<strong>on</strong>g> N<strong>on</strong>linear Hyperbolic <str<strong>on</strong>g>Equati<strong>on</strong>s</str<strong>on</strong>g> Lecture Notes in Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, Springer<br />

(1998), 325–432.<br />

[75] R. Struijs, H. Dec<strong>on</strong>inck, and P. L. Roe, Fluctuati<strong>on</strong> splitting schemes for <str<strong>on</strong>g>the</str<strong>on</strong>g> 2d<br />

<str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s, Computati<strong>on</strong>al Fluid Dynamics VKI Lecture Series 1991-01<br />

(1991).<br />

[76] Y. Sun, Z. J. Wang, and Y. Liu, High-order multidomain spectral difference<br />

method for <str<strong>on</strong>g>the</str<strong>on</strong>g> Navier-Stokes equati<strong>on</strong>s <strong>on</strong> unstructured hexahedral grids, Commun.<br />

Comput. Phys. 2 (2007), 310–333.<br />

[77] T. Tang, Moving mesh methods for computati<strong>on</strong>al fluid dynamics, C<strong>on</strong>temporary<br />

Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, AMS 383 (2005).<br />

[78] R.F. Tomaro, W.Z. Strang, and L.N. Sankar, An implicit algorithm for solving<br />

time dependent flows <strong>on</strong> unstructured grids, AIAA Paper 97-0333 (1997).<br />

[79] E. F. Toro, Riemann solvers and numerical methods for fluid dynamics: A<br />

practical introducti<strong>on</strong>, Springer.<br />

[80] E. F. Toro, Riemann solvers and numerical methods for fluid dynamics: A<br />

practical introducti<strong>on</strong>, Springer, 1999.<br />

[81] E. F. Toro, M. Spruce, and W. Speares, Restorati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> c<strong>on</strong>tact surface in<br />

<str<strong>on</strong>g>the</str<strong>on</strong>g> Harten-Lax-van Leer Riemann solver, J. Shock Waves 4 (1994), 25–34.<br />

144


[82] E. Turkel, R. C. Swans<strong>on</strong>, V. N. Vatsa, and J. A. White, Multigrid for hypers<strong>on</strong>ic<br />

viscous two- and three-dimensi<strong>on</strong>al flows, AIAA Paper 91-1572 (1991).<br />

[83] V. Venkatakrishnan, C<strong>on</strong>vergence to steady state soluti<strong>on</strong>s <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s<br />

<strong>on</strong> unstructured grids with limiters, J. Comput. Phys 118 (1995), 120–130.<br />

[84] R. Verfurth, A review <str<strong>on</strong>g>of</str<strong>on</strong>g> a posteriori error estimati<strong>on</strong> and adaptive meshrefinement<br />

techniques, Wiley-Teubner, 1996.<br />

[85] H.Y. Wang, R. Li, and T. Tang, Efficient computati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> dendritic growth with<br />

r-adaptive finite element methods, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 227 (2008),<br />

no. 12, 5984–6000.<br />

[86] Z. J. Wang and Y. Liu, Extensi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> spectral volume method to high-order<br />

boundary representati<strong>on</strong>, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 211 (2006), 154–178.<br />

[87] Z. J. Wang, L. Zhang, and Y. Liu, Spectral (finite) volume method for c<strong>on</strong>servati<strong>on</strong><br />

laws <strong>on</strong> unstructured grids IV: extensi<strong>on</strong> to two-dimensi<strong>on</strong>al <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s,<br />

J. Comput. Phys. 194 (2004), 716–741.<br />

[88] D. L. Whitfield and J. M. Janus, Three-dimensi<strong>on</strong>al unstread <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s<br />

soluti<strong>on</strong> using flux splitting, AIAA Paper 84-1552 (1984).<br />

[89] Z. L. Xu, Y. J. Liu, and C. W. Shu, Hierarchical rec<strong>on</strong>structi<strong>on</strong> for disc<strong>on</strong>tinuous<br />

Galerkin methods <strong>on</strong> unstructured grids with a WENO-type linear rec<strong>on</strong>structi<strong>on</strong><br />

and partial neighboring cells, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 228 (2009),<br />

2194–2212.<br />

[90] Z. L. Xu, Y. J. Liu, and C. W. Shu, Hierarchical rec<strong>on</strong>structi<strong>on</strong> for disc<strong>on</strong>tinuous<br />

Galerkin methods <strong>on</strong> unstructured grids with a WENO-type linear rec<strong>on</strong>structi<strong>on</strong><br />

and partial neighboring cells, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 228 (2009),<br />

2194–2212.<br />

145


[91] Z. L. Xu, Y. J. Liu, and C. W. Shu, Hierarchical rec<strong>on</strong>structi<strong>on</strong> for spectral volume<br />

method <strong>on</strong> unstructured grids, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics 228 (2009),<br />

5787–5802.<br />

[92] S. Yo<strong>on</strong> and A. James<strong>on</strong>, LU implicit schemes with multiple grids for <str<strong>on</strong>g>the</str<strong>on</strong>g> <str<strong>on</strong>g>Euler</str<strong>on</strong>g><br />

equati<strong>on</strong>s, AIAA Journal 25 (1986), no. 7, 929–935.<br />

[93] S. Yo<strong>on</strong> and A. James<strong>on</strong>, A multigrid LU-SSOR scheme for approximate<br />

Newt<strong>on</strong>-iterati<strong>on</strong> applied to <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s, NASA-CR-19754 (1986).<br />

[94] S. Yo<strong>on</strong> and A. James<strong>on</strong>, Lower-upper symmetric-Gauss-Seidel method for <str<strong>on</strong>g>the</str<strong>on</strong>g><br />

<str<strong>on</strong>g>Euler</str<strong>on</strong>g> and Navier-Stokes equati<strong>on</strong>s, AIAA Journal 26 (1988), 1025–1026.<br />

[95] S. Yo<strong>on</strong> and D. Kwak, 3-d incompressible Navier-Stokes solver using lowerupper<br />

symmetric-gauss-seidel algorithm, AIAA Journal 29 (1991).<br />

[96] P. A. Zegeling, On resistive mhd models with adaptive moving meshes, J. <str<strong>on</strong>g>of</str<strong>on</strong>g><br />

Scientific Computing 24 (2005), 263–284.<br />

[97] J. Zhu, J. X. Qiu, C. W. Shu, and M. Dumbser, Runge-Kutta disc<strong>on</strong>tinuous<br />

Galerkin method using WENO limiter II: Unstructured meshes, Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al<br />

Physics 227 (2008), 4330–4353.<br />

146


Curriculum Vitae<br />

Pers<strong>on</strong>al Informati<strong>on</strong><br />

Name: Guanghui Hu Sex: Male Nati<strong>on</strong>ality: Chinese<br />

Address: Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, H<strong>on</strong>g K<strong>on</strong>g Baptist University, H<strong>on</strong>g K<strong>on</strong>g<br />

Email: ghhu@math.hkbu.edu.hk<br />

Educati<strong>on</strong><br />

Ph.D., Computati<strong>on</strong>al Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, H<strong>on</strong>g K<strong>on</strong>g Baptist University 2009(Expected)<br />

M.A., Computati<strong>on</strong>al Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, Sichuan University 2006<br />

B.S., Computati<strong>on</strong>al Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, Sichuan University 2003<br />

Exchange/Working Experiences<br />

Visiting Student at Dept. <str<strong>on</strong>g>of</str<strong>on</strong>g> Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, Charles Univ., Czech Republic<br />

April 2009 - May 2009<br />

Visiting Student at School <str<strong>on</strong>g>of</str<strong>on</strong>g> Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, Peking Univ., China<br />

Nov., 2008 - Jan., 2009<br />

Visiting Student at Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, Utrecht Univ., Ne<str<strong>on</strong>g>the</str<strong>on</strong>g>rlands<br />

Feb., 2008 - April, 2008<br />

Teaching Assistant at Department <str<strong>on</strong>g>of</str<strong>on</strong>g> Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, HK Baptist Univ.<br />

2006 - present<br />

Teaching Assistant at School <str<strong>on</strong>g>of</str<strong>on</strong>g> Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics, Sichuan Univ.<br />

2004 - 2006<br />

147


H<strong>on</strong>ours<br />

• The 1st Prize winner <str<strong>on</strong>g>of</str<strong>on</strong>g> <str<strong>on</strong>g>the</str<strong>on</strong>g> 3rd Student Paper Competeti<strong>on</strong> for Young Computati<strong>on</strong>al<br />

Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>maticians, The China Society for Computati<strong>on</strong>al Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics<br />

2007<br />

• Nati<strong>on</strong>al Postgarduates Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matical C<strong>on</strong>test In Modeling, First-Class Award<br />

2004<br />

Publicati<strong>on</strong>s<br />

1. Guanghui Hu, Ruo Li and Tao Tang, A robust linear WENO type finite volume<br />

solver for steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s <strong>on</strong> unstructured grids, Submitted to<br />

Communicati<strong>on</strong>s in Computati<strong>on</strong>al Physics (2009).<br />

2. Guanghui Hu, Zh<strong>on</strong>ghua Qiao and Tao Tang, Moving finite element simulati<strong>on</strong>s<br />

for reacti<strong>on</strong>-diffusi<strong>on</strong> systems, In preparati<strong>on</strong>.<br />

3. Guanghui Hu, Tao Tang, Paul Zegeling, Simulating finger phenomen<strong>on</strong> in<br />

porous media with moving finite element method, In preparati<strong>on</strong>.<br />

4. Guanghui Hu, Ruo Li and Tao Tang, A robust high-order residual distributi<strong>on</strong><br />

type scheme for steady <str<strong>on</strong>g>Euler</str<strong>on</strong>g> equati<strong>on</strong>s <strong>on</strong> unstructured grids, Accepted by<br />

Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Computati<strong>on</strong>al Physics.<br />

5. Guanghui Hu and Xiaoping Xie, On choices <str<strong>on</strong>g>of</str<strong>on</strong>g> stress modes for lower order<br />

quadrilateral Reissner-Mindlin plate elements, <str<strong>on</strong>g>Numerical</str<strong>on</strong>g> Ma<str<strong>on</strong>g>the</str<strong>on</strong>g>matics: A<br />

Journal <str<strong>on</strong>g>of</str<strong>on</strong>g> Chinese Universities (English Series), Vol. 15 No. 2, pp 120-126,<br />

(2006).<br />

148

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!