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

[04.流体] 入口速度的step函数怎写

[复制链接]
发表于 2012-9-14 20:51:21 | 显示全部楼层 |阅读模式 来自 台湾
因为我的模型很大并求解暂态的所以不好收敛,所以我想写一个入口速度慢慢變大的函数但不知道要怎写?
例如说速度从初始值0m/s慢慢到1m/s的话这样要怎写(我入口速度直接用1米/秒时收敛不了)

麻烦解答了谢谢

发表于 2012-9-19 13:21:44 | 显示全部楼层 来自 北京
Simdroid开发平台
yaloti 发表于 2012-9-18 23:43
感谢您的回答我了解了

但是您知道阶跃函数中的“位置”这一项假设改变他的话会怎样吗? ...

这个我就不太清楚了……
回复 不支持

使用道具 举报

发表于 2012-9-15 20:26:04 | 显示全部楼层 来自 北京
在全局定义里新增函数——1[m/s]*step1(t[1/s])
同时要在参数里定义 t 1[s]

貌似是这样的

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2012-9-16 23:26:39 | 显示全部楼层 来自 台湾
首先感谢您的回答!可是我在输入时显示语法错误!
我是新增一分段函数!开始试末端是1函数就是您打上的那个!但就是不行

还是是我用错函数?麻烦赐教谢谢
回复 不支持

使用道具 举报

发表于 2012-9-17 17:20:35 | 显示全部楼层 来自 安徽合肥
用阶跃和分段都是可以的,分段的话注意上下起点的坐标别搞错了
回复 不支持

使用道具 举报

发表于 2012-9-17 19:27:42 | 显示全部楼层 来自 江苏南京
bitwll 发表于 2012-9-15 20:26
在全局定义里新增函数——1[m/s]*step1(t[1/s])
同时要在参数里定义 t 1

别忘了在定义中定义这个函数
回复 不支持

使用道具 举报

 楼主| 发表于 2012-9-17 20:20:31 | 显示全部楼层 来自 台湾
感谢#4回答,所以说阶跃会比较好设立吗

#5请问您想说的是?

请问有没有关于分段或者是阶跃的范例说明呢其实我有点一知半解

感谢大师赐教
回复 不支持

使用道具 举报

发表于 2012-9-18 11:34:39 | 显示全部楼层 来自 北京
yaloti 发表于 2012-9-17 20:20
感谢#4回答,所以说阶跃会比较好设立吗

#5请问您想说的是?

我定义函数的时候也经常出错,一般好像是单位的问题吧,我是在某个视频案例里看到过里面定义一个入口浓度的阶跃函数的,专门的范例好像没见过
回复 不支持

使用道具 举报

 楼主| 发表于 2012-9-18 15:44:50 | 显示全部楼层 来自 台湾
bitwll 发表于 2012-9-18 11:34
我定义函数的时候也经常出错,一般好像是单位的问题吧,我是在某个视频案例里看到过里面定义一个入口浓度 ...

感谢您的回答!请问一下那阶跃函数的位置,根据,至是代表什么意思?

您之前打的函数假设我现在要改为速度2M / S的话是不是只要把您之前打的1M / S改为2M / S就好了呢?

感谢解答谢谢!
回复 不支持

使用道具 举报

发表于 2012-9-18 21:05:19 | 显示全部楼层 来自 北京
yaloti 发表于 2012-9-18 15:44
感谢您的回答!请问一下那阶跃函数的位置,根据,至是代表什么意思?

您之前打的函数假设我现在要改为速 ...

对!  我自己的理解是step1(t[1/s])是指时间的阶跃函数,因为阶跃函数本身没有单位,所以要把s去掉,也就是[1/s],而前面就是我们希望呈阶跃函数变化的量,比如速度或者浓度,至于1还是4应该可以随便改吧……
回复 不支持

使用道具 举报

 楼主| 发表于 2012-9-18 23:43:01 | 显示全部楼层 来自 台湾
bitwll 发表于 2012-9-18 21:05
对!  我自己的理解是step1(t[1/s])是指时间的阶跃函数,因为阶跃函数本身没有单位,所以要把s去掉,也就 ...

感谢您的回答我了解了

但是您知道阶跃函数中的“位置”这一项假设改变他的话会怎样吗?
回复 不支持

使用道具 举报

 楼主| 发表于 2012-9-19 23:33:42 | 显示全部楼层 来自 台湾
bitwll 发表于 2012-9-19 13:21
这个我就不太清楚了……

不管如何还是非常的感谢您
回复 不支持

使用道具 举报

发表于 2012-10-29 14:58:55 | 显示全部楼层 来自 广东东莞
本帖最后由 showaround 于 2012-10-29 15:10 编辑

逐渐变化的话推荐还是参数扫描的比较好,阶跃平滑适合在两个值之间突变的情况,LZ既然说是逐渐变化的值,推荐参数扫描,然后用上一个的解或者解的插值做初值求下一个,至于step函数的应用格式:在设置用有个location=s0,start=A,To=B, when s<=s0,step(s)=A,other step(s)=B。最好用阶跃平滑flc2hs:flc2hs(x,scale),x<-scale,f=0;x>scale,f=1;-scale<x<scale,heaviside。具体意义直接帮助文件吧。你的问题千万别用step,不然还是突变。推荐用参数扫描。flc2hs可定为flc2hs(0,0.0001),这样就可以得到0到1的平滑值

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2012-11-6 19:49:49 | 显示全部楼层 来自 澳大利亚
range(0,0.01,1) 或 range(0.01,0.01,1)  初值从0或0.01开始,每步增量0.01, 终值1
回复 不支持

使用道具 举报

发表于 2012-11-8 10:25:33 | 显示全部楼层 来自 河南焦作
都是高手啊。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2012-11-9 14:45:03 | 显示全部楼层 来自 北京
这个为什么不尝试自己写一个表达式呢,用参数扫略的方式不可取,flc2hs(0,0.0001)和Step函数差不多都是一个意思,LZ可以自己尝试同时间t相关的表达式,二阶的应该就可以了,自己来调节流速增加的速率就好了
回复 不支持

使用道具 举报

发表于 2013-8-11 23:14:55 | 显示全部楼层 来自 浙江杭州
学到不少,有高手啊。
回复 不支持

使用道具 举报

发表于 2013-8-13 09:16:56 来自手机 | 显示全部楼层 来自 江苏无锡
流体计算中,经常将入口速度设为4*Vmax*s*(1-s),s用在2d边界上,上面的表达式描述入口处抛物线型的速度轮廓
回复 不支持

使用道具 举报

发表于 2013-8-13 16:41:32 来自手机 | 显示全部楼层 来自 江苏无锡
参考案例库multiphysics/fluid dynamics/cylinder flow案例
回复 不支持

使用道具 举报

发表于 2013-12-4 16:18:25 | 显示全部楼层 来自 天津
应该就在定义变量中定义一个阶跃函数...
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 12:02 , Processed in 0.057949 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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