首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于许多材料,Abaqus读取输入文件非常慢。

对于许多材料,Abaqus读取输入文件非常慢。
EN

Stack Overflow用户
提问于 2018-03-28 09:32:30
回答 1查看 828关注 0票数 0

编辑*:毕竟,这并没有导致缓慢的导入。然而,给出的答案解释了用一种材料实现不同密度的更好方法。所以我会让这个问题存在。(慢导入是由于运行来自abaqus的脚本而不是使用文件菜单中的“Run script”造成的。特别感谢卓斯发现了这个问题)

我试图优化某种材料的孔隙度分布。为此,我用+-500种不同的材料进行了abaqus有限元模拟。模拟本身只需大约40秒,但读取输入文件需要超过3分钟。(我使用python脚本生成inp文件)

我使用这些命令在输入文件中生成我的材料:

代码语言:javascript
复制
*SOLID SECTION, ELSET = ES_Implant_MAT0 ,MATERIAL=Implant_material0
*ELSET, ELSET=ES_Implant_MAT336
6,52,356,376,782,1793,1954,1984,3072
*MATERIAL, NAME = Implant_material0
*DENSITY
4.43
*ELASTIC
110000, 0.3

您知道这为什么这么慢吗?是否有更有效的方法来减少加载文件时间?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-28 12:56:51

如果你的~500材料都是相同类型的(例如,所有线性弹性各向同性质量密度),那么你可以把它全部折叠成一种材料,然后定义一个分布表,它将这些材料直接分布到实例元素标签上。

语法:

(在Part定义中的某个地方,在section下)

代码语言:javascript
复制
*SOLID SECTION, ELSET = ES_Implant_MAT0 ,MATERIAL=Implant_material0

(在Assembly定义的某个位置;part=应该引用上面部分的名称)

代码语言:javascript
复制
**  
**
** ASSEMBLY
**
*Assembly, name=Assembly
**  
*Instance, name=myinstance, part=mypart
*End Instance
**  
*Elset, elset=ES_Implant_MAT0, instance=myinstance
1,2,...

(在Materials定义的某个地方;参见Abaqus关键字参考指南中的关键字*DISTRIBUTION TABLE*DISTRIBUTION)

代码语言:javascript
复制
** 
** MATERIALS
** 
*DISTRIBUTION TABLE, NAME=IMPLANT_MATERIAL0_ELASTIC_TABLE
         MODULUS,RATIO
*DISTRIBUTION, NAME=Implant_material0_elastic, LOCATION=element, TABLE=IMPLANT_MATERIAL0_ELASTIC_TABLE
        ,110000,0.3 # First line is some default value
myinstance.1,110000,0.3 # syntax: instance name [dot] instance element label
myinstance.2,110000,0.3 # these elements currently use the material properties assigned to `ELSET = ES_Implant_MAT0`. You can define the material properties belonging to other element sets in this same table, making sure you reference the element label correctly.
...
*DISTRIBUTION TABLE, NAME=IMPLANT_MATERIAL0_DENSITY_TABLE
         DENSITY
*DISTRIBUTION, NAME=Implant_material0_density, LOCATION=element, TABLE=IMPLANT_MATERIAL0_DENSITY_TABLE
        ,4.43 # Default value
myinstance.1,4.43
myinstance.2,4.43
...
*Material, name=Implant_material0
*Elastic
 Implant_material0_elastic # Distribution name
*Density
 Implant_material0_density # Distribution name
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49530940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档