%模拟镍的相场计算(无任何耦合、粗网格、变边界条件)--------------------
---------
clear;clc;clf;tic
%参数----------------------------------------------------------------
------
m=0.05; eps=0.005; r=0.05; %动力学系数、界面相关参
数、各向异性系数
Tm=1728; L=2350; DT=0.155; Cp=5.42; %熔点、潜热、热扩散率、比热
Delta=-0.6; R=0.05; alfa=400; %无量纲过冷度、形核半径、
耦合相关参数 alfa
EPS=eps^2;A=m/EPS;B=(m/EPS)*EPS;C=eps*alfa*(-Delta);D=30/(-Delta);
%网格划分------------------------------------------------------------
-------
N=100; NTimeSteps=20000; Dx=0.02; Dy=Dx; Dt=1e-5;
E=(m*Dt)/eps^2; DXX=Dx^2;
[x,y]=meshgrid(0:Dx:2); t=20; T=0; h=Dt/Dx/Dx;
%初始条件-----------------------------------------------------------
-------
nn = length(x);
for i=1:nn
for j=1:nn
%phy_n(i,j)=0.5*(tanh((sqrt(x(i,j).^2+y(i,j)^2)-
R)/(2*sqrt(2)*eps))+1);
phy_n(i,j)=0.5*(tanh((sqrt((x(i,j)-
x(N/2,N/2)).^2+(y(i,j)-y(N/2,N/2))^2)-R)/(2*sqrt(2)*eps))+1);
U_n(i,j)=Delta* phy_n(i,j);
end
end
%主程序--------------------------------------------------------------
-------
for n=1:NTimeSteps
%边界条件---------------------------------------------------
---------------
phy_n(:,1)=phy_n(:,2); phy_n(:,N+1)=phy_n(:,N);
U_n(:,1)=U_n(:,2); U_n(:,N+1)=U_n(:,N);
phy_n(1,:)=phy_n(2,:); phy_n(N+1,:)=phy_n(N,:);
U_n(1,:)=U_n(2,:); U_n(N+1,:)=U_n(N,:);
%--------------------------------------------------------------------
------
for i=2:nn-1
for j=2:nn-1
phy_x=(phy_n(i+1,j)-phy_n(i-1,j))./2./Dx;
phy_y=(phy_n(i,j+1)-phy_n(i,j-1))./2./Dy;
评论0