Preface |
|
xv | |
|
1 Introduction (Engineering Modelling and Analysis) |
|
|
1 | |
|
|
1 | |
|
|
5 | |
|
1.3 Engineering modelling |
|
|
6 | |
|
|
7 | |
|
1.5 Modern engineering computing |
|
|
8 | |
|
|
9 | |
|
|
10 | |
|
2 Introduction (Accuracy, Speed and Algorithms) |
|
|
11 | |
|
|
11 | |
|
2.2 A brief history of computers and computing |
|
|
12 | |
|
2.3 Topics and their focus |
|
|
14 | |
|
2.4 Topics and their connections |
|
|
15 | |
|
2.5 Developing computing skills |
|
|
17 | |
|
|
18 | |
|
|
18 | |
|
3 Roots of Equations (Introduction) |
|
|
19 | |
|
|
19 | |
|
|
20 | |
|
3.3 Engineering problems requiring root finding |
|
|
21 | |
|
|
23 | |
|
|
24 | |
|
|
25 | |
|
4 Roots of Equations (Bracket Methods) |
|
|
27 | |
|
|
27 | |
|
4.2 Bracket methods in general |
|
|
27 | |
|
|
28 | |
|
4.4 Method of false position (regula falsi) |
|
|
30 | |
|
|
32 | |
|
4.6 Application of bisection method in Excel |
|
|
32 | |
|
4.7 Determining start values for bracket methods |
|
|
33 | |
|
|
35 | |
|
5 Roots of Equations (Open Methods) |
|
|
37 | |
|
|
37 | |
|
5.2 Simple one-point iteration |
|
|
37 | |
|
5.3 Newton-Raphson method |
|
|
38 | |
|
|
39 | |
|
|
40 | |
|
5.6 Other problems and general considerations |
|
|
41 | |
|
5.7 Case study: pollutant transport in a river |
|
|
42 | |
|
5.8 Case study: wet detention treatment basins |
|
|
42 | |
|
|
43 | |
|
6 Numerical Integration (Trapezoidal Rule) |
|
|
45 | |
|
|
45 | |
|
|
48 | |
|
6.3 Worked example: cumulative normal probability |
|
|
49 | |
|
6.4 Sources of error with the trapezoidal rule |
|
|
50 | |
|
|
51 | |
|
7 Numerical Integration (Simpson's Rule) |
|
|
53 | |
|
|
53 | |
|
|
55 | |
|
7.3 An efficient Simpson's rule |
|
|
55 | |
|
7.4 Integration in Matlab |
|
|
56 | |
|
|
58 | |
|
8 Numerical Interpolation (Newton's Method) |
|
|
61 | |
|
|
61 | |
|
|
62 | |
|
8.3 Newton's linear interpolation |
|
|
63 | |
|
8.4 Newton's quadratic interpolation |
|
|
64 | |
|
8.5 General form of Newton's polynomials |
|
|
65 | |
|
8.6 Lagrange's interpolating polynomials |
|
|
67 | |
|
8.7 Polynomial interpolation in practice |
|
|
68 | |
|
8.8 Polynomial interpolation in Excel |
|
|
69 | |
|
8.9 Polynomial interpolation in Matlab |
|
|
70 | |
|
|
70 | |
|
9 Numerical Interpolation (Cubic Splines and Other Methods) |
|
|
73 | |
|
|
73 | |
|
|
73 | |
|
9.3 Trigonometric interpolation |
|
|
77 | |
|
9.4 Other methods of interpolation |
|
|
79 | |
|
|
80 | |
|
|
80 | |
10 Systems of Linear Equations (Introduction) |
|
83 | |
|
|
83 | |
|
|
84 | |
|
|
85 | |
|
|
85 | |
|
10.5 Elimination of unknowns |
|
|
86 | |
|
|
87 | |
|
10.7 Problems and their solution for Gauss elimination |
|
|
89 | |
|
|
90 | |
11 Systems of Equations (Gauss-Seidel Method) |
|
93 | |
|
|
93 | |
|
|
96 | |
|
|
97 | |
|
|
97 | |
12 Systems of Equations (LU Decomposition and Thomas Algorithm) |
|
99 | |
|
|
99 | |
|
|
100 | |
|
12.3 Banded matrices and the Thomas algorithm |
|
|
103 | |
|
12.4 Example of a banded matrix |
|
|
104 | |
|
|
105 | |
13 Ordinary Differential Equations (Euler's Method) |
|
107 | |
|
|
107 | |
|
13.2 Ordinary differential equations in engineering |
|
|
108 | |
|
13.3 Pre-computer methods of solving ODEs |
|
|
111 | |
|
|
112 | |
|
|
112 | |
|
13.6 Chaotic behaviour in solutions |
|
|
114 | |
|
13.7 Modified Euler method |
|
|
115 | |
|
|
115 | |
14 Ordinary Differential Equations (Henn and Runge-Kutta Methods) |
|
117 | |
|
|
117 | |
|
|
117 | |
|
|
119 | |
|
14.4 Computational effort |
|
|
120 | |
|
14.5 Adaptive step methods |
|
|
120 | |
|
14.6 Integration using ODE techniques |
|
|
122 | |
|
|
122 | |
15 Finite Difference Modelling (Introduction) |
|
123 | |
|
|
123 | |
|
15.2 First-order finite difference approximations |
|
|
125 | |
|
15.3 Higher-order finite difference approximations |
|
|
126 | |
|
15.4 Second derivative approximations |
|
|
128 | |
|
15.5 Application of finite difference method |
|
|
128 | |
|
15.6 Selecting the space step |
|
|
129 | |
|
15.7 Selecting the time step |
|
|
129 | |
|
|
130 | |
16 Finite Difference Modelling (Laplace's Hot Plate) |
|
133 | |
|
|
133 | |
|
16.2 Elliptic finite difference techniques |
|
|
134 | |
|
|
136 | |
|
16.4 Coding Liebmann's method in Fortran |
|
|
138 | |
|
|
139 | |
17 Finite Difference Modelling (Solution of Pure Convection Equation) |
|
141 | |
|
|
141 | |
|
17.2 Selecting the space step size |
|
|
141 | |
|
17.3 Deriving the finite difference approximation |
|
|
142 | |
|
17.4 Worked example in Excel |
|
|
143 | |
|
17.5 Stability, accuracy and other issues |
|
|
145 | |
|
|
148 | |
18 Finite Difference Modelling (Solution of Pure Diffusion Equation) |
|
149 | |
|
|
149 | |
|
18.2 Selecting the space step size |
|
|
149 | |
|
18.3 Deriving the finite difference approximation |
|
|
150 | |
|
|
152 | |
|
18.5 Coding the heat equation in Fortran |
|
|
154 | |
|
18.6 Heated bar simulation |
|
|
154 | |
|
|
156 | |
19 Finite Difference Modelling (Solution of Full Transport Equation) |
|
159 | |
|
|
159 | |
|
19.2 Deriving the finite difference approximation |
|
|
159 | |
|
19.3 Verification of finite difference approximation |
|
|
160 | |
|
19.4 Case study: thermal river pollution |
|
|
162 | |
|
|
162 | |
20 Finite Difference Modelling (Alternate Schemes) |
|
163 | |
|
|
163 | |
|
20.2 Advanced explicit methods |
|
|
163 | |
|
|
164 | |
|
20.4 Solving implicit methods |
|
|
164 | |
|
20.5 Accuracy and the finite difference |
|
|
166 | |
|
20.6 Lewis Fry Richardson |
|
|
168 | |
|
|
168 | |
21 Probability and Statistics (Descriptive Statistics) |
|
169 | |
|
|
169 | |
|
|
169 | |
|
|
173 | |
|
|
176 | |
22 Probability and Statistics (Population and Sample) |
|
177 | |
|
|
177 | |
|
|
177 | |
|
|
180 | |
|
22.4 Bayes' rule and total probability |
|
|
181 | |
|
|
183 | |
23 Probability and Statistics (Linear Combination of Random Variables) |
|
185 | |
|
|
185 | |
|
|
185 | |
|
23.3 Distribution of the sample mean |
|
|
187 | |
|
|
188 | |
24 Probability and Statistics (Correlation and Regression) |
|
189 | |
|
|
189 | |
|
|
189 | |
|
24.3 Correlation and time series |
|
|
192 | |
|
24.4 Testing a random number generator |
|
|
193 | |
|
24.5 Simple linear regression |
|
|
195 | |
|
24.6 Regression towards the mean |
|
|
198 | |
|
|
199 | |
25 Probability and Statistics (Multiple Regression) |
|
201 | |
|
|
201 | |
|
25.2 Multiple regression model |
|
|
201 | |
|
|
203 | |
|
|
205 | |
|
25.5 Fitting quadratic surfaces |
|
|
208 | |
|
|
210 | |
|
|
212 | |
26 Probability and Statistics (Non-Linear Regression) |
|
215 | |
|
|
215 | |
|
26.2 Non-linear regression example |
|
|
215 | |
|
|
217 | |
27 Probability Distributions (Introduction) |
|
219 | |
|
|
219 | |
|
|
219 | |
|
27.3 Continuous variables |
|
|
220 | |
|
27.4 Probability mass and probability density functions |
|
|
222 | |
|
27.5 Cumulative probability distributions |
|
|
224 | |
|
27.6 Common distributions in engineering |
|
|
224 | |
|
27.7 Uniform distribution |
|
|
225 | |
|
|
226 | |
28 Probability Distributions (Bernoulli, Binomial, Geometric) |
|
227 | |
|
|
227 | |
|
28.2 Properties of the Bernoulli distribution |
|
|
228 | |
|
28.3 Geometric distribution |
|
|
230 | |
|
|
230 | |
|
28.5 Negative binomial distribution |
|
|
231 | |
|
|
231 | |
29 Probability Distributions (Poisson, Exponential, Gamma) |
|
233 | |
|
|
233 | |
|
29.2 Poisson process and Poisson distribution |
|
|
234 | |
|
29.3 Prussian army horses |
|
|
235 | |
|
29.4 Return periods and probability |
|
|
236 | |
|
29.5 Exponential distribution |
|
|
237 | |
|
|
237 | |
|
|
238 | |
|
|
239 | |
30 Probability Distributions (Normal and Log-Normal) |
|
241 | |
|
|
241 | |
|
|
242 | |
|
|
244 | |
|
30.4 Application of normal distribution to diffusion |
|
|
244 | |
|
30.5 Log-normal distribution |
|
|
245 | |
|
|
246 | |
|
|
247 | |
31 Probability Distributions (Extreme Values) |
|
249 | |
|
|
249 | |
|
31.2 Genesis of an extreme value distribution |
|
|
249 | |
|
31.3 The Gumbel distribution |
|
|
250 | |
|
|
251 | |
|
|
252 | |
|
31.6 Generalised Pareto distribution |
|
|
254 | |
|
|
256 | |
32 Probability Distributions (Chi-Square and Rayleigh) |
|
257 | |
|
|
257 | |
|
32.2 Chi-square distribution |
|
|
257 | |
|
32.3 Rayleigh distribution |
|
|
258 | |
|
|
258 | |
33 Probability Distributions (Multivariate) |
|
259 | |
|
|
259 | |
|
33.2 Discrete bivariate distributions |
|
|
259 | |
|
33.3 Bivariate normal distribution |
|
|
260 | |
|
33.4 Multivariate normal distribution |
|
|
263 | |
|
33.5 Continuous multivariate distributions |
|
|
266 | |
|
|
268 | |
34 Monte Carlo Method (Introduction) |
|
269 | |
|
|
269 | |
|
34.2 Illustrative example of Monte Carlo simulation |
|
|
270 | |
|
34.3 Basic procedure for Monte Carlo simulation |
|
|
272 | |
|
|
275 | |
35 Monte Carlo Method (Generation of Random Numbers) |
|
277 | |
|
|
277 | |
|
35.2 Distributions of random numbers |
|
|
278 | |
|
35.3 Uniform distribution |
|
|
279 | |
|
35.4 Exponential distribution |
|
|
280 | |
|
|
281 | |
|
35.6 Log-Normal distribution |
|
|
281 | |
|
35.7 Central limit theorem |
|
|
282 | |
|
35.8 Solution of pollutant dispersion |
|
|
283 | |
|
|
285 | |
36 Monte Carlo Method (Acceptance/Rejection) |
|
287 | |
|
|
287 | |
|
36.2 The Metropolis algorithm |
|
|
288 | |
|
|
290 | |
37 Monte Carlo Method (Metropolis Applications) |
|
291 | |
|
|
291 | |
|
|
291 | |
|
|
294 | |
|
37.4 Parameter uncertainty |
|
|
296 | |
|
|
299 | |
|
|
299 | |
38 Stochastic Modelling (Goodness of Fit and Model Calibration) |
|
301 | |
|
|
301 | |
|
38.2 The method of moments |
|
|
301 | |
|
|
302 | |
|
|
306 | |
|
|
306 | |
|
|
308 | |
39 Stochastic Modelling (Likelihood and Uncertainty) |
|
309 | |
|
|
309 | |
|
|
309 | |
|
|
311 | |
|
|
314 | |
|
|
317 | |
40 Stochastic Modelling (Markov Chains) |
|
319 | |
|
|
319 | |
|
40.2 Regular Markov chains |
|
|
319 | |
|
40.3 Absorbing Markov chains |
|
|
322 | |
|
40.4 Regular Markov processes |
|
|
323 | |
|
|
325 | |
41 Stochastic Modelling (Time Series) |
|
327 | |
|
|
327 | |
|
41.2 Environmental time series applications |
|
|
328 | |
|
41.3 Concepts of time series |
|
|
330 | |
|
41.4 Modelling trends and seasonal effects |
|
|
331 | |
|
41.5 Autoregressive processes |
|
|
334 | |
|
|
335 | |
|
|
336 | |
|
|
337 | |
|
|
338 | |
42 Optimisation (Local Optimisation) |
|
339 | |
|
|
339 | |
|
|
340 | |
|
|
344 | |
43 Optimisation (Global Optimisation) |
|
345 | |
|
|
345 | |
|
43.2 Combinatorial optimisation |
|
|
345 | |
|
|
348 | |
|
|
352 | |
44 Linear Systems and Resonance |
|
353 | |
|
|
353 | |
|
44.2 Mathematical description of linear systems |
|
|
356 | |
|
44.3 Resonance in the coastal environment |
|
|
359 | |
|
44.4 Resonance in structural engineering |
|
|
360 | |
|
|
361 | |
45 Spectral Analysis (Introduction) |
|
363 | |
|
|
363 | |
|
45.2 Frequency and time domains |
|
|
364 | |
|
|
365 | |
|
45.4 The Fourier transform |
|
|
366 | |
|
45.5 Case study #1: earthquake analysis |
|
|
368 | |
|
45.6 Case study #2: pink noise |
|
|
368 | |
|
45.7 Case study #3: red noise |
|
|
369 | |
|
|
370 | |
|
|
371 | |
46 Spectral Analysis (Discrete Fourier Transform) |
|
373 | |
|
|
373 | |
|
46.2 The Fourier transform of discrete data |
|
|
374 | |
|
|
375 | |
|
46.4 The fast Fourier transform in Matlab |
|
|
377 | |
|
46.5 The fast Fourier transform and Excel |
|
|
378 | |
|
46.6 Discrete Fourier transform summary |
|
|
379 | |
|
46.7 The sampling theorem |
|
|
379 | |
|
46.8 Examples from data collection studies |
|
|
381 | |
|
|
382 | |
47 Spectral Analysis (Practical Aspects I) |
|
383 | |
|
|
383 | |
|
|
383 | |
|
47.3 Worked example: water temperature series |
|
|
386 | |
|
|
387 | |
|
47.5 Frequency resolution |
|
|
388 | |
|
|
388 | |
|
|
390 | |
48 Spectral Analysis (Practical Aspects II) |
|
391 | |
|
|
391 | |
|
|
392 | |
|
48.3 Practical aspects of spectral analysis |
|
|
394 | |
|
48.4 Data collection for spectral analysis |
|
|
395 | |
|
|
396 | |
Appendix A: Taylor Series |
|
399 | |
|
|
399 | |
|
A.2 Fundamental Taylor (Maclaurin) series |
|
|
401 | |
|
A.3 Geometric series and convergence |
|
|
401 | |
|
|
403 | |
|
|
403 | |
|
A.6 Finite difference approximation |
|
|
404 | |
|
|
404 | |
Appendix B: Error Function and Gamma Function |
|
407 | |
|
|
407 | |
|
|
408 | |
Appendix C: Complex Sinusoid |
|
409 | |
|
|
409 | |
|
C.2 Coding in Excel and Matlab |
|
|
409 | |
|
C.3 Single mode of vibration |
|
|
410 | |
Appendix D: Open-Source Software |
|
411 | |
|
|
411 | |
|
D.2 Open-source numerical software |
|
|
411 | |
|
D.3 Freely available compilers |
|
|
412 | |
References |
|
413 | |
Index |
|
421 | |