SLIDE 31 31
do j=1,Ny; do i=1,Nx do j=1,Ny; do i=1,Nx
cx = cx =0.5d0* 0.5d0*(v (v1(i 1(i-1,j, 1,j,1)+v1( 1)+v1(i,j,1) i,j,1)) ida = ida =i-int( int(cx cx*dt/dx) *dt/dx) xgi = xgi =-cx*dt cx*dt+d +dx*real(i x*real(i-ida) ida) ais = ais =sign(1 sign(1.0 .0,cx) ,cx) idam= idam=ida ida-in int( t(ais) ais) fv = fv = v1 v1(ida,j (ida,j,3) ,3) gfi = gfi =gf (id gf (ida, a,j,1) ! j,1) ! dfai/d dfai/dx ggfi= ggfi=ggf(id ggf(ida, a,j,1) ! d j,1) ! ddfai/d dfai/dx/dx x/dx dfi = dfi =v1 (id v1 (idam am,j,3) ,j,3)-v1 v1(ida,j (ida,j,3) ,3) aid1 aid1=-dx5*a dx5*ais is*( 6.0* *( 6.0* dfi & dfi & & & + 3.0* + 3.0*( g ( gf (ida f (idam, m,j,1)+ j,1)+ gfi) gfi)*dx*ai *dx*ais s & & & & + 0.5* + 0.5*( g ( ggf(ida gf(idam, m,j,1) j,1)- ggfi) ggfi)*ddx *ddx ) bid1 bid1= dx dx4* 4* ( (-15. 15.0* 0* df dfi & i & & &
(7.0*gf (ida f (idam, m,j,1)+8.0 j,1)+8.0* gfi) * gfi)*dx*ai *dx*ais s & & & &
( ggf(ida gf(idam, m,j,1) j,1)-1.5 1.5*ggfi) *ggfi)*ddx *ddx ) cid1 cid1=-dx3*a dx3*ais is*( 10.0* *( 10.0* dfi & dfi & & & + 4.0* + 4.0*( g ( gf (ida f (idam, m,j,1)+1.5 j,1)+1.5* gfi) * gfi)*dx*ai *dx*ais s & & & & + 0.5* + 0.5*( g ( ggf(ida gf(idam, m,j,1) j,1)-3.0 3.0*ggfi) *ggfi)*ddx *ddx ) v2 ( v2 (i,j,3) i,j,3)= = & &(((( (((( aid aid1* 1*xgi+ xgi+ bid1) bid1)*xgi+ *xgi+ cid1)*x cid1)*xgi+0.5 gi+0.5*ggfi) *ggfi)*x *xgi+gfi)* gi+gfi)*xgi+fv xgi+fv gfn ( gfn (i,j,1) i,j,1)= = & & ((( 5 ((( 5.0*aid .0*aid1* 1*xgi+ 4.0 xgi+ 4.0*bid1) *bid1)*xgi+3 *xgi+3.0 .0*cid1)*x *cid1)*xgi+ gi+ ggfi) ggfi)*x *xgi+gfi gi+gfi ggfn( ggfn(i,j,1) i,j,1)= = & & ((20 ((20.0*aid .0*aid1* 1*xgi+12.0 xgi+12.0*bid1) *bid1)*xgi+6 *xgi+6.0 .0*cid1)*x *cid1)*xgi+ gi+ ggfi ggfi
end do; end do end do; end do
Set of the advection parameters Calculation of the coefficient
function Update of variables
Code of CIP-5th method CIP-5th method is very simple
and we can easily develop CIP5th code based on CIP3rd method code.
14