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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1167 - (hide annotations)
Thu May 24 01:04:17 2007 UTC (13 years, 9 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 ksteube 1147 # 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 jongui 1148 import os
8 ksteube 1147
9 jongui 1148 PYVISI_EXAMPLE_IMAGES_PATH = "data_sample_images"
10 ksteube 1147 X_SIZE = 400
11     Y_SIZE = 400
12 jongui 1148 JPG_RENDERER = Renderer.ONLINE_JPG
13 ksteube 1147
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 jongui 1153
28 ksteube 1147 #... 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 jongui 1148
43 ksteube 1147 # Create a DataCollector reading directly from escript objects.
44     dc = DataCollector(source = Source.ESCRIPT)
45    
46 jongui 1148 # Create a Map.
47 jongui 1158 m = Map(scene = s, data_collector = dc, \
48     viewport = Viewport.SOUTH_WEST, lut = Lut.COLOR, \
49 ksteube 1147 cell_to_point = False, outline = True)
50    
51 jongui 1148 # Create a Camera.
52     c = Camera(scene = s, viewport = Viewport.SOUTH_WEST)
53    
54 ksteube 1147 # ... start iteration:
55 jongui 1167 while t<tend:
56 ksteube 1147 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 jongui 1158 s.render(image_name = os.path.join(PYVISI_EXAMPLE_IMAGES_PATH, \
65 jongui 1148 "diffusion%02d.jpg") % i)
66 ksteube 1147

  ViewVC Help
Powered by ViewVC 1.1.26