资源简介
该程序采用有限差分方法(隐式和显式)仿真了一维和二维域扩散方程。该程序采用有限差分方法(隐式和显式)仿真了一维和二维域扩散方程。该程序采用有限差分方法(隐式和显式)仿真了一维和二维域扩散方程。
代码片段和文件信息
% Simulating the 1-D Diffusion equation (Fourier‘s equation) by the
...Finite Difference Method(a time march)
% Numerical scheme used is a first order upwind in time and a second order
...central difference in space (both Implicit and Explicit)
%%
%Specifying Parameters
nx=50; %Number of steps in space(x)
nt=30; %Number of time steps
dt=0.1; %Width of each time step
dx=2/(nx-1); %Width of space step
x=0:dx:2; %Range of x (02) and specifying the grid points
u=zeros(nx1); %Preallocating u
un=zeros(nx1); %Preallocating un
vis=0.01; %Diffusion coefficient/viscosity
beta=vis*dt/(dx*dx); %Stability criterion (0<=beta<=0.5 for explicit)
UL=1; %Left Dirichlet B.C
UR=1; %Right Dirichlet B.C
UnL=1; %Left Neumann B.C (du/dn=UnL)
UnR=1; %Right Neumann B.C (du/dn=UnR)
%%
%Initial Conditions: A square wave
for i=1:nx
if ((0.75<=x(i))&&(x(i)<=1.25))
u(i)=2;
else
u(i)=1;
end
end
%%
%B.C vector
bc=zeros(nx-21);
bc(1)=vis*dt*UL/dx^2; bc(nx-2)=vis*dt*UR/dx^2; %Dirichlet B.Cs
%bc(1)=-UnL*vis*dt/dx; bc(nx-2)=UnR*vis*dt/dx; %Neumann B.Cs
%Calculating the coefficient matrix for the implicit scheme
E=sparse(2:nx-21:nx-31nx-2nx-2);
A=E+E‘-2*speye(nx-2); %Dirichlet B.Cs
%A(11)=-1; A(nx-2nx-2)=-1; %Neumann B.Cs
D=speye(nx-2)-(vis*dt/dx^2)*A;
%%
%Calculating the velocity profile for each time step
i=2:nx-1;
for it=0:nt
un=u;
disp(u)
h=plot(xu); %plotting the velocity profile
axis([0 2 0 3])
title({[‘1-D Diffusion with \nu =‘num2str(vis)‘ and \beta = ‘num2str(beta)];[‘time(\itt) = ‘num2str(dt*it)]})
xlabel(‘Spatial co-ordinate (x) \rightarrow‘)
ylabel(‘Transport property profile (u) \rightarrow‘)
drawnow;
refreshdata(h)
%Uncomment as necessary
%-------------------
%Implicit solution
U=un;U(1)=[];U(end)=[];
U=U+bc;
U=D\U;
u=[UL;U;UR]; %Dirichlet
%u=[U(1)-UnL*dx;U;U(end)+UnR*dx]; %Neumann
%}
%-------------------
%Explicit method with F.D in time and C.D in space
%{
u(i)=un(i)+(vis*dt*(un(i+1)-2*un(i)+un(i-1))/(dx*dx));
%}
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2327 2018-10-10 11:06 Diffusion\Diffusion_1D.m
文件 3827 2018-10-10 11:44 Diffusion\Diffusion_2D.m
文件 1110 2018-08-24 10:47 Diffusion\Intro.txt
文件 1334 2018-08-24 10:45 Diffusion\license.txt
- 上一篇:双树复小波
- 下一篇:GA遗传算法改进BP神经网络
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论