/[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 1153 - (hide annotations)
Thu May 17 06:33:54 2007 UTC (15 years, 10 months ago) by jongui
File MIME type: text/x-python
File size: 1592 byte(s)
Made some minor modifications and fixed minor bugs. Most tests appear to pass on the Altix although there are two tests which occasionally throw an error related to memory corruption.
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     m = Map(scene = s, data_collector = dc,
48 ksteube 1147 viewport = Viewport.SOUTH_WEST, lut = Lut.COLOR,
49     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 1148 while t<0.4:
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 1148 s.render(image_name = os.path.join(PYVISI_EXAMPLE_IMAGES_PATH,
65     "diffusion%02d.jpg") % i)
66 ksteube 1147

  ViewVC Help
Powered by ViewVC 1.1.26