Web-Books
in the Austria-Forum
Austria-Forum
Web-Books
Informatik
Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition
Page - 296 -
  • User
  • Version
    • full version
    • text only version
  • Language
    • Deutsch - German
    • English

Page - 296 - in Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition

Image of the Page - 296 -

Image of the Page - 296 - in Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition

Text of the Page - 296 -

296 9 SolvingPartialDifferentialEquations Parameterscanbeset as L = 0.5 beta = 8.2E-5 N = 40 x = np.linspace(0, L, N+1) dx = x[1] - x[0] u = np.zeros(N+1) U_0 = np.zeros(N+1) U_0[0] = s(0) U_0[1:] = 283 Let us useΞ”t = 1.0. We can now callode_FEand then make an animation on the screen to seehowu(x,t)develops in time: from ode_system_FE import ode_FE u, t = ode_FE(rhs, U_0, dt, T=1*60*60) # Make movie import os os.system(’rm tmp_*.png’) import matplotlib.pyplot as plt plt.ion() y = u[0,:] lines = plt.plot(x, y) plt.axis([x[0], x[-1], 273, s(0)+10]) plt.xlabel(’x’) plt.ylabel(’u(x,t)’) counter = 0 # Plot each of the first 100 frames, then increase speed by 10x change_speed = 100 for i in range(0, u.shape[0]): print(t[i]) plot = True if i <= change_speed else i % 10 == 0 lines[0].set_ydata(u[i,:]) if i > change_speed: plt.legend([’t={:.0f} 10x’.format(t[i])]) else: plt.legend([’t={:.0f}’.format(t[i])]) plt.draw() if plot: plt.savefig(’tmp_{:04d}.png’.format(counter)) counter += 1 #time.sleep(0.2) The plotting statements update the u(x,t) curve on the screen. In addition, we save a fraction of the plots to files tmp_0000.png, tmp_0001.png, tmp_0002.png, and so on. These plots can be combined to ordinaryvideo files. A commontool isffmpegor its sisteravconv. These programs take the same type of command-line options. To make a Flash videomovie.flv, run1 Terminal Terminal> ffmpeg -i tmp_%04d.png -r 4 -vcodec flv movie.flv 1 You may read about using a terminal inAppendix A.
back to the  book Programming for Computations – Python - A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition"
Programming for Computations – Python A Gentle Introduction to Numerical Simulations with Python 3.6, Volume Second Edition
Title
Programming for Computations – Python
Subtitle
A Gentle Introduction to Numerical Simulations with Python 3.6
Volume
Second Edition
Authors
Svein Linge
Hans Petter Langtangen
Publisher
Springer Open
Date
2020
Language
English
License
CC BY 4.0
ISBN
978-3-319-32428-9
Size
17.8 x 25.4 cm
Pages
356
Keywords
Programmiersprache, Informatik, programming language, functional, imperative, object-oriented, reflective
Category
Informatik
Web-Books
Library
Privacy
Imprint
Austria-Forum
Austria-Forum
Web-Books
Programming for Computations – Python