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

[15.分享让我牛B] 求解器心得(二)

[复制链接]
发表于 2012-11-8 19:38:49 | 显示全部楼层 |阅读模式 来自 广东东莞
本帖最后由 showaround 于 2012-11-8 19:45 编辑

1 求解器组件:
    所有求解器由三部分构成:Operation:用于输出解
                            Attribute:设定求解器参数
                            Utility:调用特定的操作
    右键点击求解器选择显示默认设置即可看到全部选项。
今天先说第一个Operation。我们化工类常用的也就是稳态和瞬态。
  • 稳态(stationary solver):通用的设置项
  • defined by study step:指定求解器设置是否与对应的求解步同步。这里面有个user define,我选了后感觉也没啥不同的反应,这项的意思应该就是选择稳态求解步每步的求解器设置,但对一个完整的求解过程不同的设置利用user define 怎么实现我还没应用过;
  • Relative Tolerance:两个选项,一个是作为终止条件,一个是作为直接求解器中的error checking,各位道友如果想了解comsol error 的估算公式可以直接开帮助文档,比较繁琐,可能对有截断误差分析的朋友有帮助,不看也罢。
  • Linearity:下面可选的有四项,Auto;线性:对应于newton求解步;非线性;线性扰动:适于小波分析和线性化点的分析(这个是我直接英文翻译的,线性化点的分析是什么东东,有人用过么?)
  • 选择初值:可以选的项有初值表达式和解(用已经求解得出的某个解作为本求解器的初值),当选择解是会跳出来两个选项:0解和求解器解的选择,选择对应的解即可。
2. 瞬态
  • times:设定计算的时间范围
  • res:控制每个时间步的相对容差
  • 绝对容差:默认适于全局变量,除非重新设定方法。全局方法:scaled:用于缩放的变量;unscaled:用于未缩放的变量;此处可以单独为每个变量选择绝对容差;
  • Time stepping:指定求解的时间步方法,有三种方法:BDF,最常用的向后差分法获取时间步,有1-5阶精度可以选择;G-arfa:这个方法连帮助文件都说复杂,没给具体介绍,只能用于全耦合或者分离式求解;只初始化:只计算一个初值就结束。BDF:适合计算平滑的问题;G-arfa:计算大梯度问题更精确,但它因为是用隐式方法获取时间步,更消耗时间和内存。
  • steps taken by solver:修正BDF和G-arfa选择时间步的方法。有四个选项,free:不考虑times,自由选定时间步;strict:严格按照times指定的时间步来,在这里有个小tips:range(0,0.001,1) range(1,1,10)... 意思是在开始的一段时间内用较小的步长求解,然后大步长加快速度;Manual:只用于G-arfa,会覆盖每个时间步的局部误差估计;Intermediate:强制在times的每个间隔中插入时间步;
  • 初始步:当上步选手动时不可用,默认自动选择
  • time step: 只有上一步为手动时可用,可为标量、向量、表达式,当选择BDF时可以设置是否允许复数、最大和最小的BDF阶、更新缩放的绝对容差,当选择G-arfa时可选择时间步增长的延迟、高频放大(0到1,0为大阻尼或衰减,原词为damping,1为小阻尼)、预测器(线性:当前解的线性外推作为非线性方程下一步的猜想值,constant:当前解作为猜想值)
  • result while solving:update at:1 指定的times, 2 step taken by solver(与求解器实际的求解步长匹配),选择后处理图像和探针(probe)根据具体需要在下拉菜单中选,此处不赘述
  • output time:指定存贮解的时间。
  • Advanced:奇异质量矩阵,当系统中包含差分方程时空之求解器是否自动限制,下含两个选项:1 Automic(maybe)以在行或列中找到0向量作为有差分方程的标志,2 Yes 当没有0向量却含有差分方程时选择;
  • 一致初始化:控制求解器执行一致的差分方程组初始值,旗下可选项有三个:1、向后欧拉 2、off:初值一直不变 3、on  取index-1 差分方程的向后欧拉作为所有初始化值,该选项只有在前面选了BDF时可用。(这个index-1是差分方程组的第一个?我猜是吧)
接下来的时间离散化求解器(Time discrete solver,时间步已经离散好)和显式瞬态求解(time explicit solver,使用显式的龙格库塔法求解)与上述的类似。
3. 独立变量:调用初始数据,缩放变量(这个缩放因子是把各变量做归一化处理以防大数吃小数)
  • 初值设定:1 初值表达式 2用特定解
  • 缩放因子:1 自动选择,默认选这个 2 基于给定的初值估算 3 手动,必须是标量 4 none。缩放因子若为0.01,意思就是除以0.01,反之100就是除100。
  • 不求解的变量:只有存在不求解的变量时方可用。
================================================================================================================
这个排版不太好用,项目序号无法自由升降级别,大家凑合看,下次写重点:求解器设置。做的痔疮疼啊....另外附送一个我总结的求解记录各项含义:
  
L solver log线性
  
  
NL  log
  
  
iter
  
  
Iterative  times
  
  
step
  
  
Time step numbers
  
  
ErrEst
  
  
Relative error estimate
  
  
Time
  
  
Time; output  times are indicated with out
  
  
Damping
  
  
Damping factor
  
  
Order
  
  
Method  accuracy
  
  
StepSize
  
  
Undamped Newton step
  
  
Tfail
  
  
number of error test failures in  time stepping
  
  
sol
  
  
L  system solutions
  
  
NLfail
  
  
number of failures in the NL iterations  
  
  
Newton ,Cauchy
  
  
Fraction of Newton and Cauchy steps for  Double dogleg
  
  
  
  
  
L 为线性,NL 为非线性,左侧的是线性求解器的Log,右侧是非线性的,2010ppt拷贝过来无法显示抬头。

评分

1

查看全部评分

发表于 2012-12-30 10:23:21 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
谢谢楼主分享!
回复 不支持

使用道具 举报

发表于 2012-12-30 14:15:38 | 显示全部楼层 来自 四川成都
看不懂啊
回复 不支持

使用道具 举报

发表于 2015-3-3 20:39:44 | 显示全部楼层 来自 山东淄博
请问楼主这是针对的comsol的哪个版本
回复 不支持

使用道具 举报

 楼主| 发表于 2015-3-11 11:33:51 | 显示全部楼层 来自 陕西
zmfly 发表于 2015-3-3 20:39
请问楼主这是针对的comsol的哪个版本

所有的版本,求解器的东西变的少,我写的都是基础
回复 不支持

使用道具 举报

发表于 2017-12-15 09:52:23 | 显示全部楼层 来自 北京朝阳
好详细,谢谢楼主
回复 不支持

使用道具 举报

发表于 2018-7-12 10:14:12 | 显示全部楼层 来自 江苏南京
谢谢分享,,楼主再接再厉
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 15:33 , Processed in 0.042784 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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