abaqus 常用 技巧 总结.docx

上传人:b****3 文档编号:3708758 上传时间:2023-05-06 格式:DOCX 页数:122 大小:626.01KB
下载 相关 举报
abaqus 常用 技巧 总结.docx_第1页
第1页 / 共122页
abaqus 常用 技巧 总结.docx_第2页
第2页 / 共122页
abaqus 常用 技巧 总结.docx_第3页
第3页 / 共122页
abaqus 常用 技巧 总结.docx_第4页
第4页 / 共122页
abaqus 常用 技巧 总结.docx_第5页
第5页 / 共122页
abaqus 常用 技巧 总结.docx_第6页
第6页 / 共122页
abaqus 常用 技巧 总结.docx_第7页
第7页 / 共122页
abaqus 常用 技巧 总结.docx_第8页
第8页 / 共122页
abaqus 常用 技巧 总结.docx_第9页
第9页 / 共122页
abaqus 常用 技巧 总结.docx_第10页
第10页 / 共122页
abaqus 常用 技巧 总结.docx_第11页
第11页 / 共122页
abaqus 常用 技巧 总结.docx_第12页
第12页 / 共122页
abaqus 常用 技巧 总结.docx_第13页
第13页 / 共122页
abaqus 常用 技巧 总结.docx_第14页
第14页 / 共122页
abaqus 常用 技巧 总结.docx_第15页
第15页 / 共122页
abaqus 常用 技巧 总结.docx_第16页
第16页 / 共122页
abaqus 常用 技巧 总结.docx_第17页
第17页 / 共122页
abaqus 常用 技巧 总结.docx_第18页
第18页 / 共122页
abaqus 常用 技巧 总结.docx_第19页
第19页 / 共122页
abaqus 常用 技巧 总结.docx_第20页
第20页 / 共122页
亲,该文档总共122页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

abaqus 常用 技巧 总结.docx

《abaqus 常用 技巧 总结.docx》由会员分享,可在线阅读,更多相关《abaqus 常用 技巧 总结.docx(122页珍藏版)》请在冰点文库上搜索。

abaqus 常用 技巧 总结.docx

abaqus常用技巧总结

Abaqus常用技巧总结

本手册是由simwe等论坛上精华帖以及本人下载的其他资料整理,由于很多资料搜集已经很久,而且时间有限,都没有注明原作者,也没有最资料进行分类整理,见谅。

建议阅读方式:

1.对timeincrement的根本理解

abaqus的step里有maximumnumberofincrement、initialincrement、minimumincrement、maximumincrement四个量许多网友不知怎样设置合理,合理设置是建立在深刻理解基础上的。

    要理解这个问题,首先需要了解abaqus的计算过程和有限元计算收敛性问题,abaqus首先用initial值输入进行叠代计算,如果计算结果收敛,则继续以这个值代入计算下一步,如果不收敛,则自动减小时间步长(timeincrement)重新计算直到收敛然后计算下一步。

    但是如果时间步长减小到最小值minimum时计算结果还是不收敛,则abaqus将停止计算,由此可知maximum值和minimum值分别是abaqus在收敛计算时时间步长的上下限,同时totaltime=求和(timeincrement*number),当时间步长很小时,需要计算的步数number相应增大(电脑计算花的时间也随之增大),因此number一般要设置较大值。

minimum并不是越小越好,因为1)number即计算时间增大2)abaqus计算精度约在10^(-5),当时间步长小于这个值,计算结果已经没什么意义了。

    有限元计算收敛性与(最小空间步长/时间步长)值有关,若minimum设为10^(-5),还是不收敛,可适当减小空间步长(即把网格画细点),当然还有一些其他办法,如果实在计算不了,也许是模型本身有点问题,或改为显示explicit计算

MF.c*b.i6\#s#    总而言之,maximunnumber要适当设置较大值,initial可适当改小(如-2,-3量级),minimum(-5量级)不要修改,maximum值影响不大,可不改

2.moment的加载

请教各位大牛

我最近在算一个题目,一个大筒体上有三个接管端面固定,大筒体两端加载扭距,但是不知道如何加载.请各位高手能赐教

谢谢

1.将大筒体两端要施加扭矩的节点分别定义为两个Nset:

left,right.

2.分别在大筒体两端的圆心处定义两个referencenode:

rp-left,rp-right.

3.用如下命令将两个节点集绕3轴旋转的自由度与参考点耦合起来,其他自由度度是否耦合根据具体问题而定:

*KINEMATICCOUPLING,REFNODE=rp-left

left,6,6

*KINEMATICCOUPLING,REFNODE=rp-right

right,6,6

4.在两个参考点上施加绕3轴旋转的弯矩.

友情提醒:

referencenode也有自由度,注意相应的边界条件.

3.abaqus计算时c盘的临时文件太大了,怎么改目录?

临时目录是Windows自己定义的,可以在系统环境变量中修改...

4.CAE中如何加预应力

具体没作过,看看*PRESTRESSHOLD和*INITIALCONDITIONS,TYPE=SOLUTION,REBAR

这两个命令以及ABAQUSAnalysisUser'sManual

“Definingreinforcement,”Section2.2.3

“Definingrebarasanelementproperty,”Section2.2.4

这两节吧。

5.hypermesh里面看abaqus分析的结果

、你在abaqus中计算完成后,将结果文件输出到*.fil.

2、利用hyperworks提供的hmabaqus.exe(在安装目录下的Altair\hw7.0\translators中)

3、在控制台下运行hmabaqus*.fil*res,执行完成后就生成了相应的res文件

4、在hyperview中打开你的模型文件*.inp和结果文件*.res,就可以查看你的结果了

gookluck!

6.X-YPlots

**

**STEP:

pre-load

**

*Step,name=pre-load,nlgeom

pre-loading

*Static

0.01,1.,1e-05,0.1

........

**

**LOADS

**

**Name:

pt-loadType:

Concentratedforce

*Cload

_G5,2,-200.E6

**

........

**

*Output,history,frequency=1

*nodeoutput,nset=_G5

CF2,U2

*elementoutput,elset=_G5

E22,S22

**

*monitor,node=_G5,dof=2

7.如何把上一次分析结果作为下一次分析的初始条件

Q如果想把上一次的分析结果作为下一次分析的初始条件该怎么做

A使用LDREAD命令

首先需要注意下面两个问题

1每一个ANSYS的实体模型的面或体都要定义对应的单元类型编号材料属性

编号实常数编号单元坐标系编号这些参数在整个分析过程中保持不变而这些

编号对应的属性在各个步骤中是不同的

2网格划分要满足所有步骤的要求单

元类型必须兼容

步骤

1创建实体模型

2

创建多个物理环境

设定一个物理环境中的单元类型材料属性实常数坐标系等

将这些参数的编号赋给实体模型的面或体

施加基本物理载荷和边界条件

设定求解选项

选择一个标题使用PHYSICS,WRITE命令将物理环境存入文件中

3清楚当前的物理环境命令是PHYSICS,CLEAR

4重复第二步准备下一个物理环境

8.材料方向与增量步

材料方向:

针对各向异性材料(如板金材料、复合材料等)变形体,材料方向定义材料的某一特定方向如纤维方向。

该方向随着变形体的移动而移动,旋转而旋转。

输出的场变量值都以材料方向为参考,有时便于数据处理,分析计算结果等。

abaqus中增量步

abaqus中把所有载荷按一定的要求分成若干载荷步step,每一步step根据abaqus自动载荷增量,分成若干增量increments,每一增量施加一定的载荷,然后每一增量通过若干迭代步iteration进行迭代,当系统达到平衡时,迭代结束,完成一个增量。

当所有的增量都完成后,计算结束;反之,计算可能出现发散。

这时,可以通过采用多钟方法(如调整放大质量系数,单元网格优化等)调整增量大小,使计算继续进行

9.多个inp文件如何实现批处理

我喜欢用fortran

写成这样:

!

nodedeform.f90

!

!

FUNCTIONS:

!

nodedeform-Entrypointofconsoleapplication.

!

!

Exampleofdisplaying'HelloWorld'atexecutiontime.

!

!

****************************************************************************

!

!

PROGRAM:

nodedeform

!

!

PURPOSE:

Entrypointfor'HelloWorld'sampleconsoleapplication.

!

!

****************************************************************************

programnodedeform

USEDFLIB

!

implicitnone

result=SYSTEMQQ('abaqusjob=3d05ctJinteractive')

result=SYSTEMQQ('abaqusjob=3d05ctJmodel-2interactive')

!

result=SYSTEMQQ('abaqusjob=test-1interactive')

!

result=SYSTEMQQ('abaqusjob=test-2interactive')

!

result=SYSTEMQQ('abaqusjob=test-3interactive')

!

result=SYSTEMQQ('abaqusjob=test-4interactive')

!

result=SYSTEMQQ('abaqusjob=test-5interactive')

!

result=SYSTEMQQ('abaqusjob=test-6interactive')

!

result=SYSTEMQQ('abaqusjob=test-7interactive')

!

result=SYSTEMQQ('abaqusjob=test-8interactive')

endprogramnodedeform

10.关于ABAQUS的任务管理

关于ABAQUS的任务管理[精华]

chibiko

发帖:

26

积分:

1

于2004-07-0303:

56

--------------------------------------------------------------------------------

 

前些日子的计算量很大,自己的机器又不是很快,一个任务要算上几天。

一开始,在算题的时候由于CPU占用很大,基本上做不了别的。

捉摸了好几天,现在终于有点掌握ABAQUS的任务管理方法了,主要有两点,这里和大家共享。

我的系统是WindowsXP,使用的是ABAQUS6.4。

1。

ABAQUS6.4新增了任务管理的命令,可以暂停、恢复、和终止一个正在背景运行的任务,方法如下(在命令行输入并运行):

任务暂停:

abaqussuspendjob=job-name

任务恢复:

abaqusresumejob=job-name

任务终止:

abaqusterminatejob=job-name

其中任务暂停(suspend)的时候,windows任务管理栏中仍会保留standard/explicit的计算线程,只是不再使用CPU资源,当任务恢复(resume)的时候继续工作。

任务终止则就像CAE中提交的任务的KILL功能类似,直接cut掉正在运行的任务,不可恢复。

其实也就和在windows任务管理栏中强行终止差不多,但属于合法操作。

2。

就是利用windos的任务管理栏了,使用它的processes管理功能时,不仅仅可以强行关掉一个正在运行的任务,还可以通过改变它的优先级别来改变其对CPU的占用程度。

共有Realtime,High,AboveNormal,Normal,BelowNormal,Low五个可选等级,windows默认的等级是Normal,此时所有的任务都在随机抢占CPU资源,一般ABAQUS在运行时想要运行别的程序就比较困难了,特别是一些大程序。

在觉得机器使用时有明显的延迟时,就可以把ABAQUS任务的优先级别设的低一些,就可以腾出CPU资源给别的级别高的任务了,不用机器的时候再把ABAQUS任务的级别调上去,这样就可以娱乐、工作两不误了。

 

Youmaytrythismethodwhichwaspostedatsimweforum,butnotmyoriginalidea.

Anyway,Iwillfeelveryhappyevenifitprobablyjusthelpsyoujustalittlebit.

11.关于数据的输入输出

1.输出数据到dat文件:

*NODEPRINT,NSET=nset_name,FREQ=1

COORD

得到的是变形前的坐标还是变形变形后的坐标?

偶在前面已发文问过,偶有时得到的是变形前的,有时得到是变形后的,一直没有弄明白这个问题。

偶想得到的是变形后的坐标

2.

其实abaqus自己就带有相关的功能:

abaqusjob=job-1suspend.可以将计算挂起.如果你需要重新进行运算

输入abaqusjob=job-1resume.

3.

如何输出大量节点的时间历程曲线?

在环境文件abaqus_v6.env中添加一句

max_history_requests=0即可。

12.后处理积分

CAE自带此功能,比如对速度时程积分得到位移时程,可以这样操作:

利用XYData---->ODBHistoryOutput将速度时程存为V,然后XYData---->OperateonXYData---->Operations

看到那个integrate(X)

 

这个可能还是只是实现对时间的积分,如果对dx,dy的积分

如何实现呢?

比方说,Q=v*A

已经知道流速的矢量分布,怎么得到流量的分布了!

 

这也是可以的,关键在于你的x-ydata数据的两轴数据是什么?

其积分就是y数据值对x值的积分!

看看:

CAEusermanual:

33.4.4OverviewofX–Ydataoperations

13.接触分析激活杀死

Usage:

Usebothofthefollowingoptions:

*MODELCHANGE,TYPE=CONTACTPAIR,ADD

surface_1,surface_2

*CONTACTINTERFERENCE

surface_1,surface_2,

 

Usage:

*MODELCHANGE,TYPE=CONTACTPAIR,REMOVE

14.利用queue的功能由本地机器向远程unix机器提交abaqus作业的方法[精华]

利用queue的功能由本地机器向远程unix机器提交abaqus作业的方法

假设:

1.远程unix机器的安装目录为/abaqus,

2.远程计算机IP地址为192.168.0.166,主机名为ibmlinux

3.本地计算机IP地址为192.168.0.18,主机名为training

下面的讨论涉及的内容相应改变

 

Step1分别设置本地计算机和远程计算机之间的主机名和IP地址对应。

1.修改本地hosts文件,windows上一般位于c:

\windows\system32\drivers\etc下,unix上位于/etc下,加入远程计算机主机名和IP地址对应行,如:

192.168.0.166ibmlinux

2.修改远程hosts文件,位于/etc下,加入本地计算机主机名和IP地址对应行,如:

192.168.0.18training

 

Step2设置本地计算机对远程计算机运行rsh和rcp命令正确。

1.两台计算机登陆名和密码一致。

举例而言,若远程计算机登陆名和密码为root/root,则设置本地计算机也用同样的用户名和密码登陆。

2.修改远程计算机.rhosts文件,该文件位于对应用户名登陆后的主目录下,如/home/root,加入本地计算机的IP地址使得本地计算机可以访问到远程计算机。

3.在本地计算机的提示符下键入

rshibmlinuxls

测试rsh是否能够正常使用,如果可以列出远程计算机主目录下文件,代表rsh和rcp工作正常。

 

Step3设置远程计算机该用户的默认登陆程序为csh,修改passwd文件,位于/etc下,如:

root:

Ty91eFGzybEE2:

0:

3:

:

/:

/usr/bin/csh

 

Step4修改远程计算机的abaqus环境文件abaqus_v6.env

在环境文件最后加入

queue_name=["nice_queue"]

after_prefix="-b"

queue_prefix="-q"

nice_queue="/bin/sh-c'nice./%S1>%L2>&1&'"

保存

在提示符下面键入

abaqusfetchjob=beam.inp

abaqusjob=beamqueue=nice_queue

如果可以顺利获得beam.odb,则表示远程计算机queue设置正确。

 

Step5修改本地计算机的abaqus环境文件abaqus_v6.env

在环境文件最后加入

defonCaeStartup():

defmakeQueues(*args):

importos,driverUtils

driverName='./abaqus'

scratchDir='/abaqus/Commands'

session.Queue(name='nice',

queueName='nice_queue',

hostName='ibmlinux',

driver=driverName,

localPlatform=NT,

fileCopy=ON,

directory=scratchDir)

addImportCallback('job',makeQueues)

保存

 

Step6在本地计算机上启动abaqus/cae,创建或打开一个模型,在Job模块创建一个新任务,选择RunMode为Queue,选择nice,OK,提交运算,观察是否任务被自动提交到了远程计算机的/abaqus/Commands下运行并自动返回odb文件到本地计算机。

如有错误,会在启动cae的提示符窗口中出现,检查错误并找到相应解决办法。

15.利用命令进行计算时如何设置调用内存量

abaqusjob=job-namememory=memory-size

16.清华大学bbs的abaqus精华

 

【在luxz(panda)的大作中提到:

:

哪位有什么好办法?

:

感觉abaqus自己的前处理用得很不爽

:

patran可以么?

我感觉abaqus/cae不错的呀,实体建模颇有pro/e的风格

感觉patran也好不到哪去,太麻烦,

也许patran功能更强一些(要不然也对不起它那硕大的身躯呀),

但对于不是很庞大的模型,根本体现不出来什么优势

:

air1大侠,本人给你作广告,为何不可?

:

请问:

弹塑性矩阵【D]与ddsdde有何联系,

:

你用过板壳单元吗?

stress=D*stran?

d(stress)=ddsdde*d(stran)

--

 

那应该就是一样的,因为全量理论,

Sij=DijklEkl(满足张量求和约定)

即Stress=D*Strain;

而在增量理论中,

△S=D*△E(在有限变形中,△其实应该为应力的客观率)

--

 

似乎不对吧

大变形下此D非彼D

你看过黄克智的固体本构关系这本书么

如果你从全量理论和增量理论的角度上讲

那似乎第一个Digkl就不对

你有第一个式子么

如果有,求导不久完了?

:

那应该就是一样的,因为全量理论,

:

Sij=DijklEkl(满足张量求和约定)

:

即Stress=D*Strain;

:

而在增量理论中,

:

△S=D*△E(在有限变形中,△其实应该为应力的客观率)

 

是啊,大变形下的[D]与普通意义下的[D]在构型上是不一样的,

毕竟[D]大是变形历史的函数,而[D]小则不是,

我推导一种新的本构关系,

△Sij=Dijkl△Ekl(其中△为Jaumann率)

假设材料一开始就屈服(即屈服面为0)

想用壳单元,

 

:

似乎不对吧

:

大变形下此D非彼D

:

你看过黄克智的固体本构关系这本书么

:

如果你从全量理论和增量理论的角度上讲

:

那似乎第一个Digkl就不对

:

你有第一个式子么

:

如果有,求导不久完了?

:

是啊,大变形下的[D]与普通意义下的[D]在构型上是不一样的,

:

毕竟[D]大是变形历史的函数,而[D]小则不是,

:

我推导一种新的本构关系,

:

△Sij=Dijkl△Ekl(其中△为Jaumann率)

:

假设材料一开始就屈服(即屈服面为0)

:

想用壳单元,

唉,别提了,问题就出在,在abaqus中,明明写着可以考虑剪切效应,

可我打印出剪切力个数是,nshr=1,即只有S12,

那我的S13,S23就不知怎么计算,

(DDSDDE(5,5)无法计算,因为ntens=3,最多只能计算DDSDDE(3,3))

 

你编umat编进去不久行了

他让用NDI,NSHR,NTENS表示变量,你就用这些表示变量

这样他就可以任意的计算了呀,而不在意实际计算的变量数

:

唉,别提了,问题就出在,在abaqus中,明明写着可以考虑剪切效应,

:

可我打印出剪切力个数是,nshr=1,即只有S12,

:

那我的S13,S23就不知怎么计算,

:

(DDSDDE(5,5)无法计算,因为ntens=3,最多只能计算DDSDDE(3,3))

因为我的UMAT从abaqus传来的变量(当我选用壳单元时)ntens=3,

ndi=2,nshr=1,这样的话,STRESS为3个,STRESS(3),不可能计算

STRESS(4),STRESS(5),同理,STRAIN,DDSDDE也存在同样的情况

在中厚度板壳元中(MINDLIN)中,DDSDDE为5×5

 

你的FOR文件收到,可惜研究的对象相差太大,看不懂!

不过你在文件中定义的变量有的根本就没有用到,

还有有的地方似乎是毫无用处的代码,比如:

SMISES一段

我觉得你不应该太急,第一步应该保证代码的正确性。

另外看了你上面的讨论,我觉得你应该换一种单元试一试。

比如用梁单元。

很有可能NDI和NSHR会不一样。

不知道你是不是一定要用到壳单元上?

如果必须用在壳单元上,可能S23,S31就必须自己在UAMT

中输出了。

具体的做法我也不清楚。

还有对DDSDDE,我的理解也是:

dS=DDSDDE*dE

 

我的意思是不管他是几乘几的矩阵

一般的D矩阵就是6*6

你编的umat需要适应于任何单元

所以当然6*6的矩阵应该给完全

当算体的时候

如果是壳单元,他只有ntens=3

那就等于三呗,他用哪个就是哪个

反正你的D6*6的矩阵放在哪了

如果是三维实体单元,ntens=6

所以你的D矩阵就全用上啦

记住你编的umat应该适应于所有的单元,所以不用考虑哪几个参数的值

而且这个stress(3)也许是人家只用到了你D6*6的第一行,第二行,和的四行哪

si

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2