4 def __init__(self, X, Y, n):
13 self.bords = [ Bord("x = cos(2*pi*t)", "y = sin(2*pi*t)", 100) ]
18 def Flux(self, u1, u2):
22 def Convection(self, cond_init, dt, n):
24 f = open("/tmp/example.edp", "w")
29 f.write("border b" + str(ib) + "(t=0,1){" + \
30 b.X + "; " + b.Y + "; };\n");
31 s = s + "b" + str(ib) + "(" + str(b.n)+ ")"
38 f.write("mesh th = buildmesh(" + s + "\n");
39 f.write("fespace Vh(th,P1);\n");
40 f.write("Vh v = " + cond_init + ";\nplot(v);\n")
41 f.write("real dt = " + str(dt) + ", t=0;\n");
43 f.write("Vh u1 = " + str(self.u1) + \
44 ", u2 = " + str(self.u2) + ";\n");
46 f.write("int i;\nVh vv,vo;\n"
47 "for ( i=0; i< " + str(n) + " ; i++) {\n"
48 "t += dt;\nvo=v;\nv=convect([u1,u2],-dt,vo);\n"
49 "plot(v,wait=0);\n};\n");
51 os.system('FreeFem++ /tmp/example.edp');