找回密码
 注册
Simdroid-非首页
查看: 564|回复: 17

[16.其它] 解常微分方程组无法得到正确解,求帮助!!!

[复制链接]
发表于 2013-6-25 22:29:46 | 显示全部楼层 |阅读模式 来自 上海
本帖最后由 sina2532 于 2013-6-26 14:48 编辑

新手用COMSOL,想尝试解一个常微分方程组,但是解的结果和用Matlab解出来的解不一致,也没有找到原因

附上源文件,word中是常微分方程和在Matlab中模拟的结果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

发表于 2013-6-26 09:58:16 | 显示全部楼层 来自 澳门
Simdroid开发平台
tao_c 的单位是 秒吗?
我看到 COMSOL 里面显示  m.s ?

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2013-6-26 14:52:25 | 显示全部楼层 来自 上海
cmut 发表于 2013-6-26 09:58
tao_c 的单位是 秒吗?
我看到 COMSOL 里面显示  m.s ?

确实错了,单位应该是 (秒),我更正了一下,重新传上来了,多谢哈!!

不过这个错误不怎么影响结果,我觉得是不是solver需要一些设置?
回复 不支持

使用道具 举报

发表于 2013-6-27 09:11:13 | 显示全部楼层 来自 澳门
个人建议,global parameters 先直接给数值,看ODE公式,似乎没有问题。
solver设置,不太清楚。
祝好运!
回复 不支持

使用道具 举报

发表于 2013-6-27 16:18:51 | 显示全部楼层 来自 陕西西安
用 generalized alpha 积分方法,设置 高频放大系数为0.9, 设置不长最大为 1e-9 试试

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2013-6-27 16:49:03 | 显示全部楼层 来自 陕西西安
TBE_Legend 发表于 2013-6-27 16:18
用 generalized alpha 积分方法,设置 高频放大系数为0.9, 设置不长最大为 1e-9 试试
...

油条了下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2013-6-27 21:55:26 | 显示全部楼层 来自 上海
TBE_Legend 发表于 2013-6-27 16:49
油条了下

按照版主的提示我改了下,怎么老是给出解不收敛的错误

Nonlinear solver did not converge.
Time : 4.317170537135947e-006
Last time step is not converged.

求指导
回复 不支持

使用道具 举报

发表于 2013-6-27 22:42:05 | 显示全部楼层 来自 陕西西安
sina2532 发表于 2013-6-27 21:55
按照版主的提示我改了下,怎么老是给出解不收敛的错误

Nonlinear solver did not converge.

提高迭代次数到1e9
回复 不支持

使用道具 举报

发表于 2013-6-28 14:35:59 | 显示全部楼层 来自 陕西西安
本帖最后由 TBE_Legend 于 2013-6-28 15:01 编辑
TBE_Legend 发表于 2013-6-27 22:42
提高迭代次数到1e9

抽空又调了下,这个看起来好多了。


以下是mathematica代码供参考:
  1. Rp = 479 10^25;
  2. c = 2998 10^5;
  3. \[Sigma] = 65 10^-24;
  4. \[Tau]f = 230 10^-6;
  5. \[Tau]c = 227 10^-11;
  6. sol = NDSolve[ {n'[t] ==
  7.      Rp - c \[Sigma] \[Phi][t] n[t] - n[t]/\[Tau]f, \[Phi]'[t] ==
  8.      c \[Sigma] \[Phi][t] n[t] - \[Phi][t]/\[Tau]c ,
  9.     n[0] == 0, \[Phi][0] == 1  }, {n, \[Phi]}, {t, 0, 70 10^-6},
  10.    MaxStepSize -> 10^-8, Method -> "StiffnessSwitching"];
  11. Plot[n[t] /. sol // Evaluate, {t, 0, 70 10^-6}, PlotRange -> All,
  12. Frame -> True, PlotStyle -> {Red}]
  13. Plot[\[Phi][t] /. sol // Evaluate, {t, 0, 70 10^-6}, PlotRange -> All,
  14.   Frame -> True, PlotStyle -> {Black}]
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2013-11-28 20:50:16 | 显示全部楼层 来自 上海
本帖最后由 sina2532 于 2013-11-28 20:54 编辑

前段时间一直忙着其他事情,没有再处理这件事情了。首先感谢楼主的热情帮助,您的方法给了我很多启发!

下面是我用Time Explicit Solver做的解,比Time Dependent Solver的解药更好,速度也更快。

附上求解结果的图,计算的文件用的是Comsol 4.3b,要打开附件中的文件可能需要相同的版本,不好意思哈!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2014-1-25 14:18:50 | 显示全部楼层 来自 湖北武汉
看看你的结果
对了
回复 不支持

使用道具 举报

发表于 2014-4-14 22:33:40 | 显示全部楼层 来自 福建福州
学习了,刚学习comsol。
回复 不支持

使用道具 举报

发表于 2014-8-18 07:53:48 | 显示全部楼层 来自 广东广州
正在学用comsol求解PDE和ODE,很有帮助
回复 不支持

使用道具 举报

发表于 2014-11-5 13:13:42 | 显示全部楼层 来自 北京
学校学习中
回复 不支持

使用道具 举报

发表于 2015-4-8 22:57:40 | 显示全部楼层 来自 浙江金华
检查微分方程有没有错误
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-21 21:33 , Processed in 0.062067 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表