$B#3!]#4!%JPHyJ,J}Dx<0$N$^$H$a$H1i=,(B
Elliptic $B!JBJ1_7?!K(B Equations
Laplace Equation: $B"_(B2u/$B"_(Bx2 + $B"_(B2u/$B"_(By2 = 0
Poisson Equation: $B"_(B2u/$B"_(Bx2 + $B"_(B2u/$B"_(By2 + f (x, y) = 0
- $B@~7A$NB?85O"N)J}Dx<0$K4T85$5$l$k$N$G!"#4>O$N9TNs1i;;$G
$B!!(B
Hyperbolic $B!JAP6J7?!K(B Equations
Wave Equation: $B"_(B2y/$B"_(Bt2 - c2 $B"_(B2y/$B"_(Bx2 = 0
- Simple method
ujn+1 = ujn - cdt/2dx (uj+1n - uj-1n)
yjn+1 = yjn + cdt/2dx (yj+1n - yj-1n + 2ujn+1)
- the Lax method
ujn+1 = (uj+1n + uj-1n )/2 - cdt/2dx (uj+1n - uj-1n)
yjn+1 = (yj+1n + yj-1n )/2 + cdt/2dx (yj+1n - yj-1n + 2ujn+1)$B!!(B
Parabolic $B!JJ|J*7?!K(B Equations
Diffusion Equation: $B"_(Bu/$B"_(Bt - k $B"_(B2u/$B"_(Bx2 = 0
- Simple method
ujn+1 = ujn - kdt/dx2 (uj+1n - 2ujn + uj-1n)
- the Crank-Nicholson method
ujn+1 = ujn - kdt/2dx2 (uj+1n+1 - 2ujn+1 + uj-1n+1 + uj+1n - 2ujn + uj-1n)
$B!J$3$l$O1"2rK!!#>C5nK!$GO"N)J}Dx<0$r2r$/$+!"H?I|K!$G2r$r5a$a$k!#!K(B$B!!(B
$B!T1i=,!U(B
- $B=i4|29EYJ,I[(B u(x,0) = 2x [0 < x < 0.5]$B!"(B2(1-x) [0.5 < x < 1]$B!"(B
$B6-3&>r7o(B u(0,t) = u(1,t) = 0 [for any t]$B!"$H$7$F;~9o(Bt=0.1$B$K$*$1$k29EYJ,I[$r7W;;$9$k!#(B
dx=0.1$B$r8GDj$7!"(Bdt$B$rJQ2=(B $B$5$;$F(BSimple method$B$N0BDj@-$r5DO@$;$h!#(Ba=kdt/dx2$B$,(B $B$I$N$"$?$j$GIT0BDj2=$9$k$+!)(B
$B!J(BDiffusion Equation$B$GG.3H;678?t(Bk=1 $B$H$9$k!#!K(B
$B%5%s%W%k%W%m%0%i%`$r;29M$K$7$F$b$h$$!#(B[fortran, C]
gfortran -o simple simple.f
./simple
($B7W;;7k2L(B -> fort.11 $B2r@O2r(B -> fort.10)
$B7k2L$O(Bgnuplot$B$r;H$C$F%0%i%U2=$;$h!#(B
gnuplot
.....
gnuplot> plot 'fort.10' w lines, 'fort.11' w points $B"+2r@O2r$H$NHf3S(B
$B2r@O2r!'!!(Bu(x,t) = 8/$B&P(B2$B-t(Bn=1$B!g(B(1/n2)sin(n$B&P(B/2)sin(n$B&P(Bx)exp(-n2$B&P(B2t) ($B2r@O2r$N=PNO7k2L$N0lNc(B at t=0.1[fort.10])
$B!!(B- $BF1$8LdBj$G(BGauss$B$N>C5nK!$r;H$C$?(BCrank-Nicholson method$B$r;n$;!#(B[fortran, C]
($B7W;;7k2L(B -> fort.12 $B2r@O2r(B -> fort.10)
$B!!(B- Gauss-Seidel$BH?I|K!$r;H$C$?(BCrank-Nicholson method$B$r;n$;!#(B[fortran, C]
($B7W;;7k2L(B -> fort.13 $B2r@O2r(B -> fort.10)
$B!!(B- $B!J%"%I%P%s%9%H$J<+=,LdBj!KNW3&E@6aK5$K$"$k7O$r8=>]O@E*$K5-=R$9$kJ}Dx<0$H$7$F(B TDGL(Time Dependent Ginzburg-Landau)$B<0$,$"$k!#<'@-$J$ICa=xJQ?t(B(j)$B$,J]B8NL$G$J$$>l9g$K$O!"7O$N;~4VH/E8$O0J2<$NHs(B $BJ]B87?(BTDGL$B<0$G5-=R$G$-$k!#$3$NJ|J*7?$NJPHyJ,J}Dx<0$r(BSimple method$B$G(B$B?tCM%7%_%e%l!<%7%g%s$9$k%W%m%0%i%`$r:n$j!"(Bb$B$N@5Ii$G7O$N%@%$(B $B%J%_%/%9$,$I$&JQ2=$9$k$+$r5DO@$;$h!#(B
GL Free Energy: F=$B"i(Bdxdy ( j4/4 + bj2/2 + c($B"`(Bj)2)
TDGL$BJ}Dx<0!JHsJ]B8!K(B: $B"_(Bj/$B"_(Bt = -L dF/dj = -L(j3 + bj - c $B"`(B2j) = 0
$B4JC1$N$?$a!"(Bb=$B!^(B0.5$B!"(Bc = 0.1$B!"(BL = 1$B!"(Bdx = 1$B!"(Bdt = 0.1$B$H(B $B$7!"(B$B6u4V$N$B%7%9%F%`%5%$%:$O(B128x128$B$G<~4|E*6-3&>r7o!"=i4|>r7o$O(Bj=$B!^(B0.025$B$NHO0O$G%i%s%@%`$KM?$($h!#%@%$%J%_%/%9$N5DO@$K$O!"Nc$($P3&LL@Q(B $B!J#2Z$;$h!#(B
Simple method$B$G=q$$$?%5%s%W%k%W%m%0%i%`$O$3$3(B [fortran, C]
f77 -O -o tdgl_simple tdgl_simple.f
./tdgl_simple
gnuplot
.....
gnuplot> set contour
gnuplot> splot 'fort.10' w line$B!!!!!!(B $B!!!!!!"+Ca=xJQ?t(B(j)$B$N6u4VJ,I[(B
gnuplot> set logscale xy
gnuplot> plot 'fort.11' u 1:2 w line$B!!!!!!!!(B $B"+;~4V(B-$B3&LL%(%M%k%.!<$NN>BP?t%W%m%C%H(B
gnuplot> plot 'fort.11' u 1:4 w line$B!!!!!!(B $B!!"+;~4V(B-$B3&LLD9$NN>BP?t%W%m%C%H(B
$B!!(B- $B!J%"%I%P%s%9%H$J<+=,LdBj!K5$1UAjE>0\$J$ICa=xJQ?t(B(j)$B$,J]B8NL$G$"$k>l9g$K$O!"7O$N;~4VH/E8$O(B$B0J2<$NJ]B87?(BTDGL$B<0$G5-=R$G$-$k!#(BSimple method$B$G(B$B?t(B $BCM%7%_%e%l!<%7%g%s$9$k(B$B#2$B%W%m%0%i%`$r:n$j!"7O$N%@%$%J%_%/%9$rHsJ]B8$N>l9g$HHf3S$;$h!#(B
TDGL$BJ}Dx<0!JJ]B8!K(B: $B"_(Bj/$B"_(Bt = L $B"`(B2dF/dj = L$B"`(B2(j3 + bj - c $B"`(B2j) = 0
Simple method$B$G=q$$$?%5%s%W%k%W%m%0%i%`$O$3$3(B [fortran]
$B!!(B- $B!J$5$i$K%"%I%P%s%9%H$J<+=,LdBj!K(B$B>e(B $B$N#4!"#5$K$D$$$F(BCrank-Nicholson$BK!$X$N2~NI$r;n$_$h!#(B
$B!!(B