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

[土木] 如何用cutting surface和section print输出轴力【超详细】

[复制链接]
发表于 2010-12-17 20:41:18 | 显示全部楼层 |阅读模式 来自 陕西西安
本帖最后由 shclmy 于 2010-12-23 11:04 编辑

经过两个星期的摸索与学习,今天终于学会了桩轴力的输出。现总结如下,希望后来人少走些弯路。

1.主要步骤是先定义截面cutting surface,然后用section print输出轴力sof

2.所有操作均是在inp文件中进行修改的,而不是ABAQUS/CAE中的编辑关键词(edit keywords)。

原因:在CAE中编辑关键词是可以修改inp文件,但CAE并不能识别所有的inp文件关键词,下面将举例说明。

3.最后提交的inp文件也不是在CAE中导入模型文件(import model),然后提交job进行运算的,而是在ABAQUS命令窗口(小黑屏)进行的。

原因同2中的一样,CAE并不能识别关键词*section print

好了,下面开始详细的步骤讲解吧!
第一步:定义截面(cutting surface),具体的关键语句为:
*surface,type=cutting surface,name=cutsurf-1
0.6,25,0,0,1,0
Set-pile
解读:
第一行,定义surfacesurface类型以及名称。
第二行,定义截面上的一点(0.6,25,0)以及截面的法向量(0,1,0)。法向量不一定是单位向量。
第三行,截面所在的单元或集合。这个集合可以是事先在CAE里定义好的。
需要注意的是,这个cutting surface是垂直于桩径方向的一个桩截面,而不是桩的侧表面。我一开始理解错了!
此关键句在inp文件中的位置是在*Assembly, name=Assembly这一行之后,我试了下在放在材料定义之后,运算不成功。估计是因为我的Set-pile是在assembly里定义的,而不是在part里定义的单元集。若是在part里定义了桩的集合,是不是可以将此关键句移动到材料定义之后,这个我倒没试。
如果是在CAE中通过编辑关键词来添加上述语句,将会有下面的错误提示:


第二步:定义输出(section print),具体的关键语句为:
*section print,name=secprint-1,surface=cutsurf-1
sof,som
解读:
第一行,定义输出的名称及截面。
第二行,定义输出选项,sof为截面合力,som为截面弯矩。
注意,此处第一行surface=**必须是上一步中cutting surface的名称(name=**),因为要输出的就是第一步定义的截面轴力及弯矩。如果此处乱写surface=?的话,估计到最后什么也输出不了了。
有些人还在第一句后面加上了axes=local,frequency=1,update=yes,由于我的模型较简单,也就没管这几个东西。除了命名之外,inp文件中的大小写英文字符,是没有区别的。所以大家不要再犹豫写*SECTION PRINT还是*section print……
此关键句在inp文件中的位置是最后一个** HISTORY OUTPUT: H-Output-3之后,*Output, history, variable=PRESELECT之前。也就是我的inp文件中的倒数第四和第三行。如果放错了位置,估计也会引起不识别等问题,最终导致无输出结果。
如果是在CAE中通过导入inp文件来进行运算,在导入时,CAE下方窗口将会有下述警告信息:
WARNING: The following keywords/parameters are not yet supported by the input file reader:
---------------------------------------------------------------------------------
*SECTIONPRINT
The model "Job-20101215" has been imported from an input file.
Please scroll up to check for error and warning messages.
这再次验证了,ABAQUS/CAE是不能识别关键词*section print的。强制提交job是可以运算的,但是在最后的dat结果文件里没用任何输出结果。
第三步:保存并提交inp文件。
在保存之前需要仔细检查上面关键语句的位置及拼写,以及是否含有中文字符。
然后就可以在ABAQUS命令窗口提交inp文件进行运算了。具体操作是:开始→所有程序→Abaqus 6.9.1Abaqus Command
输入:
abaqus job=***.inp(就是你刚才修改的inp文件名)
回车即可。
然后黑屏窗口会弹出一个警告语句:
Abaqus Warning:The .inp extension has been removed from the job indentifier
大概意思是说,后缀.inp被省略。由此可判断,在上面输入的时候,完全可以不写后缀名字。我之所以写了,是因为我的默认工作路径D:\Temp下还有个跟inp文件完全同名的.cae文件,而如果这两个文件信息不是完全一样的话,建议还是加上.inp后缀为好。
到此,计算完毕。黑屏窗口并不会像CAE那样提示job completedANSYS中的solution is done!(害得我还以为没反应…… -_- 汗!)默认工作路径下已经生产了结果文件 .com .dat .log .msg .odb .prt .sta等一系列后缀文件。
第四步:提取数据
用记事本打开刚才生产的.dat文件,在最下面会找到想要的输出结果
THE FOLLOWING TABLES ARE PRINTED

SOFM           SOF1            SOF2            SOF3
1.0556E+06  4.0515E+04  1.0548E+06   0.000
三个方向的sof,以及合力SOFM
需要注意的是,此sof值是合力,单位为N,不是Pa
至此,大功告成!
后话:
(1)本人查看了仿真论坛里的一些帖子,发现输出轴力的方法有三:
后处理模块中运用free body cut,此法较为方便简单,可直接得到截面合力,无奈我的模型是二维轴对称的,不能进行自由体切割。
‚输出截面上的应力值进行积分运算,主要方法是创建路径(path)或者拾取节点应力值,桩身的网格越密集,最后的积分值越精确,此法我已学会。
ƒcutting surfacesection print联合使用,由于手动修改inp文件,此法最复杂,而且不知道最终的sof值,软件是如何算出来的。如果需要得到桩深方向N个截面的轴力,就需要在cutting surface里定义N个截面。
(2)特别感谢仿真论坛的zsq-w总斑竹、shanhuimin923斑竹、fircelaoyao239以及ABAQUS-岩土群(84418357)里的◆羽出惊人◆(274550165)

------------------------------------------------------------------------------------------------------------
如大家发现我的这个总结有什么问题,请不吝赐教!QQ575595817

本帖子中包含更多资源

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

×

评分

1

查看全部评分

发表于 2010-12-17 21:29:36 | 显示全部楼层 来自 山东烟台
Simdroid开发平台
其实提交job时,无论在哪儿进行修改的,可以在cae-job提交运算的,只要你在创建job时,选择source:input file(而非model)就可以了。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-12-18 10:04:41 | 显示全部楼层 来自 陕西西安
2# shanhuimin923

学习了!
回复 不支持

使用道具 举报

发表于 2011-3-13 01:48:38 | 显示全部楼层 来自 黑龙江哈尔滨
向楼主及各位朋友问好!一直被一个问题困扰:我想利用*section print 输出实体柱中部截面的SOF,定义截面的方法有两种:1 直接在CAE里定义想要输出SOF的截面 2 在inp里用cutting surface定义(具体操作参见一楼) 我的问题:利用第一种方法定义中部截面时需要选择面(如图1所示,图中显示的是一层顶部和二层底部的交界面,通过颜色来区分面的位置,实体柱顶端和底端截面只有一个截面,因此不需要这样的选择),我想选的是二层的底面,可由于颜色不易辨别,因此所以就想借鉴楼主提供的方法直接定义二层的底面(即方法2),具体如下:
*surface,type=cutting surface,name=Surf1-Column1
0,3600,0,0,-1,0
Surf-1-Column1(在CAE-> Assembly里定义的截面所在的单元结合,如图2所示)
以上三句放在了*End Assembly之前

*section print,name=floor1-Column1,surface=Surf1-Column1
sof
以上两句放在了*End Step之前
这样改完后提交inp文件(参考二楼斑竹提供的方法),出现了如下错误提示(如图3):
The surface floor1-column1 either: wraps around on itself or elements located on both sides of the section are used in the definition or more elements than needed are used to define it. The problem was detected when processing elements 132 instance end-column-1 and 133 instance end-column-1 which either were used or have nodes in common with elements used to define the surface. The section must either cut completely through the mesh, form a closed surface or be at the exterior of the body.
我没有读懂上面的提示,还请楼主和各位朋友指点一下!谢谢!

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2011-3-13 14:08:02 | 显示全部楼层 来自 黑龙江哈尔滨
很详细。要收藏啦。
回复 不支持

使用道具 举报

发表于 2011-7-11 13:04:21 | 显示全部楼层 来自 江苏南京
输出截面上的应力值进行积分运算,主要方法是创建路径(path)或者拾取节点应力值,桩身的网格越密集,最后的积分值越精确,此法我已学会。


怎样来积分啊??
回复 不支持

使用道具 举报

发表于 2011-9-17 21:55:34 | 显示全部楼层 来自 江苏南京
感谢lz的贡献,这么说来这个截面合内力的输出在cae截面是没法直接完成的了!害我琢磨半天surface定义啊
回复 不支持

使用道具 举报

发表于 2012-3-1 19:56:51 | 显示全部楼层 来自 浙江宁波
准备做这个问题,先学习一下,桩侧摩阻力就有办法计算了
回复 不支持

使用道具 举报

发表于 2012-3-15 23:21:48 | 显示全部楼层 来自 北京
楼主能不能告诉我怎么提取弯矩,剪力呀,具体说说有哪几种方法呀?:):)
回复 不支持

使用道具 举报

发表于 2012-3-16 07:33:15 | 显示全部楼层 来自 江苏苏州
学习 学习
回复 不支持

使用道具 举报

发表于 2013-2-22 09:46:07 | 显示全部楼层 来自 湖南长沙
我按照上述方法定义了之后还是出现报错, ***ERROR: THE SURFACE ASSEMBLY_SURF-1 HAS BEEN DEFINED MORE THAN ONCE. REMOVE
           DUPLICATE DEFINITIONS.请版主以及各位大侠帮我看看问题到底出在哪里?

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2013-4-3 12:43:41 | 显示全部楼层 来自 江苏南京
此法好像对于壳单元没法使用,有哪位大侠能够无告诉我怎么利用积分求截面内力?
回复 不支持

使用道具 举报

发表于 2013-4-14 01:48:05 | 显示全部楼层 来自 北京
wangrui 发表于 2013-2-22 09:46
我按照上述方法定义了之后还是出现报错, ***ERROR: THE SURFACE ASSEMBLY_SURF-1 HAS BEEN DEFINED MORE T ...

兄弟,你肯定是先partition之后又在cae里面定义了surface,其实只要是你在 cae里面定义了surface,就不要在进行定义截面cutting surface这一步了,直接进行section print这一步就行了!应该就不会出现上述问题了!
回复 不支持

使用道具 举报

发表于 2013-5-11 18:19:25 | 显示全部楼层 来自 广东广州
楼主,感谢你啊,来个拥抱,再来个握手~
回复 不支持

使用道具 举报

发表于 2013-5-13 09:56:40 | 显示全部楼层 来自 陕西西安
:)好贴
回复 不支持

使用道具 举报

 楼主| 发表于 2013-6-6 18:47:31 | 显示全部楼层 来自 四川成都
楼主来啦!
关于本帖的另外说明:
1. ABAQUS 6.10及以后版本,可以直接在cae里创建surface了,这样就省去了什么“点所在的集合以及所在面和面的方向”复杂性。
2. 2楼所说,不一定非要在command小黑屏里提交inp,在cae里创建job的时候,选择sourceinp文件即可,这样可以在job monitor里实时查看计算进度。但是对于大型计算量的模型,仍建议小黑屏,可以防止job manager假卡死。
3. 后处理模块中的free body cut既可以精确定位到某个面,也可以查看分量。但是对于方向和正负值问题,我还是有点搞不清(汗!)
4. 关于手动积分,这种情况适用于网格划分很简单,几何形状也简单的2D3D模型。学过结构力学的同学们一定知道一个节点上的力(或应力)怎么分配给所共用此节点的杆件。同理可讲查询节点得到的应力如何分配给所共用的单元面,然后乘以面积就可以了。
例如:

此正方形截面共有9个节点,边长为1m,每个节点上的应力(S22)如图所示。由于节点等距离均匀分布,那么9个节点的平均应力是30Pa,乘以面积1m2,那么此截面的轴力就是30N.
对于非等距离节点,节点应力值有正有负,并要求弯矩的,手动算就麻烦了!
5. 关于输出N个截面的轴力或弯矩,既然cae可以定义多个surface,那就在输出语句里多写上几句吧!最后的dat文件里可以全部得到不同深度的内力。
*section print,name=secprint-1,surface=cutsurf-1
sof,som
*section print,name=secprint-2,surface=cutsurf-2
sof,som
……
*section print,name=secprint-N,surface=cutsurf-N
sof,som

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2013-8-22 17:15:44 | 显示全部楼层 来自 江苏南京
shclmy 发表于 2013-6-6 18:47
楼主来啦!关于本帖的另外说明:1. ABAQUS 6.10及以后版本,可以直接在cae里创建surface了,这样就省去了什 ...

LZ新人想请教下在cae里创建surface是以Tools-Surface-Create的方式创建吗?建好之后在inp里添加*section print后提交job为什么显示Surface named assembly_surf-cut1 does not exist. Please check the *section print or the *surface data.
回复 不支持

使用道具 举报

发表于 2013-10-21 21:10:57 | 显示全部楼层 来自 河南郑州
使用梁单元要怎样定义才能输出轴力与弯矩呢
回复 不支持

使用道具 举报

发表于 2013-11-6 16:02:45 | 显示全部楼层 来自 日本
谢谢楼主。这个方法解决了轴对称单元的断面内力输出问题。因为在COB文件里,free body cut是不能导出轴对称单元断面内力的。

不过,如果欲求解的某个断面,其法向与全局坐标系的某个轴不重合,那么这个方法就不能用了。。。

回复 不支持

使用道具 举报

发表于 2014-7-13 11:41:05 | 显示全部楼层 来自 四川绵阳
好贴,楼主大好人!!!
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 00:47 , Processed in 0.128304 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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