如何解决PDE工具只有一个时间步为每个循环?

4次浏览(最近30天)
IIT米
IIT米 2021年8月24日
编辑: IIT米2021年8月25日
亲爱的。
使用的主要代码是' 表'的时间输入到求解器。相反,我想在“for循环”中更新时间。PDE工具箱对每个循环求解一个时间步。就像这样。
t = 2:1:100
时间(t) = (t - 1) + dt
resT = solve(modelT,time(t),“ModalResults”res);
结束
如何将PDE工具中的“solve”命令转换为每个循环只求解一个时间步?所以我可以通过将另一个方程耦合到PDE工具来更新BC。提前谢谢你。
主要代码:
modelT = createpde(“结构”“transient-planestress”);
宽度= 5;
高度= 0.1;
GDM = [3;4;0;width;width;0;0; height;height];
G = decsg(gdm,“S1 ',(“S1 ') ');
geometryFromEdges (modelT g);
Hmax =身高/5;
msh = generateMesh(modelT,“Hmax”, hmax);
E = 3.0e7;
Nu = 0.3;
Rho = 0.3/386;
structuralProperties (modelM“YoungsModulus”, E,...
“PoissonsRatio”ν,...
“MassDensity”,ρ);
structuralBC (modelT“边缘”4“约束”“固定”);
structuralIC (modelT“位移”(0, 1, 0),“速度”(0, 0, 0))
tlist = 0:longestPeriod/100:3*longestPeriod;
Zeta = 0.03;
ω = 2*pi*freqNumerical;
structuralDamping (modelT“ζ”ζ);
resT = solve(modelT,tlist,“ModalResults”res);

答案(0)

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!