编辑*:毕竟事实证明这并没有导致导入缓慢。然而,给出的答案解释了用一种材料实现不同密度的更好方法。所以我会让问题存在。 (缓慢导入是由于从abaqus PDE运行脚本而不是使用'从文件菜单中运行脚本而引起的。特别感谢droooze查找问题)
我试图优化某种材料的孔隙度分布。因此,我在一个部分中使用+ -500种不同的材料进行abaqus FEA模拟。模拟本身只需要大约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
知道为什么这么慢,是否有更有效的方法来减少加载输入文件的时间?
答案 0 :(得分:1)
如果您的~500种材料都是同一种材料(例如所有线性弹性各向同性质量密度),那么您可以将它们全部折叠成一种材料,然后定义一个分布表,将这些材料直接分布到实例元素标签上。 / p>
语法:
(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
定义中的某处;有关关键字*DISTRIBUTION TABLE
和*DISTRIBUTION
,请参阅Abaqus关键字参考指南)
**
** 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