编辑*:毕竟,这并没有导致缓慢的导入。然而,给出的答案解释了用一种材料实现不同密度的更好方法。所以我会让这个问题存在。(慢导入是由于运行来自abaqus的脚本而不是使用文件菜单中的“Run script”造成的。特别感谢卓斯发现了这个问题)
我试图优化某种材料的孔隙度分布。为此,我用+-500种不同的材料进行了abaqus有限元模拟。模拟本身只需大约40秒,但读取输入文件需要超过3分钟。(我使用python脚本生成inp文件)
我使用这些命令在输入文件中生成我的材料:
*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您知道这为什么这么慢吗?是否有更有效的方法来减少加载文件时间?
发布于 2018-03-28 12:56:51
如果你的~500材料都是相同类型的(例如,所有线性弹性各向同性质量密度),那么你可以把它全部折叠成一种材料,然后定义一个分布表,它将这些材料直接分布到实例元素标签上。
语法:
(在Part定义中的某个地方,在section下)
*SOLID SECTION, ELSET = ES_Implant_MAT0 ,MATERIAL=Implant_material0(在Assembly定义的某个位置;part=应该引用上面部分的名称)
**
**
** 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)
**
** 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 namehttps://stackoverflow.com/questions/49530940
复制相似问题