how to solve PDE with derivative boundary conditions ?
์กฐํ ์: 22 (์ต๊ทผ 30์ผ)
์ด์ ๋๊ธ ํ์
hey all
im trying to solve PDE with derivative boundary condition , so i tend to use the imaginary node method , could i have another way to solve it without any built in function
this is the qustion:
๐๐๐๐ก=๐2๐๐๐ฅ2+๐(๐ฅ) (1)
With ๐(๐ฅ)=100sin(๐๐ฅ) (2)
1)
๐(๐ฅ,0)=0 (3)
2)
๐๐๐๐ก(0,๐ก)=๐(0,๐ก)โ10 (4)
3)
๐๐๐๐ก(1,๐ก)=10โ๐(1,๐ก) (5)
clear all;
close all;
clc;
%% Demo program for parapolic pde
dt = 0.25;
dx = 0.1*dt;
alpha=1;
t = 0:dt:15;
x = 0:dx:4;
q_x=(100*sin(pi*x));
N = length(x)-1;
T=[]; %Dynamic size
T(1,:) = zeros(1,5) ; %Initial condition
for j=1:length(t)-1
T(1,N-1) = T(j+1,N) + (2*dx*(T(j+1,N+1)-10));
for i=2:N
T(j+1,i) = T(j,i)+alpha*(dt/(dx^2))*(T(j,i+1)+ T(j,i-1)-2*T(j,i))+q_x;
end
T(2,N+2) = T(j+1,N) + (2*dx*(10-T(j+1,N+1)));
end
mesh(t,x,T)
colorbar;
the code isn't evaluated , what is the proplem?
๋๊ธ ์: 3
์ฑํ๋ ๋ต๋ณ
darova
2021๋
4์ 2์ผ
Try these corrections
T = zeros(length(t),length(x));
for j=1:length(t)-1
T(j+1,1) = T(j,1) + dt*(T(j,1)-10);
T(j+1,N) = T(j,N) + dt*(10-T(j,N));
for i=2:N-1 % changed
T(j+1,i) = T(j,i)+alpha*(dt/(dx^2))*(T(j,i+1)+ T(j,i-1)-2*T(j,i)) + q_x(i); % note: q_x(i)
end
end
mesh(t,x,T)
๋๊ธ ์: 2
darova
2021๋
4์ 3์ผ
I made some change sto your code. Some notes:
- should be larger than ( should be small )
- should be small too
- i changed boundary conditions ๐๐๐๐ก(0,๐ก)=๐(0,๐ก)โ10 and ๐๐๐๐ก(1,๐ก)=10โ๐(1,๐ก)
clc,clear
%% Demo program for parapolic pde
dt = 0.25;
dx = 5*dt;
alpha=1;
t = 0:dt:5;
x = 0:dx:20;
q_x = sin(pi*x/max(x));
N = length(x);
r = alpha*dt/dx^2;
T = zeros(length(t),length(x));
for j=1:length(t)-1
T(j+1,1) = T(j,1) + dt*(T(j,1)-1/10); % changed these
T(j+1,N) = T(j,N) + dt*(1/10-T(j,N));
for i=2:N-1 % changed
T(j+1,i) = T(j,i)+r*diff(T(j,i-1:i+1),2) + q_x(i); % note: q_x(i)
end
end
surf(x,t,T)
์ถ๊ฐ ๋ต๋ณ (0๊ฐ)
์ฐธ๊ณ ํญ๋ชฉ
์นดํ ๊ณ ๋ฆฌ
Help Center ๋ฐ File Exchange์์ PDE Solvers์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!