/[escript]/trunk/doc/examples/pyvisi/diffusion_with_pyvisi.py
ViewVC logotype

Contents of /trunk/doc/examples/pyvisi/diffusion_with_pyvisi.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1167 - (show annotations)
Thu May 24 01:04:17 2007 UTC (15 years, 10 months ago) by jongui
File MIME type: text/x-python
File size: 1595 byte(s)
Deleted remaining scenes from the test cases and updated the guide.
1 # Import the necessary modules.
2 from esys.escript import *
3 from esys.escript.linearPDEs import LinearPDE
4 from esys.finley import Rectangle
5 from esys.pyvisi import Scene, DataCollector, Map, Camera
6 from esys.pyvisi.constant import *
7 import os
8
9 PYVISI_EXAMPLE_IMAGES_PATH = "data_sample_images"
10 X_SIZE = 400
11 Y_SIZE = 400
12 JPG_RENDERER = Renderer.ONLINE_JPG
13
14 #... set some parameters ...
15 xc=[0.02,0.002]
16 r=0.001
17 qc=50.e6
18 Tref=0.
19 rhocp=2.6e6
20 eta=75.
21 kappa=240.
22 tend=5.
23 # ... time, time step size and counter ...
24 t=0
25 h=0.1
26 i=0
27
28 #... generate domain ...
29 mydomain = Rectangle(l0=0.05,l1=0.01,n0=250, n1=50)
30 #... open PDE ...
31 mypde=LinearPDE(mydomain)
32 mypde.setSymmetryOn()
33 mypde.setValue(A=kappa*kronecker(mydomain),D=rhocp/h,d=eta,y=eta*Tref)
34 # ... set heat source: ....
35 x=mydomain.getX()
36 qH=qc*whereNegative(length(x-xc)-r)
37 # ... set initial temperature ....
38 T=Tref
39
40 # Create a Scene.
41 s = Scene(renderer = JPG_RENDERER, x_size = X_SIZE, y_size = Y_SIZE)
42
43 # Create a DataCollector reading directly from escript objects.
44 dc = DataCollector(source = Source.ESCRIPT)
45
46 # Create a Map.
47 m = Map(scene = s, data_collector = dc, \
48 viewport = Viewport.SOUTH_WEST, lut = Lut.COLOR, \
49 cell_to_point = False, outline = True)
50
51 # Create a Camera.
52 c = Camera(scene = s, viewport = Viewport.SOUTH_WEST)
53
54 # ... start iteration:
55 while t<tend:
56 i+=1
57 t+=h
58 mypde.setValue(Y=qH+rhocp/h*T)
59 T=mypde.getSolution()
60
61 dc.setData(temp = T)
62
63 # Render the object.
64 s.render(image_name = os.path.join(PYVISI_EXAMPLE_IMAGES_PATH, \
65 "diffusion%02d.jpg") % i)
66

  ViewVC Help
Powered by ViewVC 1.1.26