26 |
# |
# |
27 |
|
|
28 |
from esys.escript import * |
from esys.escript import * |
29 |
from esys.linearPDEs import AdvectivePDE,LinearPDE |
from esys.escript.linearPDEs import AdvectivePDE,LinearPDE |
30 |
from esys import finley |
from esys import finley |
31 |
from random import random |
from random import random |
32 |
|
|
67 |
if d==2: |
if d==2: |
68 |
mydomain=finley.Rectangle(ne,ne,1) |
mydomain=finley.Rectangle(ne,ne,1) |
69 |
x=mydomain.getX() |
x=mydomain.getX() |
70 |
msk=x[0].whereZero()+(x[0]-1.).whereZero()+x[1].whereZero()+(x[1]-1.).whereZero() |
msk=whereZero(x[0])+whereZero(x[0]-1.)+whereZero(x[1])+whereZero(x[1]-1.) |
71 |
else: |
else: |
72 |
mydomain=finley.Brick(ne,ne,ne,1) |
mydomain=finley.Brick(ne,ne,ne,1) |
73 |
x=mydomain.getX() |
x=mydomain.getX() |
74 |
msk=x[0].whereZero()+(x[0]-1.).whereZero()+x[1].whereZero()+(x[1]-1.).whereZero()+x[2].whereZero()+(x[2]-1.).whereZero() |
msk=whereZero(x[0])+whereZero(x[0]-1.)+whereZero(x[1])+whereZero(x[1]-1.)+whereZero(x[2])+whereZero(x[2]-1.) |
75 |
print "@ generated %d-dimension mesh with %d elements in each direction"%(d,ne) |
print "@ generated %d-dimension mesh with %d elements in each direction"%(d,ne) |
76 |
# for ncomp in [1,2]: |
# for ncomp in [1,2]: |
77 |
for ncomp in [2]: |
for ncomp in [2]: |
113 |
# create domain: |
# create domain: |
114 |
mypde=AdvectivePDE(mydomain) |
mypde=AdvectivePDE(mydomain) |
115 |
# mypde.setSolverMethod(mypde.DIRECT) |
# mypde.setSolverMethod(mypde.DIRECT) |
116 |
mypde.setValue(q=msk*maskf,A=K) |
print K |
117 |
|
mypde.setValue(q=msk*maskf) |
118 |
|
mypde.setValue(A=K) |
119 |
|
mypde.setValue(A=K,q=msk*maskf) |
120 |
mypde.checkSymmetry() |
mypde.checkSymmetry() |
121 |
# run Peclet |
# run Peclet |
122 |
for Pe in [0.001,1.,1.,10.,100,1000.,10000.,100000.,1000000.,10000000.]: |
for Pe in [0.001,1.,1.,10.,100,1000.,10000.,100000.,1000000.,10000000.]: |