求解方程长时间无结果
mathematica吧
全部回复
仅看楼主
level 1
代码如下:
Remove[y, z, z0, y0, y1, z1, y10, z10, k1, k2, s0, m, M, C11, C12];
(*结构参量*)
(*国际单位制*)
m = 0.1;
L = 0.3;
g = 9.8;
\[Omega]0 = 7;
C11 = 0;
C12 = 0;
\[Gamma] = 0.1;
k1 = 0.5;(*杆与线长度之比*)
\[Rho] = 7.9*10^3;(*密度*)
S = 4*10^-3;(*横截面积*)
Ex = 2*10^14;
Ix = 10^-11 ;
Ep = 2*10^3;
T = 10;
(*初值参量*)
y1 = 0.01;
z1 = 0.05;
y10 = 0.01
Lag = m/2 (y'[t]^2 + z'[t]^2) + (
L^5*\[Rho]*S*m*g*
k1*(2 (y[t] - y0[t]) (Derivative[1][y][t] -
Derivative[1][y0][t]) +
2 (-(1/1000000000000 + y0[t]^6)^(1/4) +
z[t]) (-((3 y0[t]^5 Derivative[1][y0][t])/(
2 (1/1000000000000 + y0[t]^6)^(3/4))) +
Derivative[1][z][t]))^2/(
4 ((y[t] - y0[t])^2 + (-(1/1000000000000 + y0[t]^6)^(1/4) +
z[t])^2)))/(10*Ep^2) -
1/2 m*\[Omega]0^2*((y[t] - y0[t])^2 + (z[t] - Power[
y0[t]^6 + 10^-12, (4)^-1])^2) - (
L^5*(m*g*
k1)^4*((y[t] - y0[t])^2 + (z[t] - Power[y0[t]^6 + 10^-12, (
4)^-1])^2)^2*S)/(10*Ix*Ep^3);
Phi = 1/2 (C11*y0'[t]^2 + \[Gamma]*(y'[t]^2 + z'[t]^2 ));
ode = {D[Lag, y[t]] - D[D[Lag, y'[t]], t] == D[Phi, y'[t]],
D[Lag, z[t]] - D[D[Lag, z'[t]], t] == D[Phi, z'[t]],
D[Lag, y0[t]] - D[D[Lag, y0'[t]], t] == D[Phi, y0'[t]]};
bc = {y[0] == y1, z[0] == z1, y0[0] == y10, y0'[0] == 0.0001,
y'[0] == 0.0001, z'[0] == 0.0001};
sol = NDSolve[{ode, bc}, {y, z, y0}, {t, 0, T}, MaxSteps -> 500000,
Method -> {"EquationSimplification" -> "Solve"}];
f[t_] := {y[t], z[t]} /. sol[[1]];
Animate[ParametricPlot[Evaluate[f[t]], {t, 10, t1}], {t1, 0.01, T,
0.001}, AnimationRunning -> False, AnimationRate -> 0.5]
问题描述:
之前用同样的模板求解求解其他方程能比较快地解出来 这次只是把拉氏量(Lag)改的比较复杂就解不出来
求问是语法错误还是因为方程本身不好解需要简化
20分钟 core i5 内存8G 占用4G...大概就这些能提供的信息了
源码:百度网盘
谢谢大家了
2018年04月26日 13点04分 1
level 1
尝试AccuracyGoal->8也无果
2018年04月26日 13点04分 2
吧务
level 15
“这次只是把拉氏量(Lag)改的比较复杂就解不出来”,对于EquationSimplification -> Solve来说这可能是非常致命的,参看这帖:https://mathematica.stackexchange.com/a/158519/1871
但是换用Residual方法又可能会因为DAE求解器性能不佳而求解失败……总之对这类问题目前没有特效解决方法。
2018年05月05日 04点05分 3
1