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

[子程序] 【报恩帖】移动荷载 vdload 子程序 源文件

[复制链接]
发表于 2011-5-2 10:20:04 | 显示全部楼层 |阅读模式 来自 北京
轨道上的四个轮载,用vdload子程序写的。模型比较简单,尚未考虑轨道不平顺,尚未支座未加弹簧和阻尼,仅供和我一样的新手学习vdload子程序用。
for文件里有amplitude,加起来很简单,在inp文件下述位置添加【】中的内容即可
*Dsload
ASSEMBLY_SURF-1, PNU, 1.
*amplitude,name=Amp-1
本模型可以模拟轨道随机振动。以钢轨截面拉伸至三维,在轨枕处加弹簧和阻尼,用matlab计算因不平顺度产生的激励力,在cae中将此力用amp定义。

本帖子中包含更多资源

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

×

评分

2

查看全部评分

发表于 2012-11-24 13:42:03 | 显示全部楼层 来自 北京
Simdroid开发平台
loveblue 发表于 2011-5-21 21:58
您好,请教两个问题:
1,加不同幅值的问题是怎么解决的,10到100000字节是什么意思?
2.amplitude 在修改关键字 ...

幅值曲线是在inp文件中定义,当计算程序读取inp文件读到幅值曲线定义时就记住这里有一个叫某某的幅值曲线,当读取dsload的荷载类型为PNU,即非均不荷载时,按ABAQUS规定,程序就知道要开始执行子程序了,对于子程序中要出现的幅度值,若是没有修改成*Dsload一行乘*Dsload, amplitude=Amp-1,程序就按照下一行_PickedSurf91,PNU,1.中的最后一个值1传给子程序供其使用。有时候荷载幅度值是要变化的,就要通过*Dsload后面加上amplitude=Amp-1即变成*Dsload, amplitude=Amp-1,这样程序看到了之后,就在inp文件中寻找之前定义过的Amp-1,然后将1乘以Amp-1幅值曲线后,传递给子程序最为最终幅度值。其实你可以先在cae中定义荷载时先将分步类型指定为一致,这样最下面就会出现幅值定义项,你先定义一个Amp-1,保存。然后写出inp文件,找到荷载定义位置,就会发现原来幅值改变也是在*Dsload之后附上amplitude=Amp-1,对于荷载类型为用户定义时由于在cae中荷载定义对话框最下面没有amp定义,即cae中不支持用户定义分布荷载幅值曲线的指定,故要在inp中实现。总结一下,让cae告诉我们怎么改inp,也就是若cae中不支持amp定义,就须修改inp文件,在哪个位置作怎样的修改,可以这样做,先在cae中将荷载分布类型选择为一致,然后定义amp,然后写出inp,查找幅值定义位置,完全对照着去修改我们的inp就行了。不同的幅值问题只要inp文件的前面定义几种不同的amp曲线,然后后面引用就行了。
回复 1 不支持 0

使用道具 举报

 楼主| 发表于 2011-5-2 10:43:40 | 显示全部楼层 来自 北京
请教高人一个问题:我用else if 实现的一个面上的四个荷载,我会对四个荷载赋予相同的amplitude。现在想对四个荷载分别赋予不同的amplitude,应该怎么办?
回复 不支持

使用道具 举报

 楼主| 发表于 2011-5-2 10:51:27 | 显示全部楼层 来自 北京
已解决~统限制: 10 到 100000 字节
回复 不支持

使用道具 举报

发表于 2011-5-2 14:31:03 | 显示全部楼层 来自 四川成都
我也在做关于列车移动荷载的,但是没学过语言,希望能向高手请教一下
回复 不支持

使用道具 举报

发表于 2011-5-12 14:22:14 | 显示全部楼层 来自 福建福州
1# GODSAVEME
您好,我qq是495292232 加下我行不 有些问题请教下  谢谢
回复 不支持

使用道具 举报

发表于 2011-5-21 21:58:25 | 显示全部楼层 来自 黑龙江哈尔滨
您好,请教两个问题:
1,加不同幅值的问题是怎么解决的,10到100000字节是什么意思?
2.amplitude 在修改关键字中加,还是在write inp文件中加,或是都可以,我用楼主的方法加完之后,显示错误,不知道碰到过这样的问题吗?或者我的写法有什么问题,谢谢!
*Dsload
_PickedSurf91,PNU,1.
*amplitude,name=Amp-1

错误提示:in keyword *AMPLITUDE, file "Job-2.inp", line 12607: OdbError: Number of columns must be less or equal to 2.
回复 不支持

使用道具 举报

发表于 2011-5-30 00:14:21 | 显示全部楼层 来自 浙江杭州
新手,来看看,谢谢
回复 不支持

使用道具 举报

发表于 2011-6-3 22:08:02 | 显示全部楼层 来自 福建福州
1# GODSAVEME
想请教您下 水平荷载怎么施加
回复 不支持

使用道具 举报

发表于 2011-6-16 20:47:51 | 显示全部楼层 来自 清华大学
GODSAVEME,你好,能否把你的方法说详细点啊?希望交流、指点,我的QQ:1023476875.
谢谢!
回复 不支持

使用道具 举报

发表于 2011-6-20 12:50:40 | 显示全部楼层 来自 清华大学
GODSAVEME,
你好,
*amplitude,name=Amp-1中Amp-1又是在哪里定义?是不是在load模块下,tools-amplitude-create创建?创建后写入inp文件吗?最后只能在command中提交计算了?
回复 不支持

使用道具 举报

发表于 2011-7-1 22:13:22 | 显示全部楼层 来自 黑龙江哈尔滨
楼主,abaqus用的是哪个版本啊?是10版吗?
回复 不支持

使用道具 举报

发表于 2011-7-15 10:12:11 | 显示全部楼层 来自 北京
请教一下,6.5版本的可以移动加载的子程序,高版本的也能使用该子程序吗?
回复 不支持

使用道具 举报

发表于 2011-7-15 10:26:39 | 显示全部楼层 来自 四川成都
6.9版是可以施加的。
回复 不支持

使用道具 举报

发表于 2011-9-27 18:45:53 | 显示全部楼层 来自 江苏南京
楼主你好,你这个文件我看的差不多懂了。就差这一句,请解释下,        IF (SNAME(1:15).EQ.'ASSEMBLY_SURF-1') THEN
          do  k=1, nblock
为什么加个IF语句,这个语句是什么作用?什么含义?谢谢。我的基础太薄了。
回复 不支持

使用道具 举报

发表于 2011-9-27 18:48:51 | 显示全部楼层 来自 江苏南京
有哪个高手谁懂得帮忙解释下吧,应该不难吧?好像是边界条件的定义之类的?
回复 不支持

使用道具 举报

发表于 2011-9-27 19:08:32 | 显示全部楼层 来自 台湾
新手,来看看,谢谢
回复 不支持

使用道具 举报

发表于 2011-10-20 09:57:53 | 显示全部楼层 来自 黑龙江哈尔滨
这个很好,对我很有帮助。以后有不懂的问题就应该研究别人的cae模型。赞
回复 不支持

使用道具 举报

发表于 2011-10-25 20:28:29 | 显示全部楼层 来自 江苏南京
不会,想要认真学习呢,就是没人给指导啊
回复 不支持

使用道具 举报

发表于 2012-2-6 21:07:25 | 显示全部楼层 来自 黑龙江哈尔滨
loveblue 发表于 2011-5-21 21:58
您好,请教两个问题:
1,加不同幅值的问题是怎么解决的,10到100000字节是什么意思?
2.amplitude 在修改关键字 ...

你好,你遇到的问题解决了吗 ,我现在遇到了和你相同的问题。
  你是通过什么方式在子程序中加入了amp的,谢谢。
回复 不支持

使用道具 举报

发表于 2012-2-6 21:20:29 | 显示全部楼层 来自 黑龙江哈尔滨
07017004 发表于 2011-6-20 12:50
GODSAVEME,
你好,
*amplitude,name=Amp-1中Amp-1又是在哪里定义?是不是在load模块下,tools-amplitude-c ...

你好 。你的问题解决了,有什么好的方案吗
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 00:27 , Processed in 0.057340 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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