File: laxexplicit.m Line: 41 Column: 31 Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters.

1 次查看(过去 30 天)
% Chlorine Decay Flow for the Lax method to solve the advection equation
clear;
% Parameters to definr the advection equation and the range in space and time
D = 1*10^-4; % Heat Conductivity parameter in m2/s
K = 1*10^-4; % Heat Conductivity parameter in s^-1Lmax=100; % Maximum Length in m
Tmax = 43200.; % Maximum time
C = 1.0; % Advection velocity
% Parameters needed to implement the Lax method
Nt = 6; % Number of time steps
Dt = 1; % Time step in seconds
Nx = 51; % Number of space steps
Dx = 0.5; % space step in m
b = -K; % beta parameter in the finite-difference implementation
% Remember that the Lax method is stable for b=< 1/2 but it gets diffused unless abs(b) = 1/2
% Initial condition: the initial value of the u function (amplitude of the wave initially)
Nfront = round(Nx/2); % The wave-front: intermediate point from which u=0
for i =1:(Nx+1)
if i <Nfront
u(i,1)=1.;
else
u(i,1)=0.;
end
x(i)= (i-1)*Dx; % we also define vector x, due to space discretization
end
% Boundary conditions: value of the u function at the boundaries at any time
for k=1:Nt+1
u(1,k) =1.;
u(Nx+1,k)= 0.;
t(k) = (k-1)*Dt; % we also define vector t, due to the time discretization
end
% Implementation of the Lax mathod
for k=1:Nt %Time loop
for i =2:Nx % Space loop
u(i,k+1) = 1/2*(u(i+1),k + u(i-1),k) - D*Dt/2*Dx*(u(i+1),k-u(i-1),k);
end
end
% Graphical representations of the evolution of the pipe
plot(x,u(:,1), '-b',x,u(:,round(Nt/10)),'--g',x,u(:,round(Nt/3)),':b',x,u(:,Nt),'-.r')
Title ('Pipe flow test within Lax method')
xlabel('X')
ylabel('Amplitude(X)')
I need to plot my profile C vs x at t =[2,4,6,8,10,12]
I think i messed up the labelling part

回答(1 个)

Voss
Voss 2022-4-6
There were some syntax errors in the calculation of u(i,k+1). I made a guess at fixing them. (And another syntax error in "Title" - should be "title".) See if it looks right now:
% Chlorine Decay Flow for the Lax method to solve the advection equation
clear;
% Parameters to definr the advection equation and the range in space and time
D = 1*10^-4; % Heat Conductivity parameter in m2/s
K = 1*10^-4; % Heat Conductivity parameter in s^-1Lmax=100; % Maximum Length in m
Tmax = 43200.; % Maximum time
C = 1.0; % Advection velocity
% Parameters needed to implement the Lax method
Nt = 6; % Number of time steps
Dt = 1; % Time step in seconds
Nx = 51; % Number of space steps
Dx = 0.5; % space step in m
b = -K; % beta parameter in the finite-difference implementation
% Remember that the Lax method is stable for b=< 1/2 but it gets diffused unless abs(b) = 1/2
% Initial condition: the initial value of the u function (amplitude of the wave initially)
Nfront = round(Nx/2); % The wave-front: intermediate point from which u=0
for i =1:(Nx+1)
if i <Nfront
u(i,1)=1.;
else
u(i,1)=0.;
end
x(i)= (i-1)*Dx; % we also define vector x, due to space discretization
end
% Boundary conditions: value of the u function at the boundaries at any time
for k=1:Nt+1
u(1,k) =1.;
u(Nx+1,k)= 0.;
t(k) = (k-1)*Dt; % we also define vector t, due to the time discretization
end
% Implementation of the Lax mathod
for k=1:Nt %Time loop
for i =2:Nx % Space loop
% u(i,k+1) = 1/2*(u(i+1),k + u(i-1),k) - D*Dt/2*Dx*(u(i+1),k-u(i-1),k);
u(i,k+1) = 1/2*(u(i+1,k) + u(i-1,k)) - D*Dt/2*Dx*(u(i+1,k) - u(i-1,k));
end
end
% Graphical representations of the evolution of the pipe
plot(x,u(:,1), '-b',x,u(:,round(Nt/10)),'--g',x,u(:,round(Nt/3)),':b',x,u(:,Nt),'-.r')
% Title ('Pipe flow test within Lax method')
title('Pipe flow test within Lax method')
xlabel('X')
ylabel('Amplitude(X)')

类别

Help CenterFile Exchange 中查找有关 Thermal Analysis 的更多信息

标签

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by