/[escript]/trunk/doc/examples/cookbook/example01a.py
ViewVC logotype

Annotation of /trunk/doc/examples/cookbook/example01a.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2632 - (hide annotations)
Wed Aug 26 22:18:19 2009 UTC (10 years, 1 month ago) by ahallam
Original Path: trunk/doc/examples/cookbook/onedheatdiff.py
File MIME type: text/x-python
File size: 2570 byte(s)
Regigger of cookbook directory structure. Examlples->examples/cookbook TEXT->doc/cookbook Figures-> doc/cookbook/figures
1 ahallam 2392
2     ########################################################
3     #
4     # Copyright (c) 2003-2009 by University of Queensland
5     # Earth Systems Science Computational Center (ESSCC)
6     # http://www.uq.edu.au/esscc
7     #
8     # Primary Business: Queensland, Australia
9     # Licensed under the Open Software License version 3.0
10     # http://www.opensource.org/licenses/osl-3.0.php
11     #
12     ########################################################
13    
14     __copyright__="""Copyright (c) 2003-2009 by University of Queensland
15     Earth Systems Science Computational Center (ESSCC)
16     http://www.uq.edu.au/esscc
17     Primary Business: Queensland, Australia"""
18     __license__="""Licensed under the Open Software License version 3.0
19     http://www.opensource.org/licenses/osl-3.0.php"""
20     __url__="https://launchpad.net/escript-finley"
21    
22     """
23     Author: Antony Hallam antony.hallam@uqconnect.edu.au
24     """
25    
26     # To solve the problem it is necessary to import the modules we require.
27     from esys.escript import * # This imports everything from the escript library
28     from esys.escript.linearPDEs import LinearPDE # This defines LinearPDE as LinearPDE
29     from esys.finley import Rectangle # This imports the rectangle domain function from finley
30     import os #This package is necessary to handle saving our data.
31    
32    
33    
34     ##ESTABLISHING VARIABLES
35     #PDE related
36     q=50.e6 #our heat source temperature
37     Tref=0. #the starting temperature of our iron bar
38     rho=2.6e6
39 ahallam 2397 eta=0#75.
40 ahallam 2392 kappa=240.
41     #Script/Iteration Related
42     t=0 #our start time, usually zero
43     tend=5.#the time we want to end the simulation
44     h=0.05 #size of time step
45    
46     print "Expected Number of Output Files is: ", (tend-t)/h
47    
48     i=0 #loop counter
49     save_path = "data/onedheatdiff" #the folder to put our outputs in, leave blank "" for script path - note this folder path must exist to work
50    
51     #... generate domain ...
52     rod = Rectangle(l0=0.05,l1=.01,n0=500, n1=1)
53     # extract finite points
54 ahallam 2397 x=rod.getX()
55 ahallam 2392 #... open PDE ...
56     mypde=LinearPDE(rod)
57     mypde.setSymmetryOn()
58     mypde.setValue(A=kappa*kronecker(rod),D=rho/h,d=eta,y=eta*Tref)
59     # ... set heat source: ....
60    
61     qH=q*whereZero(x[0])
62     # ... set initial temperature ....
63     T=Tref
64    
65     # ... start iteration:
66     while t<=tend:
67     i+=1
68     t+=h
69 ahallam 2397 mypde.setValue(Y=qH+rho/h*T)
70 ahallam 2392 T=mypde.getSolution()
71     print T
72 caltinay 2534 saveVTK(os.path.join(save_path,"data%03d.vtu") %i,sol=T)
73 ahallam 2392
74 ahallam 2597 #~ command = ('mencoder',
75     #~ 'mf://*.png',
76     #~ '-mf',
77     #~ 'type=png:w=800:h=600:fps=25',
78     #~ '-ovc',
79     #~ 'lavc',
80     #~ '-lavcopts',
81     #~ 'vcodec=mpeg4',
82     #~ '-oac',
83     #~ 'copy',
84     #~ '-o',
85     #~ 'output.avi')
86 ahallam 2392

  ViewVC Help
Powered by ViewVC 1.1.26