理解abaqus输出请求

ABAQUS输出请求

什么是输出请求?

ABAQUS 分析产品在步骤的每个增量下计算许多变量的值。通常,用户只对所有这些计算数据的一小部分感兴趣,因此可以通过创建输出请求来指定要写入输出数据库的数据。

输出请求的组成部分:

  1. 感兴趣的变量或变量组件。
  2. 模型的区域以及从中将值写入输出数据库的积分点。
  3. 将变量或组件值写入输出数据库的速率。

ABAQUS CAE中会默认创建field输出请求。输出请求将传播到分析中的后续步骤。针对大型模型,其中包含默认输出请求和来自大量帧的请求输出,则生成的输出数据库将非常大。可以使用C++程序从大型输出数据库中提取数据,并仅将所选帧复制到第二个输出数据库。

ABAQUS 输出请求

  1. 输出请求分为三类:diagnostics(不常用)、field、history

  2. 输出频率可以从下列几种输出方式中选择其中一种来定义输出频率,主要分为

    frequency 每隔n个增量步输出一次

    number interval 总帧数

    time points 指定时间点

    time interval 指定时间减隔

  3. TIME MARKS=YES参数表示在指定的时间处输出结果,TIME MARKS=NO参数表示在指定的时间后一帧输出结果

通过读取指定帧数的结果来减小odb文件的大小

基本流程:采用datacheck命令,提交与原始大模型相同的小模型用于存放抽帧后的结果数据。

以ringshell.inp模型为例:

# cmd命令行提交
abaqus fetch job=odbFilter.C
abaqus fetch job=ringshell.inp
abaqus job=ringshell
abaqus job=ringshell_datacheck -input ringshell datacheck
abaqus make job=odbFilter.C
abaqus odbFilter -smallOdb ringshell_datacheck -largeOdb ringshell 

上述命令会将原始模型的ringshell.odb中的部分数据提取至ringshell_datacheck.odb,默认只提取第一帧和最后一帧,如果需要每隔n帧保存一次则输入n。
例如: 3 => 保存frames 0,3,6,..,lastframe

# cmd命令行案例:101帧的模型,每37帧保存一次
STEP Step-1 has 101 Frames
Enter Increment between frames
Enter 37 to define the increment between frames. The program then reads the data and displays the frames being processed:

Processing frame # : 0
Processing frame # : 37
Processing frame # : 74
Processing frame # : 100
Filtering successfully completed
posted @ 2022-05-30 12:42  alphacheng  阅读(1807)  评论(0编辑  收藏  举报