Abaqus 导出单元刚度矩阵和全局刚度矩阵

Abaqus 导出单元刚度矩阵和全局刚度矩阵

首次创建:2023.7.29

最后更新:2023.7.29

如有什么改进的地方,欢迎大家讨论!
详细情况请查阅:Abaqus Analysis User's Guide

一、Abaqus 导出单元刚度矩阵

1.生成单元刚度矩阵方法

导出单元刚度矩阵需要修改inp文件,先在abaqus中创建一个单元集合,这个集合是你想导出的单元集合,这里我创建的是Element_ALL。然后生成inp文件,在inp文件中的step关键字对中添加如下一行指令:
*Element Matrix Output, Elset=Element_ALL, File Name=ElementStiffness, Output File=User Defined, stiffness=yes

bash 复制代码
.....
.....
*Restart, write, frequency=0
** 
** FIELD OUTPUT: F-Output-1
** 
*Output, field, variable=PRESELECT
** 
** HISTORY OUTPUT: H-Output-1
** 
*Output, history, variable=PRESELECT
** 添加下面这一行
*Element Matrix Output, Elset=Element_ALL, File Name=ElementStiffness, Output File=User Defined, stiffness=yes
*End Step

2.单元刚度矩阵文件格式分析

这样在abaqus提交任务计算后,就会在abaqus 的当前项目工作目录下生成一个ElementStiffness.mtx文件,其格式如下:

bash 复制代码
**
** ELEMENT NUMBER          1 STEP NUMBER        1 INCREMENT NUMBER        1
** ELEMENT TYPE  C3D4    
*USER ELEMENT, NODES=         4, LINEAR
** ELEMENT NODES
**          2,          1,          9,          8
          1,          2,          3
*MATRIX,TYPE=STIFFNESS
  127.06125836015    ,
  0.0000000000000    ,  183.76386705487    
  0.0000000000000    , -121.64117806010    ,  388.01179556583    
 -39.618685020706    , -22.681043477885    ,  48.656471224038    ,  60.711115702304    
 -15.120695651923    , -96.321293715418    ,  80.880129060096    ,  37.801739129808    
  92.212564977143    ,
  32.437647482692    ,  60.499604560096    , -81.962788877760    , -13.159037040064    
 -19.738555560096    ,  42.381078873928    
 -173.27005949011    ,  0.0000000000000    ,  0.0000000000000    ,  28.116306917523    
  0.0000000000000    , -53.846153846154    ,  287.62647738911    
  0.0000000000000    , -173.27005949011    ,  80.769230769231    ,  0.0000000000000    
  28.116306917523    , -80.769230769231    ,  0.0000000000000    ,  287.62647738911    
  0.0000000000000    ,  121.15384615385    , -606.44520821538    , -80.769230769231    
 -121.15384615385    ,  98.407074211329    ,  0.0000000000000    ,  0.0000000000000    
  1006.6926708619    ,
  85.827486150661    ,  22.681043477885    , -48.656471224038    , -49.208737599120    
 -22.681043477885    ,  34.567543403526    , -142.47272481653    ,  0.0000000000000    
  80.769230769231    ,  105.85397626499    
  15.120695651923    ,  85.827486150661    , -40.008181769231    , -15.120695651923    
 -24.007578179248    ,  40.008181769231    ,  0.0000000000000    , -142.47272481653    
  0.0000000000000    ,  0.0000000000000    ,  80.652816845114    
 -32.437647482692    , -60.012272653846    ,  300.39620152731    ,  45.271796585256    
  60.012272653846    , -58.825364207497    ,  53.846153846154    ,  0.0000000000000    
 -498.65453685784    , -66.680302948718    ,  0.0000000000000    ,  257.08369953803  
 ....
 ....

从内容可以看出*MATRIX,TYPE=STIFFNESS后面的就是一个单元刚度矩阵,其形式为下三角形式。上面是一个线性四面体的单元刚度矩阵,由于线性四面体有4个节点,每个节点有3个自由度,所以单元刚度矩阵的维度是12x12的:
k e 12 x 12 ke_{12x12} ke12x12

整理后如下所示:

127.06125836015
0.0000000000000 183.76386705487
0.0000000000000 -121.64117806010 388.01179556583
-39.618685020706 -22.681043477885 48.656471224038 60.711115702304
... ... ... ... ...

二、Abaqus 导出全局刚度矩阵

1.生成全局刚度矩阵方法

inp文件最后添加一个输出全局刚度矩阵的step,如下所示:

bash 复制代码
....
....
*Output, field, variable=PRESELECT
** 
** HISTORY OUTPUT: H-Output-1
** 
*Output, history, variable=PRESELECT
** 导出单元刚度矩阵
*Element Matrix Output, Elset=Element_ALL, File Name=ElementStiffness, Output File=User Defined, stiffness=yes
**
*End Step

**
** 导出全局刚度矩阵
*Step, name=GlobalStiffnessMatrix
*MATRIX GENERATE, STIFFNESS
*MATRIX OUTPUT, STIFFNESS, FORMAT=COORDINATE
*End Step
**

2.全局刚度矩阵文件格式分析

同样提交任务后将在工程的工作目录下生成一个以你任务名称命名的mtx文件:如我的任务名称为Job-exportStiffness-globalstiffness那么将生成Job-exportStiffness-globalstiffness_STIF2.mtx文件,这个文件就存储着全局刚度矩阵。部分内容如下:

bash 复制代码
1 1  3.405254068249726e+02
1 2  6.072817378766025e+01
2 1  6.072817378766025e+01
1 3  1.269469880224359e+02
3 1  1.269469880224359e+02
1 4 -5.756613438782665e+01
4 1 -5.756613438782665e+01
1 5 -3.763929516105769e+01
5 1 -3.763929516105769e+01
1 6  8.076923076923076e+01
6 1  8.076923076923076e+01
1 7  6.181074378769931e+01
7 1  6.181074378769931e+01
....
....

可以看出这是采用三元数组的方式来存储的,即一行数据前面个为矩阵的(x,y)位置索引,最后一个为该索引位置的值。

相关推荐
墨柳烟17 天前
ABAQUS高亮显示网格节点方法:Python为每个节点建立集合
开发语言·前端·python·abaqus
渊鱼L5 个月前
Abaqus导入图像生成模型
abaqus
CAE3206 个月前
基于Vumat的修正JC本构模型的切削研究
abaqus·切削损伤
渊鱼L8 个月前
Abaqus三维梯度泰森多边形插件:Voronoi FGM 3D(Mesh)- AbyssFish
3d·几何学·abaqus·voronoi·晶格·功能梯度材料
ironmao10 个月前
Abaqus2023安装下载教程
abaqus
武汉格发Gofartlic1 年前
Abaqus许可管理安全策略:保护您的知识产权和业务安全
运维·服务器·abaqus·许可分析·license分析
CAE3201 年前
Damask使用指南-Hcp结构(镁(考虑孪晶))孪晶如何加入
abaqus·晶体塑性·bcc·hcp·damask
Roc-xb1 年前
Abaqus软件安装包分享(附安装教程)
abaqus