Escolar Documentos
Profissional Documentos
Cultura Documentos
MutsutoKawahara
Finite Element
Methods in
Incompressible,
Adiabatic, and
Compressible Flows
From Fundamental Concepts to
Applications
Editor-in-Chief
Masato Wakayama (Kyushu University, Japan)
Scientic Board Members
Robert S. Anderssen (Commonwealth Scientic and Industrial Research Organisation, Australia)
Heinz H. Bauschke (The University of British Columbia, Canada)
Philip Broadbridge (La Trobe University, Australia)
Jin Cheng (Fudan University, China)
Monique Chyba (University of Hawaii at Mnoa, USA)
Georges-Henri Cottet (Joseph Fourier University, France)
Jos Alberto Cuminato (University of So Paulo, Brazil)
Shin-ichiro Ei (Hokkaido University, Japan)
Yasuhide Fukumoto (Kyushu University, Japan)
Jonathan R.M. Hosking (IBM T.J. Watson Research Center, USA)
Alejandro Jofr (University of Chile, Chile)
Kerry Landman (The University of Melbourne, Australia)
Robert McKibbin (Massey University, New Zealand)
Andrea Parmeggiani (University of Montpellier 2, France)
Jill Pipher (Brown University, USA)
Konrad Polthier (Free University of Berlin, Germany)
Osamu Saeki (Kyushu University, Japan)
Wil Schilders (Eindhoven University of Technology, The Netherlands)
Zuowei Shen (National University of Singapore, Singapore)
Kim-Chuan Toh (National University of Singapore, Singapore)
Evgeny Verbitskiy (Leiden University, The Netherlands)
Nakahiro Yoshida (The University of Tokyo, Japan)
Aims & Scope
The meaning of Mathematics for Industry (sometimes abbreviated as MI or MfI) is different
from that of Mathematics in Industry (or of Industrial Mathematics). The latter is restrictive: it
tends to be identied with the actual mathematics that specically arises in the daily management
and operation of manufacturing. The former, however, denotes a new research eld in mathematics
that may serve as a foundation for creating future technologies. This concept was born from the
integration and reorganization of pure and applied mathematics in the present day into a fluid and
versatile form capable of stimulating awareness of the importance of mathematics in industry, as
well as responding to the needs of industrial technologies. The history of this integration and
reorganization indicates that this basic idea will someday nd increasing utility. Mathematics can
be a key technology in modern society.
The series aims to promote this trend by (1) providing comprehensive content on applications
of mathematics, especially to industry technologies via various types of scientic research, (2)
introducing basic, useful, necessary and crucial knowledge for several applications through concrete subjects, and (3) introducing new research results and developments for applications of
mathematics in the real world. These points may provide the basis for opening a new mathematicsoriented technological world and even new research elds of mathematics.
Mutsuto Kawahara
123
Mutsuto Kawahara
Chuo University
Tokyo
Japan
ISSN 2198-350X
Mathematics for Industry
ISBN 978-4-431-55449-3
DOI 10.1007/978-4-431-55450-9
ISSN 2198-3518
(electronic)
ISBN 978-4-431-55450-9
(eBook)
Preface
vi
Preface
The book does not assume that the readers are already familiar with the nite
element methods. By reading through this book, readers should be able to gain a
comprehensive understanding from introductory techniques to applications. The
book consists of two parts: Part I introduces the nite element methods; Part II
discusses the latest theories and applications, covering civil, mechanical, and aero
engineering.
Acknowledgments
The author would like to acknowledge his gratefulness to the contributors of the
numerical studies and applications adopted in this book. They include: Dr. Jun-ichi
Mutsuhito (National Institute of Advanced Industrial Science and Technology),
Prof. Takahiko Kurahashi (Nagaoka Institute of Technology), Mr. Shigeru
Watanabe (Mitsui Engineering Co.), Prof. Hiroshi Okumura (University of
Toyama), Dr. Taro Arikawa (Port and Airport Research Institute), and Prof. Akira
Maruoka (Hachinohe College of Technology) for studies discussed in Chap. 8;
Dr. Ichiro Uchiyama (OCJPN), Mr. Shuichi Nasu (Chuo University), and
Prof. Akira Maruoka (Hachinohe College of Technology) in Chap. 9; Dr. Kazuya
Nojima (Chuo University) in Chap. 10; and Mr. Kazuki Sawanobori (Chuo
University) in Chap. 11. Mr. Shigeru Watanabe (Mitsui Engineering Co.) offered
much needed help in preparing gures, texts and references. The English was edited
by Prof. Shigeto Kawahara (Keio University). TEX writing was carried out by
Mmes. Chiyoko Sato and Yukiko Nagamine, Uls & Co. The author is especially
indebted to Mr. Takeyuki Yonezawa, Editorial Director and Dr. Yuko Sumino,
former editor, Springer Japan. The author would like to express his gratitude to
Sumiko Kawahara, his wife, for her continued support, without which this book
would have not been completed.
vii
Contents
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Purpose and Contents of This Book . . . . . . . . . . . . . . . . . . . .
1.2 Notation and Terminology. . . . . . . . . . . . . . . . . . . . . . . . . . .
Part I
1
1
3
Basic
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
7
9
11
14
15
18
20
21
23
28
29
Pipeline Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 A Pipeline System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Local Finite Element Equation . . . . . . . . . . . . . . . . . . . . . .
3.4 Global Finite Element Equation . . . . . . . . . . . . . . . . . . . . .
3.5 Boundary Conditions and the Final Form of the Global Finite
Element Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Computer Program: pipeline_system . . . . . . . . . . . . . . . . . .
3.6.1 Flow Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.2 Subroutine Indata . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.3 Subroutine Stiff . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4 Subroutine Displ . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
31
31
31
33
36
.
.
.
.
.
.
.
.
.
.
.
.
37
39
40
40
41
42
ix
Contents
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
44
45
45
45
45
53
53
Potential Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Potential Flow in a Channel . . . . . . . . . . . . . . . . . . . . .
4.3 Weighted Residual Equation . . . . . . . . . . . . . . . . . . . . .
4.4 Interpolation Function and Weighting Function . . . . . . . .
4.5 Local Finite Element Equation . . . . . . . . . . . . . . . . . . . .
4.6 Concrete Forms of the Local Finite Element Matrix . . . . .
4.7 Global Finite Element Equation . . . . . . . . . . . . . . . . . . .
4.8 An Example of the Global Finite Element Equation . . . . .
4.9 Naming and Meaning of the Weighted Residual Equation .
4.10 Shape Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.11 Meaning of Equilibrium of Equivalent Velocity . . . . . . . .
4.12 Systematic Formulation of the Finite Element Matrix . . . .
4.13 Computer Program: potential_ow . . . . . . . . . . . . . . . . .
4.13.1 Uniform Channel Flow . . . . . . . . . . . . . . . . . . .
4.13.2 A Flow Chart . . . . . . . . . . . . . . . . . . . . . . . . .
4.13.3 Subroutine Input . . . . . . . . . . . . . . . . . . . . . . .
4.13.4 Subroutine Matrix . . . . . . . . . . . . . . . . . . . . . .
4.13.5 Subroutine Potent . . . . . . . . . . . . . . . . . . . . . . .
4.13.6 Subroutine Velocity . . . . . . . . . . . . . . . . . . . . .
4.13.7 Program List of potential_ow . . . . . . . . . . . . . .
4.13.8 Output List . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.14 Summary and Conclusion . . . . . . . . . . . . . . . . . . . . . . .
4.15 Exercises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
57
57
59
61
63
66
67
70
76
77
78
79
81
81
82
82
84
86
87
87
87
96
96
AdvectionDiffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 AdvectionDiffusion of Substance . . . . . . . . . . . . . . . . . .
5.3 Finite Element Formulation . . . . . . . . . . . . . . . . . . . . . . .
5.4 Integration in Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Stability Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.1 CFL Condition. . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.2 Explicit Scheme . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.3 Implicit Scheme . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.4 Stability with Viscosity . . . . . . . . . . . . . . . . . . . .
5.5.5 Stability with Second-Order Interpolation Function .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
99
99
100
101
103
105
105
108
111
113
115
3.7
3.8
3.9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Contents
xi
5.6
5.7
5.8
5.9
5.10
SUPG Scheme . . . . . . . . . . . . . . . . . . . . . .
BTD Scheme . . . . . . . . . . . . . . . . . . . . . . .
Bubble Function Scheme. . . . . . . . . . . . . . .
Characteristic Scheme . . . . . . . . . . . . . . . . .
Computer Program Advection Diffusion . . . .
5.10.1 Governing Equation of the Program
Advection_Diffusion . . . . . . . . . . . .
5.10.2 Subroutine Input Data . . . . . . . . . . .
5.10.3 Subroutine Matrix . . . . . . . . . . . . .
5.10.4 Subroutine Inverse . . . . . . . . . . . . .
5.10.5 Subroutine Calculation . . . . . . . . . .
5.10.6 Program List of Advection_Diffusion
5.10.7 Trial Computation . . . . . . . . . . . . .
5.11 Numerical Study . . . . . . . . . . . . . . . . . . . .
5.12 Summary and Conclusion . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
117
120
122
128
132
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
133
135
136
138
139
139
148
148
155
Creeping Flow . . . . . . . . . . . . . . . . . . . . . . . . .
6.1 Introduction. . . . . . . . . . . . . . . . . . . . . . .
6.2 Creeping Flow . . . . . . . . . . . . . . . . . . . . .
6.3 Weighted Residual Equation . . . . . . . . . . .
6.4 Finite Element Equation . . . . . . . . . . . . . .
6.5 Area Coordinate. . . . . . . . . . . . . . . . . . . .
6.6 Interpolation Function. . . . . . . . . . . . . . . .
6.7 Concrete Forms of Finite Element Equation.
6.8 Matrix Form of the Finite Element Equation
6.9 Computer Program creeping_ow. . . . . . . .
6.9.1 Subroutine Input . . . . . . . . . . . . .
6.9.2 Subroutine Finite . . . . . . . . . . . . .
6.9.3 Subroutine Bound . . . . . . . . . . . .
6.9.4 Subroutine Calcul. . . . . . . . . . . . .
6.9.5 Subroutine Result . . . . . . . . . . . . .
6.9.6 Program List of creeping_ow . . . .
6.9.7 Trial Computation . . . . . . . . . . . .
6.10 An Example of Mixed Interpolation . . . . . .
6.11 Summary and Conclusion . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
157
157
157
159
160
162
165
169
174
175
176
177
178
178
179
179
179
179
200
.
.
.
.
.
.
.
.
.
.
.
.
205
205
206
208
211
213
Part II
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
xii
Contents
7.6
7.7
7.8
7.9
7.10
7.11
7.12
7.13
7.14
7.15
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
214
215
217
219
223
225
227
229
231
234
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
235
235
236
239
240
241
241
243
247
248
253
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
256
258
262
265
. . . . 266
. . . . 269
. . . . 273
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
275
275
276
278
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
278
280
283
283
. . . . . . 284
Contents
9.5
9.6
9.7
9.8
9.9
xiii
.
.
.
.
.
.
.
.
.
11 ALE Formulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2 ALE Formulation . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2.1 Material, Spatial, and Referential Domains . .
11.2.2 Velocity and Convective Velocity . . . . . . . .
11.2.3 Governing Equations in the ALE Formulation
11.3 Flows Around a Girder Bridge. . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . 286
.
.
.
.
.
.
.
.
.
.
.
.
.
.
286
289
290
291
294
294
297
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
299
302
303
305
306
307
310
311
311
314
317
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
319
319
320
322
326
327
330
333
333
. . . . 336
. . . . 339
. . . . 345
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
347
347
349
349
351
353
355
xiv
Contents
Chapter 1
Introduction
1 Introduction
Euler method, the two-step explicit method, CrankNicolson method, etc. Especially,
CFL conditions of the stability are discussed. In Chap. 6, the mixed interpolation is
explained using creeping flow.
Part II illustrates the theories and applications of the finite element methods in fluid
flows. The indicial notation and summation convention are used to express precise
forms of equations. In Chap. 7, the continuum mechanics, which we use in later
chapters, are briefly presented. The analyses of fluid flows can be implemented, either
assuming that fluids are incompressible or compressible. Chapter 8 deals with the
finite element methods of the incompressible flows. A large number of research works
have been conducted in this field. The governing equations are conservation equations
of mass and momentum. Normally, conservation equation of mass is transformed
into equation of continuity, if the incompressibility assumption is introduced. The
working variables are velocity and pressure. We use the stabilization methods, such
as the SUPG method, the IBTD method, the mixed interpolation method based on
the bubble function. We will describe these methods which have almost the same
stabilization effects.
The main cause of the instability for the computation of the incompressible flows
stems from the fact that equation of continuity is a function of velocity only, but not
a function of pressure. The incompressibility is a rather strong constraint. We can
weaken the constraint of incompressibility by physical consideration. To do this, we
can employ the adiabatic fluid flow concept. In Chap. 9, the computational methods
and applications of the adiabatic flows are discussed. Assuming that pressure is a
function of density only in equation of state, we can derive the governing equations of adiabatic fluid flows. Namely, the governing equations of adiabatic flows are
conservation equations of mass and momentum and equation of state. The working
variables are density, velocity, and pressure. Using appropriate variable transformation, we can derive the equations of momentum and continuity including acoustic
velocity. The working variables are velocity and pressure if we subscribe to the constant acoustic velocity. The equation system is derived as the extension of that of the
incompressible flows adding the terms of velocity and pressure to the equation of
continuity by the physical consideration. The terms added play important roles of the
stabilization of computation. Moreover, if we let the acoustic velocity approach infinity, we obtain the normal equation of continuity of the incompressible fluid flows.
The computational methods we employed are the Euler method, the two-step explicit
method, the characteristic method, and the SUPG method. Chapter 10 is concerned
with the computational methods and applications of the compressible fluid flows.
The governing equations are conservation equations of mass, momentum, and energy and equation of state. The working variables are density, velocity, pressure, and
energy. The mixed interpolation method based on the bubble function and the SUPG
method are used as the computational method. There are many actual problems, in
which the finite element meshes do not always coincide with the moving fluids, e.g.,
problems of free surface, moving rigid body located in fluid flows, fluid flows in solid
containers, etc. For those problems, ALE formulation is effective, which is described
in Chap. 11. The differential equations in the reference domain are derived.
(1.1)
(1.2)
in the case of three dimensional vector. We usually use the summation convention,
which means that the summation is carried out until the maximum number of the index
after multiplication for the repeated indices in the same term. Thus, we can denote the
vector a or ai ; the former is the vectorial notation and the latter is the componential
notation. If we know the base vector, we can simply convert the componential notation
into the vectorial notation. Generally, the vectorial notation is used, because it is
simpler to express the equations. On the other hand, to express precise equations of
the finite element method, the componential notation is more convenient, although
the expression can become rather complex. In the indicial notations, the special
functions are effectively used; for example, the Kronecker delta function i j and the
permutation function i jk , are defined as
i j =
i jk
1 (i = j)
0 (i = j)
0 otherwise
(1.3)
(1.4)
1 Introduction
We can express effective expressions using Eqs. (1.3) and (1.4) combined with the
summation convention. Precise introduction of the indicial notation is found in
Hopman (2002). Throughout Part I, we use matrix multiplication to express equations. To express the detailed expression of the matrix multiplication, the indicial
notation with summation convention is employed. We use the indicial notation with
summation convention in Part II to show the detailed expressions not only in the governing equations but also in the finite element method. To express the differentiation
with respect to coordinate i, we use , i. For the differentiation with respect to time,
in Chap. 7, we use over dot , which is the material derivative with respect to time. In
other chapters over dot means partial differentiation with respect to time.
For terminological usage, we follow the conventions in the current field as much
as possible. However, there are some exceptions. We use the terminology volume V
and surface S even in two-dimensional flow. This is because we can consider area
A is the volume with unit thickness. We use edge in the sense of the end point of
a triangular element. However, we use mid points or barycentric points as well in
the finite element analysis. The term node represents those points. However, these
two terms are sometimes used interchangeably. We sometime employ the mixed
use of scheme and method. If we like to show simply time integration, we use
scheme. If we like to express the scheme combined with the stabilization method,
we employ method. For the numerical integration in time, we use the fractional
step method. This is also called the pressure Poisson equation method. We use the
terminology acoustic velocity, which is sometimes referred to as sound speed.
Part I
Chapter 2
2.1 Introduction
This chapter provides an overview of basic concepts and mathematical foundations of
finite element method. Understanding the fundamental concepts of the finite element
method is useful not only in structures but also in fluid flows. The most basic concepts
of the finite element method can be best explained using a structure composed of
springs, which we are going to discuss in this chapter. This spring is one dimensional
and it is thus simple to understand the important concepts for the finite element
method. The physical aspects of springs are also comprehensive at the intuitive
level.
In general, the finite element analysis amounts to solving a structurewhich
means to determine displacements and spring forces. To do so, we first decompose the
structure into pieces of springs and nodal points, to which the springs are connected.
Then, we build up the final equation, using three basic equations and boundary
conditions. The basic equations consist of three elements: (1) deformation equation,
(2) equilibrium equation, and (3) compatibility equation. In the build-up phase of the
analysis, systematic algorithm is necessary from the perspective of computational
coding. The precise formulation and build-up methods, which we call superposing
procedures, will also be discussed in this chapter. We describe both the general
formulation and specific equations, using a simple structure as an example.
V1
1
y
x
1000 N/m
2
y
b
y
a
x
2000 N/m
3000 N/m
b
b
10 N
In Fig. 2.1, for example, two springs are connected to on nodes 2 and 3. To represent
these connections, nodes 2 and 3 are expressed using rigid body. We also number
M , where
M is the total number of springs. For
springs consecutively, as 1 , 2 , ,
each spring, local coordinate xyz is assigned, which is called member coordinate
system. For the structure as a whole, one global coordinate X Y Z is assigned. For
those coordinates, we use right-hand system. The quantities associated with nodal
points are denoted by subscripts 1, 2, 3, N , and those associated with springs by
M .
circled subscripts 1 , 2 , ,
(a)
b
F =ku
ua
(b)
Fa
ub
Fb
Fa =F
Fb =F
ua
ub
To distinguish between the two edges of a spring, we name them edge a and
edge b, as shown in Fig. 2.2. The choice of a and b is arbitrary here; however,
we will use these labels consistently. We introduce the member coordinate xyz of
which x-axis is directed from edge a to edge b. The quantity associated with edge a
or b is expressed with the subscript a or b.
(2.1)
where F is the force applied to the spring, u is the deformation, and k is a spring
constant. As shown in Fig. 2.2a, the tension is taken to be positive. The deformation
is expressed as
(2.2)
u = ub ua
where u a and u b are displacements at edge a and edge b, respectively. In Fig. 2.2a,
we observe that only the force at edge a shows a negative direction of the member
coordinate xyz. Another force at edge b and both displacements are directed to
a positive direction of the coordinate. It would thus be more convenient to use the
forces and displacements that are directed to the same direction, as shown in Fig. 2.2b.
Define
(2.3)
Fa = F
Fb = F
(2.4)
Fa F ku k k u a
=
=
Fb
F
ku
k k
ub
(2.5)
Those forces Fa and Fb are referred to as the edge forces at edge a and edge b.
The advantage of using those forces is clarified in Eq. (2.5): the coefficient matrix in
the last term is symmetric, and in the computational mechanics, treating symmetric
matrices is much easier than treating nonsymmetric matrices.
Recall now that the spring should keep the balance. Thus, the following equation
needs to hold:
(2.6)
Fa + Fb = 0
10
If we sum the first and second equations of Eq. (2.5), we find Eq. (2.6) is satisfied.
Equation (2.5) can be rewritten as
k
u
F
k
a aa ab a
=
Fb
kba kbb
ub
(2.7)
where
kaa = k
kab = kba = k
kbb = k
(2.8)
The coefficients kaa , kab , kba , and kbb represent the relations between the edge forces
and edge displacements in such a way that they express the following relations:
kaa : edge force Fa and edge displacement u a
kab : edge force Fa and edge displacement u b
kba : edge force Fb and edge displacement u a
kbb : edge force Fb and edge displacement u b
Equation (2.7) holds for all springs 1 , 2 , and 3 in case of the structure shown
in Fig. 2.1, which can be derived as follows:
1
1
u a1
kaa
Fa1
kab
2
2
2
2
kaa
kab
Fa
ua
3
3
3
3
Fa
kaa
kab
ua
1
F 1 k 1
u 1
kbb
b ba
b
2
2
2
2
kba
kbb
Fb
ub
3
3
3
Fb
kba
kbb
u b3
m
m
(2.9)
m , whereas
where Fa and Fb denote edge forces at edge a and edge b of spring
m
m
u a and u b are edge displacements at edge a and edge b.
Now if we posit the following,
1
F
Fa1
2 b2
Fa = Fa , Fb = Fb
Fb3
Fa3
11
1
u a1
u
2 b2
ua = u a , ub = u b
u a3
u b3
and
k 1
aa 2
kaa =
kaa
3
1
kab
2
kab
, kab =
kaa
1
k
ba 2
kba =
kba
3
kab
3
kba
1
kbb
2
kbb
, kbb =
3
kbb
Fa kaa kab ua
=
Fb
kba kbb
ub
(2.10)
Comparing Eqs. (2.10) and (2.7), they are essentially of the same form.
Equation (2.7) is referred to as the deformation equation of each member, whereas
Eq. (2.10) is referred to as the deformation equation. In Sect. 2.6, we will show
that the deformation equation plays an important role in the finite element method.
For this reason, the deformation equation is sometimes called the finite element
equation.
(2.11)
where V1 is a reaction force at node 1, and P is the external load applied at node 3.
Equation (2.11) can be expressed in the form of a matrix:
12
V1
Y
X
Fa
Fb
2
Fa
Fb
Fb
1
2
3
1 1
Fa1
Fa
2 = +
Fa
P
F 3
1 1
a
F 1
b
2
F
b
V1
(2.12)
Fb3
Equation (2.12) is the three equations for nodes 1, 2, and 3. On the right side of
Eq. (2.12) is the external force and the reaction force terms.
Now let us examine the coefficient matrix of Eq. (2.12). The first part of the
coefficient matrix is
13
1
2
1 2 3
1
1 1
The row numbers correspond to node numbers and column numbers represent spring
numbers.
Since edge a
of spring 1 is 1, then element 1- 1 is 1,
of spring 2 is 2, then element 2- 2 is 1, and
of spring 3 is 2, then element 2- 3 is 1.
To put it differently, this matrix expresses the connection between nodes and edge
m (where
m = 1, 2, 3). Let this matrix be denoted by [].
a of spring
The second part of the coefficient matrix in Eq. (2.12) is
1
1
1 1
1
2
3
The row numbers correspond to node numbers and column numbers correspond
to spring numbers.
Since edge b
of spring 1 is 2, then element 2- 1 is 1,
of spring 2 is 3, then element 3- 2 is 1, and
of spring 3 is 3, then element 3- 3 is 1.
Differently put, this matrix expresses the connection between nodes and edge b
m (where
m = 1,2,3). This matrix is denoted by []. For the sake of conveof spring
nience, we use [] and [] to refer to the connectivity matrix. Using the connectivity
matrix, Eq. (2.12) can be denoted as follows:
Fa = P + V
Fb
(2.13)
14
The external load matrix [P] and reaction force matrix [V] are
= 2
3
= 2
V1
(2.14), (2.15)
u b1 = u 2
u a2 = u 2 ,
u a3 = u 2 ,
u b2 = u 3
u b3 = u 3
(2.16)
u a1
u a2
u a3
u 1
b
2
ub
u b3
1
2
3
1
2
3
1 2 3
u1
1
u2
1 u3
1
1
(2.17)
y a
x
u1
y a
x
2 y
b
x
y
x
a
y
u2
b
x
b
b
y
x
u3
15
It is interesting that the coefficient matrix in Eq. (2.17) is the transposed matrix in
Eq. (2.13), i.e., [T ] and [ T ]. Using the connectivity matrix, Eq. (2.17) can then be
expressed as
ua
ub
(2.18)
where [ua ] and [ub ] are displacements at nodes a and b as in Eq. (2.17) and
u1
= u2
u3
(2.19)
which means the displacement of the nodes. Equations (2.17) and (2.18) are the
compatibility equation.
Fa
Fb
T
U
kbb
T
kaa kab
kba
(2.20)
Equation (2.20) is equation for the computation of spring forces [Fa ] and [Fb ], given
the nodal displacements [U]. We call Eq. (2.20) the spring force equation. Substituting Eq. (2.20) into Eq. (2.13), and rearranging the terms, the finite element
equation is obtained as follows:
T U = P + V
kbb
T
kaa kab
kba
(2.21)
16
In case of spring structures shown in Fig. 2.1, the spring force equation is
1
1
1
kaa
Fa1
kab
u1
F 2
1
2
2
kaa
kab
a
u 2
3
3
3
Fa
1 u3
kaa
kab
=
F 1 k 1
1
1
kbb
b ba
2
2
2
Fb
kba
kbb
1
3
3
Fb3
kba
kbb
1
1
1
u1
kaa
kab
2
2
kaa kab u 2
3
3
u3
kaa
kab
k 1 k 1
ba bb
2
2
kba kbb
3
3
kba
kbb
(2.22)
which can be obtained by introducing Eq. (2.17) into Eq. (2.9). Next, introducing
Eq. (2.22) into Eq. (2.12), we get the following:
1
1 1
1
kaa
1 1
k 1
ba
V1
1
kab
u1
2
2
kaa
kab
u 2
3
3
kaa
kab u 3
1
kbb
2
2
kba
kbb
3
3
kba
kbb
(2.23)
P
Performing the matrix multiplication of Eq. (2.23), we get the final form of the finite
element equation:
1
1
u1
kaa
kab
V1
1 1
2
3
2
3
+ kaa
kab
+ kab
kba kbb + kaa
u2 = +
2
3
2
3
u3
kba + kba
kbb + kbb
P
(2.24)
Using the spring constant of each spring shown in Eq. (2.8), Eq. (2.24) can be
transformed as follows:
17
u1
k1
V1
k1
u3
k2 k3
k2 + k3
P
(2.25)
Equation (2.25) is the finite element equation in the global form. Let us examine
Eqs. (2.21) and (2.24) in further detail. Performing the matrix multiplication of coefficient matrices, Eq. (2.21) leads to the following equation:
= P + V
(2.26)
where
kaa T + kab T + kba T + kbb T
Equation (2.26) means that the coefficients of the finite element equation consist of
four constituents, which are given below:
1
kaa
2
3
kaa
+ kaa
1
+ kba
2
1
kab
3
2
3
kab
+ kab
kba + kba
V1
1
kbb
u1
u 2
2
3
kbb
+ kbb
u3
(2.27)
P
Equation (2.27) is derived from performing the multiplication of each constituent
matrix of Eq. (2.26). Equation (2.27) can also be rewritten as
1
1
kaa
kab
1 1
kba kbb
V1
2
2
kab
kaa
+
2
2
kba kbb
3
kaa
3
kba
u1
3
kab
u 2
3
kbb
u3
(2.28)
P
The finite element equation in the global form Eq. (2.24) can easily be derived from
Eq. (2.27). The finite element equation is derived by superimposing the deformation
equation into the whole equation. In this sense, the deformation equation, Eq. (2.10),
18
is sometimes called the local finite element equation, whereas Eq. (2.21) is called
the global finite element equation. This is the basic concept of the finite element
method. This concept is in fact not limited to spring structures, but extends to all
analyses of structures and fluids, as we will see in the rest of this book.
(2.29)
where u 1 is the displacement on node 1 and at the node reaction force V1 is unknown.
The displacements of nodes of a whole structure can be divided into two groups:
unknown and known displacements. To collectively analyze the unknown displacements, the following matrix [ T ] will be defined. The row number corresponds to
node number, and column number corresponds to number of unknown displacement,
which is noted by 2 and 3,
1
2
2 3
(2.30)
and corresponding diagonal element is 1. Then the following expression should hold:
= T
u
(2.31)
u2
u3
(2.32)
u1
u2
u2 = 1 u3
u3
1
(2.33)
19
Equations (2.31) and (2.33) mean that the known displacements are subtracted from
the whole displacements. Multiplying to [P] by [], the following relations can be
obtained:
(2.34)
P = P
which is
1
1
= P
(2.35)
P
where [P] is the applied external force matrix. Subtracting the nodes on which the
boundary condition is imposed, and the following relation holds
which is
1
V1
(2.36)
(2.37)
This derivation shows that reaction force can be subtracted from the whole system.
Further, introducing Eq. (2.31) into Eq. (2.26), we obtain the following:
u = P + V
T
(2.38)
k1
k1
u2
V1
= +
(2.39)
u2
k1
V1
=
+
(k2 + k3 )
(k2 + k3 )
P
(2.40)
20
Multiplying [] from the left to Eq. (2.38) and using Eq. (2.36), the following equation
can be obtained:
(2.41)
u = P
K
where [K] = [][K][ T ] can be expanded as
u2
u3
=
P
(2.42)
Equation (2.41) or Eq. (2.42) is the final form of the finite element equation including the boundary condition. Specifying the external force P, the displacements of
structure can be obtained by Eq. (2.41) or Eq. (2.42). Subtracting Eq. (2.42) from
Eq. (2.40), the remainder equation is
k1
u2
= V1
u3
(2.43)
from which the reaction force can be obtained. Thus, this equation is called the
reaction equation.
2.8 Solution
In addition to the basic machinery that we have introduced so far in this chapter,
it is necessary to deploy some other products to solve the finite element equation
Eq. (2.42). We can solve Eq. (2.42) for u 2 and u 3 and get
1
(k2 + k3 )
P=
P
k1 (k2 + k3 )
k1
(2.44)
1
(k1 + k2 + k3 )
P
P=
P+
k1 (k2 + k3 )
k2 + k3
k1
(2.45)
u2 =
u3 =
Substituting Eqs. (2.44) and (2.45) into Eq. (2.43), the reaction force V1 can be
obtained:
(2.46)
V1 = k1 u 2 = P
Equation (2.46) means that the magnitude of V1 is P and direction of V1 is antidirection of P. This is a natural consequence of the equilibrium of the whole spring
structure.
To compute the spring forces, Eq. (2.22) is reformulated as follows, using
Eqs. (2.8) and (2.29):
2.8 Solution
21
k1
Fa1
u2
2
Fa = k2 k2 u 3
Fa3
k3 k3
1
k1
Fb
u2
2
Fb = k2 k2 u 3
Fb3
k3 k3
(2.47)
(2.48)
Introducing Eqs. (2.44) and (2.45) into Eqs. (2.47) and (2.48), we obtain
P
= P
k1
P
= k2 (u 2 u 3 ) = k2
k2 + k3
P
= k3 (u 2 u 3 ) = k3
k2 + k3
P
= k1 u 2 = k1
=P
k1
P
= k2 (u 2 + u 3 ) = k2
k2 + k3
P
= k3 (u 2 + u 3 ) = k3
k2 + k3
k2
P
k2 + k3
k3
=
P
k2 + k3
=
(2.49)
k2
P
k2 + k3
k3
=
P
k2 + k3
=
Recall Eqs. (2.3) and (2.4), then Fb1 , Fb2 , and Fb3 can be adopted as the spring forces.
Thus, we have solved the spring structure shown in Fig. 2.1.
m
m
kaa kab
m
m
kba kbb
(2.50)
m,
m is superscripted on the
To highlight the fact that Eq. (2.50) is for the spring
elements of the matrix to which it is associated. Table 2.1 summarizes the connectivity
m,
between springs and nodes. The first column represents the number of spring
22
1
2
2
2
3
3
1
2
3
whereas the second and third columns show the number of nodes which correspond
to the edges a and b, respectively.
Building on Table 2.1, the coefficient matrix of the global finite element equation
Eq. (2.24) can be formulated as follows. The global matrix is a matrix whose row
and column numbers correspond to nodes. Given this matrix, apply the following
procedures:
m
onto row a and column a;
Superimpose kaa
m
onto row a and column b;
Superimpose kab
m
onto row b and column a;
Superimpose kba
m
onto row b and column b.
Superimpose kbb
Let us now consider this line of approach in detail with a specific example. For spring
1 , the local coefficient matrix is
k1 k1
(2.51)
k1 k1
which we can superimpose onto the global coefficient matrix, and we get
k1
1
1
2
3
k1
k1
(2.52)
k2 k2
k2 k2
(2.53)
We can again superimpose this coefficient onto the global coefficient matrix, and we
get
2
3
k1
k1
k1
k1 + k2
k2
23
k2
k2
(2.54)
k3 k3
k3 k3
(2.55)
and by incorporating the coefficient matrix into the global coefficient matrix:
1
k1
k1
1
(2.56)
The final matrix obtained in this way is identical to the coefficient matrix of
Eq. (2.25). The algorithm demonstrated in this section is systematic and efficient for
computational coding.
2
P
24
1
1
2
2
..
.
..
.
..
.
M
(2.57)
Denoting displacements at each node u 1 and u 2 , and imposing the following boundary
condition,
(2.58)
u1 = 0
The global finite element equation can be directly obtained as
u2
(2.59)
where P is the external force. This procedure allows us to formulate Eq. (2.59) more
easily, and to get displacement u 2 . It also enables us to compute the spring forces in
an efficient manner.
The second example is a series of springs, as illustrated in Fig. 2.6. Again we
n , and
represent node numbers with 0, 1, 2, , n, spring numbers with 1 , 2 , ,
spring constants with k1 , k2 , , k
n . We can summarize connectivity relation as in
Table 2.3.
The coefficient matrix of the global finite element equation is
k
k1
1
k1 k1 + k2 k2
..
.
k2 k2 + k3
.
.
..
..
k i1 k
..
i1
+ ki
..
ki
..
.
k
n1
..
k n1 + kn kn
kn
kn
(2.60)
25
V0
0
1
k1
1
2
k2
n- 1
n
kn
n
Vn
k1
k1
u0
u 1
..
.
k2 k2 + k3
u2
.
.
.
..
..
..
..
.
u i
k i1 k i1 + ki ki
.
.
.
..
..
..
.
k n1 k n1 + kn kn
u n1
kn
kn
un
26
0
1
1
2
..
.
..
.
..
.
n
n1
V0
P1
P2
.
.
=
+
Pi
..
Pn1
Vn
(2.61)
where u 0 , u 1 , , u n represent displacements, P1 , P2 , , Pn1 are external forces,
and V0 and Vn are reaction forces at nodes 0 and n. The boundary conditions are
u0 = un = 0
(2.62)
and
k1
u1
V0
u =
2
Vn
kn
..
.
.
..
.
.
.
u n1
(2.63)
27
..
..
..
.
.
.
k
k
+
ki ki
i1
i1
..
..
..
.
.
.
k n1 k n1 + kn
P1
u1
u 2 P2
.. ..
. .
u = P
i i
. .
. .
. .
u n1
Pn1
(2.64)
(2.65)
2 1
u1
P1
1 2 1
u 2 P2
.. .. ..
.. ..
.
. .
. .
k
u = P
1 2 1
i i
. .
.. .. ..
. . .
.. ..
1 2
u n1
Pn1
(2.66)
2
1
An =
1
2 1
.. .. ..
. . .
1 2 1
.. .. ..
. . .
1 2 1
1 2
(2.67)
28
then we get
A1
n
(n 1)
(n 2) . . .
2(n 1)
2(n 2) . . .
(n 2)2
3(n 2) . . .
..
..
...
.
.
1
= n+1
(n + 1 k) (n + 1 k)2 (n + 1 k)3 . . .
..
..
..
.
.
.
(n + 1 k) (n + 1 k)2 (n + 1 k)3 . . .
..
..
..
.
.
.
1
2
3
...
n
(n 1)
(n 2)
..
.
1
2
..
.
..
.
(n + 1 k)l . . . l(n + 1 l) . . . l
..
..
. . ..
. .
.
.
k
...
l
... n
(n + 1 k) . . . (n + 1 l) . . .
2(n + 1 k) . . . 2(n + 1 l) . . .
3(n + 1 k) . . . 3(n + 1 l) . . .
..
..
.
.
k(n + 1 k) . . . k(n + 1 l) . . .
..
..
..
.
.
.
(2.68)
Matrix elements in Eq. (2.68) are as follows.
k(n + 1 k)
lk
n+1
(n + 1 k)l
l<k
n+1
(2.69)
In general, the numerical methods are employed to solve the global finite element
equation.
29
a
1
a
2
b
a
3
The finite element equation of structures consisting of series of the same springs
can be also derived. In this case the final equation is the same as obtained by the finite
difference method. Moreover, it is also possible to use different sets of coefficients
of springs for the whole structure in the finite element method. Therefore, the finite
element method is sometimes said to include the finite difference method.
2.12 Exercises
1. Compute displacements and forces of spring structures shown in Fig. 2.1 using
spring constants in the figure.
2. Derive the global finite element equation of spring structures shown in Fig. 2.7.
3. Consider the meaning of the symmetry of the finite element matrix, i.e., what is
the implication of the symmetry (kab = kba ) is.
4. Prove that the matrix (2.67) is the inverse matrix of (2.66).
5. Solve the spring structure shown in Fig. 2.7.
Chapter 3
Pipeline Systems
3.1 Introduction
Chapter 2 covered the fundamentals of the finite element method, illustrating the
derivation of the global finite element method using a simple spring structure. How
to drive the global finite element equation from the local finite element equation is
more or less identical across all finite element analyses that apply to structures and
fluids. Therefore, it is all the more critical to understand the derivation of the local
finite element equation. In essence, then, the bulk of the literature on the finite element
method addresses how to derive the local finite element equation. This chapter extends
the previous chapter by presenting a case study using a simple pipeline system. We
will go through the method to derive its local finite element equation. The formulation
we are going to introduce in this chapter is called the Galerkin method. This chapter
forms a basis for the next chapter, which together deals with computational methods
for the finite element method. An introductory computer program is also included,
which allows readers to understand the basic ideas developed in Chaps. 2 and 3.
31
32
3 Pipeline Systems
Y
z x
1 1
y
v1
z
2
z x
y
3
z x
Fa
y a
Fb
vb
z x
va
y a
l
Assume that the flow is very slow and has high viscosity. The relation between
the flux of flow F and the deformation rate d is linear in such a way that
F = Ad = Bd
(3.1)
where represents viscosity. For the sake of exposition, we put B as a place holder
for A, which functions as a proportional constant. The flux F is the deriving force
to generate the flow, and the deformation rate is
d=
dv
dx
(3.2)
where v is the velocity of the flow in the pipe. The flux should consistently be in an
equilibrium state, which means that
dF
=0
dx
(3.3)
From Eqs. (3.1) and (3.2), the flux can thus be expressed as
F=B
dv
dx
(3.4)
Introducing Eq. (3.4) into Eq. (3.3), we can derive the governing equation as given
below:
d 2v
B 2 =0
(3.5)
dx
33
We now denote the velocities at the two edges of the pipe a and b as follows:
va = (v)x=0
vb = (v)x=l
(3.6)
(3.7)
It is easy to solve Eq. (3.5) under the two conditions, Eqs. (3.6) and (3.7). Then the
local finite element equation can be derived. However, unfortunately, the general
governing equation cannot be solved in this manner. Therefore, we need the finite
element method, which we turn to now.
l
0
d
dx
dv
v B
dx
dx
l
0
dv dv
B
dx dx
dx = 0
(3.10)
dx 0
dx dx
0
(3.11)
34
3 Pipeline Systems
Fb vb
l
0
dv dv
B
dx dx
dx
(3.12)
where
va = (v )x=0
vb = (v )x=l
(3.13)
Recall that v is an arbitrary function, and hence va and vb are also arbitrary. Consider
the interpolation for the velocity as
x
x
va +
vb
v = 1
l
l
(3.14)
Equation (3.14) is linear, and Eq. (3.5) is satisfied. Thus, va and vb are velocities of
the edges a and b. Equation (3.14) is referred to as the interpolation function. For
the weighting function of velocity, the following equation can be used:
x x
va +
vb
v = 1
l
l
(3.15)
In this method, the weighting function is of the same type of interpolation function
this sort of method is referred to as the Galerkin method. In this method, note that
Eq. (3.15) satisfies Eq. (3.13). Let me reiterate here that va and vb are arbitrary constants, not velocities. For substituting Eqs. (3.14) and (3.15) into Eq. (3.12), we can
compute the first derivatives:
1
1
dv
=
va +
vb
dx
l
l
(3.16)
dv
1
1
=
va +
vb
dx
l
l
(3.17)
Incorporating Eqs. (3.16) and (3.17) into Eq. (3.12), and rearranging the terms, we
obtain
l
l
1
1
1
1
B
d xva
B
d xvb
va Fa
l
l
l
l
0
0
l
l
1
1
1
1
B
d xva
B
d xvb = 0
+ vb Fb
l
l
l
l
0
0
(3.18)
35
va
(3.19)
Recall again that va and vb are arbitrary constants; thus, the local form of the finite
element equation can now be derived as follows:
Fa
B
l
=
B
Fb
l
B v
a
l
B v
b
(3.20)
Suppose we posit va = 1 and vb = 0, we get the first equation of Eq. (3.20); suppose
on the other hand that va = 0 and vb = 1, then we can obtain the second equation
of Eq. (3.20). Equation (3.20) is the same type of Eq. (2.5), and Eq. (3.20) can be
rewritten as
or
Fa
Fb
Fa
Fb
h aa h ab
h ba h bb
va
vb
va
vb
(3.21)
(3.22)
where
h aa = h
h ab = h
h ba = h
h bb = h
m , we note equation terms
To specifically signal the fact that Eq. (3.21) is for the pipe
m , as in
with the superscript
36
3 Pipeline Systems
m
Fa
m
Fb
m
m
m
h ba
m
h bb
h aa h ab
m
va
m
vb
(3.23)
where
m
m
h aa
= h
m
m
h ab = h
m
m
h ba = h
m
m
h bb = h
The local finite element equations are Eqs. (3.21) and (3.22), or Eq. (3.23).
Fa haa hab va
Fb
hba hbb
vb
(3.24)
The derivation procedure is identical to what we have gone through in Sect. 2.3
Eq. (3.24) corresponds to Eq. (2.10). Let us posit the connectivity matrices [] and
[], which are obtained by the same procedure illustrated in Sect. 2.4. The matrices
are based on the connectivity relations, which are summarized in Table 3.1.
Using the procedures illustrated in Sects. 2.32.5, we can obtain the global finite
element equation:
haa hab
hba hbb
v
=
V
(3.25)
m
1
2
2
3
2
3
3
4
2
3
4
37
where [v] represents velocity at each node, which can be specifically represented as
v1
v
2
v =
v3
v4
(3.26)
V =
V1
(3.27)
where V1 is the flux on node 1, which is the deriving force to determine the velocity
to be specific values v1 . The velocity v1 is known, but the flux V1 is not. The precise
form of Eq. (3.25) can be described as follows:
h 1
h 1
v1
v2
h 2 h 3
h 1 h 1 + h 2 + h 3
v3
h
h
2 h
3
2 + h
3 + h
4 h
4
v4
h 4
h 4
V1
(3.28)
Equation (3.25), or its precise form Eq. (3.28), is the global finite element equation.
Equation (3.28) can be rewritten as in the following form:
H
v = V
(3.29)
where
haa T + hab T + hba T + hbb T
H =
(3.30)
38
3 Pipeline Systems
v1
v2
v3
v4
1
=
1
v2
v
3
v4
v1
(3.31)
(3.32)
where [v] represents unknown variables, whereas [v] represents known variables.
The matrix [ T ] is a matrix that is similar to Eq. (2.30). The matrix [ T ] stands for
the correspondence of the node on which the velocity is specified with respect to the
whole nodal velocity. Incorporating Eq. (3.32) into Eq. (3.29), we get
H
v = V
v + H T
(3.33)
Multiplying [ ] from the left to both sides of Eq. (3.33), and by making using of the
following relation
(3.34)
V = 0
the final form of the global finite element equation, including the boundary condition,
can be obtained:
(3.35)
H v = Q
where
and
H = H T
v
Q = H T
h 1 + h 2 + h 3
h + h
2
3
h 2 + h 3
v2
h 2 + h 3 + h 4 h 4
v3
v4
h 4
h 4
Q2
Q
= 3
Q4
(3.36)
3.5 Boundary Conditions and the Final Form of the Global Finite Element Method
Q2
3 =
Q4
h 1
39
v1
(3.37)
Equation (3.36) can be derived from Eq. (3.28) in a straightforward manner; i.e.,
the rows and columns corresponding to the known velocities are subtracted from
Eq. (3.28). The right-side terms are obtained by transforming the left-side terms of
corresponding columns of the coefficient matrix times the known variables. This
algorithm is simple and thus suitable for computational coding.
Multiplying [] from the left to Eq. (3.29) and using the relation
V = V
(3.38)
(3.39)
h 1
h 1
v1
v2
v3
v4
V1
(3.40)
Introducing the solution of Eq. (3.36) into Eq. (3.40), the driving flux at node 1 can
be computed.
40
Fig. 3.3 Flow chart
3 Pipeline Systems
start
indata
stiff
displ
sweep
outdata
flux
stop
41
ia(i)
ib(i)
1
2
2
3
2
3
3
4
i f x(i)
pp(i)
1
1.0
b(i)
sl(i)
1.0
1.0
0.5
1.0
0.5
1.0
1.0
1.0
node number to which the edge a of pipe i is connected is stored. In the array ib(i),
the node number to which the edge b of pipe i is connected is stored. In the case of
the pipeline system shown in Fig. 3.1, stored numbers in ia(i) and ib(i) are listed in
Table 3.2.
The nodal number of nodes on which the velocity is specified is stored in i f x(i)
and specified values are in pp(i), where i = 1 to i x. In the case shown in Fig. 3.1,
i x = 1, and specified value is assumed as 1.0. Those are listed in Table 3.3.
The coefficient values of the local finite element equation B
m and l
m are in the
array b(i), sl(i), i = 1 to m. Those are listed in Table 3.4.
ia( m )
ia( m ) a h m
ib( m ) b
h m
ib( m )
h m
(3.41)
hm
42
3 Pipeline Systems
(3.42)
The index i is the number of pipe. The index ii is the number of node to which the
edge a of pipe i is attached. The index j j is the number of node to which the edge b of
pipe i is attached. Let us work through the schematic change of sa(i) according to i.
Readers should make sure that the final matrix in Eq. (3.46) is the coefficient matrix
of Eq. (3.28) (Fig. 3.5).
i=1
sa(i,j) =
h1
h 1
h 1
2
3
4
43
h1
(3.43)
i=2
sa(i,j) =
h1
h 1
2
3
4
h 1
h 1 +h 2
h 2
h 2
h2
(3.44)
i=3
1
sa(i,j) =
2
3
4
h1
h 1
h 1
h 1 +h 2 +h 3
h 2 h 3
h 2 h 3
h 2 +h 3
(3.45)
i=4
1
sa(i,j) =
2
3
h1
h 1
h
1
h 1 +h 2 +h 3
h 2 h 3
h 2 h 3
h 2 +h 3 +h 4
h 4
h 4
h4
(3.46)
h1
h 1
h 1
h 1 +h 2 +h 3
h 2 h 3
h 2 h 3
h 2 +h 3 +h 4
h 4
h 4
h4
1
h 1 +h 2 +h 3
h 2 h 3
h 2 h 3
h 2 +h 3 +h 4
h 4
h 4
h4
(3.47)
44
3 Pipeline Systems
h 1
(3.48)
The index i represents a set of sequential numbers of nodes on which the velocities are specified and the index ii is actual number of nodes. Inner do loop is the
routine to erase the corresponding rows and columns. The last statement puts 1 on
the corresponding diagonal terms of sa(i, j).
The known terms pq(i) of Eq. (3.37) are programed as follows:
do i = 1, i x
ii = i f x(i)
do j = 1, nx
pq( j) = pq( j) sa( j, ii) pp(i)
end do j
pq(ii) = 0.0d0
end do i
The index i is the sequential number of nodes on which the velocities are specified.
The index ii is the actual number of nodes on which the velocities are specified. Inner
do loop computes the known terms. Of importance is the last statement, which means
corresponding rows of pq(i) are erased from the computation. By this procedure,
the known term pq(i) can be obtained as shown in Fig. 3.7.
Using the arrays sa(i, j) and pq(i), subroutine sweep can compute the solution
of linear simultaneous equation. The values on the positions corresponding to the
known term are zero. The computed velocities are obtained and stored in array pq(i).
The algorithm is the standard sweep out method.
45
Node
Velocity
1
2
3
4
1.0
1.0
1.0
1.0
Pipe
Flux
1
2
3
4
0.0
0.0
0.0
0.0
46
3 Pipeline Systems
!*************************************************************
!*************************************************************
!**********
* ** ** * * * * * * * * * ** ** * * * * *
!**********
pipeline system
***********************
!**********
coded by Wakui
***********************
!**********
* ** ** * * * * * * * * * ** ** * * * * *
!*************************************************************
!*************************************************************
!**
**
!** n--------total number of nodes
**
!** m--------tatal number of pipes
**
!** ix-------total number of nodes on which velocity is
**
!**
specified
**
!** ia,ib----conectivities of edges a and b
**
!** ipx------number of nodes on which velocities are
**
!**
specified
**
!** pp-------specified velocities
**
!**
**
!*************************************************************
!*************************************************************
!*************************************************************
!**
*******************************************
!** main program *******************************************
!**
*******************************************
!*************************************************************
program pipeline_system
implicit real(8) (a-h,o-z)
integer,parameter :: MN=20
integer :: ia(MN),ib(MN),ipx(MN)
real(8) :: sh(MN),pp(MN),b(MN),sl(MN)
real(8) :: sa(MN,MN),pq(MN)
open(10,file=input.txt)
open(30,file=output.txt)
call
call
call
call
call
indata
stiff
displ
outdata
flux
(n,m,ix,ia,ib,b,sl,ipx,pp)
(n,m,ia,ib,sa,b,sl,sh,MN)
(n,ix,ipx,sa,pq,pp,MN)
(n,pq,ix,ipx,pp)
(m,ia,ib,pq,b,sl,sh)
close(10)
close(30)
stop
end program pipeline_system
!*************************************************************
200
300
write(30,*)
format(5x,i5,f11.3)
format(5x,i5,2i11)
return
end subroutine indata
!*************************************************************
!*************************************************************
!****
* ** * * * * * * * * * ** * * * ** ** * * * * ** * * * ** ** * * *
!**** subroutine stiff *************************************
!****
* ** * * * * * * * * * ** * * * ** ** * * * * ** * * * ** ** * * *
!*************************************************************
subroutine stiff(n,m,ia,ib,sa,b,sl,sh,MN)
47
48
3 Pipeline Systems
implicit real(8)(a-h,o-z)
integer :: ia(*),ib(*)
real(8):: sa(MN,*),b(*),sl(*),sh(*)
do i = 1,n
do j = 1,n
sa(i,j) = 0.0d0
end do
end do
write(3,*)
write(30,*)
write(30,*)
num.ele
num.ele
coeff.b
coeff.b
do i = 1,m
ii = ia(i)
jj = ib(i)
sh(i) = b(i) / sl(i)
sa(ii,ii) = sa(ii,ii)
sa(ii,jj) = sa(ii,jj)
sa(jj,ii) = sa(jj,ii)
sa(jj,jj) = sa(jj,jj)
end do
+
+
coeff.l
coeff.l
coeff.h
coeff.h
sh(i)
sh(i)
sh(i)
sh(i)
do i = 1,m
write(30,301) i,b(i),sl(i),sh(i)
end do
301
write(30,*)
format(5x,i5,3f11.3)
return
end subroutine stiff
!*************************************************************
!*************************************************************
!****
************************************************
!**** displ ************************************************
!****
************************************************
!*************************************************************
subroutine displ(n,ix,ipx,sa,pq,pp,MN)
implicit real(8)(a-h,o-z)
integer :: ipx(*)
real(8) :: sa(MN,*),pq(*),pp(*)
do i = 1,n
pq(i) = 0.0d0
end do
49
do i = 1,ix
ii = ipx(i)
do j = 1,n
pq(j) = pq(j) - sa(j,ii) * pp(i)
end do
end do
do i = 1,ix
ii = ipx(i)
do j = 1,n
sa(ii,j) = 0.0d0
sa(j,ii) = 0.0d0
end do
sa(ii,ii) = 1.0d0
end do
!*************************************************************
!*************************************************************
!****
************************************************
!**** sweep ************************************************
!****
************************************************
!*************************************************************
call sweep(n,pq,sa,MN)
return
end subroutine displ
!*************************************************************
!*************************************************************
!****
**********************************************
!**** outdata **********************************************
!****
**********************************************
!*************************************************************
subroutine outdata(n,pq,ix,ipx,pp)
implicit real(8)(a-h,o-z)
integer :: ipx(*)
real(8) :: pq(*),pp(*)
do i = 1,ix
ii = ipx(i)
pq(ii) = pp(i)
end do
write(30,*) **********
write(30,*)
write(30,*) num.ele
write(30,*)
do i=1,n
write(30,302)i,pq(i)
end do
output results
velocity
*************
50
3 Pipeline Systems
302
write(30,*)
format(5x,i5,f11.3)
return
end subroutine outdata
!*************************************************************
!*************************************************************
!****
*************************************************
!**** flux *************************************************
!****
*************************************************
!*************************************************************
subroutine flux(m,ia,ib,pq,b,sl,sh)
implicit real(8)(a-h,o-z)
integer :: ia(*),ib(*)
real(8) :: pq(*),b(*),sl(*),sh(*)
write(30,*) num.ele
write(30,*)
do i = 1,m
ii = ia(i)
jj = ib(i)
va = pq(ii)
vb = pq(jj)
sh(i) = b(i) / sl(i)
fb = sh(i) * (vb - va)
write(30,303)i,fb
end do
303
flux
format(5x,i5,1f11.3)
return
end subroutine flux
!*************************************************************
!*************************************************************
!****
************************************************
!**** sweep ************************************************
!****
************************************************
!*************************************************************
subroutine sweep(n,pq,sa,MN)
implicit real(8)(a-h,o-z)
real(8) :: pq(*),sa(MN,*)
do i = 1,n
cc = 1.0d0 / sa(i,i)
do j = i , n
sa(i,j) = sa(i,j) * cc
end do
51
pq(i) = pq(i) * cc
do k = i+1,n
bb = sa(k,i)
do j = 1,n
sa(k,j) = sa(k,j) - sa(i,j) * bb
end do
pq(k) = pq(k) -pq(i) * bb
end do
end do
do i = n-1,1,-1
do j = i+1,n
pq(i) = pq(i) - pq(j) * sa(i,j)
end do
end do
return
end subroutine sweep
!*************************************************************
************
input data
***********
************************
num.ele
edge.a
edge.b
1
2
3
4
1
2
2
3
2
3
3
4
num.ele
coeff.b
coeff.l
coeff.h
1
2
3
4
1.000
0.500
0.500
1.000
1.000
1.000
1.000
1.000
1.000
0.500
0.500
1.000
*************
output results
num.ele
velocity
1
2
3
4
1.000
1.000
1.000
1.000
num.ele
flux
1
2
3
4
0.000
0.000
0.000
0.000
********************
52
Table 3.7 Connectivity
relations
3 Pipeline Systems
i
ie(1, i)
ie(2, i)
1
2
2
3
2
3
3
4
ie(1, m )
ie(1, m ) 1
hm
ie(2, m )
2
h m
sm(i,i)
ie(2, m )
h m
(3.49)
hm
An another algorithm is shown in this section, which is the basis of the programs
in the following chapters. In the subroutine indata, the connectivity relation can be
stored as in Table 3.7.
Namely, ia(i) and ib(i) can be replaced by one array ie(i, j) where i = 1 and 2,
and j = 1 to m. The index i = 1 means edge a and index i = 2 is edge b. The array
sm(i, j) where i = 1 to 2 and j = 1 to 2 is used for the local coefficient matrix.
The superposition procedure shown in Fig. 3.10 can be changed to the algorithm
shown in Fig. 3.4. The program is as follows:
do im = 1, m
sm(1, 1) = h(im)
sm(1, 2) = h(im)
sm(2, 1) = h(im)
sm(2, 2) = h(im)
do i = 1, 2
ii = ie(i, im)
do j = 1, 2
j j = ie( j, im)
sa(ii, j j) = sa(ii, j j) + sm(i, j)
end do j
end do i
end do im
The index im represents the number of pipe, sm(i, j) is the array for local matrix,
and sa(i, j) is the global matrix. The index i denotes edge a and edge b, ii is the
nodal number to which edge i is connected, and the index j also denotes edge a and
edge b, j j is the nodal number to which edge j is connected.
53
For the algorithm described in the previous chapters, we need a large size of
the computer storage for the main array sa(i, j) whose size is n n, where n is
the total numbers of nodes. Among the actual existing computer programs of the
finite element method, many of them do not employ the array sa(i, j). In those
programs, the solution of simultaneous equation can be obtained without making
the main matrix sa(i, j), and using the iterative methods, such as AD method, CG
method, etc.
Another approach is to use only nonzero element in the solution of the simultaneous equation. For those solution procedures, see the specific literatures on them
(e.g., Coleman and Van Loan 1988; Watkins 2010; Golub and Van Loan 2013, etc.).
3.9 Exercises
1. Confirm that the following equation of equilibrium is satisfied:
Fa
Fb
V
(3.50)
54
3 Pipeline Systems
or
1
1 1
1
1
1 1
1
Fa1
F 2
a
F 3 =
a
F 4
a
1
Fb
2
Fb
3
F
b
4
Fb
V1
(3.51)
(3.52)
u(0) = u 0
(3.53)
x
x
ua +
ub
u = 1
l
l
(3.54)
where u a and u b are function values on edges a and b, the length of interval is l
(see Fig. 3.11), and the weighting function is
x x
ua +
ub
u = 1
l
l
a
1
(3.55)
b a
1
b a
2
2
a
3
b
b
3
3.9 Exercises
55
where u a , u b are arbitrary constants, show that the global finite element equation is
21
1
2
1
21
2
21
21
1
2
1
2
u1
u2
u3
u4
(3.56)
1
2
21
1
2
21
1
2
u2
u
3
u4
21
u1
.
(3.57)
Chapter 4
Potential Flow
4.1 Introduction
The previous chapters have used one-dimensional second-order differential equation
to explain the basic concepts of the finite element method. As we have observed, it
is possible to obtain the exact solution in the case of one-dimensional problem in
general. Therefore, the advantage of deploying the finite element method may not
appear to be so substantial given one-dimensional problems, although it does indeed
have an advantage of allowing us to deal with the nonuniform length distributions.
This chapter extends on the previous discussion and deals with two-dimensional
simple nonviscous flows, i.e., potential flows, analyzing them using the finite element
method. The analysis of the potential flow is one of the most useful flow analyses in
the domain of engineering and science in general. This analysis therefore introduces
many fundamental concepts of the finite element method, although we will use steady
nonviscous flow.
v=
y
u=
(4.1)
(4.2)
57
58
4 Potential Flow
S1
S2
n
S2
s
z
Y
V
C
S1
The minus signs indicate the fact that the fluid flows from the place of high
potential to that of low potential. The continuity of the flow can be shown below:
v
u
+
=0
x
y
(4.3)
Substituting Eqs. (4.1) and (4.2) into Eq. (4.3) and rearranging the terms, we can
derive the Laplace equation, as shown in Eq. (4.4):
2 2
+
x 2
y2
=0
in
(4.4)
where V is the flow field. We will denote the boundary of flow field by S. As boundary conditions, we introduce two types, which are essential and natural boundary
conditions. There must be some differences between the potentials on boundaries
AB and those on CD of the flow field shown in Fig. 4.1, because there is a flow.
To be more specific, some values of the potential are specified on boundaries AB
and those on BC. Those boundary conditions are referred to as essential boundary
conditions, and in general, those are shown as
=
on
S1
(4.5)
59
where S1 is the essential boundary and is the potential value given on the boundary.
Consider the boundary condition that should hold on the two sidewallsAC and
BDof the channel. That is the velocity normal to the boundary, which must be
zero. Let q be the velocity normal to the boundary
q = ul + vm =
l+
m = q
x
y
on
S2
(4.6)
where q is the velocity value given on the boundary, and l and m are the direction
cosines of the unit normal to the boundary:
dy
ds
dx
m=
ds
l=
(4.7)
(4.8)
(4.10)
where 0 is a null set. Simply, the boundary S consists of two boundariesS1 and S2 ,
and S1 and S2 do not overlap.
60
4 Potential Flow
+
x 2
y2
V
The left side of Eq. (4.11) can be transformed using the following equalities:
2
2 d xd y =
d xd y
d xd y
x
x
x x
V
V x
V
V
d xd y =
d xd y
d xd y
y2
y
y y
V y
V
(4.12)
(4.13)
The first terms on the right side of Eqs. (4.12) and (4.13) can be transformed into the
boundary integrals as
dy
d xd y =
ds
x
x ds
S
(4.14)
d x
ds
d xd y =
y
y ds
S
(4.15)
61
Introducing Eqs. (4.14) and (4.15) into Eqs. (4.12) and (4.13), respectively, and further introducing the resulting equations into Eq. (4.11), we get
V
+
l+
m ds
d xd y =
x y
y y
x
y
S
(4.16)
+
q ds
d xd y =
x x
y y
S
(4.17)
Equation (4.17) is valid over any volume V and its boundary S; for instance, over
a finite element, a whole flow field, and even a part of flow field, to the extent that
the boundary is closed. For the sake of simplicity, let us assume that is zero on
S1 . Recall that all boundary S of the whole flow field V consists of nonoverlapping
boundaries S1 and S2 , as expressed in Eq. (4.10), then we can derive the following:
V
+
d xd y =
( q)ds
x x
y y
S2
(4.18)
Notice that the right side of Eq. (4.18) consists of the known term. Equation (4.18)
is derived from Eq. (4.4) without using the boundary condition Eq. (4.5). Therefore,
we can regard the set of Eqs. (4.18) and (4.5) as basic equations of the potential flow.
a
q
V
s
n
S
q
y
z
62
4 Potential Flow
The coordinate system s-n-z is placed along the boundary S, and the direction of s
is from a to b, b to c, and c to a. Through the three sides of an element, fluid flow q
comes in and out. To the extent that the finite element mesh is satisfactorily refined,
the linear interpolation for an element can be adapted. In this case, the potential
inside an element can be expressed as
= 0 + 1 x + 2 y
(4.19)
where 0 , 1 , 2 are unknown constants, which are to be determined. In Fig. 4.3, let
the potential on edges a, b, c be a , b , c , then the following relations hold:
a = 0 + 1 xa + 2 ya
b = 0 + 1 xb + 2 yb
(4.20)
c = 0 + 1 xc + 2 yc
where (xa , ya ), (xb , yb ), (xc , yc ) are coordinates of edges a, b, c, respectively. Inverting the relations in Eq. (4.20), we obtain
0 = aa a + ab b + ac c
1 = ba a + bb b + bc c
(4.21)
2 = ca a + cb b + cc c
where
1
(x j yk xk y j )
2
1
bi =
(y j yk )
2
1
(xk x j )
ci =
2
ai =
and
=
1
{(x j xi )(yk yi ) (xk xi )(y j yi )}
2
(4.22)
(4.23)
(4.24)
where a (x, y), b (x, y), c (x, y) are called shape functions, whose meanings will
be clarified in Sect. 4.10. But for now
63
a (x, y) = aa + ba x + ca y
b (x, y) = ab + bb x + cb y
c (x, y) = ac + bc x + cc y
(4.25)
Equation (4.25) is the linear interpolation function, and the values on edges a, b, c
are a , b , c . Expressed in a matrix form, Eq. (4.25) can be described as
= a (x, y) b (x, y) c (x, y) a
b
c
(4.26)
(4.27)
where a (x, y), b (x, y), c (x, y) are the functions defined in Eq. (4.25). The constants a , b , c are the values of the weighting function at the edges a, b, c of an
element. Those are arbitrary and independent, because the function itself is an
arbitrary function. Then Eq. (4.27) can be rewritten in the following matrix form:
a
= a (x, y) b (x, y) c (x, y)
b
c
(4.28)
In general, the weighting function is taken to be the same type of the interpolation
function. This method, recall from Chap. 3, is referred to as the Galerkin method.
It is possible to use different type functions for weight and interpolation. However,
because we obtain the symmetric coefficient matrix of the final finite element equation, normally, we use the same type function for weight and interpolation.
64
4 Potential Flow
a
x x
c
a
x
c
b
b
x
b
y y
x x
y
y
b
x
b
y
(4.29)
c a
y c
(4.30)
x
d xd y = ( q)ds
x y
V
S
y
(4.31)
Introducing Eqs. (4.29) and (4.30) into Eq. (4.31) and rearranging the terms, we
get the following equation:
Ma N a
a
Ma M b M c
Mb Nb
b c
d xd y b
N
N
N
V
a
b
c
Mc N c
c
Qa
Qb
= a b c
dS
S
Qc
(4.32)
where
a
x
a
Na =
y
Q a = a q
Ma =
b
x
b
Nb =
y
Q b = b q
Mb =
c
x
c
Nc =
y
Q c = c q
Mc =
65
a
F
a
K bc b = a b c Fb
K cc
c
Fc
K aa K ab K ac
a b c
K ba K bb
K ca K cb
(4.33)
where
K aa K ab K ac
K ba K bb K bc
K ca K cb K cc
V
(Mc Ma + Nc Na ) (Mc Mb + Nc Nb ) (Mc Mc + Nc Nc )
Fa
Qa
(4.34)
Fb
= Q b ds
S
Fc
Qc
(4.35)
b = 0,
c = 0
a
a
b
b
= 1,
c = 0
= 0,
c = 1
= 0,
= 0,
(4.36)
66
4 Potential Flow
then, we can derive the local finite element equation from Eq. (4.36), which is
Fa
a
K bc
b
c
K cc
K aa K ab K ac
Fb K ba K bb
=
Fc
K ca K cb
(4.37)
Equation (4.37) corresponds to Eqs. (2.7) and (3.22). Therefore, based on Eq. (4.37),
the finite element method can be developed in the same manner as we did in Chaps. 2
and 3. The procedure to derive Eq. (4.37) is based on Eqs. (4.26) and (4.28), i.e.,
linear functions. The interpolation and weighting functions are not necessarily linear
functions. The local finite element equation Eq. (4.37) in fact holds for more general
interpolation functions.
Ma
Mb
Mc
=
=
x
ba
bb
bc
(4.38)
Na
Nb
Nc
a
c
y a
= cb
=
c
c
c
(4.39)
where ba , bb , bc , ca , cb , and cc are computed using the coordinate values of the nodal
points, expressed in Eq. (4.22). By substituting Eqs. (4.38) and (4.39) into Eq. (4.34),
we get the following coefficient matrix of the local finite element equation:
ca
ba
cb c c c
bb b b b
K bc
a
b
c
a
b
c
+
=
K cc
bc
cc
K aa K ab K ac
K ba K bb
K ca K cb
67
(4.40)
For the integration, because the integrands in Eq. (4.34) are all constants, the
integration can be achieved simply by multiplying the area of triangle , which is the
integration domain. Equation (4.40) can be computed if we know the coordinates of
edges a, b, and c of a triangular element. In the case of linear interpolation functions,
the integration is thus easy to implement. On the other hand, general interpolation
functions require integral calculation. For this general purpose, we need to deploy
the Gauss integration, area coordinates, and other methods.
m , superscript
m is attached in
To pick out the equation for a particular element
each term of Eq. (4.37):
Fam
m
a
m
m
K bb
b
m
m
K cc
c
m
m
m
K aa
K ab
K ac
F m K m K m
b = ba bb
m m m
Fc
K ca K cb
(4.41)
m.
Equation (4.41) is the local finite element equation for element
Fa
F
b
Fc
K K K
= ba bb bc b
(4.42)
68
4 Potential Flow
elements. The coefficient matrices of [Kaa ], [Kab ] to [Kcc ] are diagonal matrices and
can be obtained from the coefficient matrix in Eq. (4.41).
The equilibrium of the equivalent velocities can be expressed in the following
formulation:
Fa
F
(4.43)
b= V
Fc
where [], [], [] are the connectivity matrices, which are used in the same algorithm discussed in Sect. 2.5. [V] is the matrix which expresses the unknown equivalent
velocities on the whole nodes. Compatibility of nodal potentials in the whole flow
field can be expressed as
b = T
(4.44)
c
T
where [] represents the matrix expressing the nodal potential values. Introducing
Eq. (4.44) into Eq. (4.42), and furthermore, introducing again the resulting equation
into Eq. (4.43), we get the following finite element equation:
= V
(4.45)
T
T
K
K
=
+ Kac T
+
aa
ab
T
T
K
+ Kbc T
+
+
ba
bb
T
T
K
+ Kcc T
+
+
ca
cb
(4.46)
K
where
The boundary conditions can be introduced using the same procedure that we
described in Sect. 3.5. As we did in Sect. 3.5, the potential [] can be divided into
and unknown potential [].
+ T
= T
(4.47)
69
where [] and [] are the similar matrices expressing the correspondence relations
stated in Sect. 3.5. Using the following relations:
= 0
=
(4.48)
(4.49)
represents a nonzero matrix of [V], the final form of the global finite
where [V]
element equation can be obtained:
=
(4.50)
where
K
T
=
K
T
Solving Eq. (4.50) allows us to obtain the potentials for the whole nodes. Using
the solution of Eq. (4.50), the unknown equivalent velocity on nodes, where the nodal
potentials are specified, can be derived as follows:
K
(4.51)
The next section will describe in detail the derivation of the global finite element
equation using small flow field, as an illustrative example. We first obtain the potential
values on the whole nodes to solve Eq. (4.50). Then the velocities in the whole flow
field can be computed using Eqs. (4.1) and (4.2). Because the potential values of
edges a, b, and c are known, the velocities at each element can be computed as
a
= M a M b M c b
u=
x
c
v=
= Na
y
a
N b N c b
(4.52)
(4.53)
70
4 Potential Flow
where Ma to Mc and Na to Nc are defined in Eq. (4.32). If the potentials on nodes are
known, velocities can then be computed in an element. Using the linear interpolation
function, velocity inside an element is constant.
Fa1
1
K ab
1
K aa
1
K ac
a1
2
F 2
2
2
2
K aa
K ab
K ac
a
a
3
F 3
3
3
K aa
K ab
K ac a3
a
1 1
1
1
F K
1
K bb
K bc
b ba
b
2
2
2
F2 =
2
K ba
K bb
K bc
b
b
3
3
3
F 3
K ba
K bb
K bc b3
b
1
1
F 1 K 1
1
K cb
K cc
c ca
c
2
2
2
F 2
2
K ca
K cb
K cc
c
c
Fc3
3
K ca
3
K cb
3
K cc
(4.54)
c3
b
3
c
3
a
1
2
y
c
1
71
Equilibrium of velocity gathered around each node should be zero; otherwise, the
fluid would overflow at that node:
node 1: Fc1 + V1 = 0
node 2: Fa1 Fb2 = 0
node 3: Fb1 Fa2 Fc3 = 0
(4.55)
node 4: Fc Fa = 0
2
3
node 5: Fb3 + V5 = 0
Equation (4.55) can be described in the following matrix form:
1
2
3
4
5
1
2
3
1
2
3
1
2
1
1
1
1
1
1
1
3
Fa1
V1
F 2
a
3
1
Fa =
1
F
b
V5
F2
b
F 3
b
F 1
c
F 2
c
(4.56)
Fc3
where the connectivity matrix can be obtained by the procedures described in
Sect. 2.4, using Table 4.1. This equation corresponds to Eq. (4.43).
The compatibility at each node can be represented as follows:
2
3
4
3
2
5
c
1
4
3
72
4 Potential Flow
a1 = 2
b1 = 3
c1 = 1
a2 = 3
b2 = 2
(4.57)
c = 4
2
a3 = 4
b3 = 5
c3 = 3
Equation (4.57) can be rewritten in a matrix format:
1
1
2 2
a
3 3
a
1 1
b
2 2
=
b
3
3
b
1 1
c
2 2
c
c3
3
1
1
1
1
1
1
2
3
4
5
(4.58)
This formulation corresponds to Eq. (4.44). Notice here that the coefficient matrices of Eqs. (4.56) and (4.58) are transpose matrices of each other. Substituting
Eq. (4.58) into Eq. (4.54), we get the following equation:
Fa1
1
K aa
1
K ab
73
1
K ac
2
2
2
2
Fa
K aa
K ab
K ac
3
3
3
F 3
K aa
K ab
K ac
a
1 1
1
1
F K
K
K
b ba
bb
bc
2
2
2
F 2
K ba
K bb
K bc
b=
3
3
3
F 3
K ba
K bb
K bc
b
1 1
1
1
Fc K ca
K cb
K cc
2
2
2
F 2
K ca
K cb
K cc
c
3
3
3
Fc3
K ca
K cb
K cc
1
4
5
1
1
1
1
K ac
K aa
K ab
2
2
2
K ab
K aa
K ac
3
3
3
K ac K aa K ab
1
1
1
K bb
K bc K ba
2
2
2
2
3
K bb K ba K bc
=
3
3
3
4
K bc
K ba
K bb
1
5
1
1
K cc K ca K cb
2
2
2
K
K
K
ca
cc
cb
3
3
3
K cc K ca K cb
(4.59)
74
4 Potential Flow
Substituting again Eq. (4.59) into Eq. (4.56) and rearranging the terms, the global
finite element equation can be derived as
1
K cc
1
K cb
1
K ca
1
2
2
K 1 K 1 + K 2
K ab
+ K ba
K bc
ac
aa
bb
1
1
2
1
3
2
3
2
3
+ K ab
K bb
+ K aa
+ K cc
K ac
+ K ca
K cb
K bc K ba
2
3
2
3
2
3
K cb
K ca
+ K ac
K cc
+ K aa
K ab
3
3
3
K bc
K ba
K bb
V1
2
3 =
4
5
V5
(4.60)
The result corresponds to Eq. (4.45). Notice that the coefficient matrix is symmetric. This nature of the equation stems from the fact that the coefficient matrices
of equilibrium and compatibility are mutually transpose matrices, and the fact that
the local finite element equation has the symmetric coefficient matrix. As we have
seen in some detail in Sect. 2.9, the global finite element equation Eq. (4.60) can be
systematically formulated.
The potential can be divided into known and unknown parts as follows:
1
1
2 1
2
1
1
3 +
3 =
5
1 4
1
5
(4.61)
where 2 , 3 , 4 are unknown potentials and 1 and 5 are given as the boundary conditions. This equation corresponds to Eq. (4.47). Introducing Eq. (4.61) into
Eq. (4.60) and using the following relation, which corresponds to Eq. (4.48):
1
1
1
V1
V5
(4.62)
75
we obtain the final form of the global finite element equation including the boundary
condition denoting 2 , 3 , 4 as 2 , 3 , 4 :
2
1
K aa
+ K bb
1
2
K ab
+ K ba
1
2
1
2
3
K ba + K ab
K bb
+ K aa
+ K cc
2
2
3
K cb
K ca
+ K ac
1
K ac
2
1
1
3
2
3
3 = K bc
K ac
+ K ca
K cb
5
3
2
3
K cc + K aa
4
K ab
2
K bc
(4.63)
Solving Eq. (4.63) will yield the potentials on the whole nodes in the flow field.
Equation (4.63) corresponds to Eq. (4.50). Note also that the final form of the global
finite element matrix is symmetric. The unknown velocities can be derived by applying the following relation to Eq. (4.60):
V1
V5
V1
V5
(4.64)
which corresponds to Eq. (4.49). The resulting equation for the unknown equivalent
velocities on nodes 1 and 5 can be expressed as follows:
1
K cc
1
K ca
1
K cb
3
K bc
3
K ba
2
V1
3 =
3
K bb
V5
4
5
(4.65)
Equation (4.65) corresponds to Eq. (4.51). The velocities inside the flow field can
be computed by the same procedure that we described in Sect. 4.7 using Eqs. (4.52)
and (4.53).
76
4 Potential Flow
R=
(4.66)
Multiplying the weighting function to Eq. (4.66) and integrating over an arbitrary volume V , we obtain
( R)d xd y =
V
2 h
2 h
+
x 2
y2
d xd y
(4.67)
Now, we will sidestep a bit and introduce the notion of weighted average. We
often use the concept of average for science and engineering data. When there are n
data, a1 , a2 , . . . , an , then the average a is
n
a=
i=1
ai
n
ai
= i=1
n
i=1 1
(4.68)
We can assign a weight ri for each element ai , then we can calculate its weighted
average ar :
n
ri ai
ar = i=1
(4.69)
n
i=1 ri
We can take arbitrary constants for the weight ri . Equation (4.67) is the natural
extension of Eq. (4.69), i.e., the weighted residual average. This should be summed
to zero:
V( R)d xd y
=0
(4.70)
V d xd y
Equation (4.70) leads to Eq. (4.11). We want to solve the exact solution of Eq. (4.4),
but this task seems insurmountable. Thus instead, we pursue a different route, in
which we attempt to solve weighted average of the differential equation, which
is essentially the meaning of the weighted residual equation. The naming of the
weighting function is also the natural extension of the weight ri , and an arbitrary
function can be employed. Thus we should make sure that we pursue the average
value of phenomena by the finite element method, not the extreme values.
77
(4.71)
= a (x, y)
(4.72)
(4.73)
1
a(x,y)
b(x,y)
b
1
c
c(x,y)
78
4 Potential Flow
then we get
Fa = K aa ,
Fb = K ba ,
Fc = Fca
(4.74)
(a q)ds
S
Fb =
(b q)ds
(4.75)
S
Fc =
(c q)ds
S
where Fa , Fb , and Fc are equivalent velocity, a , b , and c are the shape functions, and q is the velocity shown in Fig. 4.3. The integration is carried out over all
boundaries of an element S.
Consider an inner node i, shown in Fig. 4.6. The node i is surrounded by the
k ,
l ,
m,
n . Consider each inner side of integration, the direction of
elements
integration are mutually opposed to each other between two adjacent elements. If
we summarize the equivalent velocities gathered around i, we obtain zero, and only
quantities on the outer sides are nonzero. After reiterating the same operation over
all of the elements, we obtain the equivalent velocities on the whole sides of the
flow field. This means that Eq. (4.43) or Eq. (4.56) is the equilibrium equation of the
equivalent velocity. Normally, q on S2 is equal to zero, and thus, except on boundary
S1 , where the values of potential are all given, the summation value of the equivalent
velocity is zero.
79
b
c
n
a
a
y
z
b
l
80
4 Potential Flow
2
1
K cc
1
2
K ac
1
3
K bc
1
1
K ca
K cb
1
K aa
1
K ab
1
K ba
1
K bb
(4.76)
2
K bb
2
K ba
2
K bc
2
K ab
2
K aa
2
K ac
2
K cb
2
K ca
2
K cc
(4.77)
3
K cc
3
K ca
3
K cb
3
K ac
3
K aa
3
K ab
3
K bc
3
K ba
3
K bb
(4.78)
81
A 3
= 10 m2/sec
2
y
C 1
6
1
12
11
2.5 4 = 10.0
D
= 0.0 m2/sec
11
14 E
14
15
16
15
10
12
13
10
13
82
Fig. 4.8 Flow chart of the
program: potential_flow
4 Potential Flow
start
input
matrix
potent
sweep
velocity
stop
Explanation
1
1
1
nx
nx
3, mx
ix
ix
0.0
0.0
0.0
2.5
2.5
2.5
5.0
5.0
0.0
2.5
5.0
0.0
2.5
5.0
0.0
2.5
4
2
2
6
7
5
5
9
5
1
5
3
8
4
8
6
83
1
5
3
5
4
8
6
8
x y(1, i)
x y(2, i)
9
10
11
12
13
14
15
5.0
7.5
7.5
7.5
10.0
10.0
10.0
5.0
0.0
2.5
5.0
0.0
2.5
5.0
im
ie(1, im)
ie(2, im)
ie(3, im)
9
10
11
12
13
14
15
16
10
8
8
12
13
11
11
15
11
7
11
9
14
10
14
12
7
11
9
11
10
14
12
14
around a-b-c should coincide with the rotation of z-axis. Boundary conditions of
potential are given on the nodes 1, 2, 3 (ABC), and 13, 14, 15 (FED). Those
numbers are listed in i f x(i). On nodes 1, 2, 3, the potential is given as 10.0d0, and
on nodes 13, 14, 15, the potential is as 0.0d0. Those numbers are listed in t f x(i)
(Table 4.5).
84
4 Potential Flow
1
2
3
10.0
10.0
10.0
i f x(i)
t f x(i)
4
5
6
13
14
15
0.0
0.0
0.0
ie(1,im) 1
85
1
2
3
m
m
m
Kab
Kac
Kaa
ie(2,im) 2
Kba
Kbb
Kbc
ie(3,im) 3
Kca
Kcc
Kcb
sm(i,j)
(4.79)
Using the coordinates of three edges, area of triangle and b(i), i = 1 to 3, c(i),
i = 1 to 3 can be computed as in Eqs. (4.22) and (4.23). The array sm(i, j), i = 1
to 3, j = 1 to 3, which is the local finite element matrix can be computed following
Eq. (4.40).
Afterwards, the global finite element matrix is computed following the idea
described in Sect. 4.12. In Table 4.4, edges a, b, and c are denoted by 1, 2, and
3. Therefore, the node number connected with edge a of element im is stored in
ie(1, im), edge b in ie(2, im), and edge c in ie(3, im). The algorithm explained in
Sect. 4.12 can be implemented as in Fig. 4.9 and the following algorithm:
do i = 1, nx
do j = 1, nx
sk(i, j) = 0.d0
end do j
end do i
do im = 1, mx
do i = 1, 3
ii = ie(i, im)
do j = 1, 3
j j = ie( j, im)
sk(ii, j j) = sk(ii, j j) + sm(i, j)
end do j
end do i
end do im
86
4 Potential Flow
87
do i = 1, nx
ii = i f x(i)
do j = 1, nx
sk(ii, j) = 0.d0
sk( j, ii) = 0.d0
end do j
sk(ii, ii) = 1.d0
end do i
Then, the subroutine sweep can calculate the solution of the simultaneous equation
using the finite element matrix and the known term. The potentials computed are
stored in ff (i), i = 1 to nx. Again, the boundary conditions are treated in ff (i).
Finally, potentials are printed out.
88
4 Potential Flow
!************************************************!
!*** finite element method for potential flow ***!
!***
coded by Akihiro Aizawa ***!
!************************************************!
!
!
nx-----total number of nodes
!
mx-----total nnumber of elements
!
xy-----node coodinates
!
ie-----conection index for each elements
!
ix-----total number of potentials
!
specified on the boundaries
!
ifx----node number of specified boundary condition
!
itx----specified values for potentials on the boundaries
!
sm-----stiffness matrix for each element
!
sk-----stiffness matrix for all domain
program potential_flow
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
dimension
dimension
xy(2,40),ie(3,40),sk(40,40)
ifx(10),tfx(10),pq(40)
!************************************************!
!*******
Main Program
******!
!************************************************!
open(10,file=input_pot.txt)
open(20,file=check_input_pot.txt)
open(30,file=output_pot.txt)
open(40,file=check_matrix_pot.txt)
call
call
call
call
input(nx,mx,ix,xy,ie,ifx,tfx)
matrix(nx,mx,xy,ie,sk)
potent(nx,ix,ifx,tfx,pq,sk)
velcty(mx,xy,ie,pq)
close(10)
close(20)
close(30)
close(40)
end program potential_flow
!************************************************!
!*******
END Program
******!
!************************************************!
89
!************************************************!
!*********
Subprogram
******!
!************************************************!
!========== begin subroutine input ==========!
subroutine input(nx,mx,ix,xy,ie,ifx,tfx)
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
dimension xy(2,40),ie(3,40)
dimension ifx(10),tfx(10)
File input
read(10,*) nx,mx,ix
read(10,*) (i,xy(1,i),xy(2,i),j=1,nx)
read(10,*) (i,(ie(j,i),j=1,3),k=1,mx)
read(10,*) (i,ifx(i),tfx(i),j=1,ix)
Input data confirmation
write(30,*)******* potential flow program *******
write(30,*)
write(30,*)******* input data *******************
write(30,*)
write(20,*)******* input data check *************
write(20,*)
write(30,*) num.ele
ia
ib
ic
write(20,*) nx,mx,ix
write(20,*) (i,xy(1,i),xy(2,i),i=1,nx)
write(20,*) (i,(ie(j,i),j=1,3),i=1,mx)
do i=1,mx
write(30,299) i,ie(1,i),ie(2,i),ie(3,i)
end do
write(30,*)
write(20,*) (i,ifx(i),tfx(i),i=1,ix)
299
format(5x,i5,3i7)
return
end subroutine input
!============ end subroutine input
===========!
90
4 Potential Flow
do i=1,nx
do j=1,nx
sk(i,j)=0.0d0
end do
end do
do i=1,3
do j=1,3
sm(i,j)=0.0d0
end do
end do
do im=1,mx
ia=ie(1,im)
ib=ie(2,im)
ic=ie(3,im)
xa=xy(1,ia)
xb=xy(1,ib)
xc=xy(1,ic)
ya=xy(2,ia)
yb=xy(2,ib)
yc=xy(2,ic)
area=((yb-yc)*(xa-xc)-(xc-xb)*(yc-ya))*0.5d0
area2=1.0d0/(area*2.0d0)
b(1)=(yb-yc)*area2
b(2)=(yc-ya)*area2
b(3)=(ya-yb)*area2
c(1)=(xc-xb)*area2
c(2)=(xa-xc)*area2
c(3)=(xb-xa)*area2
do i=1,3
do j=1,3
sm(i,j)=(b(i)*b(j)+c(i)*c(j))*area
end do
end do
do i=1,3
ii=ie(i,im)
do j=1,3
jj=ie(j,im)
sk(ii,jj)=sk(ii,jj)+sm(i,j)
end do
end do
end do
write(40,*)***
***
91
write(40,*)
write(40,*)check coeff.b coeff.c
do i=1,3
write(40,*)b,i,b(i)
end do
write(40,*)
do i=1,3
write(40,*)c,i,c(i)
end do
write(40,*)
write(40,*)check area,area2
write(40,*)area ,area
write(40,*)area2 ,area2
write(40,*)
write(40,*)check matrix sm
do i=1,3
write(40,*)i,sm(i,1),sm(i,2),sm(i,3)
end do
write(40,*)
return
end subroutine matrix
!=========== end subroutine matrix
===========!
ifx(10),tfx(10),pq(40),sk(40,40)
do i=1,nx
pq(i)=0.0d0
end do
do i=1,ix
ii=ifx(i)
do j=1,nx
pq(j)=pq(j)-sk(j,ii)*tfx(i)
end do
end do
do i=1,ix
ii=ifx(i)
do j=1,nx
92
4 Potential Flow
sk(ii,j)=0.0d0
sk(j,ii)=0.0d0
sk(ii,ii)=1.0d0
end do
end do
call sweep(nx,sk,pq)
do i=1,ix
ii=ifx(i)
pq(ii)=tfx(i)
end do
write(30,*)******* output results
write(30,*)
write(30,*)num.nodes
potential
write(40,*)num.nodes
potential
***************
do i=1,nx
write(40,300) i,pq(i)
write(30,300) i,pq(i)
end do
300
write(30,*)
format(5x,i5,1f12.3)
return
end subroutine potent
!============ end subroutine potent
!=========== begin subroutine velcty
subroutine velcty(mx,xy,ie,pq)
===========!
==========!
xy(2,40),ie(3,40),pq(40)
b(3),c(3),p(3)
write(40,*)
write(30,*)
do im=1,mx
ia=ie(1,im)
ib=ie(2,im)
ic=ie(3,im)
xa=xy(1,ia)
xb=xy(1,ib)
xc=xy(1,ic)
ya=xy(2,ia)
yb=xy(2,ib)
yc=xy(2,ic)
num.ele
num.ele
velocity-u
velocity-u
velocity-v
velocity-v
93
area=((yb-yc)*(xa-xc)-(xc-xb)*(yc-ya))*0.5d0
area2=1.0d0/(area*2.0d0)
b(1)=(yb-yc)*area2
b(2)=(yc-ya)*area2
b(3)=(ya-yb)*area2
c(1)=(xc-xb)*area2
c(2)=(xa-xc)*area2
c(3)=(xb-xa)*area2
do i=1,3
ii=ie(i,im)
p(i)=pq(ii)
end do
vx=0.0d0
vy=0.0d0
do i=1,3
vx=vx-b(i)*p(i)
vy=vy-c(i)*p(i)
end do
write(30,301) im,vx,vy
write(40,301) im,vx,vy
end do
301
format(5x,i5,3f12.3)
return
end subroutine velcty
!============ end subroutine velcty
===========!
==========!
94
4 Potential Flow
do i=nx-1,1,-1
do j=i+1,nx
pq(i)=pq(i)-pq(j)*sk(i,j)
end do
end do
return
end subroutine sweep
!============
end subroutine sweep
===========!
Explanation
Node number to which edge a is connected
Node number to which edge b is connected
Node number to which edge c is connected
x coordinate of edge a
x coordinate of edge b
x coordinate of edge c
y coordinate of edge a
y coordinate of edge b
y coordinate of edge c
Area of triangular element
ba , bb , bc
ca , cb , cc
Local finite element matrix
Global finite element matrix
Known terms of the global finite element
equation and potential values computed
Potential values of edges a, b, c
Computed velocity u
Computed velocity v
95
! *******
! *******
input data
num.ele
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
! *******
ia
4
2
2
6
7
5
5
9
10
8
8
12
13
11
11
15
*******************
ib
5
1
5
3
8
4
8
6
11
7
11
9
14
10
14
12
output results
num.nodes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
potential
10.000
10.000
10.000
7.500
7.500
7.500
5.000
5.000
5.000
2.500
2.500
2.500
0.000
0.000
0.000
num.ele
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
velocity-u
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
1.000
*******
ic
1
5
3
5
4
8
6
8
7
11
9
11
10
14
12
14
***************
velocity-v
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
96
Fig. 4.12 Computed
potential and velocity
4 Potential Flow
10.0
Potential
10.0
7.5
7.5
5.0
5.0
10.0
7.5
2.5
0.0
2.5
5.0
0.0
2.5
0.0
Velocity
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
Y
X
4.15 Exercises
1. Formulate the finite element equation using the quadrilateral element shown in
Fig. 4.13 and the following interpolation function:
= a a + b b + c c + d d
x
y
1
a =
1+
1+
4
l
h
4.15 Exercises
97
h
x
z
h
d
b
1
2
b
a
c
c
3
b
5
1
b =
1
4
1
c =
1
4
1
d =
1+
4
c
a
y
1+
h
x
y
1
l
h
x
y
1
l
h
x
l
98
4 Potential Flow
3. Develop an algorithm of the automatic mesh generation for the mesh pattern
shown in Fig. 4.14.
4. Write a computer algorithm based on the finite element matrix in Exercise 1, by
modifying the program potential_flow in Sect. 4.13.
Chapter 5
AdvectionDiffusion
5.1 Introduction
There are a plethora of important and practical phenomena in science and engineering
concerning with advection and diffusion, such as thermal convection in a furnace,
chemical substance diffusion in a solution, contaminant dispersion in the environmental waters, salt water diffusion in the sea, CO2 dispersion in the atmosphere, etc.
We must solve these problems not only in space but also in time, because they are
time-dependent. The phenomena normally include two different and sometimes contradictory phenomena, i.e., advection and diffusion. The advection is a phenomenon
in which a substance is conveyed by the flow, and the diffusion occurs when a substance spreads out by its own power over a large area and diluted. In general, those
are not separable and occur at the same time, and are collectively called transport
phenomena. In this chapter, to emphasize the fact that two phenomena are dealt with
together, we use the terminology, advectiondiffusion.
The computational methods to solve advection or diffusion are entirely different. Therefore, to solve the advection-dominated phenomena or diffusion-dominated
ones, the solution methods are rather different. In this chapter, mainly advectiondominated phenomena are treated. This chapter starts with time-dependent processes.
For the notation, indicial notation and summation convention are employed unless
otherwise noted. In the case of time-dependent process analysis, important procedure
for computation is stability. A considerable part of this session is devoted to describing stability. There are a plenty of stabilization schemes. Among those, an implicit
scheme, an explicit scheme, a two-step explicit scheme, a SUPG scheme, a BTD
scheme, a bubble function scheme, and a characteristic scheme are discussed in this
section. The CourantFridrichLevy (CFL) condition is one of the most widely used
indicators of the stability. A number of examples are discussed. A simple computer
program is attached. In this section, the advectiondiffusion of substance is treated.
By replacing substance concentration with other variables, the current analysis can
easily be extended.
Springer Japan 2016
M. Kawahara, Finite Element Methods in Incompressible,
Adiabatic, and Compressible Flows, Mathematics for Industry 19,
DOI 10.1007/978-4-431-55450-9_5
99
100
5 AdvectionDiffusion
(5.1)
Here and henceforth, the indicial notation and summation convention are used.
Indices i, j, . . . are employed to express coordinates x, y, . . .. Superposed means
partial differentiation with respect to time and subscripted, followed by the coordinate
is the partial differentiation with respect to coordinate. Subscripted indices , , . . .
are used to express edges of a finite element and number of nodes in the global finite
element fields.
In Eq. (5.1), V means a considering volume of fluid and the boundary of V is
denoted by S. The velocity of fluid is expressed by ui and is assumed to be known.
The boundary S is assumed to be divided into two parts, S1 and S2 . The essential
boundary condition is given on S1 :
c = c on S1
(5.2)
where c is the specified value. The natural boundary condition in Eq. (5.3) is given
on S2 :
(5.3)
b = kc,i ni = b on S2
where b is called flux, and ni is the unit normal of the boundary. The specified value
The initial condition is as follows:
on S2 is denoted by b.
c = c0 at t = t0
We assume that
S1 S2 = S
S1 S2 = 0
(5.4)
(5.5)
and integration by parts, Eq. (5.6) can be transformed into the following form:
(5.7)
(c c)dV +
V
101
(c ui c,i )dV +
V
V
(c b)ds
(5.8)
on S1
(5.9)
Using Eqs. (5.5) and (5.9), the weighted residual equation over the whole flow field
can be described in the following form:
(c c)dV +
V
(c ui c,i )dV +
V
V
(c b)dS
(5.10)
S2
The local finite element equation can be formulated based on Eq. (5.8) considering V
as an finite element and S as the boundary of the element. The global finite element
equation can also be formulated based on Eq. (5.10) considering V as a whole flow
field and S as the boundary of the field.
(5.11)
where c represents the values at edge of a finite element and the shape function
corresponding to the edge of the finite element. When we use triangular elements,
= a, b, and c, or 1, 2, and 3. Here and henceforth, indices , , , . . . are used
to express edges and nodes. If we would employ a higher order interpolation, the
interpolation would be written in the same form as in Eq. (5.11).
In the case of the Galerkin method, the weighting function is
c = c
(5.12)
where c are arbitrary constants at edge of the element. The velocity field is also
interpolated in the following form:
ui = ui
where ui are the velocities at edge and in the i-direction.
(5.13)
102
5 AdvectionDiffusion
Introducing Eqs. (5.11), (5.12), and (5.13) into Eq. (5.8) and arranging the terms,
the following equation can be derived:
c
( )dV c + c ( ,i )dV ui c
V
V
(5.14)
Using the fact that c are arbitrary constants, the local finite element equation can
be obtained as follows:
M c + Ki ui c + S c =
(5.15)
where
M =
( )dV
V
Ki =
( ,i )dV
(5.16)
S = k (,i ,i )dV
V
= ( b)dS
S
In the case of the linear interpolation function based on the triangular element,
such as Eq. (4.24), the coefficient matrices are as follows:
M =
211
1 2 1
12
112
K1 = M b
(5.17)
K2 = M c
S = k(b b + c c )
where b and c are defined in Eq. (4.22) in Sect. 4.4 and is in Eq. (4.23).
On the boundary ab, length of which is L, and if b is a constant,
Lb
2
=
( b)dS = Lb
Sab
2
0
(5.18)
103
(5.20)
postulating the velocity Ui are the velocities at node and in the i-direction and
known in the whole flow field, M and S are coefficient matrices on the global
nodes in the whole flow field, and the known term on the right side is formulated
by superposing on the boundary S. The last term is obtained from Eq. (5.5).
Remember that the coefficient matrix A is nonsymmetric, which means that the
advection phenomenon is one way, i.e., the substance advected by the flow does not
go back to the starting position. As we have stated in Chaps. 2 and 3, we can obtain
the global finite element equation Eq. (5.19) from the local finite element equation
Eq. (5.15). As explained in Sect. 4.7, the known term by the treatment of the boundary
condition on S1 is also included in . Thus, Eq. (5.19) can be considered as the final
form of the global finite element equation. Because Eq. (5.19) is the time-dependent
equation, the initial condition must be specified:
C = C0
at t = t0
in V
(5.21)
0
0
n- 1 n n+1
t t
104
5 AdvectionDiffusion
Most integration methods, which we will use the term scheme, can be classified
into two groups, an implicit scheme and an explicit scheme. The implicit scheme
employs methods including procedures to solve simultaneous equation, whereas the
explicit scheme excluding the procedures. Obviously, the implicit scheme is superior
in computational stability, because a relatively long time increment can be used, but
a large size of computational memory is required. On the other hand, the explicit
scheme has a virtue too: fast computation for one-time cycle can be achieved and
computational memories can be saved, but a relatively short time increment must be
employed.
Consider the time integration of Eq. (5.19). The time derivative is approximated
by the time difference as
M C
1
M (C n+1 C n )
t
(5.22)
01
(5.23)
(5.24)
(5.25)
Introducing Eqs. (5.22), (5.23), and (5.25) into Eq. (5.19) and rearranging the terms,
the following equation can be obtained:
(M + tA )C n+1 = M C n (1 )tA C n + t n+1
(5.26)
In the case of = 1, the scheme is called the full implicit scheme and can be written
as
(5.27)
(M + tA )C n+1 = M C n + t n+1
1
, the scheme is the CrankNicolson scheme:
2
1
1
+ tA C n+1 = M C n tA C n + t n+1
2
2
In the case of =
M
(5.28)
As we will discuss in further detail in Sect. 5.5.3, this scheme is neutral if the diffusion
term is excluded. If = 0, the scheme is the quasi-explicit scheme:
105
M C n+1 = M C n tA C n + t n+1
(5.29)
M =
1
3
1
(5.30)
Using Eq. (5.30) on the left side of Eq. (5.29), the explicit scheme can be obtained:
M C n+1 = M C n tA C n + t n+1
(5.31)
M C n+1/2 = M C n
(5.32)
M C n+1
(5.33)
In this two-step model once the concentration at time point n + 1/2 is computed,
then the concentration at time point n + 1 is obtained using the computed results.
As we will show in Sect. 5.5.2, the longer time increment can be chosen than that in
Eq. (5.31).
0 t T, 0 x L
(5.34)
106
5 AdvectionDiffusion
i 1
i+1
i+1
n 1 N
x
a
where T and L are the maxima of time t and coordinate x. Simple boundary and
initial conditions are introduced as
u(0, t) = u(L, t) = 0
(5.35)
u(x, 0) = uo (x)
(5.36)
l
l
u
u
dx +
dx = 0
u
u
t
x
o
o
(5.37)
where u is the weighting function, and l is the length of the interval as shown in
Fig. 5.2. Assume that the interpolation and weighting functions are as
x
x
ua +
ub
u= 1
l
l
x x
u = 1
u +
u
l a
l b
(5.38)
(5.39)
where ua and ub are values of the function u at edges a and b, and ua and ub are
values of the function u at edges a and b, the local finite element equation can be
obtained:
l l
1 1
0
3 6 u a
2 2 ua
(5.40)
+
=
l l
1 1
u b
ub
0
2 2
6 3
Using the finite element mesh shown in Fig. 5.2, the lower equation of Eq. (5.40) for
i is
element
l
l
1
1
u i1 +
u i +
ui1 +
ui = 0
6
3
2
2
(5.41)
107
l
l
1
1
u i +
u i+1 +
ui +
ui+1 = 0
3
6
2
2
(5.42)
Adding Eqs. (5.41) and (5.42), the global finite element equation for node i can
be obtained as in the following form:
l
2l
l
1
1
u i1 +
u i +
u i+1 +
ui1 +
ui+1 = 0
6
3
6
2
2
(5.43)
Equation (5.43) corresponds to Eq. (5.19). Applying the integration schemes in time
described in Sect. 5.3, Eq. (5.43) can be transformed into the following equation:
F1 ui1 n+1 , ui n+1 , ui+1 n+1 = F2 (ui1 n , ui n , ui+1 n )
(5.44)
Generally, the function at time point n + 1 can be obtained from the function at
time point n. In Eq. (5.44), F1 and F2 are functions which depend on the schemes
described in Sect. 5.4, and in some sense, artificial viscosity is included to stabilize
the scheme.
Considering that Eq. (5.44) is a linear equation, there exists a solution in the
following form:
(5.45)
ui n = Rn eji , j = 1
where is an arbitrary constant and expresses a frequency of a componential wave
and Rn is an amplitude at time point n. Practical solution can be expressed by the
summation of Eq. (5.45) with respect to variable .
Introducing Eq. (5.45) into Eq. (5.44) and rearranging the terms, the amplitude
can be derived in the following form:
Rn+1 = Q()Rn
(5.46)
If Rn includes an error Rn at time point n, from Eq. (5.46), an error Rn+1 at time
point n + 1 satisfies
(5.47)
Rn+1 + Rn+1 = Q()(Rn + Rn )
thus
Rn+1 = Q()Rn
(5.48)
108
5 AdvectionDiffusion
(5.49)
(5.50)
(5.51)
This is because the error Rn+1 does not increase if |Q()| < 1 from Eq. (5.48).
Being neutral is the state in which the computation is neither stable nor unstable.
In this case, the artificial viscosity, which is introduced to stabilize the schemes, is
minimum. Therefore, neutral scheme is preferable. However, in almost all cases,
the neutral scheme turns out in fact to be unstable. For the practical computation,
the scheme that is stable and, in addition, that has minimum artificial viscosity and
artificial phase lag must be employed. However, the optimal scheme depends entirely
on the problem to be solved.
1
2
1
ui1 n+1 +
ui n+1 +
ui+1 n+1
6
3
6
1
2
1
1
1
ui1 n +
ui n +
ui+1 n
ui1 n +
ui+1 n
=
6
3
6
2
2
(5.52)
where
=
t
l
(5.53)
1 j 2 1 j
j
1 j 2 1 j
j
n+1
R
(e + e ) Rn
e + + e
e + + e
=
6
3 6
6
3 6
2
(5.54)
2 1
+ cos j sin
3 3
2 1
+ cos
3 3
(5.55)
109
|Q()|2 = 1 +
sin
1
2 1
+ cos
3 3
(5.56)
1
2
1
1
1
n+1
n
n
n
n
n
ui1 +
ui +
ui+1
ui1 +
ui+1
ui
=
6
3
6
2
2
(5.57)
Equation (5.57) leads to
1 j
1 j
2
1 j
1 j
Rn
e +
+
e
e +
e
R
=
6
3
6
2
2
(5.58)
From Eq. (5.58), the amplification factor is
n+1
Q() =
2 1
+ cos j sin
3 3
(5.59)
2
2 1
+ cos + 2 sin2
|Q()| =
3 3
4
4
1
2
2
2
cos + cos +
+ 1
=
9
9
9
(5.60)
1
3
(5.61)
If we use the time increment which satisfies Eq. (5.61), the stable computation can
be obtained by the explicit scheme.
Applying the two-step explicit scheme expressed in Eqs. (5.32) and (5.33) to
Eqs. (5.43) and (5.44) for node i becomes as follows:
110
5 AdvectionDiffusion
1
2
1
ui1 n +
ui n +
ui+1 n
6
3
6
1
1
ui1 n +
ui+1 n
2
2
2
1
2
1
ui1 n +
ui n +
ui+1 n
=
6
3
6
1
1
ui1 n+1/2 +
ui+1 n+1/2
2
2
ui n+1/2 =
ui n+1
(5.62)
(5.63)
n+1/2
1 j
1 j
2
e +
+
e
=
6
3
6
1 j
1 j
Rn
e +
e
2
2
2
1 j n
1 j
2
e +
+
e R
6
3
6
1 j n+1/2
1 j
e +
e R
2
2
(5.64)
Rn+1 =
(5.65)
2 1
n
+
cos
j
sin
0
R
3 3
2
2 1
Rn+1/2
+ cos
j sin
3 3
n+1/2
Rn+1
(5.66)
The absolute values of the amplification factor |Q()| are derived as the eigenvalue
of Eq. (5.66). In fact, eigenvalue can be computed as
(a jb/2)
0
=0
a
(jb)
where
a=
2 1
+ cos
3 3
b = sin
(5.67)
(5.68)
(5.69)
111
b
a j
(jb) = 0
2
(5.70)
Thus, the stability condition can be derived by the fact that inequalities
|1 | =
2
2 1
+ cos
3 3
2
+
2
sin2 1
4
(5.71)
|2 | = sin 1
2
(5.72)
As is seen in Eq. (5.56), it is impossible to obtain the stable computation by the quasiexplicit scheme in Eq. (5.29). As also revealed in Eqs. (5.61) and (5.72), the explicit
scheme can be stabilized using the lumping coefficient technique. This is one of the
simplest techniques, although there are many other stabilization techniques, some of
which we will discuss later.
Comparing
Eqs. (5.72) and (5.61), the time increment for the two-step explicit
scheme is 2 3 3.4 times longer than that for the one-step explicit scheme. This is
a drastical improvement. However, effects of the artificial viscosity to stabilize the
computation cannot be disregarded.
2
1
1
n+1
n+1
ui1
ui
ui+1 n+1
+
+
6
3
6
1
1
n+1
n+1
ui1
ui+1
+
+
2
2
1
2
1
ui1 n +
ui n +
ui+1 n
=
6
3
6
1
1
n
n
(5.73)
ui1 +
ui+1
(1 )
2
2
112
5 AdvectionDiffusion
1 j
1 j
2
1 j
1 j
Rn+1
e +
+
e +
e +
e
6
3
6
2
2
1 j
1 j
2
1 j
1 j
Rn
e +
+
e (1 )
e +
e
=
6
3
6
2
2
(5.74)
From Eq. (5.74), the amplification factor is derived as
Q() =
a j(1 )b
a + jb
(5.75)
where a and b are in Eqs. (5.68) and (5.69). The absolute value of Q() is
|Q()| =
2
a2 (1 )2 b2
a2 + 2 2 b2
(1 2)ab
a2 + 2 2 b2
1
2
2
(5.76)
if
(5.77)
1
Therefore, as long as , the computation is stable. In principle, we can obtain
2
numerical results using any long time increment. This type of scheme is referred
to as unconditionally stable scheme. However, in practice, the time increment is
limited by some other factors.
In general, stability of the implicit scheme is superior to that of the explicit scheme.
Although large computational memories are required, the implicit scheme is often
used in practical computation. However, we should bear in mind that considerable
quantities of artificial viscosity are included to stabilize the computation. It is often
the case that much smaller values of computational results than those to be attained
may be computed. To reduce the artificial viscosity, the scheme as close as possible
to the neutral scheme could be used. In this sense, the CrankNicolson scheme
( = 0.5) is preferable. However, this scheme sometimes results in the numerical
instability. Thus, for instance, = 0.55 or any other number close to 0.5 is used.
The time increment is longer at the implicit scheme than at the explicit scheme.
Thus, it is sometimes possible to reduce computational time. On the other hand, in
the case of computation of suddenly changing phenomena in a short time interval,
there is a possibility that shorter time increment should be chosen because the suddenly changing phenomena are sometimes missed and dulled results are computed.
We should pay close attention to the computation by the implicit scheme of the
phenomenon that changes rapidly with time.
113
0 < t T, 0 x L
(5.78)
u(0, t) =
u(L, t) = 0
x
x
(5.79)
u(x, 0) = u0 (x)
(5.80)
where is the normalized viscosity. Formulating the weighted residual equation from
Eq. (5.78), and employing the interpolation and weighting functions as Eqs. (5.38)
and (5.39), the local finite element equation can be derived as
l
3
l
6
l
1
u a
2
6
+
1
l u b
3
2
1
u
0
u
l a
2
a + l
=
1
0
ub
ub
2
l
l
(5.81)
The global finite element equation for node i can be described based on the mesh
shown in Fig. 5.2 as follows:
2l
l
1
l
1
u i1 +
u i +
u i+1 +
ui1 +
ui+1
6
3
6
2
2
2
ui1 +
ui+1 = 0
ui +
+
l
l
l
(5.82)
Introducing the lumping coefficient technique, the explicit scheme can be denoted
as
1
1
ui1 n +
ui+1 n
ui n+1 = ui n
(ui1 n + 2ui n ui+1 n )
2
2
l
(5.83)
Assuming the solution as Eq. (5.45) and substituting it into Eq. (5.83), we obtain
1 j n
1 j
R
ej + 2 ej Rn
e +
e
2
2
l
(5.84)
The absolute value of the amplification factor can be expressed as in the following
form:
Rn+1 = Rn
114
5 AdvectionDiffusion
2
(cos 1) + 2 sin2
|Q()|2 = 1 + 2
l
(5.85)
(5.86)
which is unconditionally unstable, i.e., if the scheme shown in Eq. (5.83) has no
viscosity, we are unable to compute it using the scheme. If we can formulate the
condition for , which satisfies |Q()|2 1, we obtain the stability condition. In
principle, we must consider any arbitrary . However, to avoid complex calculations,
we, for the moment, consider a specific .
If = 0,
(5.87)
|Q()|2 = 1
The wave whose wave number = 0 is the flat wave, i.e., it is hard to compute the
flat wave by the numerical analysis in general. In case of = , from the condition
2
2
|Q()|2 = 1 2
+ 2 1
l
we get
(5.88)
l2
+1
l
(5.89)
(5.90)
we also get
1l
2
(5.91)
Equations (5.89) and (5.91) are necessary conditions, but not sufficient conditions.
We must use the time increment shorter than the limits in Eqs. (5.89) and (5.91).
However, we do not know how short the value of the increment needs to be. On
the contrary, the explicit scheme, which is unconditionally unstable, becomes conditionally stable with the viscosity term. Therefore, the limits shown in Eqs. (5.89) and
(5.91) are certain kinds of indicators for the selection of time increment. In general,
the viscosity term has a tendency to stabilize the computation. However, because it
may be the case that the viscosity term destroys the stability condition, we must pay
careful attention to the selection of the time increment in the practical computation.
115
2 2
2 2
4 2
4
x
3
x 2 x uc
u = 1 x + 2 x ua + + 2 x ub +
l
l
l
l
l
l
(5.92)
where edges a, b, and c are shown in Fig. 5.3, i.e., edges a and b are connected to
the global nodes and edge c is the middle node. For the weighting function, the same
type of Eq. (5.92) is utilized. The local finite element equation is derived as follows:
l
1
2 8 4 u b +
12 2 6 8 ub = 0
60
4 4 32
8 8 0
0
u c
uc
8 2 4
u a
6 2 8
ua
(5.93)
Superimposing over the entire nodes as shown in Fig. 5.3, the global finite element
equation become for node i as
1
1
4
1
1
u i2 +
u i1 +
u i +
u i+1 +
u i+2
30
15
15
15
30
1
2
2
1
ui2 +
ui1 +
ui+1 +
ui+2 = 0
2
6
3
3
6
(5.94)
4
32
4
8
8
u i1 +
u i +
u i+1 2
ui1 +
ui+1 = 0
60
60
60
12
12
(5.95)
i.e., the global finite element equations are dependent on nodes and on middle nodes.
Making use of the explicit scheme for the integration in time, the following equations
can be derived in for node i
L
0
i- 2
i- 1
l
i+1
l
i+2
c
l
x
a
116
5 AdvectionDiffusion
1
1
1
4
1
ui2 n +
ui1 n +
ui n +
ui+1 n +
ui+2 n
10
5
5
5
10
1
1
n
n
n
n
(5.96)
2
ui2 + (2)ui1 + (2)ui+1 +
ui+2
2
2
ui n+1 =
1
4
1
ui n+1 =
ui1 n +
ui n +
ui+1 n 2 (ui+1 n ui1 n )
10
5
10
(5.97)
1
2
4
cos 2 +
cos 2j(4 sin sin 2) Rn
5
5
5
(5.98)
4 1
+ cos 4j sin Rn
5 5
(5.99)
2
1
2
4
cos 2 +
cos + 2 (8 sin 2 sin 2)2 1
|Q()| =
5
5
5
(5.100)
and for middle node i
2
|Q()|2 =
4 1
+ cos
5 5
2
+ 2 (4 sin )2 1
(5.101)
If we calculate the condition for from Eqs. (5.100) and (5.101), we get the stability
condition. However, the calculation is very complex, and useful conditions are not yet
easily obtained. If we chose a specified , i.e., the time increment, before computation
and replace it in Eqs. (5.100) and (5.101), then we can verify the availability of
117
in V
(5.102)
i.e., the viscosity term is subtracted from Eq. (5.1). The initial condition is
at t = t0
c = co
(5.103)
Multiplying weighting function c to both sides of Eq. (5.102), the weighted residual
equation is obtained:
(cc)dV +
V
(5.104)
(5.105)
where c is the Galerkin-type normal weighting function, i.e., the same type of
the interpolation function, and s is a small parameter which adjusts the artificial
viscosity. The coefficient s is referred to as the stabilization parameter. Replacing c
in Eq. (5.104) by Eq. (5.105), we get
(c c)dV +
V
(c ui c,i )dV + s
(c,i ui c)dV + s
V
In Eq. (5.106), the first two terms are those of the normal Galerkin formulation, the
effect of the third term disappears shortly because c is included, and the last term
expresses the artificial viscosity. To distinguish that the last two terms are the SUPG
terms, we can rewrite Eq. (5.106) as in the following form:
(c ui c,i )dV + H = 0
(c c)dV +
V
where
(5.107)
H = s
V
(c,i ui c)dV
+ s
V
(5.108)
118
5 AdvectionDiffusion
Equations (5.107) and (5.108) are the weighted residual equation for the SUPG
method.
Substituting Eqs. (5.11), (5.12), and (5.13) into Eqs. (5.107) and (5.108), and
arranging the terms, the following equations can be derived:
c
V
( )dV c + c
V
( ,i )dV ui c + c H = 0
(5.109)
where
(,i )dV ui c + s
H = s
V
(,i ,j )dV ui uj c
(5.110)
Based on the fact that c are arbitrary constants, the local finite element equation can
be described as follows:
M c + Ki ui c + H = 0
(5.111)
H = s Ki ui c + s Lij ui uj c
(5.112)
where
Ki =
(,i )dV
V
Lij =
(,i ,j )dV
V
Equation (5.112) is normally referred to as the SUPG term. The first term in SUPG
term, i.e., Eq. (5.112), decays quickly and does not have significant effects. The second term in Eq. (5.112) is the artificial viscosity, which can stabilize the computation.
In the case of the linear interpolation function based on the triangular element,
the coefficient matrices in Eq. (5.111) are the same as those in Eq. (5.15) except the
SUPG term. Comparing Ki and Ki , the elements of the coefficient are the same,
but indices are exchanged. The second term in Eq. (5.112) can easily be integrated
as follows:
L11 = b M b
L12 = b M c
L21 = c M b
L22 = c M c
where b and c are in Eq. (4.22) in Sect. 4.4 with (, , , ) = (a, b, c), and M
are in Eq. (5.17).
119
(5.113)
H = s D C + s E C
(5.114)
where
A = Ki ui
D = Ki ui
E = Lij ui uj
Equations (5.111) and (5.112) are local finite element equations. As stated in the
previous chapters, we also use Eqs. (5.113) and (5.114) as the global finite element
equation.
For the numerical integration in time, the explicit scheme can be adapted. Applying Eq. (5.22) to Eq. (5.113) and the lumping technique, the numerical integration
formula can be obtained as
M C n+1 = M C n tA C n + tH n
(5.115)
Starting from Eq. (5.21), the advection computation can be carried out. The parameter
s can be given as in Eq. (5.167) or Eq. (5.168).
The stability of the SUPG scheme is almost obvious. To simplify the problem,
one-dimensional equation is discussed first here:
c
c
+v
=0
t
x
(5.116)
x
v
c
, y= , = t
C
X
X
(5.117)
(5.118)
Equation (5.118) is obtained. Applying the SUPG scheme to Eq. (5.118), we get
l
0
dy +
l
0
l
l
u u
u u
u
dy + s
dy + s
dy = 0
y
y
y y
0
0
(5.119)
120
5 AdvectionDiffusion
Deferring the discussion of the third term, the discussion in Sect. 5.5.4, i.e., stability with viscosity, is adaptable to Eq. (5.119). Thus, SUPG scheme is suitable for
practical computations.
(5.102)
where uj is assumed to be constant for the sake of simplicity. From Eq. (5.102), we
can derive the first- and second-order derivatives without time derivative as follows:
c = uj c,j
(5.120)
(5.121)
t 2
c
2
(5.122)
abstracting away from the higher and equal to the terms than order of t 3 . In
Eq. (5.122), cn means c at time point n. Introducing Eqs. (5.120) and (5.121) into
Eq. (5.122) and rearranging the terms, the following equation can be derived:
cn+1 = cn + t(uj cn,j ) +
t 2
(uj ui cn,ij ) = 0
2
(5.123)
(5.124)
Using the weighting function c , the weighted residual equation can be written as
follows:
n+1
cn
t
c
n
dV +
c
(c uj c,j )dV
(c ui uj cn,ij )dV = 0 (5.125)
t
2
Ve
Ve
Ve
121
Integration by parts is applied to the last term of Eq. (5.125), and we get
cn+1 cn
t
n
dV +
c
(c uj c,j )dV +
(c ui uj cn,j )dV
t
2 Ve ,i
Ve
Ve
t
=
(c ui uj cn,j )ni dS
(5.126)
2 Se
t 2
Lij ui uj cn
2
(5.127)
where M , Ki , Lij are written in Eqs. (5.111) and (5.112). The global form
of the finite element equation can be derived as in the following form:
M Cn+1 = M Cn tA Cn
t 2
E Cn
2
(5.128)
c,jn+1 cn,j
(5.129)
Substituting Eqs. (5.120) and (5.129) into Eq. (5.122) and rearranging the terms,
we get
cn+1 cn
1
1
= uj cn uj c,jn+1 + uj cn,j
(5.130)
t
2
2
Thus
1 n+1 1 n+1
c
+ uj c,j
t
2
1 n 1 n
c uj c,j
t
2
(5.131)
122
5 AdvectionDiffusion
From Eq. (5.131), the following finite element scheme can be obtained:
1
1
1
1
n+1
M + A C =
M A Cn
t
2
t
2
(5.132)
which is the same scheme expressed in Eq. (5.28). This means that the BTD scheme
and the CrankNicolson scheme have the same sort of stability.
in V
(5.133)
(5.134)
b = c,i ni = b
on S2
(5.135)
(c ui c,i )dV +
Ve
Ve
(c b)ds
(5.136)
Se
where Ve and Se represent volume and boundary of an element, respectively. For the
interpolation function, we will use the bubble function interpolation function, which
can be expressed as follows:
(5.137)
c = c + c4
where represents the following set of functions, which is based on the bubble
function element as shown in Fig. 5.4, and is the bubble function based on the
barycentric node shown also in Fig. 5.4:
27
1 2 3
3
27
2 = 2 1 2 3
3
27
3 = 3 1 2 3
3
= 4 = 271 2 3
1 = 1
(5.138)
123
1
y
4
3
where 1 , 2 , and 3 are the area coordinates, which will be defined in Eq. (6.28) in
Sect. 6.5. Those are the same functions already used in Eq. (4.25) in Sect. 4.4. The
functions in Eq. (5.138) are shown in Fig. 5.5. Note that the nodal values of in
Eq. (5.138) are 1 on the considering node and 0 on the other nodes.
The most distinctive feature of the bubble function is that the value on the
boundary of element is zero, i.e.,
=0
(5.139)
on Se
3
1
1
2
1
2
124
5 AdvectionDiffusion
The nodal values of the bubble function in Eq. (5.139) are denoted by c and c4 ,
where c ( = 1 to 3) are the values on the three vertices, and c4 is the value on the
barycentric node. Equation (5.137) can be redefined as follows:
where
c = c + c4
(5.140)
1
c4 = c4 (c1 + c2 + c3 )
3
(5.141)
(5.142)
(5.143)
where c means the standard linear interpolation function and c4 is the value defined
in Eq. (5.141).
For the weighting function, the same type of Eq. (5.143) is used, which is
c = c + c4 = c + c4
(5.144)
where c is the standard linear weighting function, and c4 is the constant on the
barycentric node.
Consider the case in which the weighting function is the bubble function itself.
Replacing c in Eq. (5.136) by the bubble function , we get
(b)dS
(5.145)
Se
(,i c,i )dV +
ui (c4 ),i dV +
Ve
Ve
(,i ,i )dV c4 = 0
Ve
(5.146)
where Q = 0 with b = 0.
Let us reformulate the second and third terms in Eq. (5.146). The second term is
ui (c4 ),i dV = ui
Ve
(,i )dV c4
(5.147)
Ve
(5.148)
because
125
(,i )dV =
Ve
(ni )dS
(,i )dV =
Se
Ve
(,i )dV
(5.149)
Ve
(c,i ,i )dV =
Ve
(c,i )ni dS
(c,ii )dV = 0
Se
(5.150)
Ve
because we assume c is the linear interpolation function. Thus, Eq. (5.146) can be
rewritten as
Ve
(,i ,i )dV
(5.152)
Ve
(c ui c,i )dV +
Ve
= (c b)dS
(c ui ,i )dV c4 +
Ve
Ve
Ve
(c,i ,i )dV c4
(5.153)
Se
(c,i ,i )dV
=
Se
c,i ni dS
Ve
(c,ii )dV = 0
(5.154)
because c is the linear weighting function. Substituting Eq. (5.152) into the second
term of Eq. (5.153), and using Eq. (5.154), the result is
(c ui c,i )dV
Ve
c
Ve (
ui ,i )dV Ve (uj c,j )dV
+
(c,i c,i )dV = (c b)dS
Ve (,k ,k )dV
Ve
Se
(5.155)
126
5 AdvectionDiffusion
(c ui c,i )dV +
Ve
Ve
Ve
dV )2
Ve (,k ,k )dV
Ve
(c b)dS
(5.156)
Se
where is the area of a triangular element. In the derivation of Eq. (5.156), we use
the equality
(c ui ,i )dV =
Ve
(c ui ni )dS
Se
Ve
(c,i ui )dV =
Ve
(c,i ui )dV
(5.157)
and the fact that ui , c,i , c,j are constants. Equation (5.156) can be reformulated as in
the following form:
(c ui c,i )dV +
Ve
Ve
+ eB
Ve
where
eB =
Ve
dV )2
Ve (,k ,k )dV
(c b)dS
(5.158)
Se
(5.159)
Equation (5.158) is similar to Eq. (5.106), i.e., the SUPG scheme. Therefore, the
computational scheme based on the bubble function is the stable scheme similar to
the SUPG scheme.
For practical computation, the stability of the bubble function scheme is not
satisfactory. Therefore, we must add the artificial viscosity to the scheme. Equation (5.136) can be reformulated as follows:
(c ui c,i )dV +
(c,i c,i )dV +
(c,i ,i )dV c4 +
(,i c,i )dV c4
Ve
Ve
Ve
Ve
+
(,i ,i )dV c4 c4
Ve
= (c b)dS
(5.160)
Se
using Eqs. (5.143) and (5.144). The third and fourth terms in Eq. (5.160) are zero.
We can superimpose Eq. (5.160) onto the whole finite element field and we obtain
the equation system on the whole flow field:
(C ui C,i )dV +
V
V
127
(C ,i C ,i )dV +
Ne
e=1
Ve
(,i ,i )dV c4 c4 =
(C b)dS
S2
(5.161)
where C and C are interpolation and weighting functions on the whole flow field V ,
C and C are linear interpolation and weighting functions, and the third term means
that viscosity term of the bubble function exists only on the barycentric node of each
element and it consists of the sum of the terms over the total elements of which total
number is Ne. To secure the stability, the artificial viscosity is added to Eq. (5.161)
as follows:
(C ui C,i )dV +
V
(C ,i C ,i )dV + ( + )
Ne
e=1
Ve
(,i ,i )dV c4 c4
(C b)dS
(5.162)
S2
(,k ,k )dV
(,k ,k )dV
(c)dV
Ve
(5.163)
Ve
which is equivalent to Eq. (5.152). For the purpose of the stabilization of computation,
the first term on the right side of Eq. (5.163) can be disregarded. Then, the discussions
of the last part of this section are also valid in the unsteady flow field. The final form
of the weighted residual equation corresponding to Eq. (5.162) can be described as
in the following form:
V
(C C)dV
+
S2
(C b)dS
(C ui C,i )dV +
V
(C ,i C ,i )dV + ( + )
Ne
e=1 Ve
(,i ,i )dV c4 c4
(5.164)
128
5 AdvectionDiffusion
where is the artificial viscosity, which can be the same as that of the SUPG
scheme, i.e.,
(5.165)
eB = s
where s is the stabilization parameter in the SUPG scheme expressed in Eq. (5.105).
In general, it is known that the artificial viscosity of the SUPG scheme is sufficient
to perform practical computations. The artificial viscosity expressed by the relation
Eq. (5.165) can be determined as follows:
2
dV
( + )
Ve
(,i ,i )dV =
Ve
1
s
where
s =
2
t
2|ui |
he
4
he2
2
1
2
(5.166)
(5.167)
In Eq. (5.167), t is the time increment, |ui | is the magnitude of velocity, and he is the
characteristic length of the element. When we use only the first term of Eq. (5.167),
i.e.,
t
(5.168)
s =
2
the artificial viscosity corresponds to that of the BTD scheme described in Sect. 5.7.
Using the finite element method based on Eq. (5.164), unsteady advectiondiffusion
problem can be computed. Equation (5.164) means that the artificial viscosity is
added on only the coefficients of the degrees of freedom c4 on the barycentric node
and the stable computation can be obtained. For the time discretization, the methods
described in the first part of this chapter can be adopted.
(5.169)
where c is a function of coordinate xi and time t, and ui is a known function independent of t. Transform variables (xi , t) to (i , t) where
129
i = xi ui t
(5.170)
then
c i
c t
c
c
c
c
c
=
+
=
(ui ) + 1 = ui
+
t
i t
t t
i
t
i
t
c
c k
c t
c
c
c
=
+
=
ki + 0 =
xi
k xi
t xi
k
t
i
(5.171)
(5.172)
Substituting Eqs. (5.171) and (5.172) into Eq. (5.169), and rearranging the terms, the
result is that
c
c
c
c
+ ui c,i = ui
+ ui
+
=0
(5.173)
t
i
t
i
Equation (5.173) can be rearranged as follows:
c(i , t) = 0
t
(5.174)
This is why Eqs. (5.169) and (5.174) are referred to as transport equations. Namely,
c(i , t) is transported with respect to time keeping its shape as it is.
From Eq. (5.170),
dxi
= ui
(5.175)
dt
Equation (5.175) is referred to as the characteristic equation. Integrating Eq. (5.175),
we get
(5.176)
xi = xi 0 + ui t
where xi 0 is the position of xi at time t = t0 , in which t0 is the starting time. In
order to solve Eq. (5.169), we solve Eq. (5.174) and the position can be computed by
Eq. (5.176). The solution is
c(xi , t) = c(xi0 + ui t, t)
(5.177)
which means that the solution of Eq. (5.169) is the solution of Eq. (5.174) at the
position xi 0 + ui t. Therefore, if we know xi 0 , we obtain the solution.
To clarify the idea of characteristic line, we consider the following one-dimensional
equation:
c(x, t) + u c(x, t) = 0
(5.178)
t
x
The solution of Eq. (5.178) is expressed as
c(x, t) = c(x ut)
(5.179)
130
5 AdvectionDiffusion
(a)
(b)
(c)
t O
which is shown in Fig. 5.6a. Equation (5.178) can be transformed into the following
equation:
c(, t) = 0
(5.180)
t
where
= x ut
(5.181)
The idea is illustrated in Figs. 5.6b, c. In c- plane, the solution looks like in nonmotion, and in c-t plane, the solution is constant.
Consider the advectiondiffusion equation:
2
c(xk , t) + ui
c(xk , t)
c(xk , t) = 0
t
xi
xi xi
(5.182)
Applying the characteristic scheme to the first two terms, Eq. (5.182) can be transformed into the following equation:
2
c(k , t) = 0
c(k , t)
t
i i
(5.183)
k = xk uk t
(5.184)
where
Discretizing total time into the sum of short time increments as shown in Fig. 5.1,
the discretized equation in time can be expressed as follows:
n
cn+1 = c t
2 cn
i i
(5.185)
131
where
cn+1 = c(xi n+1 , t n+1 )
(5.186)
c = c(i n , t n )
(5.187)
(5.188)
assuming that the velocity ui n+1 is known in all xi n+1 and i n . We also assume
2c
2c
=
i i
xi xi
(5.189)
cn+1 = c tc,ii n
(5.190)
Multiplying both sides of Eq. (5.190) by the weighting function c , integrating over
the volume V , and using the integration by parts, we get
(c cn+1 )dV =
V
(c c )dV + t
V
V
(c b)dS
(5.191)
Using the interpolation and weighting functions in Eqs. (5.11) and (5.12), and assuming b = 0, the global finite element equation can be derived as follows:
M C n+1 = M C n tS C n
(5.192)
(5.193)
C n = C (i n , t n )
(5.194)
(5.195)
where
In fact, we need long computational time for the computation of Eq. (5.194). Therefore, we can employ the explicit scheme as follows:
M C n+1 = M C n tS C n
(5.196)
where M is the lumped coefficient. The position computed by Eq. (5.195) is not
necessarily be coincident with node xi n . The algorithm to compute Eq. (5.194) is as
follows.
(1) Compute i n = xi n+1 tui n+1
(2) Search a finite element in which i n is included.
132
5 AdvectionDiffusion
n+1
xi
n
i
Ca
a
b Cb
n
C( i
,t)
c
Cc
(3) Interpolate
n
, t n ) = C (i n , t n )
C(i
(5.197)
133
start
input-data
matrix
inverse
yes
istep
matinv
max
no
calculation
istep = istep+1
stop
that situation, those coefficient matrices are not necessary to compute at each time
point. The known terms on the right side of Eq. (5.203) are constant if the boundary
specified values are also time independent.
The flow chart of this program is shown in Fig. 5.8. After data is fed into subroutine
input data, the coefficient matrices of both sides of Eq. (5.203) are programed in
subroutine matrix. The inverse matrix of the coefficient matrix of the left side of
Eq. (5.203) is computed in subroutine inverse. The main index is istep which ranges
from 1 to max, i.e., maximum number of time points. The index istep expresses the
time point as shown in Fig. 5.1. At each istep, the subroutine calculation is performed
to compute the concentration and the results are output.
In this program, for simplicity, the velocities u and v in the field are given on
all nodes, notwithstanding that they are time independent. Namely, this computer
program can solve the problem of the time-dependent advectiondiffusion on the
steady conveying flow.
134
5 AdvectionDiffusion
Therefore, the basic equation for the global concentration C can be simplified as
follows:
(5.198)
M C + A C = 0
where M and A are in Eq. (5.17) and Eq. (5.20). The matrix A includes the
conveying velocity and we assume that this is also time independent. Discretizing
1
(C n+1 Cn )
C
t
(5.199)
C = Cn+1 + (1 )Cn
(5.200)
and
where Cn is the concentration at time point n, t is the time increment, and is the
parameter. Equation (5.198) can be described as follows:
S Cn+1 = B Cn
(5.201)
where
S = M + tA
B = M t(1 )A
(5.202)
S C
= B Cn w
(5.203)
In Eq. (5.203), S is the coefficient matrix, to which the boundary treatment is introduced. C n+1 is Cn+1 , from which the boundary values are subtracted. The procedure
for the boundary treatment is the same as described in Sect. 4.7, and the practical
algorithm is written in Sect. 4.13.5. The known terms are
w = S C
(5.204)
135
Maximum number
Explanation
nx
mx
xy(i, j)
ie(i, j)
max
iout
1
1
2, nx
3, mx
1
1
ic0
icb
1
1
iub
dd
dt
theta
nc0(i)
1
1
1
ic0
cc0(i)
ncb(i)
ic0
icb
fcb(i)
nub(i)
icb
iub
uv(i)
vu(i)
iub
iub
136
5 AdvectionDiffusion
initial time point must be replaced by cc0(i), i = 1 to nx. Usually, the boundary
conditions should be specified. The total number of the boundary condition is icb.
The boundary conditions are in fcb(i), i = 1 to icb, which are given on node ncb(i),
i = 1 to icb. The arrays uu(i) and vv(i), i = 1 to nx mean the velocity on the whole
nodes and assumed to be time independent. Those input data are written out as the
print forms of input data.
Maximum number
Explanation
uu(i)
vv(i)
im
ia
nx
nx
1
1
ib
ic
xa
xb
xc
ya
yb
yc
ua
ub
uc
va
vb
vc
1
1
1
1
1
1
1
1
1
1
1
1
x velocity on node i
y velocity on node i
Number of element
Number of node to which edge
1 of element im is connected
Number of node to which edge
2 is connected
Number of node to which edge
3 is connected
x coordinate of edge 1
x coordinate of edge 2
x coordinate of edge 3
y coordinate of edge 1
y coordinate of edge 2
y coordinate of edge 3
x velocity on edge 1
x velocity on edge 2
x velocity on edge 3
y velocity on edge 1
y velocity on edge 2
y velocity on edge 3
(continued)
137
Maximum number
Explanation
area
area06
area12
rarea
b1
b2
b3
c1
c2
c3
e1
e2
f1
f2
g1
g2
da
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
am(i, j)
sk(i, j)
bm(i, j, im)
ss(i, j)
3,3
3,3
3, 3, mx
nx, nx
cc1(i)
nx
cc2(i)
nx
cc3(i)
cc4(i)
nx
nx
Area of element
area/6.0
area/12.0
1/(2*area)
ba
bb
bc
ca
cb
cc
2ua + ub + uc
2va + vb + vc
ua + 2ub + uc
va + 2vb + vc
ua + ub + 2uc
va + vb + 2vc
Diffusion coefficient times
area
Coefficient matrix M
Coefficient matrix A
Right side term in Eq. (5.201)
Coefficient matrix in the left
side of Eq. (5.201)
Concentration on node i at nth
time point
Concentration on node i at
(n + 1)th time point
Right side of Eq. (5.203)
Known term of Eq. (5.204)
computation. Those matrices can be time independent if the velocities in the field u
and v are time independent. The computation is carried out according to im, im = 1
to mx, which corresponds to element number. The left side matrix (M + tA )
in Eq. (5.203) is stored in ss(i, j), i = 1 to nx, j = 1 to nx. The matrix ss(i, j) should
138
5 AdvectionDiffusion
be the global form because the inverse computation is performed in the next subroutine inverse. The right side matrix (M t(1 )A ) in Eq. (5.203) is stored in
bm(i, j, im), i = 1 to 3, j = 1 to 3 and im = 1 to mx. As the index im corresponds
to element number, the right side matrix of each element is stored. This stored array
will be simply used in the computation in the subroutine calculation.
To program ss(i, j) and bm(i, j, im), the local coefficient matrices M and A
in Eq. (5.19) are needed. These are stored in am(i, j), i = 1 to 3, and j = 1 to 3 and
sk(i, j), i = 1 to 3 and j = 1 to 3. The precise forms of those matrices are given in
Eq. (5.17). The matrix am(i, j) can be simply programed following Eq. (5.17). The
array sk(i, j) is A in Eq. (5.20) and programed as follows. The second part of A ,
i.e., S , is shown in Eq. (5.17), which is the same one as in Eq. (4.40), in Sect. 4.6.
The first part of A in Eq. (5.20) can be transformed in the following manner. For
example, s(1, 1) is expressed as
s(1, 1) = Maa ba ua + Mab ba ub + Mac ba uc
+ Maa ca va + Mab ca vb + Mac ca vc
(2ua + ub + uc )ba
=
12
+ (2va + vb + vc )ca
12
e1 ba + e2 ca
=
12
12
where
e1 = 2ua + ub + uc
e2 = 2va + vb + vc
and is an area of a triangle. Almost identical expressions hold for s(1, 2) to s(3, 3),
which can be seen in the subroutine matrix. In those expressions, ua , ub , uc and va ,
vb , vc are u and v velocities at edges a, b, c and ba , bb , bc , ca , cb , cc are in Eq. (4.22).
Those values can be calculated if we know the coordinates of three edges a, b, c of
a triangular element.
139
140
5 AdvectionDiffusion
!***********************************************************************
!***********************************************************************
!************
****************************
!************ Advection - Diffusion
****************************
!************ coded by M.Wakui
****************************
!************
****************************
!***********************************************************************
!***********************************************************************
!
!
nx-----------total number of global nodes
!
mx-----------total number of elements
!
xx,yy--------node coordinates
!
ie-----------connectivity indices for elements
!
dd-----------dispersion coefficient
!
icb----------total number of boundary concentration
!
ncb----------node numbers on which boundary condition is specified
!
fcb----------specified values for boundary condition
!
iub----------total number of specified velocity
!
nub----------node numbers for specified velocity
!
uv,vu--------specified values for velocity
!
max----------maximum number of time iteration
!
!***********************************************************************
!***********************************************************************
!***********************************************************************
!****
***************************************************
!**** main program ***************************************************
!****
***************************************************
!***********************************************************************
program advection_diffusion
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
real(8) dd,dt,theta
real(8) xy,uu,vv,cc1,cc2,cc3,cc4,fcb
real(8) ss,bm
integer(4) nx,mx,max,iout
integer(4) ie,ncb,icb
parameter(inod=20,iele=50)
dimension
dimension
dimension
dimension
xy(2,inod),ie(3,iele),ncb(inod),fcb(inod)
uu(inod),vv(inod)
cc1(inod),cc2(inod),cc3(inod),cc4(inod)
bm(3,3,iele),ss(inod,inod)
open(5,file=input_data.txt)
open(10,file=node_data.txt)
open(20,file=check_input_data.txt)
open(30,file=output_diffusion.txt)
open(40,file=output_dat.dat)
&
call input_data(nx,mx,max,iout,dd,dt,theta,xy,uu,vv,
ie,ncb,icb,fcb,cc1,inod,iele)
call matrix(nx,mx,ie,dd,dt,theta,xy,uu,vv,ss,bm,inod,iele)
call inverse(nx,icb,ncb,fcb,ss,inod,cc2,cc3,cc4)
do istep = 1, max
call calculation(nx,mx,istep,iout,ie,icb,ncb,fcb,dt,ss,bm,
&
cc1,cc2,cc3,cc4,inod,iele)
end do
141
close(5)
close(10)
close(20)
close(30)
close(40)
stop
end program advection_diffusion
!***********************************************************************
!***********************************************************************
!****
***********************************************
!**** data input
***********************************************
!****
***********************************************
!***********************************************************************
&
subroutine input_data(nx,mx,max,iout,dd,dt,theta,xy,uu,vv,
ie,ncb,icb,fcb,cc1,inod,iele)
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
real(8) dd,dt,theta,xy,uu,vv,uv,vu,fcb,cc1,cc0
integer(4) nx,mx,max,iout
integer(4) ie,icb,ncb,iub,nub,ic0,nc0
dimension xy(2,inod),ie(3,iele)
dimension nub(inod),uu(inod),vv(inod),uv(inod),vu(inod)
dimension ncb(inod),fcb(inod),nc0(inod),cc0(inod),cc1(inod)
do i = 1, nx
uu(i) = 0.0d0
vv(i) = 0.0d0
uv(i) = 0.0d0
vu(i) = 0.0d0
cc0(i) = 0.0d0
cc1(i) = 0.0d0
fcb(i) = 0.0d0
end do
!****
********************
read(10,*) nx,mx
read(10,*) (i,xy(1,i),xy(2,i),j=1,nx)
read(10,*) (i,ie(1,i),ie(2,i),ie(3,i),j=1,mx)
!****
****************************************
read(5,*) max,iout
read(5,*) ic0,icb,iub
read(5,*) dd,dt,theta
!****
*******
142
5 AdvectionDiffusion
**************************************
if(icb.ne.0)then
read(5,*) (i,ncb(i),fcb(i),j=1,icb)
end if
!****
velocitities u and v
*******************************************
if(iub.ne.0)then
read(5,*) (i,nub(i),uv(i),vu(i),j=1,iub)
do i = 1, iub
ii = nub(i)
uu(ii) = uv(i)
vv(ii) = vu(i)
end do
end if
!****
check write
****************************************************
matrices am and sk
*********************************************
do im = 1, mx
ia = ie(1,im)
ib = ie(2,im)
ic = ie(3,im)
xa = xy(1,ia)
xb = xy(1,ib)
xc = xy(1,ic)
ya = xy(2,ia)
yb = xy(2,ib)
yc = xy(2,ic)
ua = uu(ia)
ub = uu(ib)
uc = uu(ic)
va = vv(ia)
vb = vv(ib)
vc = vv(ic)
area = ((xb-xa)*(yc-ya)-(xc-xa)*(yb-ya))*0.5d0
rarea = 0.5d0/area
area06 = area / 6.0d0
area12 = area / 12.0d0
b1 = (yb-yc)*rarea
b2 = (yc-ya)*rarea
143
144
5 AdvectionDiffusion
b3 = (ya-yb)*rarea
c1 = (xc-xb)*rarea
c2 = (xa-xc)*rarea
c3 = (xb-xa)*rarea
e1 = 2.0d0*ua + ub + uc
e2 = 2.0d0*va + vb + vc
f1 = ua + 2.0d0*ub + uc
f2 = va + 2.0d0*vb + vc
g1 = ua + ub + 2.0d0*uc
g2 = va + vb + 2.0d0*vc
da = dd*area
am(1,1) = area06
am(2,2) = area06
am(3,3) = area06
am(1,2) = area12
am(1,3) = area12
am(2,1) = area12
am(2,3) = area12
am(3,1) = area12
am(3,2) = area12
sk(1,1) = (b1*e1+c1*e2)*area12
sk(1,2) = (b2*e1+c2*e2)*area12
sk(1,3) = (b3*e1+c3*e2)*area12
sk(2,1) = (b1*f1+c1*f2)*area12
sk(2,2) = (b2*f1+c2*f2)*area12
sk(2,3) = (b3*f1+c3*f2)*area12
sk(3,1) = (b1*g1+c1*g2)*area12
sk(3,2) = (b2*g1+c2*g2)*area12
sk(3,3) = (b3*g1+c3*g2)*area12
!****
matrices ss and bm
+
+
+
+
+
+
+
+
+
(b1*b1+c1*c1)*da
(b1*b2+c1*c2)*da
(b1*b3+c1*c3)*da
(b2*b1+c2*c1)*da
(b2*b2+c2*c2)*da
(b2*b3+c2*c3)*da
(b3*b1+c3*c1)*da
(b3*b2+c3*c2)*da
(b3*b3+c3*c3)*da
*********************************************
do i = 1,3
ii = ie(i,im)
do j = 1,3
jj = ie(j,im)
bm(i,j,im) = -dt*(1.0-theta)*sk(i,j) + am(i,j)
ss(ii,jj) = ss(ii,jj) + dt*theta*sk(i,j) + am(i,j)
end do
end do
end do
end subroutine matrix
!***********************************************************************
!***********************************************************************
!****
*******************************
!**** inverse matrix of ss
*******************************
!****
*******************************
!***********************************************************************
subroutine inverse(nx,icb,ncb,fcb,ss,inod,cc2,cc3,cc4)
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
real(8) cc2,cc3,cc4
real(8) ss,fcb
integer(4) nx
integer(4) icb,ncb
dimension fcb(inod),ncb(inod)
dimension cc2(inod),cc3(inod),cc4(inod)
dimension ss(inod,inod)
boundary treatment
145
*********************************************
do i=1,nx
cc2(i) = 0.0d0
cc3(i) = 0.0d0
cc4(i) = 0.0d0
end do
!****
**************************************
do i = 1, icb
ii = ncb(i)
do j = 1, nx
cc4(j) = cc4(j) - ss(j,ii)*fcb(i)
end do
!****
boundary treatment
*********************************************
do j = 1,nx
ss(ii,j) = 0.0d0
ss(j,ii) = 0.0d0
end do
ss(ii,ii) = 1.0d0
end do
!****
**************************************
call matinv(ss,nx,inod)
!****
boundary treatment
*********************************************
do i = 1,icb
ii = ncb(i)
ss(ii,ii) = 0.0d0
end do
write(30,*) *************
write(30,*)
output results
********************
return
end subroutine inverse
!***********************************************************************
!***********************************************************************
!****
***********************************
!**** calculation of concentration ***********************************
!****
***********************************
!***********************************************************************
&
subroutine calculation(nx,mx,istep,iout,ie,icb,ncb,fcb,dt,ss,bm,
cc1,cc2,cc3,cc4,inod,iele)
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
real(8) dt,cc1,cc2,cc3,cc4
real(8) ss,bm,fcb
integer(4) nx,mx,istep,iout
integer(4) ie,icb,ncb
dimension ie(3,iele),fcb(inod),ncb(inod)
dimension cc1(inod),cc2(inod),cc3(inod),cc4(inod)
dimension bm(3,3,iele),ss(inod,inod)
!***********************************************************************
146
5 AdvectionDiffusion
do i = 1, nx
cc3(i) = 0.0d0
end do
do im = 1,mx
do i = 1,3
ii = ie(i,im)
do j = 1,3
jj = ie(j,im)
cc3(ii) = cc3(ii) + bm(i,j,im)*cc1(jj)
end do
end do
end do
!****
******************************************
do i = 1, nx
cc3(i) = cc3(i) + cc4(i)
end do
!****
!****
****************
****************
do i = 1, nx
wn = 0.0d0
do j = 1, nx
wn = wn + ss(i,j)*cc3(j)
end do
cc2(i) = wn
end do
!****
********************************
do i = 1, icb
ii = ncb(i)
cc2(ii) = fcb(i)
end do
!****
***************************************
it=mod(istep,iout)
if(it.eq.0)then
tt = float(istep)
ttime = tt*dt
write(30,*) istep ,istep, time ,ttime
write(30,*)
write(30,300) (i*6-5,cc2(i*6-5),i*6-4,cc2(i*6-4),i*6-3,
& cc2(i*6-3),i*6-2,cc2(i*6-2),i*6-1,cc2(i*6-1),i*6,cc2(i*6),i=1,3)
write(30,*)
end if
write(40,400) (cc2(i*6-5),cc2(i*6-4),cc2(i*6-3),
&
cc2(i*6-2),cc2(i*6-1),cc2(i*6),i=1,3)
write(40,*)
!****
300
400
format(6(i5,f8.3))
format(6(f11.3,3x))
******
300
do i = 1, n
p = ss(i,i)
if(p.eq.0.0)then
write(*,*)i,i,zero diagonal term
goto 500
end if
ss(i,i) = 1.0d0
do j=1,n
ss(i,j)=ss(i,j)/p
end do
ttii=mod(i,iitt)
if(ttii.eq.0.0)then
write(*,*)i
end if
do 300 k = 1, n
if(k.eq.i) goto 300
q = ss(k,i)
ss(k,i) = 0.0
do j = 1, n
ss(k,j) = ss(k,j) - q*ss(i,j)
end do
continue
end do
goto 600
500
stop 999
600
return
end
147
148
5 AdvectionDiffusion
1
0.2 m
0.2 m
7
y
C
13
12
11
8
2
15
0.2 m
18
13
16
0.2 m
12
11
14
0.2 m
19
10
10
14
20
15
9
6
16
17
D
18
17
0.2 m
0.2 m
1m
on A-B-C-D
(5.205)
An advection velocity vi is (y, x), where x and y are coordinates of the nodes. The
origin of coordinate is the center of the field. The initial condition of the concentration
c is expressed as
149
*********
*********
**********
***********************
nx= 18
mx= 20
max=100
iout= 10
ic0= 0
icb= 6
iub= 18
dd= 0.500
dt= 0.020
theta= 0.500
*********
X,Y cordinate
No.
X(m/s)
0.0000000000
0.2000000000
0.4000000000
0.6000000000
0.8000000000
1.0000000000
0.0000000000
0.2000000000
0.4000000000
0.6000000000
0.8000000000
1.0000000000
0.0000000000
0.2000000000
0.4000000000
0.6000000000
0.8000000000
1.0000000000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
*********
**************************
Y(m/s)
0.4000000000
0.4000000000
0.4000000000
0.4000000000
0.4000000000
0.4000000000
0.2000000000
0.2000000000
0.2000000000
0.2000000000
0.2000000000
0.2000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
node connectivity
**********************
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
14
7
7
2
2
9
9
14
16
9
9
4
4
11
11
16
18
11
11
6
*********
No.
1
2
3
4
5
6
7
1
2
3
4
5
6
7
8
13
8
1
8
3
8
15
10
15
10
3
10
5
10
17
12
17
12
5
13
8
1
8
3
8
15
8
15
10
3
10
5
10
17
10
17
12
5
12
specified values
UU(m/s)
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
***********************
VV(m/s)
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
150
5 AdvectionDiffusion
8
9
10
11
12
13
14
15
16
17
18
8
9
10
11
12
13
14
15
16
17
18
*********
No.
1
2
3
4
5
6
1
6
7
12
13
18
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
boundary condition
*********************
PPM
1.0000000000
0.0000000000
1.0000000000
0.0000000000
1.0000000000
0.0000000000
c=
0.5(cos(2r) + 1)
0
r 0.5
r > 0.5
(5.206)
where
r=
x 2 + (y + 0.5)2
(5.207)
The initial condition is illustrated in Fig. 5.15. The cone is conveyed by the flow
and the shape of the cone should be conserved. The finite element mesh is shown
in Fig. 5.16. The total numbers of nodes and elements are 1681 and 3200, respectively. The time increment t is 0.001. The computed results obtained by the Crank
Nicolson scheme are represented in Fig. 5.17ad. The rotating configurations of the
concentration are shown in the figures. The comparison of the peak values computed
by the different schemes is summarized in Table 5.4. The ratio of the peak value of
one cycle later to the initial peak value is shown in Table 5.4. It is interesting that
the peak value ratio by the characteristic scheme is 1, which means exact match.
The ratio by the CrankNicolson scheme, which we found out in the Sect. 5.5.3 to be
neutral, is slightly larger than 1. Contrary to this, the ratio of the peak value computed
by the SUPG scheme is slightly smaller than 1, which means stable scheme. In the
results of Fig. 5.17d, the small nonzero concentration can be seen in the place where
essentially they should be zero.
1
7
13
1
7
13
1
7
13
1
7
13
1
7
13
1
7
13
1
7
13
1
7
13
1
7
13
5
11
17
0.127
0.130
0.127
6
12
18
0.000
0.000
0.000
2
8
14
0.872
0.876
0.872
3
9
15
4
10
16
0.521
0.523
0.521
5
11
17
0.300
0.292
0.300
6
12
18
0.000
0.000
0.000
4
10
16
0.598
0.603
0.598
5
11
17
0.360
0.349
0.360
6
12
18
0.000
0.000
0.000
0.802
0.797
0.802
4
10
16
0.623
0.629
0.623
5
11
17
0.380
0.368
0.380
6
12
18
0.000
0.000
0.000
0.809
0.804
0.809
4
10
16
0.632
0.638
0.632
5
11
17
0.387
0.374
0.387
6
12
18
0.000
0.000
0.000
0.811
0.807
0.811
4
10
16
0.635
0.641
0.635
5
11
17
0.389
0.376
0.389
6
12
18
0.000
0.000
0.000
0.812
0.807
0.812
4
10
16
0.636
0.642
0.636
5
11
17
0.390
0.377
0.390
6
12
18
0.000
0.000
0.000
0.812
0.808
0.812
4
10
16
0.636
0.643
0.636
5
11
17
0.390
0.377
0.390
6
12
18
0.000
0.000
0.000
0.812
0.808
0.812
4
10
16
0.636
0.643
0.636
5
11
17
0.390
0.377
0.390
6
12
18
0.000
0.000
0.000
4
10
16
0.636
0.643
0.636
5
11
17
0.390
0.377
0.390
6
12
18
0.000
0.000
0.000
0.714
0.712
0.714
2
8
14
0.906
0.909
0.906
3
9
15
0.780
0.776
0.780
2
8
14
0.917
0.920
0.917
3
9
15
2
8
14
0.920
0.924
0.920
3
9
15
2
8
14
0.922
0.925
0.922
3
9
15
2
8
14
0.922
0.926
0.922
3
9
15
2
8
14
0.922
0.926
0.922
3
9
15
time 1.800000000000000
1.000
1.000
1.000
istep 100
0.294
0.289
0.294
time 1.600000000000000
1.000
1.000
1.000
istep 90
4
10
16
time 1.400000000000000
1.000
1.000
1.000
istep 80
0.513
0.516
0.513
time 1.200000000000000
1.000
1.000
1.000
istep 70
3
9
15
time 1.000000000000000
1.000
1.000
1.000
istep 60
0.768
0.771
0.768
time 0.8000000000000000
1.000
1.000
1.000
istep 50
2
8
14
time 0.6000000000000000
1.000
1.000
1.000
istep 40
********************
time 0.4000000000000000
1.000
1.000
1.000
istep 30
output results
time 0.2000000000000000
1.000
1.000
1.000
istep 20
151
2
8
14
0.922
0.926
0.922
3
9
15
time 2.000000000000000
1.000
1.000
1.000
2
8
14
0.922
0.926
0.922
3
9
15
0.812
0.808
0.812
152
5 AdvectionDiffusion
0.5 m2 /s
0.5
0.5
0.5
CONCENTRATION (PPM)
1
2
3
4
(a)
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
1.0 ppm
1.0
1.0
1.0
0.0 ppm
0.0
CASE 1
0.2
0.4
0.6
0.8
vel. u
vel. v
0.0 m/s
1.0
0.0
1.0
0.0 m/s
0.0
0.0
0.0
0.02 s
0.02
0.02
0.02
CONCENTRATION (PPM)
(b)
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
CASE 2
0.2
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
CASE 3
0.2
0.4
0.6
DISTANCE (M)
0.4
0.6
0.8
0.8
DISTANCE (M)
0.8
CONCENTRATION (PPM)
CONCENTRATION (PPM)
DISTANCE (M)
(c)
Fig. 5.13a
Fig. 5.13b
Fig. 5.13c
Fig. 5.13d
CASE 4
(d)
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
DISTANCE (M)
Fig. 5.13 Computed results of trial computation, a without advection velocity and zero boundary
value, b with advection velocity and zero boundary value, c without advection velocity and nonboundary value, d with advection velocity and non-boundary value
153
y
u=0
u=0
u=0
ax = y
ay = x
u=0
0.6
0.2
0.2
0.6
0.6
0.2
0.2
0.6
1.0
1.0
0.6
0.2
Y
-0.2
-0.6
-1.0
-1.0
-0.6
-0.2
0.2
0.6
1.0
154
5 AdvectionDiffusion
(a)
1.0
0.6
0.2
0.2
0.6
0.6
0.2
0.2
0.6
1.0
(b)
1.0
0.6
0.2
0.2
0.6
0.6
0.2
0.2
0.6
1.0
(c)
1.0
0.6
0.2
0.2
0.6
0.6
0.2
0.2
0.6
1.0
(d)
1.0
0.6
0.2
0.2
0.6
0.6
0.2
0.2
0.6
1.0
155
Chapter 6
Creeping Flow
6.1 Introduction
As the last topic of the basic concepts of the finite element method in fluid flows,
creeping flow problem of the incompressible fluid is discussed in this chapter. The
flow is highly viscous and moves with slow velocity, whose acceleration effect is
negligible. Thus, the problem turns out to be linear. This type of flow is not practical,
i.e., we can only count melting candle flow and few other examples. However, the
analysis of the flow includes important technique, namely, the mixed interpolation.
The interpolation for velocity is one order or more higher than that for pressure.
The incompressibility is assumption of some sort of limit state. Therefore, special
treatment should be required. To simplify the problem, we confine our attention to
the two-dimensional analysis. However, extension to the three-dimensional analysis
is straightforward.
In Sects. 6.26.4, the indicial notation and summation convention with repeated
indices are used. After Sect. 6.5, until the end of this chapter, coordinate is expressed
by the pair (x, y) without indicial notation. The summation convention is used for
subscripts , , , , , to express matrix multiplication.
157
158
6 Creeping Flow
S1
S2
where vi is velocity. In Sects. 6.26.4, we use indicial notation and summation convention. Equilibrium of total stress can be described as follows disregarding acceleration:
in V
(6.2)
ji,j = 0
where ij is total stress, which is given by the constitutive equation as
ij = pij + (vi,j + vj,i )
in V
(6.3)
where p is pressure and is a viscosity coefficient. Introducing Eq. (6.3) into Eq. (6.2),
and using Eq. (6.1), the Stokes equation is obtained as
p,i +vi,jj = 0 .
(6.4)
The flow field is surrounded by the boundary S, which is assumed to be divided into
two nonoverlapped parts, S1 and S2 . On the boundary S1 , the velocity is given as
vi = vi
on S1
(6.5)
on S2
(6.6)
where ti represents surface force given on the boundary. If the channel is cut at the
boundary and flow is forced to flow out into a vacuum, the surface force may be
zero. If the flow is forced to flow in by a piston, for instance, the surface force may
be given.
159
We confine our attention, in this section, to two-dimensional steady flow. Thus, the
governing equations are equation of continuity Eq. (6.1), and equilibrium equation
Eq. (6.2) with constitutive equation Eq. (6.3) under the boundary conditions Eqs. (6.5)
and (6.6).
(p vi,i )dV = 0
(6.7)
where we can use any kind of continuous function for p . Multiplying both sides
of Eq. (6.2) by a weighting function vi and integrating over the flow field V , the
following equation is obtained:
V
(6.8)
ji
(6.9)
(vi ji ),j = vi ji,j + vi,j
Equation (6.8) can be transformed into the following form:
V
(vi,j
ji )dV =
V
(vi ji ),j dV .
(6.10)
Applying the Stokes theorem to the right side of Eq. (6.10), the volume integral can
be converted to the surface integral. Then, it is obtained as
V
(vi,j
ij )dV
=
S
(vi ij nj )dS
(6.11)
Note that the indices are exchanged using the symmetry of ij . Introducing the first
relation in Eq. (6.6), the weighted residual equation for equilibrium can be derived
as follows:
160
6 Creeping Flow
Let V be the whole flow field, whose boundary is S. Recall that boundaries S1
and S2 satisfy the relation
S1 S2 = S
(6.13)
S1 S2 = 0
and assume
vi = 0
on S1
(6.14)
then, using Eq. (6.6), the weighted residual equation for the whole flow field is
derived as
(vi,j ij )dV =
(vi ti )dS
(6.15)
V
S2
We would emphasize again that the global form, Eq. (6.15), can be derived by summing up equation system of Eq. (6.12) established on each finite element, by which
the whole flow field is divided piecewise.
Substituting Eq. (6.3) into Eq. (6.12) and rearranging the terms, we get
(vi,i
p)dV +
V
(vi,j
vi,j )dV +
V
(vi,j
vj,i )dV =
S
(vi ti )dS
(6.16)
This is the weighted residual equation in terms of velocity vi , pressure p, and surface
force ti . Equation (6.16) is equivalent to Eqs. (6.2) and (6.3). Substituting Eq. (6.6)
into Eq. (6.16) and rearranging the terms, we get
(vi,i
p)dV
+
V
(vi,j
vi,j )dV
+
V
(vi,j
vj,i )dV
=
S2
(vi ti )dS
(6.17)
161
(a)
(b)
y
z
x
u6,v6
u2,v2 2
(x2,y2)
u1,v1
(x1,y1)
1
6
5
4
u4,v4
p1
1
(x1,y1)
u5,v5
3 u3,v3
(x3,y3)
p2 2
(x2,y2)
p3
(x3,y3)
Fig. 6.3 Triangular finite element. a six-node triangular element for velocity. b three-node triangular element for pressure
element based on the quadratic polynomial and for the interpolation of pressure,
three-node triangular element based on the linear polynomial are utilized as shown
in Fig. 6.3. We have distinguished clearly between node and edge; however, in this
chapter and later, we use only node, and we do not distinguish node and edge.
Denoting velocity at node in the i-direction vi , the interpolation relation of
velocity can be expressed as follows:
vi = vi ( = 1 to 6)
(6.18)
(6.19)
vi = vi
(6.20)
p = p
(6.21)
162
6 Creeping Flow
Introducing Eqs. (6.18)(6.21) into Eqs. (6.7) and (6.16), and rearranging the
terms, we get
( ,i )dV vi = 0
(6.22)
p
V
(,i )dV p + (,k ,k )ij dV vj
V
V
+ (,j ,i )dV vj ( ti )dS = 0
vi
(6.23)
From Eqs. (6.22) and (6.23), the local finite element equation is derived as in the
Sij Hi
Hj
vj
p
=
where
(6.24)
Sij =
(,k ,k )ij dV +
V
(,j ,i )dV
(6.25)
Hi =
( ,i )dV .
(6.26)
i =
( ti )dS
(6.27)
The global finite element equation can be obtained by the superposition procedure
as described in Sects. 2.6 and 4.7 based on Eq. (6.24). In the case of the incompressible flows, the calculation becomes complicated, because Eq. (6.24) contains zero
diagonal terms. To compute the concrete forms of coefficients of Eq. (6.24), the area
coordinate is useful for differentiation and integration over triangular area, which is
discussed in further detail in the next section.
163
1 (x1,y1)
2
(x,y)
3 (x3,y3)
2 (x2,y2)
1 =
(6.28)
ai =
=
1
(xj xi )(yk yi ) (xk xi )(yj yi )
2
(4.23)
(4.24)
164
6 Creeping Flow
(6.29)
a1 b1 c1
2 = a2 b2 c2 x
y
3
a3 b3 c3
1 1 1
(6.30)
x = x1 x2 x3 2
y
y1 y2 y3
3
(6.31)
Equation (6.30) is the matrix form of three equations in Eq. (6.28), and Eq. (6.31)
is the inverse relation of Eq. (6.30). The area coordinate 1 3 is a one-to-one correspondent to the xy coordinate. Namely, the pair (x, y) can be determined by the
combination of (1 , 2 , 3 ).
The differentiation of the area coordinate can be formulated as in the following
formula, for the first-order polynomial
b1
2 = b2
x
3
b3
c1
(6.32)
2 = c2
y
3
c3
(6.33)
1 2
2b1
2
2b2
2
2
2b
3 3
3
x
b3 b2
2 3
b
b
1
3 1 3
1 2
b2 b1
(6.34)
165
1 2
2c1
2
2c2
2
2
2
3
2c3 3
=
y
c3 c2
2 3
c
c1
3 1 3
1 2
(6.35)
c2 c1
Those formula are helpful for the differentiation of interpolation function. The
advantage of the area coordinate is that the integral formula over the triangular area
is given by explicit form as follows:
1
2
(1 l 2 m 3 n )dxdy =
l!m!n!
(l + m + n + 2)!
(6.36)
p1
p2 = 1 2
1
p3
3
(6.38)
p1
2 = p2
3
p3
(6.39)
166
6 Creeping Flow
p1
= [ 1 2 3 ] p2
p = [ 1 2 3 ]
2
3
(6.40)
p3
2 = 2
3
3
(6.41)
The shape function of the interpolation function of pressure is the area coordinate
itself.
For the velocity, there are two components u and v. However, because the interpolation is the same, we only consider the interpolation of velocity u. It is assumed
that the velocity u inside an element is given by the second-order polynomial as
u = 1 1 2 + 2 2 2 + 3 3 2 + 4 2 3 + 5 3 1 + 6 1 2
(6.42)
where 1 , . . . , 6 are unknown constants. As shown in Fig. 6.3a, we use three nodes
and three mid nodes, we call them six nodes as a whole, of which coordinates are
expressed as
1
1 1
1
1 1
, 0,
, ,0
,
,
(1, 0, 0), (0, 1, 0), (0, 0, 1), 0, ,
2 2
2
2
2 2
by the area coordinate. Substituting these values into Eq. (6.42), we obtain the
following:
1
1
u1
u2
2
1
u3
3
1
1 1 1
u4 =
4
(6.43)
4
4
4
1
1
1
u5
5
4
4
4
1 1
1
u
6
6
4 4
4
167
1
2
1
3
=
1 1 4
4
1
1
5
6
1 1
u1
u2
u3
u4
u
5
4
4
(6.44)
u6
u = [ 1 2 2 2 3 2
2
3
2 3 3 1 1 2 ]
4
5
= [ 1 2 2 2 3 2
2 3 3 1 1 2 ]
1 1 4
1
1
1 1
u1
u2
u3
u4
u
5
4
4
(6.45)
u6
Equation (6.45) is the interpolation relation for the velocity u. The velocity v is also
assumed to be given by
v = 1 1 2 + 2 2 2 + 3 3 2 + 4 2 3 + 5 3 1 + 6 1 2
(6.46)
where 1 , . . . , 6 are unknown constants. The same procedure leads to the same
interpolation relation. Therefore, the shape function of the interpolation function of
velocity can be represented as follows:
168
6 Creeping Flow
1 1
2
3
=
4
5
1 2
1 2 2
2
1 1 1
3
4
2 3
4
3 1
1
(6.47)
1 2
Making use of Eq. (6.47), the interpolation relations for velocity u and v are as
follows:
u = u
v = v
(6.48)
(6.49)
Both Eqs. (6.48) and (6.49) can be written as Eq. (6.18). The shape function Eq. (6.41)
can be written as
(6.50)
= I f
where I is unit matrix and f consists of first-order area coordinate as follows:
I =
(6.51)
f =
2
3
(6.52)
(6.53)
where
1 1
1
1
1 1 1
(6.54)
169
1 2
2
2
2
3
g =
2 3
3 1
(6.55)
1 2
The first- and second-order interpolation functions are expressed as Eqs. (6.50) and
(6.53) by the area coordinate.
,x
,y
1 1
1
1
2b1
1
2b2
2
1 1 1
2b3 3
4
b3 b2
b
4
b1
3
4
1 1
1
1
b2 b1
2c1
(6.56)
1
2c2
2
1 1 1
2c3 3
4
c3 c2
c
4
c1
3
(6.57)
c2 c1
(6.58)
,y = A C f
(6.59)
170
6 Creeping Flow
where
2b1
2b2
2b3
b3 b2
b
b
1
3
(6.60)
b2 b1
2c1
2c2
2c3
c3 c2
c
c1
(6.61)
c2 c1
Consider the concrete form of Eq. (6.24). Equation (6.41) means that the shape
function is f itself. Making use of Eqs. (6.50), (6.58), and (6.59), the following
equations can be obtained, replacing xi (i = 1, 2) by (x, y):
H x =
( ,x )dxdy
= A B (f f )dxdy = A B G
V
= ( ,y )dxdy
V
= A C (f f )dxdy = A C G
V
H y
(6.62)
(6.63)
where
G =
(f f )dxdy =
V
2 1 1
1 2 1
12
1 1 2
(6.64)
171
H x
H y
1 1
1
1
2b1
1
2b2
211
1 1 1
2b3
12 1 2 1
4
b3 b2
112
b
4
b1
3
4
1 1
1
1
b2 b1
2c1
(6.65)
1
2c2
211
1 1 1
2c3
12 1 2 1
4
c3 c1
112
c
4
c1
3
(6.66)
c2 c1
Consider the concrete form of Eq. (6.25). Replacing xi (i = 1, 2) by (x, y), the
matrices can be written as follows:
S xx = 2M xx + M yy
(6.67)
S = M
S yx = M yx
(6.68)
(6.69)
S yy = M xx + 2M yy
(6.70)
xy
xy
where
M xx =
M xy =
M yx =
V
(,x ,x )dxdy
(6.71)
(,y ,x )dxdy
(6.72)
(,x ,y )dxdy
(6.73)
(,y ,y )dxdy
(6.74)
V
M yy =
V
Making use of Eqs. (6.56) and (6.57), and carrying out the integration, those are
M xx = A B A B G
M xy = A C A B G
(6.75)
(6.76)
172
6 Creeping Flow
M yx = A B A C G
(6.77)
(6.78)
yy
= A C A C G
M xx
1 1
2b1
2b1
1
2b2
211
1 1 1
2b3
12 1 2 1
4
b3 b2
112
b
4
b1
3
b2 b1
2b2
b3
b1
1 1 4
2b3 b2 b1
1
1
b3 b2
1 1
4
(6.79)
M xy
1 1
2b1
2c1
1
2c2
211
1 1 1
2c3
12 1 2 1
4
c3 c2
112
c
4
c1
3
c2 c1
2b2
b3
b1
1 1 4
1
2b3 b2 b1
1
b3 b2
1 1
4
4
(6.80)
M yx
2c1
2b1
1
2b2
211
1 1 1
2b3
12 1 2 1
4
b3 b2
112
b
4
b1
3
1 1
173
b2 b1
2c2
c3 c1
1 1 4
2c3 c2 c1
1
1
c3 c2
1 1
4
(6.81)
M yy
1 1
2c1
2c1
1
2c2
211
1 1 1
2c3
12 1 2 1
4
c3 c2
112
c
4
c1
3
c2 c1
2c2
c3 c1
1 1 4
2c3 c2 c1
1
1
c3 c2
1 1
4
4
(6.82)
In Eqs. (6.48)(6.50), (6.53), (6.58), (6.59), (6.62), (6.63), (6.75)(6.78), summation convention is used for subscripts , , , . Employing Eqs. (6.65), (6.66), and
(6.79)(6.82), coefficients of Eq. (6.24) can be formulated. Based on coefficients of
174
6 Creeping Flow
Eq. (6.24) for all finite elements in the flow field, the local finite element equation is
derived. Following the procedures described in Chaps. 25, the global finite element
equation is obtained.
(6.83)
Hj vj = 0
(6.84)
Then, the matrix form of the first term of Eq. (6.83) can be expressed as in Eq. (6.85).
Sij vj
S1111
S2111
S3111
S4111
S5111
S6111
S1211
S2211
S3211
S4211
S5211
S6211
S1121
S2121
S3121
S4121
S5121
S6121
S1221
S2221
S3221
S4221
S5221
S6221
S1131
S2131
S3131
S4131
S5131
S6131
S1231
S2231
S3231
S4231
S5231
S6231
S1141
S2141
S3141
S4141
S5141
S6141
S1241
S2241
S3241
S4241
S5241
S6241
S1151
S2151
S3151
S4151
S5151
S6151
S1251
S2251
S3251
S4251
S5251
S6251
S1161
S2161
S3161
S4161
S5161
S6161
S1261
S2261
S3261
S4261
S5261
S6261
S1112
S2112
S3112
S4112
S5112
S6112
S1212
S2212
S3212
S4212
S5212
S6212
S1122
S2122
S3122
S4122
S5122
S6122
S1222
S2222
S3222
S4222
S5222
S6222
S1132
S2132
S3132
S4132
S5132
S6132
S1232
S2232
S3232
S4232
S5232
S6232
S1142
S2142
S3142
S4142
S5142
S6142
S1242
S2242
S3242
S4242
S5242
S6242
S1152
S2152
S3152
S4152
S5152
S6152
S1252
S2252
S3252
S4252
S5252
S6252
v11
S1162
S2162 v21
S3162
v31
S4162
v41
v51
S5162
S6162
v61
S1262 v12
S2262
v22
S3262
v32
v42
S4262
S5262 v52
S6262
v62
(6.85)
The matrix form of the second term of Eq. (6.83) is in Eq. (6.86).
Hi p =
H111
H121
H131
H141
H151
H161
H112
H122
H132
H142
H152
H162
H211
H221
H231
H241
H251
H261
H212
H222
H232
H242
H252
H262
H311
p1
H321
p2
H331
p3
H341
H351
H361
H312
H322
H332
H342
H352
H362
(6.86)
175
v11
H111 H121 H131 H141 H151 H161 H112 H122 H132 H142 H152 H162
= H211 H221 H231 H241 H251 H261 H212 H222 H232 H242 H252 H262
v21
v
H311 H321 H331 H341 H351 H361 H312 H322 H332 H342 H352 H362
31
v41
v51
v61
v12
v22
v32
v42
v52
v62
(6.87)
The global finite element equation can be derived by the superposition procedure
precisely described in Chap. 4. As is stated in Chap. 4, the global finite element equation can be described by the same form of Eq. (6.24). The matrix form of Eq. (6.24)
can also be expressed as in the following equation:
Sxx Sxy H x
u
x
Syx Syy H y v = y
p
0
H Tx H y 0
(6.88)
where u, v, p are two velocity components and pressure on the whole nodes in
the flow field. Coefficient matrices of Eq. (6.88) can be obtained by the superposition procedures based on Eqs. (6.85), (6.86), and (6.87). Solving the global form of
Eq. (6.24) or Eq. (6.88), we can obtain velocity vj and pressure p , or velocity u, v
and pressure p. The computer program of the creeping flow can be constructed based
on Eq. (6.24) or Eq. (6.88), which is implemented in Sect. 6.9.
176
Fig. 6.5 Flow chart of the
program creeping flow
6 Creeping Flow
start
input
finite
bound
calculate
sweep
end
The maximum number of array dimension is limited for use of the maximum 50
main nodes. The flow chart of the program is shown in Fig. 6.5. After data is fed
into the subroutine input, coefficient matrix of Eq. (6.88) is coded in the subroutine
finite. In the subroutine bound, the known terms of the right side in Eq. (6.88) is
programed, and the boundary condition is imposed. The subroutine calcul calculates
the velocity and pressure by the subroutine sweep. The computed results are output
in the subroutine results.
1
1
1
1
1
1
nx
nx
6, mx
iux
iux
ivy
ivy
iet
iet
177
Explanation
Total number of main nodes
Total number of nodes
Total number of elements
Total number of nodes on which velocity u is given
Total number of nodes on which velocity v is given
Total number of nodes on which pressure is given
Coordinate x of main node i
Coordinate y of main node i
Connectivity index of element j
Number of nodes on which velocity u is given
Specified value of velocity u
Number of nodes on which velocity v is given
Specified value of velocity v
Number of nodes on which pressure p is given
Specified value of pressure p
178
6 Creeping Flow
6, 6
6, 3
6, 3
3, 3
15, 15
ns
sk(i, j)
dmy(i)
1
ns, ns
ns
sweep
A in Eq. (6.54)
B in Eq. (6.60)
C in Eq. (6.61)
G in Eq. (6.64)
2M xx + M yy
M xy
M yx
M xx + 2M yy
in Eqs. (6.67)(6.70)
H x in Eq. (6.65)
H y in Eq. (6.66)
2 nax + nx
Global coefficient matrix of Eq. (6.88)
Known term of Eq. (6.88) and calculated velocity and pressure
obtained by the subroutine sweep
Solution of simultaneous equation
179
d 2 u dp
= 0 in [0, L]
+
dx 2
dx
du
= 0 in [0, L]
dx
(u)x=0 = 1
(6.89)
(6.90)
(6.91)
where is viscosity and L is total channel length, as shown in Fig. 6.10. The solution
of Eqs. (6.89)(6.91) is u = 1 and p = 0, which has no practical meaning. However,
we just use for explanation of the mixed interpolation. Using the weighting functions
u and p , the weighted residual equation can be described as follows:
180
6 Creeping Flow
!***********************************************************************
!***********************************************************************
!**********
***********
!**********
finite element analysis for creeping flow
***********
!**********
coded by Wakui
***********
!**********
***********
!***********************************************************************
!***********************************************************************
!
!
nx--------------total number of main nodes
!
nax-------------total number of nodes
!
mx--------------total number of elements
!
iux-------------total number of boundary us
!
ivx-------------total number of boundary vs
!
iet-------------total number of boundary e s
!
xx,yy-----------node coordinates
!
ie--------------conection index for elements
!
al--------------viscosity coefficient
!
jux,jvy,jet-----node numbers for u,v,e on the boundery
!
respectively
!
fux,vfy,wet-----specified values for u,v,e on the boudery
!
respectively
!
!***********************************************************************
!***********************************************************************
!***********************************************************************
!****
***************************************************
!**** main program ***************************************************
!****
***************************************************
!***********************************************************************
program creeping_flow
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
dimension
dimension
dimension
dimension
dimension
dimension
dimension
xx(50),yy(50),ie(6,60)
aa(6,6),bb(6,3),cc(6,3)
sk(300,300),sa(15,15),gg(3,3)
uu(150),vv(150),et(50)
jux(50),jvy(50),jet(50)
ufx(50),vfy(50),wet(50)
dmy(300)
open(10,file=input_creep.txt)
open(20,file=check_input_creep.txt)
open(30,file=output_creep.txt)
call input
(nx,nax,mx,ns,xx,yy,ie,al,iux,ivy,iet,
jux,jvy,jet,ufx,vfy,wet
)
call finite
&
(nax,xx,yy,ie,aa,bb,cc,gg,sa,sk,al,mx)
call bound (ns,nax,iux,ivy,iet,ufx,vfy,
&
wet,jux,jvy,jet,dmy,sk
)
call calcul (nx,ns,nax,iux,ivy,iet,jux,
&
jvy,jet,ufx,vfy,wet,dmy,sk,uu,vv,et )
call result (nx,nax,uu,vv,et)
&
&
close(10)
close(20)
close(30)
subroutine input
(nx,nax,mx,ns,xx,yy,ie,al,iux,ivy,iet,
jux,jvy,jet,ufx,vfy,wet
)
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
dimension xx(50),yy(50),ie(6,60)
dimension jux(50),jvy(50),jet(50)
dimension ufx(50),vfy(50),wet(50)
!***********************************************************************
!****
***************************************************
!**** file input
***************************************************
!****
***************************************************
!***********************************************************************
read(10,*) nx,nax,mx,iux,ivy,iet,al
read(10,*) (i,xx(i),yy(i),j=1,nx)
read(10,*) (i,ie(1,i),ie(2,i),ie(3,i),
&
ie(4,i),ie(5,i),ie(6,i),j=1,mx)
if(iux/=0) then
read(10,*) (jux(i),ufx(i),i=1,iux)
end if
if(ivy/=0) then
read(10,*) (jvy(i),vfy(i),i=1,ivy)
end if
if(iet/=0)then
read(10,*) (jet(i),wet(i),i=1,iet)
end if
!***********************************************************************
ns = 2 * nax + nx
!***********************************************************************
!****
****************************************
!**** input data confirmation ****************************************
!****
****************************************
!***********************************************************************
write(20,*) ********* input data check **********************
write(20,*)
write(20,*) total number of main nodes
nx = ,nx
write(20,*) total number of nodes
nax = ,nax
write(20,*) total number of ele,emts mx = ,mx
write(20,*) total number of boundary u s iux = ,iux
write(20,*) total number of boundary v s ivy = ,ivy
write(20,*) total number of boundary e s iet = ,iet
write(20,*) viscosity coefficient
al = , al
write(20,*)
write(20,*)********* X,Y cordinate **************************
181
182
6 Creeping Flow
write(20,*)
write(20,*)No.
X(m/s)
Y(m/s)
write(20,(i5,3x,2f16.10)) (i,xx(i),yy(i),i=1,nx)
write(20,*)
write(20,*)********* node connectivity **********************
write(20,*)
write(20,*)No.
write(20,(7i5)) (i,ie(1,i),ie(2,i),ie(3,i),
&
ie(4,i),ie(5,i),ie(6,i),i=1,mx)
write(20,*)
write(20,*)********* boundary condition *********************
if(iux/=0) then
write(20,*)
write(20,*)No.
UU(m/s)
write(20,(2i5,f16.10)) (i,jux(i),ufx(i),i=1,iux)
end if
if(ivy/=0) then
write(20,*)
write(20,*)No.
VV(m/s)
write(20,(2i5,f16.10)) (i,jvy(i),ufx(i),i=1,ivy)
end if
if(iet/=0) then
write(20,*)
write(20,*)No.
PPM(m/s)
write(20,(2i5,f16.10)) (i,jet(i),wet(i),i=1,iet)
end if
return
end subroutine input
!***********************************************************************
!***********************************************************************
!****
**********************************************
!**** subroutine finite **********************************************
!****
**********************************************
!***********************************************************************
&
subroutine finite
(nax,xx,yy,ie,aa,bb,cc,gg,sa,sk,al,mx)
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
dimension xx(50),yy(50),ie(6,60)
dimension aa(6,6),bb(6,3),cc(6,3)
dimension gg(3,3),sa(15,15),sk(300,300)
do i = 1, 300
do j = 1, 300
sk(i,j) = 0.0d0
end do
end do
do i = 1, 15
do j = 1, 15
sa(i,j) = 0.0d0
end do
end do
do i = 1, 6
do j = 1, 6
aa(i,j) =0.0d0
end do
3
= 0.0d0
= 0.0d0
3
= 0.0d0
!***********************************************************************
aa(1,1)
aa(2,2)
aa(3,3)
aa(4,4)
aa(5,5)
aa(6,6)
aa(1,5)
aa(1,6)
aa(2,4)
aa(2,6)
aa(3,4)
aa(3,5)
=
=
=
=
=
=
=
=
=
=
=
=
1.0d0
1.0d0
1.0d0
4.0d0
4.0d0
4.0d0
-1.0d0
-1.0d0
-1.0d0
-1.0d0
-1.0d0
-1.0d0
do im = 1, mx
ia = ie(1,im)
ib = ie(2,im)
ic = ie(3,im)
xa = xx(ia)
xb = xx(ib)
xc = xx(ic)
ya = yy(ia)
yb = yy(ib)
yc = yy(ic)
area = ((xb-xa)*(yc-ya)-(xc-xa)*(yb-ya))*0.5d0
rarea = 0.5d0 / (area)
area12 = area / 12.0d0
area06 = area / 6.0d0
b1 = (yb-yc)*rarea
b2 = (yc-ya)*rarea
b3 = (ya-yb)*rarea
c1 = (xc-xb)*rarea
c2 = (xa-xc)*rarea
c3 = (xb-xa)*rarea
!***********************************************************************
bb(1,1)
bb(2,2)
bb(3,3)
bb(4,2)
bb(4,3)
bb(5,1)
bb(5,3)
bb(6,1)
bb(6,2)
cc(1,1)
cc(2,2)
cc(3,3)
cc(4,2)
cc(4,3)
cc(5,1)
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
2.0d0*b1
2.0d0*b2
2.0d0*b3
b3
b2
b3
b1
b2
b1
2.0d0*c1
2.0d0*c2
2.0d0*c3
c3
c2
c3
183
184
6 Creeping Flow
cc(5,3) = c1
cc(6,1) = c2
cc(6,2) = c1
!***********************************************************************
gg(1,1)
gg(2,2)
gg(3,3)
gg(1,2)
gg(1,3)
gg(2,1)
gg(2,3)
gg(3,1)
gg(3,2)
=
=
=
=
=
=
=
=
=
area06
area06
area06
area12
area12
area12
area12
area12
area12
!***********************************************************************
!**** oueal matrix sa(i,j), i = 1 to 6, j = 1 to 6 *******************
do ia = 1, 6
do ib = 1, 6
sii = 0.0d0
sjj = 0.0d0
sij = 0.0d0
sji = 0.0d0
do i = 1, 6
do j = 1, 3
do k = 1, 3
do l = 1, 6
!***********************************************************************
sii = sii+aa(ia,i)*bb(i,j)*gg(j,k)*bb(l,k)*aa(ib,l)
sjj = sjj+aa(ia,i)*cc(i,j)*gg(j,k)*cc(l,k)*aa(ib,l)
sij = sij+aa(ia,i)*bb(i,j)*gg(j,k)*cc(l,k)*aa(ib,l)
sji= s ji+aa(ia,i)*cc(i,j)*gg(j,k)*bb(l,k)*aa(ib,l)
end do
end do
end do
end do
ic = ia+6
id = ib+6
!***********************************************************************
sa(ia,ib)
sa(ia,id)
sa(ic,ib)
sa(ic,id)
end do
end do
=
=
=
=
2.0d0*sii*al+sjj*al
sji*al
sij*al
2.0d0*sjj*al+sii*al
do ia = 1, 6
do ib = 1, 3
hij = 0.0d0
hji = 0.0d0
do i = 1 ,6
do j = 1, 3
!**********************************************************************
hij = hij + aa(ia,i)*cc(i,j)*gg(j,ib)
hji = hji + aa(ia,i)*bb(i,j)*gg(j,ib)
end do
end do
185
6
12
= -hji
= -hij
= hji
= hij
do i = 1, 6
do j = 1, 6
ii = ie(i,im)
jj = ie(j,im)
kk = i + 6
ll = j + 6
mm = nax+ii
nn = nax+jj
sk(ii,jj) = sk(ii,jj)
sk(ii,nn) = sk(ii,nn)
sk(mm,jj) = sk(mm,jj)
sk(mm,nn) = sk(mm,nn)
end do
end do
+
+
+
+
sa(i,j)
sa(i,ll)
sa(kk,j)
sa(kk,ll)
!***********************************************************************
!**** global matrix sk(i,j) = 1 to ns, j= 1 to ns
*******
do i = 1, 6
do j = 1, 3
ii = ie(i,im)
jj = ie(j,im)
kk = i + 6
ll = j + 12
mm = nax+ii
nn = 2*nax + jj
sk(ii,nn) = sk(ii,nn)+sa(i,ll)
sk(mm,nn) = sk(mm,nn)+sa(kk,ll)
sk(nn,ii) = sk(nn,ii)+sa(ll,i)
sk(nn,mm) = sk(nn,mm)+sa(ll,kk)
end do
end do
end do
return
end subroutine finite
!***********************************************************************
!***********************************************************************
!****
***********************************************
!**** subroutine bound ***********************************************
!****
***********************************************
!***********************************************************************
&
186
6 Creeping Flow
do i = 1, 300
dmy(i) = 0.0d0
end do
!****
*****
if(iux/=0) then
do i = 1, iux
ii = jux(i)
do j = 1, ns
dmy(j) = dmy(j) - sk(j,ii)*ufx(i)
sk(ii,j) = 0.0d0
sk(j,ii) = 0.0d0
end do
sk(ii,ii) = 1.0d0
end do
end if
!****
*****
if(ivy/=0) then
do i = 1,ivy
ii = nax + jvy(i)
do j = 1, ns
dmy(j) = dmy(j) - sk(j,ii)*vfy(i)
sk(ii,j) = 0.0d0
sk(j,ii) = 0.0d0
end do
sk(ii,ii) = 1.0d0
end do
end if
!****
*****************
if(iet/=0) then
do i = 1, iet
ii = 2*nax + jet(i)
do j = 1, ns
dmy(j) = dmy(j) - sk(j,ii)*wet(i)
sk(ii,j) = 0.0d0
sk(j,ii) = 0.0d0
end do
sk(ii,ii) = 1.0d0
end do
end if
return
end subroutine bound
!***********************************************************************
!***********************************************************************
!****
**********************************************
!**** subroutine calcul **********************************************
!****
**********************************************
!***********************************************************************
&
187
dimension jux(50),jvy(50),jet(50)
dimension ufx(50),vfy(50),wet(50)
dimension uu(150),vv(150),et(150)
!****
***************************************
call sweep(ns,sk,dmy)
!****
********************************
if(iux/=0) then
do i = 1, iux
ii = jux(i)
dmy(ii) = ufx(i)
end do
end if
if(ivy/=0) then
do i = 1, ivy
ii = nax + jvy(i)
dmy(ii) = vfy(i)
end do
end if
if(iet/=0) then
do i = 1, iet
ii = 2*nax + jet(i)
dmy(ii) = wet(i)
end do
end if
do i = 1, nax
uu(i) = dmy(i)
ii = nax + i
vv(i) = dmy(ii)
end do
do i = 1, nx
ii = 2*nax + i
et(i) = dmy(ii)
end do
return
end subroutine calcul
!***********************************************************************
!***********************************************************************
!****
**********************************************
!**** subroutine result **********************************************
!****
**********************************************
!***********************************************************************
subroutine result (nx,nax,uu,vv,et)
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
dimension uu(150),vv(150),et(150)
write(30,*)** output results ********************************
write(30,*)
write(30,*)** computed velocity and pressure on main nodes **
write(30,*)
write(30,*)No.
UU(m/s)
VV(m/s)
PPM(m/s)
write(30,(i5,3x,3f16.10)) (i,uu(i),vv(i),et(i),i=1,nx)
188
6 Creeping Flow
write(30,*)
write(30,*)** computed velocity and pressure on sub nodes
write(30,*)
write(30,*)No.
UU(m/s)
VV(m/s)
write(30,(i5,3x,2f16.10)) (i,uu(i),vv(i),i=nx+1,nax)
***
return
end subroutine result
!***********************************************************************
!***********************************************************************
!****
***********************************************
!**** subroutine sweep ***********************************************
!****
***********************************************
!***********************************************************************
subroutine sweep(n,a,u)
implicit real(8) (a-h,o-z)
implicit integer(4) (i-n)
dimension a(300,300),u(300)
do i = 1, n
b = abs(a(i,i))
if(b.gt.0.1d-10) then
p = 1.d0/a(i,i)
do j = i, n
a(i,j) = a(i,j)*p
end do
u(i)
= u(i) *p
do k = i + 1, n
q = a(k,i)
do j = 1, n
a(k,j) = a(k,j) - q*a(i,j)
end do
u(k) = u(k) - u(i)*q
end do
else
write(*,*) i,i,diagonal element is zero
end if
end do
do i = n-1, 1, -1
do j = i+1, n
u(i) = u(i) - u(j)*a(i,j)
end do
end do
return
end subroutine sweep
!***********************************************************************
189
tx=ty=0
l
l
du du
du
p dx = ua Fa + ub Fb
dx
dx
dx
dx
0
0
l
du
dx = 0
p
dx
0
(6.92)
(6.93)
(6.94)
(6.95)
(6.96)
(6.97)
Consider next the normal interpolation, i.e., the same interpolations are used for
velocity and pressure
u= 1
p= 1
x
x
ua +
ub
l
l
x
x
pa +
pb
l
l
(6.98)
(6.99)
190
6 Creeping Flow
*********
X,Y cordinate
X(m/s)
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
5.0000000000
5.0000000000
5.0000000000
5.0000000000
5.0000000000
10.0000000000
10.0000000000
10.0000000000
10.0000000000
10.0000000000
15.0000000000
15.0000000000
15.0000000000
15.0000000000
15.0000000000
20.0000000000
20.0000000000
20.0000000000
20.0000000000
20.0000000000
25.0000000000
25.0000000000
25.0000000000
25.0000000000
25.0000000000
30.0000000000
30.0000000000
30.0000000000
30.0000000000
30.0000000000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
*********
**********************
nx
nax
mx
iux
ivy
iet
al
=
=
=
=
=
=
=
**************************
Y(m/s)
0.0000000000
5.0000000000
10.0000000000
15.0000000000
20.0000000000
0.0000000000
5.0000000000
10.0000000000
15.0000000000
20.0000000000
0.0000000000
5.0000000000
10.0000000000
15.0000000000
20.0000000000
0.0000000000
5.0000000000
10.0000000000
15.0000000000
20.0000000000
0.0000000000
5.0000000000
10.0000000000
15.0000000000
20.0000000000
0.0000000000
5.0000000000
10.0000000000
15.0000000000
20.0000000000
0.0000000000
5.0000000000
10.0000000000
15.0000000000
20.0000000000
node connectivity
**********************
No.
1
2
3
4
5
6
7
8
9
10
11
12
6
2
7
3
3
9
4
10
15
9
14
8
7
1
8
2
8
4
9
5
10
14
9
13
1
7
2
8
4
8
5
9
14
10
13
9
41
41
43
43
45
45
47
47
60
60
58
58
35
117
48
33
40
0
10.00000000000000
40
42
42
44
38
51
39
52
65
52
64
51
49
36
50
37
44
46
46
48
61
59
59
57
8
12
7
11
16
12
17
13
13
19
14
20
25
19
24
18
18
22
17
21
26
22
27
23
23
29
24
30
35
29
34
28
28
32
27
31
*********
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
1
2
3
4
5
6
10
11
15
16
20
21
25
26
30
31
35
36
37
38
39
40
48
53
7
13
6
12
17
11
18
12
18
14
19
15
20
24
19
23
17
23
16
22
27
21
28
22
28
24
29
25
30
34
29
33
27
33
26
32
13
7
12
6
11
17
12
18
14
18
15
19
24
20
23
19
23
17
22
16
21
27
22
28
24
28
25
29
34
30
33
29
33
27
32
26
56
56
54
54
67
67
69
69
71
71
73
73
86
86
84
84
82
82
80
80
93
93
95
95
97
97
99
99
112
112
110
110
108
108
106
106
57
55
55
53
66
68
68
70
64
77
65
78
91
78
90
77
83
81
81
79
92
94
94
96
90
103
91
104
117
104
116
103
109
107
107
105
boundary condition
UU(m/s)
0.0000000000
0.7500000000
1.0000000000
0.7500000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.4375000000
0.9375000000
0.9375000000
0.4375000000
0.0000000000
0.0000000000
0.0000000000
50
63
49
62
75
62
76
63
70
72
72
74
87
85
85
83
76
89
75
88
101
88
102
89
96
98
98
100
113
111
111
109
102
115
101
114
*********************
191
192
6 Creeping Flow
25
26
27
28
29
30
31
32
33
61
66
74
79
87
92
100
105
113
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
1
2
3
4
5
6
10
11
15
16
20
21
25
26
30
31
32
33
34
35
36
37
38
39
40
48
53
61
66
74
79
87
92
100
105
113
114
115
116
117
VV(m/s)
0.0000000000
0.7500000000
1.0000000000
0.7500000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.4375000000
0.9375000000
0.9375000000
0.4375000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
u = 1
p = 1
x x
u +
u
l a l b
x
x
pa +
p
l
l b
(6.100)
(6.101)
where ua , ub , pa , pb are nodal values of u and v , and those are arbitrary constants.
Substituting Eqs. (6.98)(6.101) into Eqs. (6.92) and (6.93), and rearranging the
i in Fig. 6.10 can be obtained
terms, the local finite element equation for the element
as follows:
193
**
output results
**
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
**
********************************
UU(m/s)
0.0000000000
0.7500000000
1.0000000000
0.7500000000
0.0000000000
0.0000000000
0.7500000000
1.0000000000
0.7500000000
0.0000000000
0.0000000000
0.7500000000
1.0000000000
0.7500000000
0.0000000000
0.0000000000
0.7500000000
1.0000000000
0.7500000000
0.0000000000
0.0000000000
0.7500000000
1.0000000000
0.7500000000
0.0000000000
0.0000000000
0.7500000000
1.0000000000
0.7500000000
0.0000000000
0.0000000000
0.7500000000
1.0000000000
0.7500000000
0.0000000000
VV(m/s)
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
PPM(m/s)
6.0000000000
6.0000000000
6.0000000000
6.0000000000
6.0000000000
5.0000000000
5.0000000000
5.0000000000
5.0000000000
5.0000000000
4.0000000000
4.0000000000
4.0000000000
4.0000000000
4.0000000000
3.0000000000
3.0000000000
3.0000000000
3.0000000000
3.0000000000
2.0000000000
2.0000000000
2.0000000000
2.0000000000
2.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
1.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
No.
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
UU(m/s)
0.4375000000
0.9375000000
0.9375000000
0.4375000000
0.0000000000
0.4375000000
0.7500000000
0.9375000000
1.0000000000
0.9375000000
0.7500000000
0.4375000000
0.0000000000
0.4375000000
0.9375000000
0.9375000000
0.4375000000
0.0000000000
0.4375000000
0.7500000000
VV(m/s)
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
**
***
194
6 Creeping Flow
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
0.9375000000
1.0000000000
0.9375000000
0.7500000000
0.4375000000
0.0000000000
0.4375000000
0.9375000000
0.9375000000
0.4375000000
0.0000000000
0.4375000000
0.7500000000
0.9375000000
1.0000000000
0.9375000000
0.7500000000
0.4375000000
0.0000000000
0.4375000000
0.9375000000
0.9375000000
0.4375000000
0.0000000000
0.4375000000
0.7500000000
0.9375000000
1.0000000000
0.9375000000
0.7500000000
0.4375000000
0.0000000000
0.4375000000
0.9375000000
0.9375000000
0.4375000000
0.0000000000
0.4375000000
0.7500000000
0.9375000000
1.0000000000
0.9375000000
0.7500000000
0.4375000000
0.0000000000
0.4375000000
0.9375000000
0.9375000000
0.4375000000
0.0000000000
0.4375000000
0.7500000000
0.9375000000
1.0000000000
0.9375000000
0.7500000000
0.4375000000
0.0000000000
0.4375000000
0.9375000000
0.9375000000
0.4375000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
195
PRESSURE
6.00
5.00
4.00
3.00
6.00
5.00
4.00
3.00
6.00
5.00
4.00
3.00
6.00
5.00
4.00
3.00
6.00
5.00
4.00
3.00
2.00
1.00
0.00
2.00
1.00
0.00
2.00
1.00
0.00
2.00
1.00
0.00
2.00
1.00
0.00
VELOCITY
1.0
0
1
L
3
2
l
ua
pa
a
ub
pb
i
l
196
6 Creeping Flow
1 1
2 2 pa
Fa
l
l ua
u
1 1 pb = Fb
b
l
l
2 2
1 1
2 2 ua
0
1 1 ub = 0
2 2
(6.102)
(6.103)
By superimposing Eqs. (6.102) and (6.103) into the whole channel (Fig. 6.10), which
consists of two elements, we get
1 1
u1
l
l
2 2
1
1
u2
l l + l l 2
2
1 1
u3
l
l
2 2
=
1
1
p1
2
2
1
1
p
2
2
2
1
1
p3
2
2
(6.104)
Using the boundary condition that u1 = 1, the final form of the global finite element
equation based on the normal interpolation is as follows:
2 1
1 1
1 1
2 2
1
2
1
u2
2
1 1
u3
2 2
p1 =
p
2
p3
(6.105)
197
(6.106)
(6.107)
(6.108)
(6.109)
3l
3l
3l
6
6
ub
Fa
7 8 1 5
3l 3l 3l 6 6 uc = Fb
Fc
8 8 16 2 2 pa
pb
3l
3l 3l
3 3
5
6
1 2
0
ua
6 3
ub =
5 2
0
uc
6 3
(6.110)
(6.111)
198
6 Creeping Flow
0
1
l
ua
pa
a
L
3
5
l
ub
uc
pb
Superposing Eq. (6.110) and (6.111) into the whole channel shown in Fig. 6.11, which
consists of two elements, we get
7
5
1
8
3l
3l
3l
6
6
7
1
7
5
8
8
1
5
+
3l
3l
3l
3l
3l
3l
6
6 6
6
7
8
1
5
3l
3l
3l
6
6
8
16
2
8
2
3l
3l
3l
3
3
8
16
2
8
2
3l
3l
3l
3
3
1
2
5
6
6
3
1
5
1
2
5
2
6
6 6
6
3
3
1
5
2
6
6
3
0
0
0
0
=
0
0
0
0
u1
u2
u3
u4
u5
p1
p2
p3
(6.112)
199
Using the boundary condition that u1 = 1, the final form of the global finite element
equation based on the mixed interpolation is described as follows:
1
14 1 8 8 1
1
3 3 3 6
6
3
3
1 7
8
1 5
3 3
3
6 6 u2
u3 8
8
16
2 2
3
3
3
3 3
u4
8 8
16
2 2
3 3
3
3 3
1
p1 5
2
3
p2 6
6
1 2 2
p
3
6 3 3
1 5
2
6 6
3
(6.113)
2.6667 0.0
5.3333 0.0
0.1667 0.0
0.6667
0.0
0.0
0.1667 0.6667 0.6667
0.1667 0.8333 0.0
0.6667
0.1667 0.0
0.1667
0.0
0.1667 0.8333
0.0
0.6667 0.6667
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
(6.114)
0.1250
0.0000
0.0312
0.0313
1.2500
0.5000
0.2500
0.0
0.0312 0.0312 1.2500 0.5000 0.2500
0.0000 0.0000 0.0000 1.0000 1.0000 1.0000
(6.115)
200
6 Creeping Flow
0.333
0.0
2.667
0.0 .
0.833
0.167
0.0
(6.116)
Multiplying the matrix in Eqs. (6.115) and (6.116), we obtain the results as follows:
1.000
1.000
1.000
1.000
0.000
0.000
0.000
(6.117)
The first four are velocities u2 , u3 , u4 , u5 and the last three are the pressures p1 , p2 ,
p3 . We can see that by the finite element method based on the mixed interpolation
of quadratic polynomial for velocity and linear polynomial for pressure, the exact
solution can be obtained.
201
reiterate the explanation of description by the indicial notation in the later chapters.
The introductory computer program is shown to clarify the algorithm of the mixed
interpolation. The computer program is more complex than that based on the normal
interpolation.
In this chapter, we treated the steady linear flow. However, actual flows are transient and nonlinear phenomena. In the following chapters, we will discuss the nonlinear time-dependent fluid flows. The fundamental techniques of the analyses of
those flows are the extended techniques presented in Chaps. 46.
Part II
Chapter 7
7.1 Introduction
Although numerous theories in continuum mechanics in fluid flows have been
proposed in the past decades, only theories related to the later chapters will be presented in this chapter. First, definition of description and concepts of deformation,
displacement, velocity, and acceleration will be discussed. Then, the main fundamental concepts of the continuum mechanics, i.e., the conservation laws of mass,
momentum, and energy, are defined. We will provide the global and local forms of
the conservation laws. The global forms are given by the integral equations, whereas
the local forms are expressed in terms of the differential equations. Mutual relations
among conservation laws are discussed. We then introduce stress as flux of momentum, and followed by the conservation low of momentum leads to the equilibrium
equation, i.e., mass times acceleration is equal to force. As the constitutive equation,
linear relation between stress and deformation rate is employed. We will witness
that the conservation of energy is equivalent to the thermal transport equation. As
consequences of the ClausiusDuhem inequality, restrictions on the thermal conduction and viscosity coefficient will be imposed. Introducing Helmholtz free energy,
the conservation of energy can be transformed into the simplified form whose physical meaning is more clarified. The concept of ideal gas in the adiabatic state is
described. There are many good books in the field of continuum mechanics. Among
them, Eringen (1967), Leigh (1968), Sedov (1971), Mase and Mase (1999), Bonet
and Wood (2008), etc. are helpful for the readers for further reading.
Except for the explanation of material description, the equations in this chapter
D
as superare expressed using the spatial description. In this chapter, we denote
Dt
script dot .
205
206
V
(X1,X2)
(X1,X2)
X2
P
G2
O
g2
G1
g1
X1
(7.1)
(7.2)
(7.3)
where g i is the base vector of the axis of coordinate in the deformed state, which can
be derived as
g i = p,i
(7.4)
207
(7.5)
where u i is the component of displacement. In Fig. 7.1, the following equation holds:
p+C = P +u
(7.6)
where C is the movement of the origin of the coordinate system. Differentiating both
sides of Eq. (7.6), we get
p,i = P ,i + u,i
(7.7)
g i = ( ji + u j,i )G j
(7.8)
(7.9)
(7.10)
(7.11)
where u i is the components of the displacement in the axis G i , and u i is also the
components of the displacement in g i . In Fig. 7.2, the displacement can be expressed
by the position vectors:
P+u= p
(7.12)
(7.13)
208
V
(x1,x2)
g2
(X1,X2)
X2,x2
G2
O
G1
g1
X1,x1
This expression is called as the spatial description. In this case, the deformation can
be understood as the difference in the positions of the material points between before
and after the deformation takes place. In the fluid mechanics, the spatial description
is usually used.
(7.14)
xi = xi (X i , t)
(7.15)
or
209
u = u(X i , t) = u i (X i , t)G i
(7.16)
du
v=
dt P
(7.17)
where vertical bar with subscripted P means partial derivative fixing material point
P. The component of velocity vk is
v = vk G k
(7.18)
du k
u k
(X i , t)
=
vk =
dt X i
t
(7.19)
and
where vertical bar subscripted by X i represents partial derivative fixing material point
Xi .
In the spatial description, the velocity is defined by Eq. (7.17) and displacement
is defined by Eq. (7.12) or (7.13):
u= p P
(7.20)
u i = xi X i
(7.21)
dp
du k
du
=
=
Gk
v=
dt P
dt P
dt X i
(7.22)
du k
u k
(xi , t)
vk =
=
dt X i
t
(7.23)
or
thus
which leads to
(7.24)
210
(7.25)
dvk
vk
2uk
Gk =
Gk
a = ak G k =
Gk =
dt X k
t
t 2
(7.26)
thus,
(7.27)
thus,
dvk
(xi , t) G k
dt
X
i
vk
xi vk
+
=
Gk
t
t xi
Dvk
Gk
=
Dt
a = ak G k =
(7.28)
namely,
ak =
vk
vk
Dvk
=
+ vi
Dt
t
xi
(7.29)
where
xi
D
=
+
+ vi
=
Dt
t
t xi
t
xi
(7.30)
(7.31)
f = f ( P, t) f k (X i , t)G k
(7.32)
fk
df
=
(X i , t)G k
dt
t
(7.33)
If f is a material function,
then
211
If f is a spatial function,
f = f ( p, t) f k (xi , t)G k
(7.34)
then
df
=
dt
=
f k xi
f k
+
Gk
t xi
xi t
D fk
Gk
Dt
(7.35)
Note that in Eq. (7.35), the differentiation has been applied while fixing P, i.e., X i ,
thus xi is not fixed.
()d V
V
dS
V
vi
212
vn
dS
Let production per unit mass per unit time be Q, total amount of production is
(Q)d V
V
(7.36)
(7.38)
we obtain
D
Dt
()d V =
V
D
() + vi,i d V
Dt
(7.39)
213
(vi n i )d S =
(qi n i )d S =
(qi,i )d V
(7.40)
(7.41)
D
() + vi,i qi,i Q d V = 0
Dt
(7.42)
(7.43)
d V = 0
(7.44)
This equation is the global form of conservation of mass. The local form of conservation of mass can be obtained from Eq. (7.44) as
D
+ vi,i = 0
Dt
(7.45)
(7.46)
214
+ (vi ),i = 0
t
(7.47)
(7.48)
(7.49)
(c)d V =
V
(cvi n i )d S +
S
(Q)d V
(7.50)
where c is concentration of substance per unit mass and Q is the production rate of
substance per unit mass per unit time. The substance flux is defined by
Ni = cvi
(7.51)
(c)d V =
V
(Ni n i )d S +
S
(Q)d V
(7.52)
(7.53)
215
Transforming Eq. (7.53) and rearranging the terms, the following equation can be
derived:
D
Dc
+ vi,i c +
Ni,i Q = 0
(7.54)
Dt
Dt
Applying the conservation equation of mass, Eq. (7.45), the local form of conservation of substance can be described as follows:
Dc
= Ni,i + Q
Dt
(7.55)
(7.56)
where k is referred to as diffusion coefficient. Substituting Eq. (7.56) into Eq. (7.55),
the governing equation of substance transport can be obtained:
c
+ vi c,i kc,ii + Q = 0
t
(7.57)
Equation (7.57) corresponds to Eq. (5.1) in Chap. 5. With boundary and initial conditions, the substance transport can be solved.
(vi )d V =
(v j vi n j )d S +
( f i )d V
(7.58)
In Eq. (7.58), the left side term represents the time rate of momentum, and the last
term on the right side represents the momentum rate created by the body force. For
the flux of momentum, we posit
ji = v j vi
(7.59)
Introducing Eq. (7.59) into Eq. (7.58), the following equation can be obtained:
D
Dt
(vi )d V =
V
( ji n j )d S +
S
( f i )d V
V
(7.60)
216
Replacing the first term on the right side of Eq. (7.60) with
ti = i j n j
(7.61)
the global form of the conservation equation of momentum can be derived as follows:
D
Dt
(vi )d V =
V
(ti )d S +
S
( f i )d V
(7.62)
If we consider ti as traction force, the right side of Eq. (7.62) expresses the sum
of forces applied on the surface S and produced inside the volume V . Therefore,
Eq. (7.62) states that the time rate of the momentum of the body is equal to the time
rate of total force applied to the body. This is the conservation law of momentum.
Considering Eq. (7.61), the traction force ti is characterized by its components i j .
Namely, i j defined by Eq. (7.59) is stress. Thus, it can be stated that the stress is
the flux of momentum.
Replacing , q j , and Q in Eq. (7.43) with vi , ji , and f i , respectively, we obtain
D
(vi ) + vi v j, j ji, j f i = 0
Dt
(7.63)
D
Dvi
+ v j, j vi +
ji, j f i = 0
Dt
Dt
(7.64)
Using the conservation of mass, Eq. (7.45), the first term of Eq. (7.64) is zero. The
local form of the conservation equation of momentum can be obtained as follows:
Dvi
= ji, j + f i
Dt
(7.65)
Equation (7.65) is also referred to as the equation of motion. Namely, mass times
acceleration is equal to the force per unit mass per unit time.
We now take a closer look at Eq. (7.62) from a different perspective. The traction
vector is defined as
t = ti G i
(7.66)
where G i is the base vector. The traction is force. For simplicity, we set aside
acceleration and body force for now, and then Eq. (7.62) is reduced to the following
equation:
td S = 0
S
(7.67)
217
S
t
S
t
S1 V
S2
S2
(7.69)
where
t1 =
td S
S1
t2 =
td S
S2
218
components of stress are defined in Eq. (7.59). From the equilibrium of moment of
momentum, the stress must be symmetric, i.e.,
i j = ji
(7.70)
1
(vi, j + v j,i )
2
(7.71)
where vi is velocity.
Reiner and Rivlin introduced the following equation as the constitutive equation
of fluid:
i j = pi j + 0 i j + 1 di j + 2 dik dk j
(7.72)
(7.73)
in which is some function and Id , IId , IIId are referred to as invariants of deformation
rate, i.e.,
Id = dii
1
IId = (dii d j j di j di j )
2
IIId = det |di j |
We sometimes assume the linear relation, i.e.,
i j = pi j + dkk i j + 2di j
(7.74)
(7.75)
i j = dkk i j + 2di j
(7.76)
where
219
kk
3 + 2
(7.77)
i j
+
kk i j
2 2(3 + 2)
(7.78)
(7.79)
(7.80)
(7.81)
vi vi +
(7.82)
(7.83)
(7.84)
220
where q j and h are heat flux and heat source, respectively, and f i is body force.
Substituting Eqs. (7.82), (7.83), and (7.84) into Eq. (7.36), we get
D
Dt
D
1
vi vi d V +
(
)d V = (vi i j n j )d S + (q j n j )d S
2
Dt V
S
S
+ ( f i vi )d V + (h)d V (7.85)
V
(7.86)
where
(vi vi )d V
K =
2
V
E = (
)d V
V
W = ( f i vi )d V + (vi i j n j )d S
S
V
= (h)d V + (qi n i )d S
V
Equation (7.86) is the global form of conservation equation of energy. The sum of time
rate of kinetic energy K and internal energy E is equal to rate of mechanical power
W and heat input . In this chapter, overdot stands for material time derivative, i.e.,
D
. In general, Eq. (7.86) is known as the first law of thermodynamics.
Dt
Here, let us reconsider the flux of energy equation Eq. (7.83). Using Eq. (7.82),
the flux of energy can be written as
v j = ev j =
vi vi v j +
v j
2
(7.87)
vi vi +
2
(7.88)
where is the internal energy caused by heat. Namely, the internal energy is assumed
to be the sum of the kinetic energy and the internal energy by heat. introducing
Eq. (7.88) into Eq. (7.87) and rearranging the terms, we obtain
v j =
1
vi vi v j + vi vi v j + v j
2
2
(7.89)
221
(7.90)
D
D
(e)d V + (e) (d V )
Dt
Dt
V
V
D
(e) + evk,k d V
=
Dt
V
(e) + v j (e), j + ev j, j d V
=
t
V
(e)d V =
V
(7.91)
using Eq. (7.38). The right side terms of Eq. (7.85) can be transformed into the
following forms converting the surface integral into the volume integral using the
GreenGauss theorem:
W =
( f i vi ) + (i j vi ), j d V
(7.92)
V
=
(h + qi,i )d V
(7.93)
Using Eqs. (7.47), (7.91), (7.92), and (7.93), we obtain the following equation from
Eq. (7.85):
De
(i j vi ), j qi,i f i vi h = 0
Dt
(7.94)
Introducing Eq. (7.82) into Eq. (7.94) and rearranging the terms, we get
Dvi
i j, j f i + (
i j di j qi,i h) = 0
vi
Dt
(7.95)
1
i j di j = i j (vi, j + v j,i ) = i j vi, j
2
(7.96)
in which
222
= i j di j + qi,i + h
Dt
(7.97)
The first term on the right side of Eq. (7.97) is referred to as mechanical power, where
di j is deformation rate defined in Eq. (7.71). Equation (7.97) expresses the conservation law in which the internal energy rate per unit time is due to the mechanical
power and heat energy.
For continua without heat transfer, the conservation equation of energy can be
simplified. We consider the case in which
qi = 0 and h = 0
(7.98)
= i j di j
Dt
(7.99)
D
D
+ vk,k +
= i j di j
Dt
Dt
(7.100)
Integrating Eq. (7.100) over the volume V and using Eq. (7.38), the following equation can be derived:
D
(
)d V = (i j di j )d V
(7.101)
Dt V
V
Equation (7.101) means that time rate of internal energy occurred only by the
mechanical power. In this case, conservation equation of energy becomes
DE
DK
+
=W
Dt
Dt
(7.102)
which is
D
Dt
1
(vi vi )d V +
2
V
(i j vi, j )d V
V
(i j vi n j )d S +
=
S
(vi f i )d V
V
(7.103)
223
Dvi
= i j, j + f i
Dt
(7.104)
(7.105)
where
H=
()d V
h
dV
B=
T
V
qi
S=
ni d S
S T
V
qi T,i
0
T
(7.106)
qi T,i
T
(7.107)
(7.108)
224
= i j di j + qi,i + h
= pdii + i j di j + qi,i + h
(7.109)
(7.110)
If = 0 then the process is called as reversible process. In this case, the second term
of the right side of Eq. (7.109) is zero. Thus, the internal energy in the reversible
process is derived as
= pdii + T
(7.111)
Based on Eqs. (7.109) and (7.111), the entropy can be deduced in the irreversible
process:
T = i j di j + qi,i + h
(7.112)
qi T,i
T
(7.113)
We can see in Eq. (7.113) that the entropy production consists of two parts, one is
due to the dissipative stress and the other is due to the thermal effects.
Using Eq. (7.110), Eq. (7.107) is transformed into the following form:
T = +
qi T,i
0
T
(7.114)
Assuming the Fouriers law for the thermal flux of the form,
qi = T,i
(7.115)
where is the thermal conduction coefficient, Eq. (7.114) with Eq. (7.115) leads to
the following inequality:
+
T,i T,i
0
T
(7.116)
225
Equation (7.116) should hold even if = 0, i.e., in the reversible process. Therefore,
0
(7.117)
On the other hand, even if thermal effect is zero, i.e., qi = 0, Eq. (7.113) should also
be positive:
(i j + di j )di j 0
(7.118)
(7.119)
1
di j = di j dkk i j
3
(7.120)
where
(7.121)
Equations (7.117) and (7.121) are final consequences derived from the Clausius
Duhem inequality.
= + T
(7.122)
(7.123)
= (T, )
(7.124)
Assume
226
(7.125)
(7.126)
=
T+
T
T =
T = +
(7.127)
(7.128)
Substituting Eq. (7.128) into Eq. (7.123) and rearranging the terms, we get
T +
= pdii + i j di j + qi,i + h
(7.129)
Assuming that
p=
(7.130)
(7.131)
(7.132)
2
2
T 2
T
(7.133)
Substituting Eq. (7.133) into Eq. (7.132), we can obtain the following equation:
T
2
2
dii + qi,i + h + i j di j = 0
T
+
T
T 2
T
(7.134)
227
=
++
T =
T
T
T
T
T
(7.135)
v
=T
v
= T
2
T 2
(7.136)
where subscript v means that differentiation is carried out by keeping volume constant. Using Eq. (7.136) and the Fouriers law Eq. (7.115), Eq. (7.134) can be transformed as follows:
cv T + T
2
dii + (T,i ),i + h + dii dkk + 2di j di j = 0
T
(7.137)
The thermal conduction equation is normally Eq. (7.137) without second, fifth, and
sixth terms. Namely, the temperature and deformation are uncoupled. In practice
the effect of dii is not often significant. In the incompressible flow, dii = 0, then,
Eq. (7.137) can be transformed as follows:
cv T + (T,i ),i + h + 2di j di j = 0
(7.138)
where di j is the deviatoric deformation rate, which is defined in Eq. (7.120). The
thermal conduction equation is normally Eq. (7.138) without the last term. We should
emphasize that the last term is significant in the flow of relatively large shearing
deformation rate.
228
Although there are several manners in which to define the specific heat c, we use
the following definitions here, assuming inviscid flow:
(
+ p )
(7.139)
where is the specific volume defined in Eq. (7.125). We can define the specific heat
at constant volume cv as
cv =
(7.140)
T
and the specific heat at constant pressure as
cp =
+p
T,
(7.141)
p
cp
cv
(7.142)
= cv T
(7.143)
p = RT
(7.144)
where R is referred to as the gas constant. Based on Eq. (7.144), equation of state in
terms of internal energy
can be derived using the Mayer relation, which is expressed
as follows. From Eq. (7.141),
+p
cp =
T p
T p
T,
=
+p
T
T p
(7.145)
(7.146)
229
Introducing Eqs. (7.140) and (7.146) into Eq. (7.145), the Mayer relation can be
formulated as
c p cv = R
(7.147)
p
p
=
R
c p cv
(7.148)
cv
p
p =
c p cv
1
(7.149)
Then, we get
= cv T =
From Eq. (7.149), we also get
p = ( 1)
(7.150)
Equation (7.150) is the equation of state in terms of internal energy and pressure.
The thermal flux equation Eq. (7.115) can be transformed into
qj =
, j
cv
(7.151)
(7.152)
T
= cv R
T
(7.153)
+ R T
(7.154)
230
Then, we obtain
p
RT
R T
T
=
+
= +
p
RT
RT
T
(7.155)
Substituting Eq. (7.155) into Eq. (7.153), the entropy can be reformulated as follows
using Eq. (7.147):
= cv
p
cp
p
(7.156)
p
p0
log
0
(7.157)
p
p0
=
0
exp
cv
(7.158)
(7.159)
then we obtain
p
=
p0
(7.160)
(7.161)
Using Eq. (7.160), we can transform this into the following form:
p0
p
= 1 =
0
p
= = RT
a2 =
p0
0
1
(7.162)
231
Therefore, the acoustic velocity is time dependent. Using Eqs. (7.144) and (7.160),
we get
T
T0
=
p
p0
1
(7.163)
v
a
(7.164)
V
d V =
+ (vi ),i d V +
(v j j )n j d S
t
(7.165)
(7.166)
where q j denotes the flux through the surface. Based on Eqs. (7.165) and (7.167),
the following expression is obtained:
V
+ (v j ), j q j, j d V +
(v j j ) q j n j d S = 0 (7.168)
t
Because the function satisfies the local form of the conservation law, the first term
of Eq. (7.168) equals to zero. Thus, the following equation can be obtained:
232
S+
V+
n+
V
S
(v j j ) q j n j d S = 0
(7.169)
Substituting
= and q j = 0
in Eq. (7.169), the discontinuity condition of mass is obtained as follows:
(v j j )n j = 0
(7.170)
Substituting
= vi g i and q j = ji g i
where g i is the base vector, Eq. (7.169) leads to the discontinuity condition of momentum:
vi (v j j ) i j n j = 0
(7.171)
(7.172)
233
z
x
(0,0,0)
where:
vn = v j n j ,
n = j n j
(7.173)
(7.174)
Both vn and n denote the normal components of velocities of the material points
and the interface, respectively. The tangential stress boundary conditions are appropriate for a fluidfluid interface characterized by an interfacial tension. It is normally
assumed that
i j n j = n i
(7.175)
where denotes the curvature of the interface and denotes the surface tension
coefficient.
Based on the local coordinate system shown in Fig. 7.7, the following expression
holds:
Z = (x, y, t)
where (x, y, t) is a function which expresses the interface at time t. A point on the
interface is still on the interface after deformation takes place. Thus,
D
{Z (x, y, t)} = 0
Dt
(7.176)
234
If we put
f = Z (x, y, t)
(7.177)
(7.178)
Chapter 8
8.1 Introduction
In the past three decades, a number of solution methods have been developed based on
the finite element method of incompressible fluid flows. The first paper was presented
by Oden (1970). Actually, the majority of the histories of the finite element methods
in fluid flows are devoted to the analysis of the incompressible flows. In this chapter,
we will discuss two types of the stabilization methods, i.e., the bubble function
method and the improved balancing tensor diffusivity method. As shown in Chap. 6,
we must use the mixed interpolation to analyze the incompressible flows. The mixed
interpolation is summarized in Taylor and Hood (1973), Kawahara et al. (1976),
Jackson and Cliffe (1981), Carey and Oden (1986), Zienkiewicz et al. (2014), etc. The
simplest mixed interpolation is the combination of the bubble function for velocity
and linear function for pressure. Original ideas were discussed by Arnold et al.
(1984), and Fortin and Fortin (1985). Many types of bubble functions are presented
by, e.g., Franca and Farhat (1995), Pierre (1988, 1995), Baiocchi et al. (1993), Brezzi
et al. (1992), Simo et al. (1995), Okumura and Kawahara (2000, 2003), Matsumoto
and Kawahara (2001, 2006), Matsumoto et al. (2002), Matsumoto (2005), Yamada
(1995, 1998), Nakajima and Kawahara (2000), Kurahashi et al. (2012), etc. We
employed so-called standard bubble function, which is the most popular function.
With several assumptions, we can show that the stability of the bubble function
method is equivalent to that of the SUPG method, which will be discussed in the
next chapter in further depth.
Another stabilization method discussed in this chapter is the improved balancing
tensor diffusivity (IBTD) method. If we take into account the second-order terms in
the time discretization, which is converted into the terms in the space function, we
can derive IBTD method after several transformations of equations. Original ideas
of BTD, i.e., balancing tensor diffusivity, method were presented by Donea (1984),
Donea et al. (1984), Gresho et al. (1984), Gresho and Sani (2000), etc. This method is
235
236
related to the three-step explicit method by Jiang and Kawahara (1993). We discuss
the equivalency of the stability of the IBTD method and the SUPG method.
For the discretization in time, we employ the fractional step method, which is
also called the pressure Poisson equation method. Original ideas are found in
Chorin (1968). The first finite element method based on this type of concept is
presented by Temam (1968). Practical computations were executed by Ramaswamy
and Kawahara (1987a, b), Kawahara and Anju (1988), Hayashi et al. (1991), Donea
and Huerta (2003), etc. The stability and convergence are discussed by Guermond
and Quartapelle (1998), Bochev and Gunzburger (2004), Corthwaite (2013), etc.
The stabilization methods described in this chapter, i.e., the bubble function
method and IBTD method, have some characteristics in common. Namely, both
methods employ the linear finite element equation, to which the stabilization terms
are added. How to obtain the stabilization terms differ between the two methods.
Nevertheless, we can show that the stabilization effects of both methods are equivalent to those of the SUPG method. The stabilization effects of the three methods, i.e.,
the bubble function method, the IBTD method, and the SUPG method, are almost
identical, and stable computations can be carried out by those methods. Several case
studies are described to show the adaptability for practical industrial applications.
Superposted dot means partial differentiation with respect to time in this chapter.
(8.1)
which is repeated from Eq. (7.49). This equation is sometimes referred to as the
equation of continuity.
(2) Conservation of momentum is
(vi + v j vi, j ) i j, j = f i
(8.2)
where , i j , and f i mean density, total stress, and body force, respectively. This
equation is referred to as the equation of motion, which is Eq. (7.65).
(3) Constitutive equation is
i j = pi j + di j
(8.3)
237
which is Eq. (7.75). In Eq. (8.3), is called viscosity coefficient. Due to the
ClausiusDuhem inequality, Eq. (7.119), the following inequality should hold:
0
(8.4)
(4) The deformation rate di j is given in Eq. (7.71), which is the symmetric part of
velocity gradient:
di j =
1
(vi, j + v j,i )
2
(8.5)
on S2
(8.6)
(8.7)
where carret over a symbol means the given quantities on the boundary. In
Eq. (8.7), ti is the surface force and n j is unit normal to the boundary. We assume
that
S1 S2 = S
S1 S2 = 0
(8.8)
(8.9)
at time t0
p = p
(8.10)
where superscript 0 means the values at initial time t0 . As the initial conditions,
velocity and pressure are given in all flow fields. Substituting Eq. (8.5) into
Eq. (8.3), and the derived equation again into Eq. (8.2), and rearranging the terms,
the equation of motion can be reformulated as in the following form:
(vi + v j vi, j ) + p,i (vi, j + v j,i ), j = f i
(8.11)
Equations (8.1) and (8.11) with Eqs. (8.6)(8.10) make closed equation systems, i.e.,
we obtain the solution of the unsteady incompressible fluid flows to solve those
equations. Substituting Eq. (8.1) into Eq. (8.11), we get
(vi + v j vi, j ) + p,i vi, j j = f i
(8.12)
238
The pairs of Eqs. (8.1) and (8.11) or of Eqs. (8.1) and (8.12) are called the Navier
Stokes equations.
We usually use the nondimensional form. Equation (8.11) can be rewritten as
1 p
vi
+ v j vi, j +
t
xi
x j
v j
vi
+
x j
xi
= fi
(8.13)
The dimension of the terms in Eq. (8.13) has a dimension [L][S2 ], which is acceleration. Introducing nondimensional quantities such as
xi =
xi
,
L
p =
p
V 2
VL
fi =
L
V2
vi =
vi
,
V
t =
V
t
L
(8.14)
fi
t
xi
VL x j
v j
vi
+
x j
xi
= fi
(8.15)
VL
, =
(8.16)
(8.17)
where
=
1
Re
(8.18)
Using Eq. (8.14), the nondimensional form of equation of continuity can also be
written as Eq. (8.1). The boundary and initial conditions are also Eqs. (8.6) and (8.7),
and Eqs. (8.9) and (8.10), respectively. For the sake of exposition, we will set aside
the body force term in Eq. (8.17) in the following sections.
239
( p vi,i )d V = 0
(8.19)
(vi vi )d V
+
V
(vi v j vi, j )d V
+
V
(vi, j i, j )d V
=
S
(vi ti )d S
(8.20)
where S is the boundary of the volume V abstracting away from f i for the sake of
simplicity, and
ti = i j n j = { pi j + (vi, j + v j,i )}n j
(8.21)
is the surface force on the boundary S and n j is the unit normal to the boundary S.
The nondimensional stress is denoted by i j .
Introducing the constitutive equation Eqs. (8.3) and (8.5) into Eq. (8.20) and
arranging the terms, we get
(vi v j vi, j )d V
(vi,i
p)d V
+ (vi, j vi, j )d V + (vi, j v j,i )d V = (vi ti )d S
(vi vi )d V
(8.22)
Equations (8.19) and (8.22) with the boundary condition Eq. (8.6) and the initial
condition Eqs. (8.9) and (8.10) are the basic equations of the finite element method
of the incompressible fluid flows. The boundary condition Eq. (8.7) can be included
in Eq. (8.22). If we take V as the volume of the flow field and S as its boundary, then
(vi v j vi, j )d V
(vi,i
p)d V
(vi ti )d S
+ (vi, j vi, j )d V + (vi, j v j,i )d V =
(vi vi )d V
(8.23)
S2
on S1
(8.24)
240
This assumption is valid for any case, because vi is an arbitrary function. To derive
Eq. (8.23), we also use Eq. (8.8). As stated before, Eq. (8.22) is valid for an arbitrary
volume V with surface S. Although we limit the volume V with the surface as a
finite element and its surface, Eq. (8.22) is also valid. In this case, we use Ve and
Se to make explicit that the integrations of the equations are over the volume of the
element Ve and its surface Se .
(8.25)
(8.26)
vi = vi
p = p
(8.27)
(8.28)
Mi j v j + K j v j vi Hi p + Si j v j = i
(8.29)
Hi vi = 0
(8.30)
where
Mi j =
( )i j d V
(8.31)
( , j )d V
(8.32)
(,i )d V
(8.33)
K j =
V
Hi =
V
241
Si j =
(,k ,k )i j d V +
V
(,i , j )d V
(8.34)
i =
( ti )d S
(8.35)
y
z
2
1
x
2
3
Bubble function
interpolation
3
Linea function
interpolation
242
(8.36)
1 = 1
2
3
4
(8.37)
= 1,
(8.38)
,i = 0
(8.39)
=1
and
4
=1
(8.40)
1
v4i = v4i (v1i + v2i + v3i )
3
(8.41)
where
(8.42)
243
If we posit
= 1 2 3 271 2 3
(8.43)
vi = v1i v2i v3i v4i
(8.44)
and
( = 1 to 4)
(8.45)
which is the same as Eq. (8.25). Equation (8.36) can also be considered as Eq. (8.45).
However, we will use Eq. (8.40) as the bubble function interpolation function, because
the first three terms are the same as those of the linear function and those are convenient for later use. Note that the nodal velocity on the barycentric node v4i is
computed by Eq. (8.41).
Interpolation function for pressure is the linear interpolation function and is
expressed in Eq. (8.26), where
= 1 2 3
(8.46)
p = p1 p2 p3
(8.47)
(8.48)
,y = c1 c2 c3 e
(8.49)
where
d = 27(b1 2 3 + 1 b2 3 + 1 2 b3 )
e = 27(c1 2 3 + 1 c2 3 + 1 2 c3 )
244
xx
= M =
M
1
Ve
( )d V
1
3
1
12 12 20
1 1
3
6 12 20
1 1
3
12 6 20
3 3 3 81
20 20 20 280
6
12
= 1
12
(8.50)
Introducing Eq. (8.43) into Eq. (8.32), using Eq. (8.48) or (8.49), and performing the
integrations by Eq. (6.36), Eq. (8.32) can be transformed as follows:
x
K 1
=
Ve
xx
( 1,x )d V = b1 M
(8.51)
xx
( 2,x )d V = b2 M
(8.52)
xx
( 3,x )d V = b3 M
(8.53)
x
K 2
=
Ve
x
K 3
=
Ve
x
K 4
( 4,x )d V
3
3
3
81
20 (b1 + b1 ) 20
(b1 + b2 ) 20
(b1 + b3 ) 280
b1
3
(b2 + b1 ) 3 (b2 + b2 ) 3 (b2 + b3 ) 81 b2
20
20
20
280
= 3
20
Ve
81
280
b1
81
280
b2
81
280
b3
(8.54)
y
K 1 =
Ve
( 1,y )d V = c1 M
yy
(8.55)
( 2,y )d V = c2 M
yy
(8.56)
yy
(8.57)
y
K 2
=
Ve
y
K 3
=
Ve
( 3,y )d V = c3 M
245
y
K 4 =
( 4,y )d V
3
3
3
81
20 (c1 + c1 ) 20
(c1 + c2 ) 20
(c1 + c3 ) 280
c1
3
(c2 + c1 ) 3 (c2 + c2 ) 3 (c2 + c3 ) 81 c2
20
20
20
280
= 3
20
Ve
81
280
c1
81
280
c2
81
280
c3
(8.58)
Introducing Eqs. (8.46) and (8.48) or Eq. (8.49) into Eq. (8.33), and performing the
integrations by Eq. (6.36), Eq. (8.33) can be transformed as follows:
x
H
=
(,x )d V
Ve
b1
3
b
2
3
b3
3
9
20
b1
b1
3
b2
3
b3
3
9
20
b2
b1
3
b2
b3
3
9
20
b3
(8.59)
y
H =
(,y )d V
c
c
Ve
3
c
2
3
c
3
3
9
20
c1
3
c2
3
c3
3
9
20 c2
c1
3
c2
3
c3
3
9
20 c3
(8.60)
To obtain the concrete forms of Eq. (8.34), we formulate the componential coefficients as
xx
M
=
(,x ,x )d V
Ve
2
b1 b1 b2 b1 b3
0
b2 b1 b2 b2 b3
0
2
(8.61)
=
b3 b1 b3 b2 b32
81 2
(b
20 1
+ b22 + b32 )
246
xy
M =
(,x ,y )d V
b1 c1 b1 c2 b1 c3
b2 c1 b2 c2 b2 c3
=
b3 c1 b3 c2 b3 c3
Ve
0
0
81
(b c
20 1 1
(8.62)
+ b2 c2 + b3 c3 )
yx
M
(,y ,x )d V
c1 b1 c1 b2 c1 b3
c2 b1 c2 b2 c2 b3
=
c3 b1 c3 b2 c3 b3
0
0
81
(c b
20 1 1
(8.63)
+ c2 b2 + c3 b3 )
yy
M =
(,y ,y )d V
2
c1 c1 c2 c1 c3
c2 c1 c2 c2 c3
2
=
c3 c1 c3 c2 c32
Ve
0
0
0
81 2
(c
20 1
(8.64)
+ c22 + c32 )
xx
xx
S
= 2M
+ M
(8.65)
xy
xy
(8.66)
yx
yx
(8.67)
S = M
S = M
yy
yy
xx
+ 2M
S = M
(8.68)
(8.69)
c1 + c2 + c3 = 0
(8.70)
247
and
4 = 271 2 3 = 0
on Se
(8.71)
v
v
Kvv (v) KvB (v) 0
Mvv MvB 0
0
0 0
0
0
0
p
p
S 0 H
v
+ 0 a h vB = 0
(8.72)
HT hT 0
p
0
where v, vB , and p denote two components of velocity on three main nodes of the
triangular element, two components of velocity on barycentric nodes and pressure
on three main nodes, respectively. Altogether, there are 11 degrees of freedom, and
we express the velocity on barycentric nodes separately. We do not use summation
convention in Eq. (8.72). We show 0 elements explicitly. Coefficient Mvv consists of
the first 3 3 elements, MvB of the last 1 column and the first three rows, MBv of the
last 1 row and the first three columns, and MBB of the fourth row and fourth column
yy
xx
and M , respectively. Nonlinear coefficients Kvv (v), KvB (v), and
element of M
KBv (v) are functions of v, and made by almost the same way. The coefficient S
consists of the first 3 3 elements and 0 of the fourth row and fourth column element
xy
yx
yy
xx
, S , S , S , respectively. Coefficients H and h consist of the first three rows
of S
y
x
and the last 1 row of H
and H , respectively. We can see many zero elements in
coefficients in Eq. (8.72), which means there are some non-coupled relations between
v, vB , and p. Especially, values on the barycentric node can be eliminated from
Eq. (8.72) if we disregard the term MBv v . This operation is sometimes referred to as
the static condensation.
248
The global form of the finite element method is obtained by the superposition
procedures applied to Eqs. (8.29) and (8.30), or their matrix form Eq. (8.72). The
superposed equation can also be written as Eqs. (8.29) and (8.30), or Eq. (8.72). Thus,
we can consider Eqs. (8.29) and (8.30), or Eq. (8.72) as both local and global forms of
the finite element method. If we solve Eqs. (8.29) and (8.30), or Eq. (8.72), we obtain
the velocity and pressure of the incompressible fluid flows. At this time, it is important
to take the stability of computation into consideration. In Sect. 5.8, we presented the
stabilized bubble function method. In the following sections, we will discuss the
extended stabilized bubble function method to deal with the incompressible fluid
flows.
(8.73)
p = p
(8.74)
vi = vi + v4i
(8.75)
p = p
(8.76)
where overbar means the linear interpolation function in this section, i.e., Eq. (8.73)
is the separated form of Eq. (8.25), in which the linear part is shown as vi and bubble
function part as v4i , and
= 271 2 3
(8.77)
The area coordinate is shown as 1 , 2 , 3 and v4i is the nodal equivalent velocity on
barycentric node 4. Equation (8.75) is the weighting function separating the linear
, where v4i
is the weighting constant on the
part vi and the bubble function part v4i
barycentric node. Equations (8.74) and (8.76) mean the interpolation and weighting
functions of pressure, which are both linear functions.
249
( p vi,i )d V = 0
(8.78)
Ve
( p vi,i )d V +
Ve
( p ,i )d V v4i = 0
(8.79)
Ve
Substituting Eqs. (8.73)(8.76) into Eq. (8.22), and separating linear and bubble
function weighting function parts, we obtain the following two equations:
(vi vi )d V
Ve
(vi,i
p)d
V
Ve
Ve
Ve
+ (vi, j vi, j )d V + (vi, j v j,i )d V =
(vi ti )d S
(vi v j vi, j )d V
Ve
Ve
(v j vi, j )d V v4i
Ve
(8.80)
Se
(,i p)d
V v4i
Ve
(vi )d V v4i
Ve
Ve
(8.81)
Se
(vi )d V +
(v j vi, j )d V +
( p ,i )d V + (, j vi, j )d V
Ve
Ve
Ve
V
e
+ (, j , j )d V v4i + (, j v j,i )d V + (, j ,i )d V v4 j = 0
Ve
Ve
(8.82)
Ve
To obtain the stabilization parameter, we assume that the effects of the following
terms are zero:
(vi )d V = 0
(8.83)
Ve
(, j ,i )d V = 0
(8.84)
( p ,i )d V = 0
(8.85)
Ve
Ve
250
(, j vi, j )d V = 0
(8.86)
(, j v j,i )d V = 0
(8.87)
(,i )d V = 0
(8.88)
Ve
Ve
Ve
linearizing the second term of Eq. (8.82), and following the same procedure developed in Sect. 5.8, v4i in Eq. (8.82) can be expressed as follows:
(U j vi, j )d V
V
v4i = e
(,k ,k )d V
(8.89)
Ve
(vi vi )d V +
(vi U j vi, j )d V +
(vi U j , j )d V v4i
Ve
Ve
Ve
+ (vi, j vi, j )d V + (vi, j v j,i )d V =
(vi ti )d S
Ve
Ve
(8.90)
Se
We reformulate the third term of Eq. (8.90) following the procedures described
in Sect. 5.8, and apply Eqs. (8.86) and (8.87) to the fourth and fifth terms. Then,
Eq. (8.90) can be described as follows:
Ve
(vi U j vi, j )d V
(vi,k
Uk Ul vi,l )d V
(vi ti )d S
+ (vi, j vi, j )d V + (vi, j v j,i )d V =
Ve
(vi vi )d V
Ve
+ eB
Ve
Ve
(8.91)
Se
where
2
d V
eB =
Ve
(,k ,k )d V
Ve
(8.92)
251
in which is the area of the triangular finite element. We can see Eq. (8.91) is the
similar form of the SUPG scheme based on the linear interpolation function. Because
of the third term, the stability of computation is secured. Thus, eB is referred to as
the stabilization parameter.
To obtain the final form of the weighted residual equation, let Eqs. (8.73)(8.76)
be introduced into Eq. (8.22):
(vi vi )d V +
vi (v j + v4 j )(vi, j + , j v4i )d V
(vi,i
p)d
V
Ve
Ve
Ve
+ (vi, j + , j v4i
)(vi, j + , j v4i )d V + (vi, j + , j v4i
)(v j,i + ,i v4 j )d V
Ve
Ve
=
(vi ti )d S
(8.93)
Se
(8.94)
Ve
(vi vi )d V +
(vi v j vi, j )d V +
(vi v j , j )d V v4i +
(vi vi, j )d V v4 j
Ve
Ve
Ve
Ve
+
(vi , j )d V v4i v4 j
(vi,i p)d
V +
(vi, j vi, j )d V +
(vi, j v j,i )d V
Ve
Ve
Ve
Ve
+
(, j , j )d V v4i
v4i +
(, j ,i )d V v4i
v4 j
Ve
Ve
=
(vi ti )d S
(8.95)
Se
Substituting the interpolation and weighting functions into Eqs. (8.78) and (8.95),
final form of the finite element equation Eq. (8.72) can be derived. Discretizing
the time derivative term, i.e., the first term in Eq. (8.95), or Eq. (8.72), and solving
Eq. (8.72) we obtain velocity and pressure of the unsteady incompressible viscous
fluid flows.
In practical applications, we sometimes find that the computations are not stable
using eB in Eq. (8.92), i.e., the artificial viscosity in Eq. (8.92) may not be satisfactory
for practical computations. To compensate for the artificial viscosity, we can add an
additional artificial viscosity, extending the stabilization parameter as follows:
252
2
d V
eB =
( + )
Ve
(8.96)
(,k ,k )d V
Ve
where is the additional artificial viscosity. It is known that we can obtain the stable
computation by the SUPG scheme, whose stabilization parameter is given as
eS =
2|U | 2 4 2 2 2 1/2
j
+ 2 +
he
he
t
(8.97)
vi vi
(8.98)
2
in which vi is the mean velocity in an element and is the area of element. Equating
Eqs. (8.96) and (8.97), the artificial viscosity can be written as follows:
2
+ =
d V
Ve
eS
(8.99)
(,k ,k )d V
Ve
Replacing with + in ninth and tenth terms of Eq. (8.95), we can perform the
stable computation. Namely, the final form of the global finite element equation can
be expressed based on Eq. (8.95) and separating the terms on the barycentric node:
M v + K (v )v + S v +
Ne
( + )av4 =
(8.100)
m=1
a = [ai j ],
ai j =
(,k ,k )i j d V +
Ve
(, j ,i )d V
Ve
253
equation to the SUPG finite element method. In that sense, the bubble function
finite element method is equivalent to the SUPG finite element method. Although
Eq. (8.100) is approximately valid in the case of the standard bubble function, we
will show in Sect. 8.5.5 that the global finite element equation Eq. (8.100) is satisfied
only if we use linear and virtual bubble functions. It should be noted that the last
part of Eq. (8.100) is only the function of velocity and the function of pressure is
not included. Therefore, only the implicit-type integration method in time can be
adaptable to solve Eq. (8.100).
1
(x1,y1)
1
(x,y)
(r,s)
2 (x2,y2)
s
r
y
z
3 (- 1,1)
1 (- 1,- 1)
2 (1,- 1)
254
x(r, s) =
1
1
1
(1 r s)x1 + (1 + r )x2 + (1 + s)x3
2
2
2
(8.102)
y(r, s) =
1
1
1
(1 r s)y1 + (1 + r )y2 + (1 + s)y3
2
2
2
(8.103)
where (x1 , y1 ), (x2 , y2 ), and (x3 , y3 ) are coordinate values of three vertices of a
triangular element as shown in Fig. 8.2.
We will describe in this section the stabilized method using two types of bubble
functions, i.e., a bubble function and a virtual bubble function . For the interpolation function vi and the weighting function vi , we use
vi = vi + vi = vi + v4i
(8.104)
+ v4i
= vi + vi
vi = vi + vi + vi = vi + v4i
(8.105)
where vi and vi are bubble function interpolation and weighting functions, vi and
vi are the linear interpolation and weighting functions presented in Eqs. (4.24) and
and vi = v4i
are bubble function interpolation and
(4.27), respectively, vi = v4i
weighting functions, and vi = v4i is the virtual bubble weighting function. In
represents nodal value of the interpolation function on
Eqs. (8.104) and (8.105), v4i
and v4i
are nodal values of the weighting functions
the barycentric node, and v4i
on the barycentric node. For the interpolation of pressure, linear interpolation and
weighting functions, i.e., p and p , are used.
Substituting Eqs. (8.104) and (8.105) into Eqs. (8.19) and (8.22) in Sect. 8.3, we
get
( p vi,i )d V = 0
(8.106)
Ve
Ve
(vi vi )d V
Ve
+
Ve
(vi v j vi, j )d V
+
Ve
(vi p,i )d V
vi (vi, j + v j,i ), j d V = 0
(8.107)
where Ve represents a finite element. From Eq. (8.107), we can show that
(vi vi )d V +
(vi vi vi, j )d V
Ve
Ve
+
(vi p,i )d V
vi (vi, j + v j,i ), j d V
Ve
Ve
+ a
(vi,j vi, j )d V + b
(vi,j v j,i )d V = 0
Ve
Ve
(8.108)
255
where a and b are constants, and the last two terms on the left side terms are the
stability control term.
Superposing Eqs. (8.106) and (8.108), the global forms of the weighted residual
equations can be obtained as
( p vi,i )d V = 0
(8.109)
(vi vi )d V + (vi v j vi, j )d V
V
V
Ne
+
( + a ) (vi,j vi, j )d V + ( + b ) (vi,j v j, i )d V
Ve
e=1
=
S2
Ve
(vi ti )d S
(8.110)
where V represents global flow field, and parameters a and b are additional artificial
viscosities, which correspond to in Eq. (8.99) in Sect. 8.5.4. The total number of
elements is Ne . Equation (8.110) means that the artificial viscosity is added to the
terms only on the barycentric node, and if so the stable computation can be carried
out. For the stability control terms, we can use the following relation:
( + a )
Ve
(vi,j vi, j )d V + ( + b )
Ve
2
d V
(vi,j v j,i )d V =
Ve
(,k ,k )d V
1
es v4i v4 j
Ve
(8.111)
where
eS = eS i j
eS =
1
2|vi | 4 2 2 2 2
+ 2 +
he
he
t
(8.112)
(8.113)
In Eq. (8.113), h e is the size of the finite element, |vi | is the magnitude of velocity,
and t is the time increment. Using Eqs. (8.111)(8.113), the effects of the stability
control terms become almost identical to those of the SUPG scheme.
256
Matsumoto and Kawahara (2006) showed that the following equation holds, i.e.,
{vi + v j vi, j + p,i (vi, j + v j,i ), j }d V
= (,i , j )d V v4 j + (,i , j )d V v4 j
Ve
Ve
(8.114)
Ve
()d V = 0
(8.115)
Ve
( )d V = 0
for = 1 to 3
(8.116)
Ve
d V =
Ve
3
Ve
3
=1
d V
=1
( )d V = 0
(8.117)
Ve
in 1
3(1 r s)
in 2
(8.118)
= 3r
3s
in 3
For the precise form of , see Matsumoto and Kawahara (2006). The precise form
of is not necessary for practical computations. Thus, it is referred to as the virtual
bubble function. Equation (8.107) is the extension of Eq. (8.117). Actual practical
numerical computations are found in Matsumoto and Kawahara (2006).
257
flows. In this section, we will describe a time-marching method. For example, the
equation of motion discretized in time is solved with the pressure Poisson equation,
which is derived by differentiating once the equation of motion.
Denoting velocity and pressure at time point n as vin and p n , the discretized form
of Eq. (8.17) can be expressed as follows by setting aside f i :
vin+1 vin
+ v nj vi,n j + p,in+1 (vi,n j + v nj,i ), j = 0
t
(8.119)
n+1
+ (v nj vi,n j ),i + p,ii
Vinj, ji = 0
(8.120)
where
Vinj = (vi,n j + v nj,i )
(8.121)
This term is introduced for the simple exposition. The equation of continuity Eq. (8.1)
is discretized implicitly as
n+1
vi,i
=0
(8.122)
Thus, the first term of Eq. (8.120) is zero. From Eq. (8.120), we get
n+1
p,ii
=
n
vi,i
(v nj vi,n j ),i
(8.123)
Ve
vi
vin+1 vin
t
dV +
n+1
(vi,i
p )d V +
Ve
=
(vi tin )d S
Ve
Ve
(vi v nj vi,n j )d V
(vi, j vi,n j )d V +
Ve
(vi, j v nj,i )d V
(8.124)
Se
where
tin = { p n+1 i j + (vi,n j + v nj,i )}n j
(8.125)
258
and vi is the bubble function weighting function. The weighted residual equation of
Eq. (8.123) is as follows:
Ve
( p,i p,in+1 )d V
1
=
t
U nj
Ve
Ve
n
( p vi,i
)d V
( p,i vi,n j )d V + U nj
Se
( p vi,n j n i )d S +
Se
( p p,in+1 n i )d S
(8.126)
where p is the linear weighting function, and U nj represents average value of vin in
an element, which is assumed to be constant.
Comparing Eqs. (8.124) and (8.22), we can see that Eq. (8.124) is the same equation as Eq. (8.22) descritized in time. Thus, the mixed interpolation based on the
bubble function interpolation for velocity and linear interpolation for pressure is
introduced. Following the same procedures described in Sects. 8.5.18.5.4, the global
forms of the finite element method can be derived. The global equation based on
Eq. (8.124) is similar to the equation based on the normal linear interpolation function.
The major difference is that the artificial viscosity terms are added on the barycentric
nodes. This fact is a substantial advantage for computation. The global equation for
pressure is also formulated based on Eq. (8.126). Although we use the bubble function interpolation for velocity in Eq. (8.126), we can derive the same global form as
that of linear interpolation. Alternatively, we can solve the global finite element equations based on Eqs. (8.124) and (8.126), and stable time-marching computation can
be obtained starting from initial condition imposed. A disadvantage of this method
is that the last term in Eq. (8.126) must be considered. Then, the pressure Poisson
equation Eq. (8.126) has a non-symmetric coefficient matrix. We must introduce the
non-symmetric matrix solver to solve the linear simultaneous equation system.
For verification, pressure coefficient around a circular cylinder is computed using
the same boundary conditions in Fig. 9.11 and the finite element mesh in Fig. 9.12
based on the present method. The computed results are shown in Fig. 9.13. The
caption in the figure is the incompressible flow method.
259
100m
100m
40m
40m
22.5
100m
40m
100m
40m
Fig. 8.3 Y-shape channel for computation
acetate, and n = 2 is pure water. Two fluids are immiscible and the interface position
is given by the following advection equation expressed in Eq. (7.177) as
f + vi f,i = 0
where f is referred to as the VOF function, which takes the values f = 1 and f = 0
for the two types of liquids. The CFS model (Brackbill et al. 1992) is employed for
the surface tension si as
,i
si =
[]
where
[] = (2) (1)
1
= ((1) + (2) )
2
(1) < (2)
The curvature is given as
=
1 ni
|n|,i n i,i
|n| |n|
260
Outlet
3
0
Q 1 :Ethyl acetate 1
0.2
0.2
0.4
0.6
X(mm)
0.8
0.15
Y(mm)
0.1
0.05
0
0.05
0.1
0.15
0.2
0.2
0.4
0.6
0.8
X(mm)
where
n i = f,i
|n| = n i n i
Figure 8.4 shows the two-dimensional finite element mesh with boundary conditions. Numbers of elements and nodes are 23,200 and 11,991, respectively. As the
boundary conditions, inflow velocities are imposed on 1 and 2 , pressure is specified
on 3 , and interface position is given on 3 . Time increment used is 1.0 107 s.
Interface tension coefficient is 6.3 106 N/mm. Densities and viscosities are
tabulated in Table 8.1. Discharges of Ethyl acetate are given as Q (1) = 10 l/min.,
where discharges of water are varied as 10, 20, and 50 l/min. The comparison of
experimental and computational results is shown in Fig. 8.5. The comparisons of
b(l) /H are presented in Table 8.2, where b(l) and H are shown in case 1 in Fig. 8.5.
Those results show fairly good correlation between the two results. The computational methods developed in this section are adaptable for a wide range of application,
such as medicine, cosmetics, electric devices, etc.
Table 8.1 Density and
viscosity
Fluid
Density
Viscosity
261
262
10 l/min
10
10
10 l/min
20
50
0.481
0.347
0.296
Experimental results
0.496
0.359
0.243
f=
in
V+
1
2
on
in
The free surface position can be represented by Eq. (7.177) using the function f,
i.e.,
263
f
+ vi f,i = 0
on
t
f = f0
at t = t0
where f0 is the free surface position at t = t0 and is free surface.
In the computation of the fractional step finite element method, one of the computational bottle necks is to solve the pressure Poisson equation expressed in Eq. (8.126),
whose coefficient matrix is sparse but asymmetric. To solve the equation system,
ILUBiCG method is used. ILU means incomplete lower and upper factorization of
the coefficient matrix. The asymmetric matrix is once decomposed into lower and
upper triangular matrices, and then the inverse matrices of lower and upper matrices are computed for the use of numerical conditioning. At that time, only nonzero
elements are used and stored. Hence, this procedure is called the incomplete factorization. Using the preconditioning, convergence of the computation is accelerated.
BiCG stands for the biconjugate gradient iteration method, which is created for the
use of solving asymmetric linear simultaneous equation system.
Because iteration solution is based on the multiplication of the row matrix and
column matrix, the concept of the parallel computation can be adaptable. To make
the computation on a single processor machine more efficient, the implementation
of the distributed message passing interface (MPI) is introduced. The adaptability
and effectiveness of the CUDA parallelization developed by NVIDA corporation on
a graphic processing unit (GPU) accelerator, which is recently used for the scientific
264
265
266
(8.127)
where
n+1/2
vi
1 n+1
(v
+ vin )
2 i
(8.128)
(8.129)
The second term in Eq. (8.127) is rewritten as follows using Eq. (8.128):
n+1/2
v nj vi, j
1
= v nj vi,n j + v nj (vin+1 vin ), j
2
(8.130)
v nj vi, j
= v nj vi,n j
t n n n+1/2
n+1/2
n+1/2
v (v v
+ p,i
Vik,k ), j
2 j k i,k
(8.131)
Introducing Eq. (8.131) into Eq. (8.127) again and rearranging the terms, the equation
of motion is expressed as in the following form:
vin+1 vin
n+1/2
n+1/2
+ v nj vi,n j + p,i
Vi j, j
t
t n n n+1/2
n+1/2
n+1/2
v (v v
+ p,i
Vik,k ), j = 0
2 j k i,k
(8.132)
Using the weighting function vi , the weighted residual equation can be obtained as
follows:
n+1
vin
n+1/2
vi
n n
+ v j vi, j d V +
vi
vi, j ( p n+1/2 i j + Vi j
)d V
t
V
V
t n n n+1/2
n+1/2
n+1/2
v v (v v
+ p,i
Vik,k ), j d V
2 i j k i,k
V
n+1/2
vi ( p n+1/2 i j + Vi j
)n j d S = 0
(8.133)
S
267
vin+1 vin
n+1/2
n n
+ v j vi, j d V +
vi, j ( p n+1/2 i j + Vi j
)d V
t
V
V
t
n+1/2
n+1/2
+
v v n (v n v
+ p,i
)d V
2 V i, j j k i,k
1
n+1/2
)n j d S
v v n (v n+1 vin )n j d S (8.136)
= vi ( p n+1/2 i j + Vi j
2 S i j i
S
vi
(8.137)
n+1
n
= vi,i
t (v nj vi, j
vi,i
n+1/2
+ p,i
n+1/2
Vi j, j
),i
(8.138)
n
t (v nj vi, j
vi,i
n+1/2
+ p,i
n+1/2
Vi j, j
),i = 0
(8.139)
268
The last term in Eq. (8.139) is zero if we use the linear interpolation function. The
weighted residual equation can be written as
n+1/2
n+1/2
n
( p vi,i
)d V + t
p,i (v nj vi, j
+ p,i
)d V
V
V
n+1/2
n+1/2
n+1/2
p (v nj vi, j
+ p,i
Vi j, j )n i d S
= t
(8.140)
The last term in Eq. (8.140) can be transformed by Eq. (8.127), and we get the final
form of the weighted residual equation for pressure:
n+1/2
n+1/2
n
( p vi,i
)d V + t
p,i (v nj vi, j
+ p,i
)d V
V
V
= p (vin+1 vin )n i d S
(8.141)
It is straightforward to obtain the global finite element equation based on Eqs. (8.136)
and (8.141). The stable computations are carried out using those equations.
On the other hand, computation of the last term in Eq. (8.136) can be cumbersome. Maruoka et al. (2001) have developed a new means to eliminate the last
term in Eq. (8.136). Adding the equality to the right side of Eq. (8.131) expressed in
Eq. (8.142)
1 n n+1 t n vin+1 vin
1 n n
v
=0
(8.142)
v j vi, j + v j vi, j
2
2
2 j
t
,j
v nj vi, j
n+1/2
= v nj vi, j
t n
v
2 j
vin+1 vin
n+1/2
n+1/2
n+1/2
+ vkn vi,k
+ p,i
Vik,k
t
(8.143)
,j
Replacing Eq. (8.143) with Eq. (8.131), the weighted residual equation of the IBTD
method can be expressed after several transformations:
vin+1 vin
n+1/2
n n+1/2
+ v j vi, j
dV
vi, j p n+1/2 i j + Vi j
dV +
t
V
V
n+1
n
v
v
t
n+1/2
n+1/2
n+1/2
i
i
+ vkn vi,k
+
v vn
+ p,i
Vik,k
dV
2 V i, j j
t
n+1/2
n+1/2
+ v j,i )}n j d S
(8.144)
= vi { p n+1/2 i j + (vi, j
vi
269
The third term on the right side of Eq. (8.144) corresponds to the SUPG term, in which
the stabilization parameter S is replaced with t/2. Namely, we have shown that
IBTD method is equivalent to the SUPG method in the case of the stabilization parameter S = t/2. We can also carry out stable computations based on Eqs. (8.141)
and (8.144). It is also interesting and significant that the first term and the second
term in the parenthesis on the third term of Eq. (8.144) are mutually transpose. Thus,
the final matrix can be symmetric. The coefficient matrix for pressure in Eq. (8.141)
is symmetric. Those are advantages for computer coding.
270
sides of the girder have fairings to reduce the wind effects. Permeable fences are on
the upper face of the girder, which are lumped into nine blocks. On the lower surface
of the girder, maintenance rails are equipped.
The finite element used is the iso-parametric linear element as shown in Fig. 8.11.
The interpolation function can be expressed as
=
1
(1 + 0 )(1 + 0 )(1 + 0 )
8
where
0 = ,
0 = ,
0 =
Slip B.C.
Inlet
25D
B = 5.84D
Slip B.C.
25D
50D
271
is imposed on all surfaces of the girder, whereas slip boundary condition at the upper
and lower boundaries of the channel. The periodic boundary condition is specified
at the end of axial planes.
The Reynolds number of the free stream is 10,000. The time increment used for
computation is 0.05 D/U.
Three components of aerodynamic coefficients are defined by
Cd =
Fd
1/2U 2 D
Cl =
Fl
1/2U 2 B
Cm =
Fm
1/2U 2 B 2
where B is the breadth of the girder, which is 5.84D, and Fd , Fl and Fm are the
drag force, lift force, and pitching moment, respectively. In those coefficients, is
the density of air and taken to be constant. Figure 8.13 shows the comparisons of
Cd , Cl , and Cm obtained by computations and experiments (Fumoto et al. 2005).
Horizontal axis in Fig. 8.13 is attack angle . Both computational and experimental
results are in good agreement. We see slight discrepancies in the results of Cl and
Cm . The tendency of the aerodynamic forces is understood. In minus attack angle
zone ( < 0 ), Cl is also minus. This fact shows that the upward forces to resist the
272
downward movement of the girder will be acted to stabilize the movement of the
girder.
Figure 8.14a, b shows birds-eye view of instantaneous pressure contours at attack
angles = 0 and = 10 . The pressure is shown by the pressure coefficient
defined as
Cp =
p p0
1/2U 2
where p is the pressure computed and p0 is the reference pressure at center point
on inflow boundary. We can see high pressure zone of C p = 0.4 at the nose of the
girder. The pressure zone at attack angle = 10 is much wider than that attack
angle = 0 . This fact expresses that the pressure to the girder is higher at the girder
which is inclined. We can also see the difference of flow separation zones. At attack
angle = 0 , the flow is separated at maintenance rail located near the center of
the girder, whereas the flow is separated at the point close to the front side of the
girder if the girder is inclined. From the above, the overall stability performance was
confirmed.
273
Chapter 9
9.1 Introduction
A large body of studies in the finite element methods have considered that the fluid is
incompressible or compressible. In the case of the compressible fluid flow analyses,
we must solve the equation of energy in addition to the equations of continuity and
momentum. Because this substantially increases computational burdens, we may
avoid it if possible. There are a number of actual domains in science and engineering, in which the temperature of the fluid can be assumed to be constant. In those
domains, we usually use the incompressible assumption. The incompressibility is a
kind of limited ideal state because any continuum has compressibility even if it is a
small quantity. For instance, the acoustic velocity in the fluid is not unlimited, but,
nevertheless limited even if it can get very large.
As stated in Chap. 8, one of the main causes of the computational instability
stems from the fact that the equation of continuity is a function of velocity only
and does not include functions of pressure and its derivative with respect to space or
time. Therefore, several computational techniques have been presented to weaken the
constraint of the incompressibility by adding the penalty terms of a small parameter
and a function of pressure to the equation of continuity. These strategies are referred to
as the artificial compressibility method, which was originally proposed by Chorin
(1997), and further explored by Temam (1968, 2001), Malan et al. (2002), Madesen
and Schffer (2005), Drikakis (2005), etc. We can consider that those methods such
as SUPG, BTD, bubble function, etc., are based on the same concept of the artificial
compressibility method. The equation of continuity of the incompressible flow is
extended to the equation of continuity disturbed by the penalty terms with reciprocal
of the square of acoustic velocity by physical considerations.
Let fluids be in a state in which pressure is a function of density only, and independent of temperature. We can derive the above-mentioned equation of state by positing
ideal gas and the constant entropy, as discussed in Sect. 7.13. The same assumption
may hold in liquid. We can use the equations of continuity and momentum as the
Springer Japan 2016
M. Kawahara, Finite Element Methods in Incompressible,
Adiabatic, and Compressible Flows, Mathematics for Industry 19,
DOI 10.1007/978-4-431-55450-9_9
275
276
governing equation. The pressure can be eliminated from the equation system using
the equation of state. Those fluids are referred to as the adiabatic fluids in this book.
In this analysis, the primitive field variables are density and velocity. We must pay
careful attention to the difference in numeral orders between both variables. We
usually assume that gas is compressible and liquid is incompressible, i.e., the density of gas is variable, whereas, that of liquid is (more or less) constant. With these
assumptions, we can transform the field variables to pressure and velocity, whose
the governing equations include acoustic velocity. This method is referred to as the
acoustic velocity method. To deal with the liquid, we can use the acoustic velocity
method with constant acoustic velocity.
Numerical procedures employed in the integration in time are mainly the characteristic method and the SUPG method. The characteristic method was discussed
by, e.g., Pironneau (1982, 1983), Demcowicz and Rachovicz (1987), Arbogast
and Wheeler (1995), Maury (1996), Iannelli (2006), Shi and Wang (2009), and
many others. The main concept is described in Sect. 5.9. The pioneering work for
the SUPG method is Brooks and Hughes (1982). Hughes and Tezduyar (1984),
Tezduyar et al. (1992), Behr and Tezduyar (1994), Vellando et al. (2002), Tezduyar
et al. (2011), Nasu et al. (2013), and many others have further explored the method.
The basic concept is summarized in Sect. 5.6. Recall that superposed represents
partial differentiation with respect to time in this chapter.
(9.1)
(9.2)
where i j and f i are total stress and body force, respectively. This equation is
referred to as the equation of motion, which is Eq. (7.65).
(3) Constitutive equation is:
(9.3)
i j = pi j + i j
and
i j = dkk i j + 2di j
(9.4)
where di j is the deformation rate defined in Eq. (7.71). In Eq. (9.3), putting i = j,
we get:
277
ii = 3 p + (3 + 2)dii
(9.5)
which means that pressure p is different from the hydrostatic pressure. In practice, we often introduce the relation:
2
=
3
(9.6)
Then, p is the hydrostatic pressure from Eq. (9.5). In the case of incompressible
flows, Eq. (9.6) is valid, and pressure p is indeterminate. Because we are investigating the solution of fluid flows which can be assumed to be incompressible,
we sometimes use Eq. (9.6). Equation (9.3) shows that total stress consists of two
types of stress, i.e., pressure p and viscous stress i j .
(4) Equation of state is:
p = p()
(9.7)
assuming that the fluid is in the adiabatic state. The equation of state for the ideal
gas is:
(9.8)
p =
where
=
p0
(9.9)
In Eq. (9.8), p0 and 0 are reference values for pressure and density, respectively,
and is the ratio of specific heat defined in Eq. (7.142). Equation (9.8) and
(9.9) are Eq. (7.160). For the equation of state for liquid, the BirchMurnaghan
experimental equation is presented:
p=
73 53
0
2
0
3
0
(9.10)
where 0 is bulk modulus at zero pressure. We should bear in mind that the pressure p in Eq. (9.10) is the relative pressure. Instead of Eq. (9.7), we sometimes
make use of the acoustic velocity a:
a2 =
(9.11)
on S1
on S2
(9.12)
(9.13)
on S3
(9.14)
278
where superscripted carret stands for the given quantities on the boundary. In
Eq. (9.13), ti is the surface force and n j is unit normal to the boundary. We
assume that:
S1 S2 = S
(9.15)
S1 S2 = 0
where S denotes the whole boundary of the flow field V , and 0 is a null set.
Sometimes, we use the boundary condition that the pressure p is given:
p = p
on S4
(9.16)
(9.17)
p = p
= 0
(9.18)
(9.19)
where superscript 0 stands for the values at the initial time t0 . Equations (9.17)
(9.19) show that velocity, pressure, and density are given in all flow field as the
initial conditions.
279
(vi 0 vi )d V + (vi 0 v j vi, j )d V
V
V
(9.21)
(9.22)
(9.23)
vi = vi
vi = vi
(9.24)
(9.25)
where is the function described in Eq. (4.25), and and vi are density at node
(9.26)
Introducing Eqs. (9.22)(9.26) into Eqs. (9.20) and (9.21), and rearranging the terms,
we get the local forms of the finite element method, in which we do not use the mixed
interpolation. This process nontrivially simplifies the computational procedure. The
resulting equations are as follows:
M + K i vi + K i vi = 0
(9.27)
0 M vi + 0 K j v j vi + Di p + Si j v j = i
(9.28)
where
M =
( )d V,
(9.29)
( ,i )d V
(9.30)
K i =
V
Di =
(,i )d V
(9.31)
Si j =
(,i , j )d V +
V
(,k ,k )i j d V +
V
(, j ,i )d V (9.32)
V
280
i =
( ti )d S
(9.33)
By superimposing Eqs. (9.27) and (9.28) formulated on a finite element over the
whole flow field, we get the global forms of the finite element equation in the following form:
(9.34)
M yn+1 = M yn + tf
where M denotes the coefficient matrix of the whole flow field corresponding to
the first terms of Eqs. (9.27) and (9.28), and f means the second and latter terms in
Eqs. (9.27) and (9.28). We use the following numerical integration in time:
y
1 n+1
(y
yn )
t
(9.35)
where t denotes short time increment, and yn means the values on the whole flow
field at time point n. As worked out in Sect. 5.5.2, the stable computation may not
be obtained using Eq. (9.34). Thus, the simplest stabilization scheme, i.e., lumping
matrix technique, is introduced instead:
yn + tf
yn+1 = M
M
(9.36)
(9.37)
281
(0.0,1,0)
n1 = 1.0
n2 = 0.0
n1 = 0.0
n2 = 0.0
n1 = 0.0
n2 = 0.0
(0.0,0.0)
n1 = 0.0
n2 = 0.0
1
(1.0,1,0)
(1.0,0.0)
282
0.5
-1.0
-0.5
0.0
0.0
0.5
-0.5
-1.0
Ghia
Adibabatic Model (1-step Euler)
Fig. 9.4 Comparison between the present results and Ghia et al. (1982)
1.0
283
(9.38)
(9.39)
(9.40)
(9.41)
The governing equations, Eqs. (9.1) and (9.2), consist of two parts: the advection and non-advection terms. For the advection term, the characteristic method
is applied. The density and velocity at time n are denoted by n and vin , respectively. After a short time increment t, these values will be n+1 and vin+1 . Their
corresponding values at the upstream point are denoted by and vi . Therefore,
n+1
vin+1
n+1
D
= + t
Dt
Dvi n+1
= vi + t
Dt
(9.42)
(9.43)
284
where
= (X i (xi , t; t), t)
vi = vi (X i (xi , t; t), t)
at t = t n
at t = t
(9.44)
n
(9.45)
+ v
i,i
=
t
t
(9.46)
(9.47)
1
(3n n1 )
2
(9.48)
and assumed constant in a finite element and for t. In Eq. (9.47), p n and inj are
obtained by Eqs. (9.7) and (9.4), respectively. Equations (9.46) and (9.47) are the discretized equations of the governing equations Eqs. (9.1) and (9.2) in time by the
characteristic formulation. It is straightforward to formulate the global forms of the
finite element equation based on Eqs. (9.46) and (9.47).
(9.49)
(9.50)
285
vi (xi )
xi
Xi(
i
)
vi (Xi( ))
vi (i )
Characteristic
line
(5) Interpolate:
vi(0) = (i )vi
(9.51)
t
{vi (xi ) + vi(1) (X i(1) )}
2
(9.52)
6)-2 Search K (X i() ), an element, which includes the upstream position X i() .
6)-3 Interpolate velocity at the upstream position:
vi() = (X i() )vi
(9.53)
286
7) Finally, we get
= (X i() ) = (X i() )
vi = vi() (X i() ) = (X i() )vi
(9.54)
(9.55)
In the above algorithm, we used the simplest integration scheme in Eq. (9.52).
It is possible to use the higher order integration scheme as well. However, the
simplest one is recommended because it takes longer computational time to
search the element in which the candidate of upstream position is included.
u
= 0,
x
287
u = 0, v = 0
u
v
= 0,
= 0,
y
x
v
=0
y
V+
, vi+
u = 0,
u
= 0,
x
v
= 0,
x
v=0
u
= 0,
y
v
=0
y
u = 0,
u
= 0,
x
v
= 0,
x
V
, vi
u
= 0,
x
u = 0, v = 0
u
v
= 0,
= 0,
y
x
v=0
u
= 0,
y
v
=0
y
v
=0
y
1
t
( n+1 )d V
V
V
(,i vin )d V =
1
t
( )d V +
vi n i d S
S
(9.56)
V
(vi vin+1 )d V
(vi vi )d V +
(vi,i
p )d V +
n
(vi, j inj )d V
vi ti d S
(9.57)
where and vi represent density and velocity on the characteristic line at time tn , and
the short time increment t is tn+1 tn . In Eqs. (9.56) and (9.57), is assumed to be
constant and computed as in Eq. (9.48). The finite element equation of conservation
of mass is expressed as:
1
1
M n+1 G
M
i vi =
t
t
(9.58)
288
where
M = (H H )d V
V
G i = (H,i H )d V
(9.59)
(9.60)
=
(H vi n i d S)
(9.61)
H (+ vn+ vn )d S
(9.62)
In Eq. (9.62), we use the average values on the elements to the interface S for vn+ and
vn , where
vn+ = vi+ n i
vn
(9.63)
vi n i
(9.64)
n+1
M vi
G
i n+1 + Di j vn+1
j
t
n+1
M vi + i
+ D j j vi
+ D ji vn+1
j =
t
(9.65)
where
Di j =
(H,i H, j )d V
(9.66)
H ti d S
(9.67)
i =
S
1
0
73
4
3
1
0
53
2
3
(9.68)
289
(9.69)
(9.70)
where
x = x x ,
y = y y
v1 | ,
v1
x
v2 | ,
v2
x
v1 |e ,
v2 |e
| ,
|e
2
Fig. 9.7 Hermit interpolation function
(9.71)
v1
y
v2
y
290
(9.72)
(summation convention for )
= H
(9.73)
where
H = H0 Hx Hy H0e
v
i
i
v
|
vi = vi | v
i e
x y
= | x
y |e
(9.74)
(9.75)
(9.76)
v
vi = vi | x y vi |e
= | x
y |e
(9.77)
(9.78)
291
Consider the interface shown in Fig. 9.6. The position of the interface is moving
according to the differences of densities and velocities between in V + and in V .
From Eqs. (7.171) and (7.174), the velocity of the movement of the interface n is
expressed as follows:
+ (vn+ )2 + (vn )2
n =
(9.79)
+ vn+ + vn
Using the velocity n , the position of the interface can be computed:
xin+1 = xin + tn n i
(9.80)
n+2
j=2
n+2
N3 (s j) px ( j)
(1 s n + 1)
(9.81)
N3 (s j) p y ( j)
(1 s n + 1)
j=2
where x(s) and y(s) are the positions of the interface of the coordinate s, px ( j),
p y ( j) are the positions of control points, and n is the total number of control points.
The B-spline function N3 (s) is as follows:
3|s|3 6|s|2 +4
(1 < s < 1)
6 3
N3 (s) = (|s|2)
(2 < s < 2)
6
(9.82)
The curvature is computed through the B-spline function and is written as:
=
x y y x
3
(x 2 + y 2 ) 2
(9.83)
292
Fig. 9.8 Computed transitions for flows with low density difference. a Density distribution (T =
0.05). b Density distribution (T = 0.35). c Density distribution (T = 0.7). d Density distribution
(T = 10.0)
293
Fig. 9.9 Computed density transitions for flows with high density difference. a Density distribution
(T = 0.15). b Density distribution (T = 0.35). c Density distribution (T = 0.4). d Density
distribution (T = 0.5)
as shown in Fig. 9.8d. The computation is terminated, when the velocity distribution
approaches zero.
In Fig. 9.9ad, the computed density transitions for flows with high density differences starting from the same initial shape as that of the computation in Fig. 9.8. For
the initial state, the density in V + is assumed to be + = 1.0 and in V , = 0.65.
The surface tension coefficient is = 0.01. Initially, the inner domain expands circularly with respect to time. Then it takes the shape of thrombus. Finally, as the
distortion increases, it takes the shape of a distorted star, whose arms expand along
four directions toward the boundary. The computation is terminated at t = 0.5,
because the mesh cannot represent more complicated patterns. The mesh should be
regenerated in order to continue the computation.
294
,j
(9.84)
p =
(9.86)
(9.85)
(9.87)
and superscripted is partial differentiation with respect to time. Eqs. (9.84) and (9.85)
can be written as:
295
Fig. 9.10 Final configurations of density. a Density distribution ( = 0.983 and T = 10.0).
b Density distribution ( = 0.95 and T = 3.5). c Density distribution ( = 0.85 and T = 1.25).
d Density distribution ( = 0.8 and T = 1.0). e Density distribution ( = 0.7 and T = 0.7).
f Density distribution ( = 0.6 and T = 0.45)
296
m j m l
m i
+
=0
x j
m l x j
mk m j
m k +
+ pk j
x j
mk m j
m l
+
=0
+ pk j
m l
x j
+
(9.88)
(9.89)
Let us perform the differentiation in Eqs. (9.88) and (9.89), and we get:
m l
+ jl
=0
x j
x j
mk m j
+ a2 k j
2
m k +
x j
mj
m l
mk
l j +
kl
+
=0
x j
+ 0
(9.90)
(9.91)
Further, we can write Eqs. (9.90) and (9.91) in the matrix form:
j
0 l
+ j j
=
m
0
m k
bk bkl
l ,j
(9.92)
where
mk m j
2
= 2 + a k j
mj
mk
j
bkl =
l j +
kl
j
bk
(9.93)
(9.94)
p
= 1
(9.95)
using Eq. (9.86). We can also write Eq. (9.92) as in the following form:
k + Aikl Ul,i = 0
U
where
,
Uk =
mk
Aikl
(9.96)
j
0
= i il
bk bkl
(9.97)
297
Equations (9.92) and (9.96) are referred to as the conservation form of the governing
j
equation of adiabatic fluid flows. In Eqs. (9.92) and (9.97), l means Kroneckers
delta function.
Uk =
m k
(9.99)
(9.100)
In Eq. (9.99), denotes the linear interpolation function expressed in Eq. (4.24) in
Sect. 4.4. In Eq. (9.100), is the density on node , and m k is the momentum on
node in the k-direction. For the weighting function, the following function is used:
i
k = Uk + s Alk
Ul,i
U
(9.101)
Uk = Uk
is:
In Eq. (9.102), Uk
Uk
=
m k
(9.102)
(9.103)
(Uk + s Um,
j Amk )(Uk + Akl Ul,i )d V = 0
j
(9.104)
298
Expanding Eq. (9.104), the weighted residual equation of the SUPG method can be
derived as follows:
In Eq. (9.105), the first two terms are those of the normal finite element weighted
residual equation, the third term decays shortly in time, and the last term is the
stabilization term in the SUPG method. For the integration of the third and fourth
terms of Eq. (9.105), Aimk is assumed to be constant. Substituting Eqs. (9.98) and
(9.102) into Eq. (9.105) and rearranging the terms, we get the following equation:
( )d V Uk + Uk ( Aikl ,i )d V Ul
V
V
j
l + s Uk
+ s Uk (,i Akl )d V U
(,i Aikm Aml , j )d V Ul = 0
Uk
(9.106)
Considering that Uk
are arbitrary constants, the local form of the SUPG finite
element method can be derived as follows:
k + Kkl Ul + s (Ckl U
l + Dkl Ul ) = 0
M U
(9.107)
where
M =
( )d V,
(9.108)
Kkl =
Ckl =
( Aikl ,i )d V
(9.109)
(,i Aikl )d V
(9.110)
Dkl =
V
(9.111)
Superposition of Eq. (9.107) over the whole flow field leads to the global form of
the SUPG finite element method. Notice that the last two terms in Eq. (9.107) are
not continuous because we assume Aikl is constant over an element for integration.
We compute these terms including Aikl elementwise and add the resulted terms in
Eq. (9.107). For the integration in time, simple scheme, such as the explicit scheme,
the implicit scheme, or the CrankNicolson scheme, etc. is adaptable.
299
0 bli
=
+
(9.112)
s
i
m k
m k
m l ,i
ki blk
where and m k are weighting functions of the SUPG method, and and m k are the
normal weighting functions based on the linear interpolation function. The weighted
residual equation is formulated using Eqs. (9.84), (9.85) and (9.112) as:
A
m k
dV = 0
Bk
Ve
(9.113)
where Ve is the volume of a finite element. Substituting Eq. (9.112) into Eq. (9.113)
and arranging the terms, we get:
0 ki
A
,i m l,i
mk
d V + s
d V = 0 (9.114)
i i
B
B
b
b
k
k
l lk
Ve
Ve
Further, we get the following equations by expanding Eq. (9.114):
(,i li Bl )d V = 0
V
Ve
e
i
(m k Bk )d V + s
(m k,i bki A)d V + s
(m k,i bkl
Bl )d V = 0
( A)d V + s
Ve
Ve
(9.115)
(9.116)
Ve
Substituting Eqs. (9.84) and (9.85) into Eqs. (9.115) and (9.116), and superimposing the resulted equations into the whole flow field, the final form of the weighted
residual equations are obtained:
Ne
mi m j
m i
+ m j, j d V + s
+
,i
+ p,i d V = 0
t
t
,j
e=1 Ve
(9.117)
300
mk m j
d V + (m k,k p + m k, j k j )d V
V
V
,j
+ s
m k,i bki
+ m j, j d V
t
e=1 Ve
Ne
m
m
m
l
j
l
i
+ s
m k,i bkl
+ p,l d V
+
t
V
,j
e
e=1
= m k ( pk j + k j )n j d S
m k
m k
+
t
Ne
(9.118)
The summation symbol in Eqs. (9.117) and (9.118) means that integrated values
over each element are summed up from element 1 to element Ne , in which Ne is the
total number of elements. This is because the integrated values are discontinuous on
i
are constant in each element. In
the side of the element, assuming that bki and bkl
Eq. (9.118), viscous stress terms are taken into consideration.
Let the weighting and interpolation equations for density and momentum m k be
Eqs. (9.98) and (9.102), and assume the same interpolation equations for pressure p
and velocity vi . Then we get the following SUPG finite element equations:
M + N j m j + A = 0
(9.119)
M m k + (G j + G j )vk m j + Hk p + E k + Bk = Lk
(9.120)
where A and Bk are the SUPG stabilization terms, and those are expressed in the
following forms:
A = s
Ne
(9.121)
e=1
Bk = s
Ne
{Dkl m l + (K kl j + K kl j )vl m j
e=1
+ Ok p + Pk + Q k j m j }
where
(9.122)
301
M =
V
N j =
( )d V,
(9.123)
( , j )d V
(9.124)
V
G j =
( , j )d V,
Hk = (,k )d V
V
E k = (, j k j )d V,
V
Lk = ( tk )d S
S
(,i )
Ai =
Ve
Bi j =
(,i , j )d V
V
e
C =
(,i ,i )d V
Ve
i
Dkl =
(,i bkl
)d V
Ve
i
K kl j =
(,i bkl
, j )d V
Ve
i
Ok =
(,i bkl
,l )d V
Ve
Pk =
(,i bki )d V,
Ve
Q k j =
(,i bki , j )d V
(9.125)
(9.126)
(9.127)
(9.128)
(9.129)
(9.130)
(9.131)
(9.132)
(9.133)
(9.134)
(9.135)
(9.136)
Ve
(9.137)
m k
(9.138)
where n and m nk means the values at time n. For the SUPG parameter:
s =
t
2
(9.139)
is usually employed. The shock capturing concept (Tezduyar and Senga 2006) can
also be adapted for the computation of shock waves.
302
p p0
1
V2 D
2 0
u2 = 0.0
100D
u1 = 0.0
u2 = 0.0
u1 = 1.0
u2 = 0.0
100D
y
u 2 = 0.0
z
x
100D
100D
p = p0
303
The computational results are plotted in Fig. 9.13. The position on the surface is
expressed by the angle . The tendency of the computational pressure coefficients by
four methods are generally comparable to the actual experimental results. Especially,
the pressure coefficients obtained both by the compressible flow method and by the
adiabatic flow method are similar to each other and also to the experiments. The
computational results obtained by the incompressible flow method and those obtained
by the acoustic velocity method are also similar to each other. However, these show
aspects in which the computational results diverge from the experimental results,
which is particularly visible when 80 < < 180 . This is because Mc = 0.5 is not
appropriate to compute the incompressible flows. The first two methods employ the
variable acoustic velocity, whereas the last two methods utilize the constant acoustic
velocity. It seems that the pressure coefficients around the surface of the cylinder
should be computed, while taking density variability of the fluid into consideration.
The incompressible flow method is not suitable for the computation of the fluid flow,
whose density is variable, such as airflow.
304
( Re = 1 10 )
2
60
120
180
305
(9.140)
Substituting Eq. (9.1) into Eq. (9.140) and arranging the terms, the following equation can be obtained:
p + vi p,i + a2 vi,i = 0
(9.141)
where superscripted means partial differentiation with respect to time. In Eq. (9.141),
a is acoustic velocity expressed in Eq. (7.161), and we get the equation of continuity
of the incompressible flows, i.e. Eq. (8.1), to let a be equal to infinity. Equation of
motion can be written in the following form using Eqs. (9.2)(9.4):
(vi + v j vi, j ) + p,i vk,ki (vi, j + v j,i ), j = f i
(9.142)
Assuming that acoustic velocity a and density are constant, during time increment t simplifies computation. We will show in the practical computation that the
assumption is valid for the solutions close to the incompressible flows. Introducing
nondimensional quantities such as:
xi =
xi
,
L
p
p = aV ,
,
= VL
L
fi = V 2 fi
vi
,
t = VL t,
V
c = Va = M1c ,
= VL
= R1e ,
vi =
(9.143)
the nondimensional equations of Eqs. (9.141) and (9.142) can be expressed as follows:
p + vi p,i + cvi,i = 0
(9.144)
(9.145)
306
( p p)d
V+
V
( p vi p,i )d V + c
( p vi,i )d V = 0
= (vi ti )d S + (vi f i )d V
S
(9.146)
(9.147)
For the interpolation functions for velocity and pressure, the following functions are
used:
vi = vi
p = p
(9.148)
(9.149)
where is the linear shape function which is in Eq. (4.24), and vi and p are
velocity at node in the ith direction and pressure at node . For the weighting
functions for velocity and pressure, the following functions are used:
vi = vi
p = p
(9.150)
(9.151)
M p + K j v j p + cHi vi = 0
Mi j v j + K j v j vi cHi p + Si j v j = i
(9.152)
(9.153)
307
where
M =
( )d V
(9.154)
(9.155)
Mi j = ( )i j d V
V
(9.156)
K j = ( , j )d V
V
(9.157)
Hi = (,i )d V
V
Si j = (,i , j )d V + (,k ,k )i j d V + (, j , ,i )d V
V
(9.158)
i =
( ti )d S +
S
( )d V f i
(9.159)
where f i is body force at node in the ith direction. Coefficient matrices shown in
Eqs. (9.154)(9.159) can easily be integrated using linear shape function in Eq. (4.25)
and formula in Eq. (6.36). Equations (9.152) and (9.153) can be written in the matrix
form as:
v j
K j vi + Si j cHi
v j
i
Mi j
+
=
(9.160)
M
p
cH j
K k vk
p
The coefficient matrix of the second term in Eq. (9.160) is full of elements. Namely,
equation of continuity of the incompressible flow is the function of velocity only.
On the contrary, Eq. (9.160) is the extended equation, which includes the functions
of velocity and pressure under the physical consideration. Then, we can execute the
stable computation.
(9.161)
=
i
(9.162)
308
In order to integrate Eq. (9.161) in time, Kawahara and Miwa [1984] used the twostep explicit method, whose algorithm is as follows:
For the first step:
vn+1/2 = M
vn t K (vn )vn + t n
M
2
2
(9.163)
(9.164)
(9.165)
In Eq. (9.165), e is used as the selective lumping parameter that is used for reducing
the numerical damping effect and adjusting the numerical stability. Numerical results
of the solitary wave propagation are found in Kawahara and Miwa (1984).
The bubble function finite element method can also be adapted to integrate
Eq. (9.161) in time. The mixed interpolation based on the standard bubble function for velocity and linear function for pressure is used. The global form of the finite
element equation can be obtained by adding the artificial viscosity on the coefficients
on the barycentric nodes as:
M v + K (v )v +
Ne
( + )av4 =
(9.166)
m=1
where is the artificial viscosity and a is in Eq. (8.103). Equation (9.166) has the
same form as in Eq. (8.100). However, those are fundamentally different, because
the coefficient matrices in Eq. (9.160) are full matrices and explicit type numerical
integration can be employed.
Uchiyama et al. (2015) solved the solitary wave propagation using the SUPG
method based on the acoustic velocity formulation. Equations (9.144) and (9.145)
can be written in the following form:
p
vi cli
p
D
=
+
+
k j, j + f k
vk
Ek
cki vi kl vl ,i
(9.167)
Based on Eq (9.167), the weighting function of the SUGP method can be expressed
as follows:
p vk = p vk + p p,i v vl,i
vi cki
(9.168)
cli vi lk
309
where p and vk are the weighting functions of the SUPG method, p and vk are
the linear weighting functions, and p and v are the stabilization parameters. The
weighted residual equations can be described as:
p vk
D
dV = 0
Ek
(9.169)
Substituting Eqs. (9.167) and (9.168) into Eq. (9.169), and arranging the terms, we
get the following two equations:
( p D)d V + p
V
(vk Ek )d V
+ v
V
( p,i vi D)d V + p
(vi,i
cD)d V
( p,k
cEk )d V = 0
(9.170)
(vk,i
vi Ek )d V = 0
(9.171)
+ v
V
Based on Eqs. (9.170) and (9.171), we get the finite element equations of the acoustic
velocity method based on the SUPG formulation. Using the appropriate values for p
and v , we can carry out the stable computation. For the computation of the solitary
wave propagation shown in Fig. 9.16, we use:
p = v
(9.172)
v = t/2
(9.173)
The present method is characterized by the point by which the SUPG terms can
be obtained naturally in Eqs. (9.170) and (9.171). This is because Eqs. (9.144) is the
form, which includes the terms of pressure and velocity. Therefore, we can formulate
the SUPG method in a straightforward manner. By contrast, the orders of numerals
are so different that we must use the different orders of the SUPG parameters p and
v in general to secure the computational stability. Eqs. (9.170) and (9.171) can be
further developed as follows:
( p p)d
V + ( p vi p,i )d V + ( p cvi,i )d V
V
V
2
+ p ( p,i cvi )d V + p ( p,i c p,i )d V + p ( p,i cvk vi,k )d V = 0 (9.174)
310
(vk vk )d V + (vk c p,k )d V + (vk vi vk,i )d V
V
V
V
2
V + v (vi,i cvk p,k )d V + v (vi,i
c vk,k )d V
+ v (vi,i c p)d
V
V
V
vi vk )d V + v (vk,i
vi c p,k )d V + v (vk,i
vi v j vk, j )d V = 0
+ v (vk,i
V
(9.175)
In Eq. (9.175), the viscosity terms and the body force term are set aside for the sake
of simplicity. The fourth and seventh terms in Eq. (9.174) and fourth and seventh
terms in Eq. (9.175) are abstracted away from to execute the practical computation.
The computation of pressure coefficient around a circular cylinder is conducted
using the same boundary conditions in Fig. 9.11 and finite element mesh in Fig. 9.12.
The computed results are shown in Fig. 9.13. The caption in the figure is the acoustic
velocity method.
311
number Re = 50, 000 and Mach number Mc = 0.005 is shown in Fig. 9.15. We can
observe that the pressure distribution is almost uniform and there is no shock wave
around the cylinder.
H
gd 1 +
d
(9.176)
where g is the gravity acceleration, d is depth and H is wave height. The surface
coordinate ys is given as the function of x:
ys = d + H sech
3H
(x ct)
4d 3
(9.177)
312
3H
H
2
u = gd sech
(x ct)
d
4 d3
23
y
3H
3H
H
2
sech
(x ct) tanh
(x ct)
v = 3gd
d
d
4 d
4 d
(9.178)
The initial configuration is represented in Fig. 9.17. The computational results are
shown in Fig. 9.18ac. We can see the movement of solitary wave in Fig. 9.19.
Mach number used in the computation is Mc = 0.88 103 . The nonlinear
terms, which are the second term in Eq. (9.174) and the third term in Eq. (9.175), are
computed using the linearization, i.e., the convective velocity vi in the equations is
approximated as:
vi =
1
(3v n vin1 )
2 i
(9.179)
(9.180)
tvsn
(9.181)
ysn+1
ysn
313
314
where xs and ys denote the nodal positions and u s and vs are velocity on the surface.
Fundamentally, the fluid particle positions on the streamline do not necessarily coincide with the positions expressed in Eqs. (9.180) and (9.181). We use Eqs. (9.180) and
(9.181) to increase the Computational efficiency. The mesh is regenerated after the
computation of time increment t based on the free surface points. The computation
is implemented by the ALE formulation, which is described in Chap. 11.
t=0
H
z/d
0.5
d
x
0.5
1 : 20
z
20.0
10.0
x/d
20.0
315
Fig. 9.21 a Propagation of solitary wave (initial configuration). b Propagation of solitary wave
(forward traveling). c Propagation of solitary wave (reflection by wall). d Propagation of solitary
wave (backward traveling)
316
Street et al.
Present
H/d
0.15
0.1
0.05
30
t/
35
d/g
40
at x/d = 41.6 are compared with the experimental results obtained by Street and
Camfield (1966) in Fig. 9.22. Close agreement between computed and experimental
values are obtained. Figure 9.23a, b, the solitary wave traveling through the channel whose width, length, deeper side water depth, and shallower side water depth
are 20 m, 50 m, 0.5 m, and 0.1 m, respectively, are shown. The initial wave height is
Fig. 9.23 a Solitary wave propagation (traveling forward). b Solitary wave propagation (reflected
by wall)
317
Fig. 9.24 Solitary wave propagation (traveling forward). b Solitary wave propagation (reflected
by wall)
0.25 m. Fig. 9.24a, b show the solitary wave over the submerged prominent object
on the bottom. The top area of the object is 4 m 8 m. The water depth is 0.3 m.
The slant is 1 : 4. It is understood that the wave is distorted through the submerged
object. These results are useful for the design of the artificial reef, etc.
318
Chapter 10
10.1 Introduction
It is well known that the compressibility of fluids should be considered to solve
high Mach number flows. Compressible flow simulation is important not only in the
field of airplane engineering, in which high Mach number flows are treated, but also
in the field of wind engineering, in which low Mach number flows are considered.
There are a plenty of topics to be investigated, such as the flows around the girder of
long span bridge, around high-rise building, around racing car, around bullet train,
etc. When a fluid is compressible, the fluid density varies as a function of pressure
and temperature. To express the behavior of compressible flow, the energy variation
should be taken into consideration. The total energy consists of the internal energy and
the kinetic energy. The conservation equation of energy should be treated in addition
to the conservation equations of mass and momentum for the governing equations.
The field variables employed are density, momentum, and total energy. To deal with
the nonlinear boundary conditions, various sets of independent variables, such as
combinations of enthalpy, temperature, entropy, and some others, are introduced by
Elkadri E et al. (2000).
Many research studies in the finite element methods of the compressible flows have
been presented: those include Hughes et al. (1986), Hughes and Mallet (1986), Beau
et al. (1991), Aliabadi and Tezduyar (1993), Behr and Tezduyar (1994), Elkadri E
et al. (2000), Tezduyar and Osawa (2000), Tezduyar and Senga (2006), Hughes et al.
(2010), Nakajima and Kawahara (2010a, b), Tezduyar et al. (2011), and many others.
Those methods can be classified into two categories: the bubble function method and
the SUPG method. In the formulation of the bubble function finite element method,
the normal interpolation of the bubble function for density, momentum, and total
energy is employed. The final finite element equation is the same form as that of
the linear finite element equation including the artificial viscosity terms added to the
coefficients on the barycentric nodes. Using the different types of the weighting and
319
320
interpolation functions, the SUPG finite element method is derived. The final finite
element equation includes the SUPG terms for the stabilization of the computation.
For those formulations, the conservation forms of the governing equations are used.
By the numerical computations, computational stability of both methods is compared.
We will observe that the stability features of both methods are almost the same. The
computation of the flows around a bullet train is carried out as a case study.
+ (vi ),i = 0
t
(10.1)
(10.2)
(10.3)
which is Eq. (7.74). In Eqs. (10.2) and (10.3), total stress is i j and sometimes
we will write Eq. (10.3) by separating pressure p and viscous stress i j :
i j = pi j + i j
(10.4)
i j = i j dkk + 2di j
(10.5)
1
(vi, j + v j,i )
2
(10.6)
Considering that we are dealing with the flows close to the incompressible flows,
we assume
2
(10.7)
= .
3
In Eq. (10.5), and are viscosity coefficients.
321
(10.8)
which is Eq. (7.94). The total energy e is expressed by the internal energy and
kinetic energy as follows:
vi vi
e =+
(10.9)
2
which is Eq. (7.82). In Eq. (10.8), body force and heat source are disregarded.
Those equations summarized in (1)(4) are all derived from the conservation
equations and constitutive equation in Chap. 7. Those equations include several variables implicitly, such as pressure p, temperature T , internal energy ,
and thermal flux qi . To determine those variables, we have to introduce several
additional laws. For this purpose, we deploy the notion of ideal gas.
(5) Equation of state:
Assuming the ideal gas, the equation of state can be expressed as the relation
between pressure p and internal energy as in Eq. (7.150):
p = ( 1)
(10.10)
, j
cv
(10.11)
where cv is the specific heat at a constant volume, and is the thermal conduction
coefficient. It is useful to use the Prandtl number Pr :
Pr =
cp
(10.12)
where c p is specific heat at constant pressure. Equation (10.11) can be transformed into
, j
(10.13)
qj =
Pr
(7) Boundary condition:
In addition to the standard boundary condition, we use certain values which are
specified on the boundary.
(8) Initial condition:
All the field variables , vi , e are given as the initial conditions at starting time.
322
v j
0
= 0
vi +
vi v j + pi j i j
t e
x j (e + p)v ( v + q )
0
j
kj k
j
(10.14)
(10.15)
U1
v1 m U2
Uk =
v2 = n = U3
e
U4
e
(10.16)
where
vi
m1i + n2i
vi v1 + i1 p
vi m + p1i
=
vi v2 + i2 p = vi n + p2i
vi (e + p) ,i
vi (e + p) ,i
(10.17)
1i
2i
i j v j + qi ,i
(10.18)
Fki,i
Gki,i
where m, n, and e denote momentum in the one and two directions and total energy
per volume, i.e.,
v1 = m
v2 = n
(10.19)
(10.20)
e = e
(10.21)
323
n
m
m v1 m + p
v2 m
+
n v1 n + v2 n + p
v1 (e + p) ,1
v2 (e + p) ,2
e
0
0
0
11
12
=
0
21
22
(11 v1 + 12 v2 ) + q1 ,1
(21 v1 + 22 v2 ) + q2 ,2
0
(10.22)
(10.23)
m
m
(v1 m + p) (v1 m + p)
=
(v1 n)
(v1 n)
v1 (e + p) v1 (e + p)
n
n
(v2 m)
(v
2 m)
+
(v2 n + p) (v2 n + p)
v2 (e + p) v2 (e + p)
m
n
(v1 m + p)
n
(v1 n)
n
v1 (e + p)
n
n
n
(v2 m)
n
(v2 n + p)
n
v2 (e + p)
n
m
e
(v1 m + p)
m
e
(v1 n)
n
e
v1 (e + p) e
e
,1
n
e
(v2 m)
m
e
(10.24)
(v2 n + p)
n
e
v2 (e + p)
e
e
,2
A1kl and A2kl are obtained by differentiating the second and third matrices in
Eq. (10.22). In those operations, the terms to be differentiated must be transformed
into the functions of independent variables , m, n, and e. We can eliminate pressure
p from the second and third terms in Eq. (10.23) by making use of the equation:
m 2 + n2
p = ( 1) = e
2
(10.25)
324
where
= 1
(10.26)
1
m2
n2
e
+
(3
v1 m + p
mn
v1 m =
v1 (e + p)
m3
m
mn 2
e 2 2
2
2
(10.27)
n
mn
v2 m
2
2
=
1
n
m
v2 n + p e
+
(3
2
2
v2 (e + p)
2
3
nm
n
n
e 2 2
2
2
(10.28)
1 2
u
v12 v1 v
1 + v1 v
2
A1kl = 2
v2
v1
0
v1 v2
v
12
v
1 v2 v1
(u
2 e)v1
0
v2 v1
0
v2
1
v1
0
0
A2kl = 1 2
v22 v
1 v2 v
2 + v2
u
22
2 v1
v
22
v2
(u
e)v2 v
(10.29)
(10.30)
where
u 2 = vi vi
(10.31)
= e v
i vi /2
(10.32)
Both Eqs. (10.29) and (10.30) can be combined, and it is possible to obtain the
following equations:
325
0
d1i
d2i
fi
(10.33)
1
i1 u
2 vi v1
2
1
b2i = i2 u
2 vi v2
2
ai = (u
2 e)vi
i
b11 = i1 v1 i1 v
1 + vi
i
b12
= i2 v1 i1 v
2
i
b21
= i1 v2 i2 v
1
i
b22
= i2 v2 i2 v
2 + vi
c1i = i1 v
i v1
c2i = i2 v
i v2
d1i = i1
d2i = i2
f i = vi
(10.34)
0
bi
i
1
Akl =
b2i
ai
1i
i
b11
i
b21
c1i
2i
i
b12
i
b22
c2i
where
b1i =
The third term of Eq. (10.23) can be derived from Eq. (10.18). Substituting
Eqs. (10.5), (10.6), and (10.13) into Eq. (10.18) and rearranging the terms, the third
term of Eq. (10.23) can be expressed as follows:
ij
Kkl (Ul,i ), j
,1
,1
0 0 0 0
0 0 0 0
K 11 K 11 K 11 0 (v1 ),1
12 K 12 K 12 0 (v1 ),1
21
22
23
22
23
+ K 21
=
11
11
11
12
12
12
K 31
K 31
K 32 K 33 0
(v2 ),1
K 32
K 33
0 (v2 ),1
11
11
11
11
12
12
12
12
K 42
K 43
K 44
(e),1 ,1
K 42
K 43
K 44
(e),1 ,2
K 41
K 41
,2
,2
0 0 0 0
0 0 0 0
K 21 K 21 K 21 0 (v1 ),2
22 K 22 K 22 0 (v1 ),2
21
22
23
22
23
+ K 21
+
21
21
21
22
22
22
K 31 K 32 K 33 0 (v2 ),2
K 31
K 32
K 33
0 (v2 ),2
21
21
21
21
22
22
22
22
K 42
K 43
K 44
(e),2 ,1
K 42
K 43
K 44
(e),2 ,2
K 41
K 41
(10.35)
326
where
(2 + )
(2 + )
11
11
v1 , K 22
, K 23
=
= 0,
11
11
= v2 , K 32
= 0, K 33
= ,
(2 + ) 2 2
2
=
v1 v2 +
(v + v22 e),
Pr 1
(2 + )
=
v1
v1 ,
Pr
11
v2 , K 44
,
= v2
=
Pr
Pr
12
12
= v2 , K 22
= 0, K 23
= ,
12
12
= v1 , K 32
= , K 33
= 0,
12
12
12
v1 v2 , K 42
=
= v2 , K 43
= v1 , K 44
= 0,
21
21
= v2 , K 22
= 0, K 23
= ,
21
21
= v1 , K 32
= , K 33
= 0,
( + )
21
21
21
v1 v2 , K 42
=
= v2 , K 43
= v1 , K 44
= 0,
22
22
= v1 , K 22
= , K 23
= 0,
(2 + )
(2 + )
22
22
v2 , K 32
,
=
= 0, K 33
=
(2 + ) 2
2
v2 +
(v + v22 e),
= v12
Pr 1
2 +
22
22
v1 , K 43
v2
v2 , K 44
= v1
=
=
Pr
Pr
Pr
11
=
K 21
11
K 31
11
K 41
11
K 42
11
K 43
12
K 21
12
K 31
12
K 41
21
K 21
21
K 31
21
K 41
22
K 21
22
K 31
22
K 41
22
K 42
327
barycentric nodes. The conservation form is used. Using the standard bubble function, we can achieve the stable computation.
Ve
k )d V +
(Uk U
Ve
where
(Uk,
j Kkl Ul,i )d V =
ij
Ve
ij
k = Kkl Ul,i n j
U1
m U
2
Uk =
n = U3
e
U4
Se
(Uk k )d S
(10.36)
(10.37)
and
(k = 1 to 4)
(10.38)
In Eq. (10.37), k means equivalent nodal force, and ni is the unit normal. In
Eq. (10.38), the weighting functions corresponding to , m, n, and e are denoted
by , m , n , and e , respectively.
The bubble function interpolation function and weighting function are written as
follows:
k + U4k
(10.39)
Uk = U
k + U4k
Uk = U
(10.40)
m
m
=
+ 4
n
n
n4
e
e4
e
(10.41)
4
m
m
m
=
+ 4
n
n
n4
e
e4
(10.42)
328
)d V +
2
i
U
(U
(
)d
V
U
+
(A
)d
V
+
(Aikl ,i )d V U4l
k
4k
kl l,i
Ve
Ve
Ve
V
e
ij
ij
+
(, j Kkl Ul,i )d V +
(, j Kkl ,i )d V U4l =
(k )d S
(10.43)
Ve
Ve
Se
ij
If we assume Aikl and Kkl are constants, the following equalities hold:
(Aikl ,i )d V = 0
(10.44)
l,i )d V = 0
(, j Kkl U
(10.45)
Ve
ij
Ve
Using Eqs. (10.44) and (10.45) and setting aside the second term of Eq. (10.43), the
following equation is derived:
)d V +
(U
k
Ve
Ve
l,i )d V
(Aikl U
+
Ve
ij
(, j Kkl ,i )d V U4l
(k )d S
Se
(10.46)
Disregarding the first and the last terms in Eq. (10.46), we get
U4k = [Rkl ]
Ve
where
i
Un,i d V
Aln
ij
Rkl =
Ve
(, j Kkl ,i )d V
(10.47)
1
(10.48)
This is because significant terms for stability are the second and third terms.
To formulate the stabilization parameters C B , we will perform the following
:
procedures. Replace Uk in Eq. (10.36) by the linear weighting function U
k
329
)d V +
l,i )d V +
k U
k )d V U 4k +
k Aikl U
k Aikl ,i )d V U4l
(U
(U
(U
(U
k
Ve
Ve
Ve
Ve
ij
ij
k,
k k )d S
+
(U
K
)d
V
+
(
U
K
)d
V
U
=
(U
(10.49)
U
l,i
,i
4l
j kl
k, j kl
Ve
Ve
Se
k,
(U
j Kkl ,i )d V U4l = 0
ij
Ve
(10.50)
and disregarding the second term, which has no significant effects on the stability,
and the fifth term, which itself is a viscosity term, Eq. (10.49) is transformed into
Ve
)d V +
k U
(U
k
Ve
l,i )d V +
k Aikl U
(U
Ve
k Aikl ,i )d V U4l =
(U
Se
k k )d S
(U
(10.51)
k Aikl ,i )d V U4l
(U
=
(Uk Akl n i )d SU4l
(Uk,i Aikl )d V U4l
Se
Ve
Ve
(10.52)
Ve
because the first term on the right side in Eq. (10.52) is zero. Substitute Eq. (10.47)
into Eq. (10.52) and eliminate U4l ; then, we can write the third term in Eq. (10.51)
as follows:
2
k,i
(U
Aikl ) [Rlm ]
Ve
d V
Ve
j
(Amn
Un, j )d V
(10.53)
In Eq. (10.53), is written outside of [Rlm ], because is multiplied for all the terms
ij
in [Kkl ] as shown in Eq. (10.35). We will consider [Rlm ] in Eq. (10.53) is the [Rlm ]
in Eq. (10.48) divided by 1/. If we put
C B [Rlm ] =
1
[Rlm ]
+
2
d V
Ve
(10.54)
330
+ =
1
CB
2
d V
Ve
(10.55)
2|U j |
+
he
4
h 2e
+
2
t
2 1/2
(10.56)
k + U4k
l,i + ,i U4l )d V
ij
k + U4k )k d S
+ (Uk, j + , j U4k )Kkl (Ul,i + ,i U4l )d V =
(U
Ve
Se
(10.57)
ij
In Eq. (10.57), is written outside of integral symbol because all terms of Kkl are
multiplied by . Equation (10.57) can be reformulated as follows:
)d V + U
)d V +
k U
k )d V U 4k + U4k
(U
(U
(U
(2 )d V U 4k
k
k
4k
Ve
Ve
Ve
V
l,i )d V +
l,i )d V
k Aikl U
k Aikl ,i )d V U4l + U4k
+
(U
(U
(Aikl U
Ve
Ve
Ve
ij
k,
(Akl ,i )d V U4l + (U
+ U4k
j Kkl Ul,i )d V
Ve
Ve
ij
ij
ij
+ U4k
(, j Kkl ,i )d V U4l
V
k k )d S + U4k
=
(U
(k )d S
(10.58)
Se
Se
331
)d V +
k U
k )d V U k4
(U
(U
k
Ve
Ve
ij
l,i )d V +
k Akl U
k Aikl ,i )d V U4l + (U
k,
+
(U
(U
j Kkl Ul,i )d V
Ve
Ve
Ve
k k )d S
=
(U
(10.59)
Se
)d V + U
(U
(2 )d V U 4k
k
4k
Ve
Ve
ij
+ U4k
(Akl Ul,i )d V + U4k
( + ) (, j Kkl ,i )d V U4l = 0
U4k
Ve
(10.60)
Ve
Equations (10.59) and (10.60) are the final form of the local weighted residual
equation. The linear interpolation and weighting functions are the first terms in
Eqs. (10.41) and (10.42), respectively:
k
k = U
U
k = U
k
U
(10.61)
(10.62)
k , and U
are interpolation function matrix, nodal values, and corwhere , U
k
responding weighting constants, respectively. Substituting Eqs. (10.61) and (10.62)
into Eqs. (10.59) and (10.60), and rearranging the terms, we get
k
U
+ U
( )d V U
( )d V U 4k
k
k
Ve
Ve
k
l + U
k
+U
( Aikl ,i )d V U
( Aikl ,i )d V U4l
Ve
Ve
ij
k
l
+U
(, j K ,i )d V U
k
=U
Ve
kl
( k )d S
(10.63)
Se
+ U
( )d V U
(2 )d V U4k
k
4k
Ve
Ve
ij
l + U4k
+ U4k
(Aikl ,i )d V U
( + ) (, j Kkl ,i )d V U4l = 0
U4k
Ve
Ve
(10.64)
332
M U
k
4k
kl Ul + Bkl U4l + Skl Ul = k
+ bU + C U
a U
k
4k
kl l + ( + )Dkl U4l = 0
(10.65)
(10.66)
where
M =
( )d V, Q =
Ve
Akl =
Ve
Ve
Ve
Bkl =
a =
( Aikl ,i )d V
( Aikl ,i )d V
(, j Kkl ,i )d V
( )d V, b =
2 d V
ij
=
(Aikl ,i )d V, Dkl =
(, j Kkl ,i )d V
Ve
Ve
=
( k )d S
Ve
k
(10.67)
ij
Skl =
Ckl
( )d V
Ve
Ve
Se
Superpositions of Eqs. (10.65) and (10.66) lead to the global form of the finite element
ij
method. We assume that Aikl and Kkl are constant at the integrations in Eq. (10.67).
If necessary, several iterations are performed in a time cycle. One or two iterations
are sufficient in the authors experiences. Superimposing Eqs. (10.65) and (10.66)
over the whole flow field, we get the global finite element equation. As is shown in
Eq. (8.100), we may distinguish the discontinuous coefficients in Eq. (10.67).
Imposing the boundary and initial conditions, and discretizing the time-dependent
terms, we can solve the global finite element equations and carry out computations
of density, momentum, and total energy. In these equations, we can see that an artificial viscosity appears on the term only on the barycentric node. This fact is one
of advantageous features of the bubble function finite element method. We need to
solve the global finite element equation based on Eqs. (10.65) and (10.66) simulta , U ,
neously because these two equation systems are coupled with variables U
k
4k
Uk , and U4k . If we disregard the second term in Eq. (10.65), we can eliminate U4k
from Eq. (10.65) using Eq. (10.66). This procedure is convenient to accelerate the
computation, because we need not to store U4l during time advancing procedure.
333
(10.69)
which is the same function shown in Eq. (10.61). The superscripted over baris not
shown for the sake of simplicity. Equation (10.69) can be written as follows:
m
m
=
n
n
e
e
(10.70)
k = Uk + s Alk
Ul,i
U
(10.71)
where Uk is the linear weighting function expressed in Eq. (10.62). The superscripted
over bar is deleted for the sake of simplicity, and s is the stabilization parameter,
i
334
k = Uk
U
+ s Alk
,i Ul
(10.72)
m
m
=
n
n
e
e
0 b11 b21 a1
,1
1 b 1 b 1 c 1
m
,1
11 21 1
+ s
1
1
0 b12
n
b22
c21
,1
1
1
0 d1 d2 f 1
,1
e
0 b12 b22 a2
,2
0 b2 b2 c2
m
,2
11 21 1
+
2
2
2
1 b12
n
b22 c2
,2
2
2
0 d1 d2 f 2
,2
e
(10.73)
k + A j Un, j + Gk j, j ) = 0
)(U
(10.74)
(Uk + s Aimk Um,i
kn
Equation (10.74) can be expanded as follows:
j
k + s Um,i
k + Aikn Un,i + Gk j, j ) + s Um,i
Aimk U
Aimk Akn Un, j
Uk (U
+ s Um,i
Aimk Gk j, j = 0
(10.75)
Integrating Eq. (10.75) over a finite element Ve surrounded by Se , the weighted residual equation can be obtained:
k )d V +
(Uk U
(Uk Aikm Um,i )d V
(Uk,
j Gk j )d V
Ve
Ve
Ve
k )d V + s
+ s
(Um,i
Aimk U
(Um,i
Aimk Akn Un, j )d V
Ve
Ve
+ s
(Um,i
Aimk Gk j, j )d V
Ve
=
(Uk k )d S
Se
(10.76)
335
where k is defined in Eq. (10.37). In Eq. (10.76), the first three terms are the weighted
residual equation of the normal linear finite element method, and the last three terms
on the left side are the stabilization terms. As worked out in Sect. 5.6, the fifth term
is important for stabilization, and s is the stabilization parameter, for which we use
the same value as in Eq. (10.56). Using the interpolation function Eq. (10.69) and
the weighting function Eq. (10.72), we get the following equation:
k + Uk
( )d V U
( Aikl ,i )d V Ul
Ve
Ve
ij
l
+ Uk
(, j Kkl ,i )d V Ul + s Uk
(,i Aikl )d V U
Ve
Ve
+ s Uk
(,i Aikm Aml , j )d V Ul
Ve
= Uk
( k )d S
(10.77)
Uk
Se
The last term on the left side in Eq. (10.76) is zero because we use the linear
interpolation function. The first three terms on the left side in Eq. (10.77) express the
normal linear finite element equation, and those are easily integrated. Considering
are arbitrary constants, we obtain the local forms of the SUPG finite
the fact that Uk
element equation as follows:
k + Kkl Ul + Skl Ul + s (Ckl U
l + Dkl Ul ) = k
M U
(10.78)
where
M =
( )d V
Ve
Ve
Kkl =
(10.79)
( Aikl ,i )d V
ij
Skl =
Ve
Ve
Ckl =
Dkl =
Ve
i =
Se
336
Superposition of Eq. (10.78) into the whole flow field leads to the global forms of
the finite element method. Notice that global equations due to the first three terms
on the left side in Eq. (10.78) are continuous. However, the last two terms may not
be continuous because Aikl are assumed constants over an element. For the time
discretization, a simple scheme, such as the CrankNicolson scheme, is adaptable.
,j
mj
mi
C = e + (e + p)
i j
=0
+ qj
,j
,j
(10.80)
(10.81)
(10.82)
0 li 0
i
m k + bki bkl
dki m l = 0
0
e ,i
e
ai cli f i
(10.83)
ml =
m l
(10.84)
0 bli ai
i
m k = m k + s ki blk
cki m l
e
e ,i
e
0 dli f i
(10.85)
337
m k =
m k
(10.86)
V
A
m k e Bk d V = 0
C
(10.87)
Substituting Eq. (10.85) into Eq. (10.87) and rearranging the terms, the weighted
residual equation can be transformed into
Ve
0 li 0
A
A
i
,i m k,i e,i bki bkl
m k e Bk d V + s
dki Bl d V
Ve
C
C
ai cli f i
=0
(10.88)
(,i il Bl )d V = 0
i
(m k Bk )d V + s
(m k,i bki A + m k,i bkl
Bl + m k,i dki C)d V = 0
V
V
(e C)d V + s
(e,i ai A + e,i cli Bl + e,i f i C)d V = 0
( A)d V + s
Ve
(10.89)
Ve
Ve
(10.90)
(10.91)
Ve
Ne
m j mi
m i
+ m j, j d V + s
+
,i
+ p,i d V = 0
t
t
,j
e=1 Ve
(10.92)
338
mk m j
d V + (m k,k p + m k, j k j )d V
V
V
,j
+ s
m k,i bki
+ m j, j d V
t
e=1 Ve
Ne
m
m
m
l
j
l
i
+ s
m k,i bkl
+ p,l d V
+
t
V
,j
e
e=1
Ne
m
e
j
+ s
m k,i dki
dV
+ (e + p)
t
,j
V
e
e=1
= m k ( pk j + k j )n j d S
m k
m k
+
t
Ne
(10.93)
mj
mk
e
+ (e + p)
+ qj dV
e
e, j k j
dV +
t
,j
V
V
N
N
e
e
ml m j
i m l
+ s
+ m j, j d V + s
+
e,i ai
e,i cl
+ p,l d V
t
t
,j
e=1 Ve
e=1 Ve
Ne
mj
e
+ (e + p)
e,i f i
dV
+ s
t
,j
e=1 Ve
mk
+ qj n jdS
= e k j
(10.94)
where the summation symbol means that integrated values over each element are
summed up from element 1 to element Ne , in which Ne is the total number of elements.
This is because the integrated values are discontinuous on the side of the elements.
Based on Eqs. (10.92)(10.94), the global forms of the finite element equations can
be derived using the ordinary procedures. Introducing the discretization in time, we
can obtain the solution of density, momentum, and total energy. For the discretization
in time, simple schemes, such as Euler scheme, two-step scheme, CrankNicolson
Scheme, etc. can be adaptable. The computation of pressure coefficient around the
circular cylinder is implemented using the same boundary conditions in Fig. 9.11
and finite element mesh in Fig. 9.12. The computed results are shown in Fig. 9.13.
The caption in the figure is compressible flow method. Those are in good agreement
with the experimental results (Okauchi et al. 1977).
339
on SI
where u t denotes the tangential velocity on SI , and to compute the free stream,
Rieman invariant R and entropy are imposed, those are
2a
1
1
2
a = ( 1) e u i u i
2
= ln( p )
R = un
R and stand for the values of the free stream. The acoustic velocity is a. The
ratio of the specific heat is 1.4. The Reynolds number Re is 10,000. The Prandtle
number Pr is 0.72. The Mach number M is 0.8. The free stream parameters are
taken to be = 1.0, u 1 = 1.0, u 2 = 0.0, = 1.0, and = 216.7. To get free
stream, density and total energy e are specified on SI so as to Rieman invariant
R and entropy constant during computation.
12D
8D
12D
SS
SO
SI
8D
SS
340
on SO
where p is the pressure, 1 j is the viscous stress, and qn is the thermal flux. The
pressure of the free stream is denoted by P .
(3) On the side boundary SS :
u2 = 0
u3 = 0
2 j = 0
3 j = 0
on SS
+ C
1
3/2
Re + C
341
342
343
344
345
Chapter 11
ALE Formulation
11.1 Introduction
Finite element methods to trace the moving boundary problems may be classified
into three categories: (a) Lagrangian, (b) Eulerian, and (c) arbitrary Lagrangian
Eulerian methods, which are schematically shown in Fig. 11.1. In the Lagrangian
method, the mesh moves along with fluid particles. The equation and computation
become simple. However, mesh is distorted, and as a consequence, sometimes, computation is unstable. In the Eulerian method, the mesh is fixed and does not move
until the end of computation of free boundary. However, inventive approaches to
trace the free boundary are necessary. The mesh movement does not need to coincide with the movement of fluids; we can assign the mesh independent of the fluid
flows. The method is referred to as the arbitrary LagrangianEulerian method,
i.e., ALE method. Hughes et al. (1981), Okamoto and Kawahara (1992), Nomura
(1992), Nomura and Hughes (1992), Anju et al. (1997), Kawahara and Anju (1988),
Soulaimani and Saad (1998), Donea et al. (2004), Duarte et al. (2004), Sawanobori and Kawahara (2013), and many others presented original research work using
this method. As discussed in detail in Chap. 7, there are two description methods,
Lagrangian and Eulerian descriptions. We also introduced the material and spatial
domains. The Lagrangian method corresponds to the method which employs the
Lagrangian description based on the material domain. The Eulerian method corresponds to the method which employs the Eulerian description based on the spatial
domain. In the arbitrary LagrangianEulerian method, we introduce the referential
domain for origins of coordinate of position. Actually, the referential domain is the
mesh itself, because nodes of the mesh correspond to the computed fluid particles.
347
348
11 ALE Formulation
1) Lagrangian method
2) Eulerian method
3) ALE method
349
(11.1)
(11.2)
x = x g
(11.3)
350
11 ALE Formulation
x = x(X, t)
(11.4)
X = X(x, t)
(11.5)
where t denotes time. The material and spatial positions can be described by the
referential position x as follows:
X = X(x, t)
(11.6)
x = x(X, t)
(11.7)
x = x(x, t)
(11.8)
x = x(x, t)
(11.9)
and
We can introduce the deformation gradient based on the relation between x and x as
xk
g = Fk g k
x k
x
g = F k g
gk =
xk
g =
(11.10)
(11.11)
where
xk
Fk =
x
x
F k =
xk
(11.12)
(11.13)
(11.14)
= F k g k g
F
(11.15)
(11.16)
(11.17)
Since the referential domain is actually the finite element mesh, we consider
the referential domain and the mesh to be the same domain. From Eqs. (11.12) and
(11.13), the following relations hold:
351
xk x
=
Fk F k =
x xk
xk x
= kl
Fk F l =
x xl
(11.18)
(11.19)
(11.20)
(11.21)
based on the motion expressed in Eq. (11.4). The mesh velocity w(x, t) is the time
variation of the spatial position x, holding the referential position x constant based
on the motion expressed in Eq. (11.8). The mesh velocity w(x, t) can be described
as follows:
xk
xk
x
=
g
=
(11.22)
w(x, t) =
Fk g
t x
t x k
t x
If we put
wk =
xk
t x
(11.23)
and
xk
w =
Fk = wk F k
t x
(11.24)
w(x, t) = wk g k = w g = w(x,
t)
(11.25)
= w g
w
(11.26)
then, we get
where
352
11 ALE Formulation
Namely, w(x, t) is the mesh velocity in the spatial domain and w(x,
t) is the one in
the referential, i.e., mesh, domain.
The moving rate of mesh v is defined as the time variation of the referential
position x, holding the material position constant based on the motion expressed in
Eq. (11.7):
x
x
=
g
v(X, t) =
t X
t X
(11.27)
v(X, t) = v g
(11.28)
If we posit
then, we get
v =
x
(X, t)
t X
(11.29)
(11.30)
=w+v F
(11.31)
c=vw =v F
(11.32)
xk
g
x k
(11.33)
353
Finally, we get
ck = vk wk = v
xk
x
(11.34)
(11.35)
g
=
x
(11.36)
where
(11.37)
f k
f k x
+
gk
t x
x t X
f k
f k xl
=
+
v g k
t x xl x
f k
fk
=
cl g k
g +
t x k
xl
f k
fk
gk
=
+
c
g
g
g
l l
t x k
xm m
f
=
+c f
t x
df
=
dt
(11.38)
where
=
gm
xm
(11.39)
354
11 ALE Formulation
Based on Eq. (11.38), the acceleration in the ALE formulation can be expressed as
follows:
vk
vk x
dv
=
+
gk
dt
t x
x t X
dv
=
+ c v
(11.40)
dt x
From Eq. (11.40), we get
dv
=
dt
Dvk
Dt
gk =
vk
vk x
+
gk
t x
x t X
(11.41)
+ cl vk,l = lk,l + bk
t x
e
(11.43)
(11.44)
(11.45)
where , vk , e, kl , qk , and bk represent density, velocity, total energy, total stress, thermal flux, and body force, respectively. Introducing the constitutive laws for kl and
qk , and appropriate boundary and initial conditions, we get the governing equations in
the ALE formulation. Conservation equations of mass, momentum, and total energy
and constitutive laws are defined by the spatial functions. Therefore, strictly speaking, we must transform those equation systems into the forms of referential functions
(Soulaimani and Saad 1998). However, because we apply the ALE formulation for
the period during a short-time increment, we can assume that the movements are
small and thus negligible. Thus, we can use the deformation gradient as
Fi i
(11.46)
355
(11.47)
vl,l = 0
(11.48)
cl = vl wl
(11.34)
where wl is the mesh velocity. For the acoustic velocity formulation of the adiabatic
fluid flows, the governing equation can be expressed as
vk
+ cl vk,l + c p,k vk,kl (vk,l + vl,k ),l = 0
t x
(11.49)
p
+ cl p,l + cvk,k = 0
t
(11.50)
356
11 ALE Formulation
In Fig. 11.6, we can see two zones bordered by the quarter circular arc. One is outside zone, in which all meshes are fixed, and the other is inside zone, in which
meshes are regenerated to compensate for the distortion according to the movement
of the girder. The mesh movement is independent of the fluid flows. Thus, we can
apply ALE formulation for the fluid flows. The girder is assumed to be a rigid body
with three degrees of freedom: horizontal displacement, vertical displacement, and
357
rotation around the barycenter of the girder. The fluid movement on the surface of
the girder is assumed to be the same as that of the fluids.
The computed vorticities are shown in Figs. 11.7 and 11.8. Figure 11.7 shows
the computed vorticity around the girder without wind-resistant wing, and Fig. 11.8
shows the vorticity around the girder with the wing. Comparing those results, we
can see that the wind-resistant wing plays an important role in controlling the flows
around the girder. The optimal determination of the attached angle of the girder
is determined by the adjoint equation method. The precise formulation is found in
Sawanobori and Kawahara (2013).
358
11 ALE Formulation
359
(11.51)
(11.52)
x
= F k vk
xk
(11.53)
v (x, t) = v g = vk
where
v = vk
w(x,
t) = w g = wk
x
g = wk g k = w(x, t)
xk
(11.54)
x
= F k wk
xk
(11.55)
where
w = wk
(11.56)
where ck and v are components of the convective velocity and the moving rate of
mesh, respectively. Multiplying both sides of Eq. (11.56) by F k , we get
F k ck = F k (vk wk ) = v
(11.57)
(11.58)
360
11 ALE Formulation
(11.59)
(11.60)
Equating Eqs. (11.59) and (11.60), and introducing Eq. (11.58), the acceleration in
the referential domain is as follows:
v
v
+ (v w )
(11.61)
a =
t x
x
The conservation equation of mass is already formulated in Eq. (7.44), which is
rewritten as
(11.62)
+ (vk ),k d V = 0
t X
V
where V is the spatial domain, whose surface is denoted by S. The first term of
Eq. (11.62) is transformed into
V
dV =
jdV
t X
t x
V
(11.63)
(11.64)
Let unit outward normals of the surface S and of the surface S be n k and N ,
respectively. Then the Nansons formula is written as follows:
n k d S = jF k N dS
(11.65)
Using Eqs. (11.53) and (11.65), the second term of Eq. (11.62) can be transformed
into
361
(vk ),k d V =
V
(vk n k )d S
S
( j Fk v F k N )dS
=
( jv N )dS =
( jv ), dV
S
S
(11.66)
Based on Eqs. (11.63) and (11.66), the conservation equation of mass in the referential
domain can be obtained:
+ ( jv ), = 0
(11.67)
j
t x
The conservation equation of momentum is formulated in Eq. (7.65), which is rewritten as follows:
(ak + f k + lk,l )d V = 0
(11.68)
V
where V is the spatial domain, the surface of which is denoted by S. The acceleration
in the spatial domain is expressed as ak , the body force is f k , and total stress is kl ,
which is called as the Cauchy stress. We can transform Eq. (11.68) into the equation
in the referential domain. The first and second terms are transformed into
(ak )d V =
(a k ) jdV
(11.69)
V
V
( f k )d V =
( fk ) jdV
(11.70)
V
Using Eq. (11.53), the third term in Eq. (11.65) is also transformed into the following
form:
kl F l N )dS
(lk,l )d V = (kl n l )d S =
( j
V
S
S
kl F l ), dV
( j
(11.71)
=
V
Based on Eqs. (11.69)(11.71), the conservation equation of momentum in the referential domain is expressed as follows:
kl F l ),
ja k = j fk ( j
(11.72)
kl F l
Pk = j
(11.73)
If we posit
362
11 ALE Formulation
(11.74)
(11.75)
(11.76)
=
= F l
xl
x xl
x
(11.77)
dkl =
(11.78)
and
dmm = F m
( Fm v )
x
(11.79)
The governing equations in the referential domain are Eqs. (11.67) and (11.74) with
appropriate boundary and initial conditions.
363
for practical use. The ALE formulation is closely related to the mesh refinement. The
stable computation can be performed with the remeshing procedure. In this area, a
number of research topics remain to be explored, e.g., the choice of mesh velocity,
solution procedures for highly nonlinear equations, mechanical conditions on the
boundary of the two phase flows, which were treated in Sects. 9.4 and 8.5.8, etc.
References
Aliabadi SK, Tezduyar TE (1993) Space-time finite element computation of compressible flows
involving moving boundaries and interfaces. Comput Methods Appl Mech Eng 107:209223
Anju A, Maruoka A, Kawahara M (1997) Fluid-structure interaction problems by an arbitrary
Lagrangian-Eulerian finite element method. Int J Comput Fluid Dyn 8:19
Arikawa T, Yamano T, Akiyama M (2010) Advanced deformation method for breaking waves by
using CADMAS-SURF/3D. J Jpn Soc Civ Eng Ser B 1:610
Arnold DN, Brezzi F, Fortin M (1984) A stable finite element for the Stokes equation. Calcolo
23:337344
Arbogast T, Wheeler MF (1995) A characteristic mixed finite element method for advection dominated transport problems. SIAM J Numer Anal 32(2):404424
Baiocchi C, Brezzi F, Franca LP (1993) Virtual bubbles Galerkin-least-squares type method (GaLS).
Comput Methods Appl Mech Eng 105:125141
Beau G, Lee J, Tezduyar TE (1991) Finite element computation of compressible flows with the
SUPG formulation. Adv Finite Elem Anal Fluid Dyn Asme, Fed 123:2127
Behr M, Tezduyar TE (1994) Finite element solution strategies for large-scale flow simulations.
Comput Methods Appl Mech Eng 112:324
Bochev P, Gunzburger M (2004) An absolute stable pressure-poisson stabilized finite element
method for the Stokes equations. SIAM J Numer Anal 42(3):11891207
Bonet J, Wood RW (2008) Nonlinear continuum mechanics for finite element analysis. Cambridge
University Press, Cambridge
Brackbill JU, Kothe DB, Zemach C (1992) Continuum method for modeling surface tension. J
Comput Phys 100:335354
Brooks AN, Hughes TJR (1982) Streamline Upwind/Petrov-Galerkin formulations for convection
dominated flows with particular emphasis on the incompressible Navier-Stokes equations. Comput Methods Appl Mech Eng 32:199259
Brezzi F, Bristeau MO, Mallet M, Roge G (1992) A relationship between stabilized finite element
methods and the Galerkin method with bubble functions. Comput Methods Appl Mech Eng
96:117129
Carey GF, Oden JT (1986) Finite elements. In: Fluid mechanics, vol 6. Prentice Hall Ltd
Cheng SW, Dey TK, Shewchuk JR (2012) Delaunay mesh generation. CRC Press, Chapman and
Hall, Boca Raton
Chorin AJ (1968) Numerical solution of the Navier-Stokes equations. Math Comput 22:745762
365
366
References
Chorin AJ (1997) A numerical method for solving incompressible viscous flow problems. J Comput
Phys 135:118125
Coleman TF, Van Loan CF (1988) Handbook for matrix computation. SIAM, Frontiers in applied
mathematics
Corthwaite J (2013) Pressure poisson method for the incompressible Navier-Stokes equations using
galerkin finite elements. Electronic Theses & Dissertations, Paper 831
Demokowicz L, Rachowicz W (1987) On a characteristic finite element method for compressible
gas-dynamics. I. J Eng Sci 25(10):12591281
Donea J (1984) A Taylor-Galerkin method for convective transport problems. Int J Numer Methods
Eng 20(1):101119
Donea J, Giuliani S, Laval H, Quartapelle L (1984) Time-accurate solution of advection-diffusion
problems by finite elements. Comput Methods Appl Mech Eng 45:123145
Donea J, Huerta A (2003) Finite element method for flow problems. Wiley, New York
Donea J, Huerta A, Ponthot JP, Rodrguez-Ferran A (2004) Chapter 14, Arbitrary LagrangianEulerian methods. Encyclopedia of computational mechanics. In: Stein E, de Borst R, Hughes
TJR (eds) Fundamentals, vol 1. Wiley, New York
Drikakis D (2005) The artificial compressibility method. Springer, New York
Duarte F, Gormaz R, Natesan S (2004) Arbitrary Lagrangian-eulerian Method For Navier-stokes
Equations With Moving Boundaries. Comput Methods Appl Mech Eng 193:48194836
Elkadri E, N. E, Soulaimani A, Deschnes C, (2000) A finite element formulation of comprehensible
flows using various set of independent variables. Comput Methods Appl Mech Eng 181:161189
Eringen AC (1967) Mechanics of continua. Wiley, New York
Fortin M, Fortin A (1985) Newer and newer elements for incompressible flow, finite elements in
fluids, vol 6. Wiley, New York
Franca LP, Farhat C (1995) Bubble functions prompt unusual stabilized methods. Comput Methods
Appl Mech Eng 123:259299
Fumoto K, Kusuhara S, Oryu T, Suzawa M, Yoshizumi F, Hirai Y (2005) Large-scale wind tunnel test
of super long suspension bridge with slotted one-box girder. In: Proceedings of 6th Asia-pacific
conference wind engineering
Ghia U, Ghia KN, Shin CT (1982) High-Re solutions for incompressible flow using the NavierStokes equations and a multigrid method. J Comp Phys 48(1):387411
Golub GH, Van Loan CF (2013) Matrix computations, 4th edn. The John Hopkins University Press,
Baltimore
Gresho PM, Chan ST, Upson C, Lee RL (1984) A modified finite element method for solving the
time-dependent incompressible Navier-Stokes equations. Int J Numer Methods Fluids, vol 4, Part
1: Theory, pp 557597, Part 2: Applications, pp 619640
Gresho PM, Sani RL (2000) Incompressible flow and the finite element method, vols 1 and 2. Wiley,
New York
Guermond J-L, Quartapelle L (1998) On stability and convergence of projection methods based on
pressure poisson equation. Int J Numer Methods Fluids 26:10391053
Hayashi M, Hatanaka K, Kawahara M (1991) Lagrangian finite element method for free surface
Navier-Stokes flow using fractional step methods. Int J Numer Methods Fluid 13:805840
Hirt CW, Nicols BD (1981) Volume of fluid (VOF) method for dynamics of free boundaries. J
Comput Phys 39:201225
Hopman T (2002) Introduction to indicial notation. http://jjmc.bol.ucla.edu/indicial2.pdf
Hughes TJR, Liu WK, Zimmermann TK (1981) Lagrangian-Eulerian finite element formulation
for incompressible viscous flows. Comput Methods Appl Mech Eng 29:329349
Hughes TJR, Franca LP, Balestra M (1986) A new finite element formulation for computational fluid
dynamics: V. Circumventing the Babuska-Brezzi condition: a stable Petrov-Galerkin formulation
of the Stokes problem accommodating equal-order interpolations. Comput Methods Appl Mech
Eng 59:8599
Hughes TJR, Mallet M (1986) A new finite element formulation for computational fluid dynamics:III. Comput Methods Appl Mech Eng 58:305328
References
367
Hughes TJR, Scovazzi G, Tezduyar TE (2010) Stabilized methods for compressible flows. J Sci
Comput 43(3):343368
Hughes TJR, Tezduyar TE (1984) Finite element methods for first-order hyperbolic systems with
particular emphasis on the compressible euler equations. Comput Methods Appl Mech Eng
45:217284
Iannelli J (2006) Characteristic finite element methods in computational fluid dynamics. Springer,
New York
Jackson CP, Cliffe KA (1981) Mixed interpolation in primitive variable finite element formulations
for incompressible flows. Int J Numer Methods Eng 17:16591688
Jiang CB, Kawahara M (1993) A three-step finite element method for unsteady incompressible
flows. Comput Mech 11:355370
Kawahara M, Yoshimura N, Nakagawa K, Ohsaka K (1976) Steady and unsteady finite element
analysis of incompressible viscous fluid flow. Int J Numer Methods Eng 10:437456
Kawahara M, Hirano H (1983a) A finite element method for high Reynolds number viscous fluid
flow using two step explicit scheme. Int J Numer Methods Fluid 3:137163
Kawahara M, Hirano H (1983b) Two step explicit finite element method for high Reynolds number
viscous fluid flow. Proc Jpn Soc Civil Eng 329:127140
Kawahara M, Hirano H, Kodama T (1984) Two-step explicit finite element method for high Reynolds
number flow passed through oscillating body. Finite element in fluids, vol 5. Wiley, pp 227262
Kawahara M, Miwa T (1984) Finite element analysis of wave motion. Int J Numer Methods Eng
20:11931210
Kawahara M, Anju A (1988) Lagrangian finite element method for solitary wave propagation.
Comput Mech 3:299307
Kurahashi T, Hikichi R, Koguchi H (2012) Study on two phase flow in micro channel based on
experiments and numerical examinations. In: 10th world congress on computational mechanics,
So Paulo, Brazil
Leigh DC (1968) Nonlinear continuum mechanics. McGraw-Hill Inc, New York
Lewis RW, Nithiarasu P, Seetharamu KN (2004) Fundamentals of the finite element method for
heat and fluid flow. Wiley, Chichester
Lo SH (2015) Finite element mesh generation. CRC Press, Boca Raton
Lhner R (2008) Applied computational fluid dynamics techniques. Wiley, Bracknell
Madsen PA, Schffer HA (2005) A discussion of artificial compressibility. Coast Eng 53:9398
Malan AG, Lewis RW, Nithiarasu P (2002) An improved unsteady, unstructured, artificial compressibility, finite volume scheme for viscous incompressible flows: part i. theory and implementation.
Int J Numer Methods Eng 54(5):695714
Maruoka A, Hirano H, Shimura M (2001) Three dimensional numerical flow simulation around
parallel rectangular cylinders. Int J Comput Fluid Dyn 15:4756
Maruoka A, Uchiyama I, Kawahara M (2016) Propagation of solitary wave analysis by acoustic
velocity method. Int Conf Hydrosci Eng (to be published)
Matsumoto J, Kawahara M (2001) Shape identification for fluid-structure interaction problem using
improved bubble element. Int J Comput Fluid Dyn 15:3345
Matsumoto J, Khan AA, Wang SY, Kawahara M (2002) Shallow water flow analysis with moving
boundary technique using least-squares bubble function. Int J Comput Fluid Dyn 16:129134
Matsumoto J (2005) A relationship between stabilized FEM and bubble function element stabilization method with orthogonal basis for incompressible flows. J Appl Mech Jpn Soc Civil Eng
8:233242
Matsumoto J, Kawahara M (2006) A fractional step method for incompressible viscous flow based
on bubble function element stabilization method. Int J Comput Fluid Dyn 20(34):145155
Mase GT, Mase GE (1999) Continuum mechanics for engineers, 2nd edn. CRC Press LIC, Boca
Raton
Maury B (1996) Characteristic ALE method for the unsteady 3D Navier-Stokes equations with a
free surface. Int J Comput Fluid Dyn 6:175188
368
References
Nakajima S, Kawahara M (2000) Three dimensional analysis for incompressible viscous flow by
hexahedral bubble element. In: ECCOMAS 2000. Barcelona, Spain
Nakajima S, Kawahara M (2010) Two dimensional shape optimization using partial control and
finite element method for compressible flows. Comput Methods Appl Mech Eng 199:31113124
Nakajima S, Kawahara M (2010) New Finite Element Formulation Based On Bubble Function
Interpolation For The Transient Compressible Euler Equations. Int J Numer Method Biomed
Eng 26:10301049
Nasu S, Nojima K, Kawahara M (2013) SUPG finite element method for adiabatic flows. Comput
Math Appl 66:250268
Nojima K, Kawahara M (2011) A research of effect of the initial shape on the drag-reducing
shape determination problem. In: 16th international conference finite elements in flow problems.
Mnchen
Nomura T (1992) Application of predictor-corrector method to ALE finite element analysis of flowstructure interaction problems and associated computational techniques. Proc Jpn Soc Civil Eng
455:5563
Nomura T, Hughes TJR (1992) An arbitrary Lagrangian-Eulerian finite element method for interaction of fluid and a rigid body. Comput Methods Appl Mech Eng 95:115138
Oden JT (1970) A finite-element analogue of the Navier-Stokes equations. Proceedings of ASCE,
Journal of the engineering mechanics 96(EM4):529534
Okamoto T, Kawahara M (1992) Two-dimensional sloshing analysis by the arbitrary LagrangianEulerian finite element method. In: Proceedings of the Japan Society of Civil Engineers, vol
441/I-18, pp 3948
Okauchi K, Ito M, Miyata T (1977) Wind resistant structures, Maruzen Co. (in Japanese)
Okumura H (2014) A study of CUDA parallel computation and visualization on-boad GPU for the
three-dimensional free surface flow simulater CADMAS-SURF/3D for designing seawall coastal
and maritime structures. In: Proceedings of information technology centre, Toyama University
Okumura H, Kawahara M (2000) Shape optimization of body located in incompressible NavierStokes flow based on optimal control theory. Comput Methods Eng Sci 1(2):7177
Okumura H, Kawahara M (2003) A new stable bubble element for in compressible fluid flow based
on a mixed Petrov-Galerkin finite element formulation. Int J Comput Fluid Dyn 17(4):275282
Okumura H, Arikawa T (2014) A study of CUDA/MPI parallel computations for CADMASSURF/3D. In: Proceedings of 24 international ocean and polar engineering conference. Busan,
Korea
Pierre R (1988) Simple C0 approximation for the computation of incompressible flows. Comput
Methods Appl Mech Eng 68:205227
Pierre R (1995) Optimal selection of the bubble function in the stabilization of the P1 -P1 element
for the Stokes prolblem. SIAM, J Numer Anal Eng 32:12101224
Pironneau O (1982) On the transport-diffusion algorithm and its applications to the Navier-Stokes
equations. Numer Math 38:309332
Pironneau O (1988) Finite element methods for fluids. Wiley, Chichester
Ramaswamy B, Kawahara M (1987) Arbitrary Lagrangian-Eulerian finite element method for unsteady, convective, incompressible viscous free surface fluid flow. Int J Numer Methods Fluids
7:6587
Ramaswamy B, Kawahara M (1987) Arbitrary Lagrangian-Eulerian finite element method for unsteady, convective, incompressible viscous free surface fluid flow. Int J Numer Methods Fluids
7:10531075
Sawanobori H, Kawahara M (2013) Shape determination of wind-resistent wings attached to an
oscillating bridge using adjoint equation method. Comput Methods Appl Mech Eng 254:254270
Sedov LI (1971) A course in continuum mechanics, vol. 1: basic equations and analytical techniques,
Wolters-Noordhoff Publishing, Groningen
Shewchuk JR (2012) Lecture notes on delaunay mesh generation. http://www.cs.berkeley.edu/~jrs/
meshpapers/delnotes.pdf
References
369
Shi DY, Wang XL (2009) A low order anisotropic non comforming characteristic finite element
method for a convection dominated transport problem. Appl Math Comput 213(2):411418
Simo JC, Armero F, Taylor C (1995) Galerkin finite element methods with bubble for advection
dominated incompressible Navier-Stokes. Int J Numer Methods Eng 38:14751506
Soulaimani A, Saad Y (1998) An arbitrary Lagrangian-Eulerian finite element method for solving
three-dimensional free surface flows. Comput Methods Appl Mech Eng 162:79106
Street RL, Camfield FE (1966) Observations and experiments on solitary wave deformation. In:
Coastal engineering proceedings 10, ASCE
Taylor C, Hood P (1973) A numerical solution of the Navier-Stokes equations using the finite
element technique. Comput Fluids 1:73100
Temam R (1968) Une Mthode dApproximation de la Solution des quations de Navier-Stokes.
Bull Soc Math 96:115152
Temam R (2001) Navier-Stokes equations: theory and numerical analysis. American Mathematical
Society
Terachi K, Kawahara M (2010) Shape optimization of a body located in viscous flows using acoustic
velocity method. Chuo University, Internal Paper in Kawahara Laboratory
Tezduyar TE, Mittal S, Ray SE, Shih R (1992) Incompressible flow computations with stabilized
bilinear and linear equal-order-interpolation velocity-pressure elements. Comput Methods Appl
Mech Eng 95:221242
Tezduyar TE, Osawa Y (2000) Finite element stabilization parameters computed from element
matrices and vectors. Comput Methods Appl Mech Eng 190:411430
Tezduyar TE, Senga M (2006) Stabilization and shock-capturing parameters in SUPG formulation
of compressible flows. Comput Methods Appl Mech Eng 195:16211632
Tezduyar TE, Takizawa K, Brummer T, Chenand PR (2011) Space-time fluid-structure interaction
modeling of patient-specific cerebral aneurysms. Int J Numer Methods Biomed Eng 27:1665
1710
Uchiyama I, Kawahara M (2015) Finite element analysis of adiabatic flows. In: 13th U.S. national
congress on computational mechanics, San Diego, USA
Vellando P, Puertas J, Colominas I (2002) SUPG stabilized finite element resolution of the NavierStokes equations, applications to water treatment engineering. Comput Methods Appl Mech Eng
191:58995922
Watanabe S, Fumoto K (2008) Aerodynamic study of slotted box girder using computational fluid
dynamics. Int J Wind Eng Ind Aerodyn 96:18851894
Watkins DS (2010) Fundamentals of matrix computations, 3rd edn. Wiley, New York
Yamada T (1995) A bubble element for inviscid flow. Finite Ele Fluids 9:15671576
Yamada T (1998) A bubble element for the compressible Euler equations. Int J Comput Fluid Dyn
9:273283
Zienkiewicz OC, Taylor RL, Nithiarasu P (2014) The finite element method for fluid Dynamics,
7th edn. Elsevier
Zienkiewicz OC, Taylor RL, Zhu JZ (2014) The finite element method: its basis and fundamentals,
7th edn. Elsevier
Index
A
acceleration, 209, 354, 360
acoustic velocity, 4, 230, 304, 305
acoustic velocity method, 276, 302, 303, 314
additional artificial viscosity, 252, 255
adiabatic flow method, 302
adiabatic state, 229
adiabatic two-phase immiscible fluid, 286
advection, 99
advection_diffusion, 132
ALE formulation, 314, 356
ALE method, 347
amplification factor, 107
amplitude, 107
applied external force, 19
arbitrary LagrangianEulerian method, 347
area coordinate, 123, 162, 164, 165
area of a triangle, 62
array dimension, 176
artificial viscosity, 111, 112, 127, 128, 241,
251, 308, 326, 329
artificial viscosity term, 319
asymmetric matrix, 263
attack angle, 271
B
balancing tensor diffusivity scheme, 120
barycentric node, 122, 241, 332
base vector, 206
biconjugate gradient iteration method, 263
Birch-Murnaghan equation, 277, 286
body, 206, 208
body force, 220
bound, 176
371
372
connectivity matrix, 13, 15, 68, 71
connectivity relation, 40, 52
conservation equation of energy, 222
conservation equation of mass, 361
conservation equation of momentum, 361
conservation equations, 354
conservation form, 297, 322
conservation law, 211
conservation of energy, 219, 321
conservation of mass, 213, 236, 276, 320
conservation of momentum, 215, 236, 276,
320
conservation of substance transport, 214
constitutive equation, 158, 217, 236, 276,
320
convective velocity, 352, 359
coordinate, 206
Courant-Fridrich-Levy condition, 105
Crank-Nicolson scheme, 104, 112, 148, 155,
336
creeping flow, 157
creeping_flow, 175
curvature, 289, 291
D
deformation equation, 7, 9, 11
deformation gradient, 218, 350
deformation of spring, 9
deformation rate, 32, 218, 362
degrees of freedom, 175
Delaunay triangularization method, 355
density, 333
detached breakwater, 262, 265
deviatoric deformation rate, 225, 227
differentiation, 169
diffusion, 99
discontinuity condition of mass, 232
discontinuity condition of momentum, 232
discontinuity of density, 288
displ, 40
displacement, 9, 14
drag force, 271
E
edge force, 9
entropy, 223
entropy supplied by the internal source, 223
equation of continuity, 157, 214, 267, 304
equation of motion, 216, 305
equation of state, 227, 277, 302, 321
equation of state in terms of internal energy
and pressure, 229
Index
equation of thermal flux, 227
equilibrium, 71, 78
equilibrium equation, 7, 11
equilibrium of internal force, 217
equilibrium of total stress, 158
equivalent velocity, 67, 70, 78
essential boundary condition, 58
Eulerian method, 290, 347
explicit Euler finite element method, 278
explicit method, 283
explicit scheme, 104, 109, 115, 119, 155
external force, 12
external load, 11
F
finite, 176
finite element equation, 11, 15, 16, 35, 68,
121, 332
finite element equation of the acoustic velocity method, 309
finite element mesh, 280
first law of thermodynamics, 220
flows around a girder bridge, 355
flows around bullet train, 339
flows in a cavity, 280
flux, 40
flux of entropy, 223
flux of flow, 32
flux of momentum, 215
fractional step method, 4, 256, 262, 269
free surface position, 262
G
Galerkin method, 31, 33, 34, 63
gas constant, 228
Gauss integration, 67
global coefficient matrix, 80, 177
global coordinate, 8, 31, 61
global finite element equation, 18, 22, 36, 38,
40, 41, 67, 69, 74, 101, 103, 119, 160,
175, 199, 280, 332
global finite element matrix, 42, 86
global form, 212
global form of the finite element method, 247
global matrix, 52
governing equation of substance transport,
215
graphic processing unit, 263
H
heat flux, 220
heat input, 220
Index
heat source, 220
Helmholtz free energy, 225
Hermit interpolation function, 286, 289
hydrostatic pressure, 219
I
IBTD method, 268
ideal gas, 227, 277
ideal gas assumption, 228
ILU-BiCG method, 263
implicit BTD scheme, 121
implicit method, 104, 111, 155, 286
improved balancing tensor diffusivity
(IBTD) scheme, 265, 269
incomplete factorization, 263
incompressibility, 214
incompressible flow method, 302
incompressible flows, 236
indata, 40
indicial notation, 3, 4
infinitesimal area per unit time, 212
initial condition, 237, 278, 321
initial configuration, 314
input, 82, 176
input-data, 133
integral formula, 165
integration in time, 298
interface condition, 231
interface position, 234, 290
interface translocation method, 286
interfacial tension, 233
internal dissipation, 224
internal energy, 219, 220, 228, 321
internal energy by heat, 220
internal production, 223
interpolation function, 34, 61, 62, 101, 122,
161, 162, 165, 167169, 240, 242,
254, 279, 306, 333
invariant, 218
inverse, 133, 138
inviscid flow, 228
irreversible process, 224
iso-parametric linear element, 270
K
kinetic energy, 219, 220
known displacements, 19
known potential, 68
known term, 103, 134
Kronecker delta function, 3
373
L
Lagrangian method, 347
Laitone first order formula, 311
Laplace equation, 58
lift force, 271
linear bubble function, 256
linear interpolation function, 62, 125, 165,
283, 297, 314, 331, 333
linearized advection term, 253
linearlized velocity, 250
linear polynomials, 161
linear shape function, 306, 307
linear weighting function, 125
local coefficient matrix, 52, 177
local coordinate system, 31
local finite element equation, 18, 33, 63, 66,
67, 103, 106, 118, 160
local finite element matrix, 86
local form, 212, 241
local matrix, 52
lumping technique, 111, 119, 280
M
Mach number, 305
material derivative, 4
material description, 207
material domain, 349
material points, 206
material rate of change, 353
material time rate, 210
material volume, 206
matinv, 139
matrix, 82, 133
matrix form, 174
Mayer relation, 228
mechanical power, 220
member coordinate system, 8
mesh refinement, 348
mesh velocity, 351, 359
message passing interface, 263
mixed interpolation, 157, 160, 165, 175, 179,
197, 240, 258
momentum, 333
motion, 208, 351
moving boundary problems, 347
moving rate of mesh, 352, 359
N
Nansons formula, 360
natural boundary condition, 59
neutral, 108
NewtonRaphson iteration, 314
374
node, 7
non-symmetric coefficient matrix, 258
normal interpolation, 189
numbering convention, 81
numerical instability, 241
numerical integration in time, 119
O
one dimensional element, 106
outdata, 40
output, 133
P
partial derivative fixing material point, 209
permutation function, 3
Petrov-Glerkin method, 117, 333
PiolaKirchhoff stress of the first kind, 362
pipeline system, 31
pipeline_system, 39, 45
pitching moment, 271
Poisson law, 230
Poisson type of equation of state, 318
position, 206, 349
position vector, 206
potent, 82, 139
potential, 86
potential flow, 57
potential_flow, 81, 87
predictorcorrector iteration method, 348
pressure coefficient, 272, 302, 310
pressure density equation, 230
pressure Poisson equation, 257
pressure Poisson equation method, 4, 256
production per unit mass per unit time, 212
Q
quadratic polynomial, 161
quasi-explicit scheme, 104, 108
R
ratio of the specific heat, 228
reaction equation, 20
reaction force, 12
referential domain, 347, 349, 359, 360
referential position, 350
residual, 76
results, 176
reversible process, 224
Reynolds number, 305
Index
rotating cone, 148
rule of thumb, 81
S
seawall, 265
second-order
approximate
variational
method, 348
second-order polynomial, 166
selective lumping parameter, 280, 308
shape function, 62, 77, 101, 161, 167
shock capturing, 301
six-node triangular element, 160
Smagorinsky SGS model, 269
solitary wave propagation, 311
solution of simultaneous equation, 53
spatial description, 208
specific heat, 228
specific heat at constant pressure, 228, 321
specific heat at constant volume, 227, 228,
321
spring constant, 9
spring force, 9
spring force equation, 15
spring forces, 11, 20
spring structure, 7
stability condition, 109
stability control terms, 255
stability with the second-order interpolation
function, 115
stability with viscosity, 113, 120
stabilization parameter, 250, 253, 297, 309,
329, 333, 335, 337
stabilized bubble function method, 248
stabilized method, 273, 326
stable, 108
standard bubble function, 253
standard bubble function interpolation, 262
static equilibrium, 217
stiff, 40
Stokes equation, 158
stress, 216
stress equilibrium, 217
substance concentration, 99
summation convention, 3
superposition procedure, 52, 86
SUPG finite element equation, 300, 335
SUPG finite element method, 253, 294, 333
SUPG method, 269, 276, 297, 308, 319, 336
SUPG scheme, 117, 121, 126, 148, 155, 251
SUPG term, 118, 294
surface stress, 289
surface tension coefficient, 233, 292
Index
suspension bridge, 269
Sutherlands law, 340
sweep, 40, 82, 176
symmetric coefficient matrix, 63
systematic formulation, 21
375
unconditionally unstable, 105, 114, 116
unconditionally unstable scheme, 109
unknown displacements, 18
unknown equivalent velocity, 75
unknown potential, 68, 74
unstable, 108
upstream points, 284
upstream position, 285
T
Taylor expansion, 120
temperature, 223
temperature pressure equation, 231
thermal conduction coefficient, 321
thermal conduction equation, 227
thermal flux, 321
thermal flux equation, 229
third-order B-spline function, 291
three dimensional solitary wave propagation, 314
three-node triangular element, 161
time increment, 103
time marching scheme, 132
total energy, 219, 321, 322, 333
total entropy, 223
traction force, 216
transport phenomena, 99
triangular elements, 59
two-dimensional steady flow, 159
two-phase flows, 286
two phase flows in Y-shape channel, 258
two-phase immiscible fluid, 291
two-step explicit scheme, 109, 308
W
weighted average, 76
weighted residual equation, 59, 76, 101, 117,
127, 160, 239, 248, 255, 258, 268,
278, 286, 298, 306, 330, 337
weighted residual equation of the Petrov
Galerkin type, 294
weighting function, 33, 60, 61, 63, 76, 101,
117, 124, 161, 239, 240, 254, 279,
297, 306, 308, 327, 333, 337
wind-resistant wing, 357
U
unconditionally stable scheme, 112
Z
Zero element, 3
V
vectorial notation, 3, 208
velocity, 69, 82, 87, 208, 351, 359
virtual bubble function, 253, 254, 256
virtual bubble weighting function, 254
viscosity coefficient, 158
VOF function method, 262