Lisa
Lisa
Velocity X
Velocity Y
pressure
Vorticity Z
Velocity Magnitude
Vorticity Magnitude
Freefem
U1
U2
Streamline
Source code FreeFem
real L=5;
real ratio=L;
int n=10;
datar2(ratio*n)+turun1(ratio*n)+OUT(ratio*n)+naik3(ratio*n)+turun3(ratio*n)
+datar3(ratio*n)+IN1(ratio*n));
plot (Th,wait=1);
//plot(floor(n),IN2(n),datar1(n),naik2(n),datar2(n),turun1(n),OUT(n),naik3(n),wait=1);
fespace Xh(Th,P2);
fespace Mh(Th,P1);
Xh u2,v2;
Xh u1,v1;
Mh p,q;
+ dx(u2)*dx(v2) + dy(u2)*dy(v2) )
+ p*q*(0.000001)
+ p*dx(v1)+ p*dy(v2)
+ dx(u1)*q+ dy(u2)*q
+ on(1,u1=0,u2=0)
+ on(2,u1=-1,u2=0)
+ on(3,u1=0,u2=0)
+ on(4,u1=0,u2=0)
+ on(5,u1=0,u2=0)
+ on(6,u1=0,u2=0)
//+ on(7,u1=0,u2=0)
+ on(8,u1=0,u2=0)
+ on(9,u1=0,u2=0)
+ on(10,u1=0,u2=0)
+ on(11,u1=1,u2=0)
Xh psi,phi;
solve streamlines(psi,phi) =
+ on(1,psi=0);
plot(psi);
int i=0;
real dt=0.1;
real alpha=1/dt;
Xh up1,up2;
problem NS ([u1,u2,p],[v1,v2,q],solver=Crout,init=i) =
int2d(Th)(
+ nu * ( dx(u1)*dx(v1) + dy(u1)*dy(v1)
+ dx(u2)*dx(v2) + dy(u2)*dy(v2) )
+ p*q*(0.000001)
+ p*dx(v1)+ p*dy(v2)
+ dx(u1)*q+ dy(u2)*q
+ on(1,u1=0,u2=0)
+ on(2,u1=-1,u2=0)
+ on(3,u1=0,u2=0)
+ on(4,u1=0,u2=0)
+ on(5,u1=0,u2=0)
+ on(6,u1=0,u2=0)
// + on(7,u1=0,u2=0)
+ on(8,u1=0,u2=0)
+ on(9,u1=0,u2=0)
+ on(10,u1=0,u2=0)
+ on(11,u1=1,u2=0)
for (i=0;i<=50;i++)
up1=u1;
up2=u2;
NS;
streamlines;
plot(cmm=i,psi);
};
plot(cmm="u1",u1,wait=1,fill=1);
plot(cmm="u2",u2,wait=1,fill=1);