欢迎光临散文网 会员登陆 & 注册

Abaqus子程序之GETVRMAVGATNODE

2023-04-22 17:30 作者:干饭晓能手  | 我要投稿

       大家还记得之前我介绍过的GETNODETOELEMCONN公用程序吗?当时是像下面这样解释的:

1.功能简介

GETVRMAVGATNODE是一个abaqus子程序,用于在用户子程序UMESHMOTION中调用,以获取在节点上平均的材料积分点信息。它可以访问平均结果值,但仅限处理实值(就是实数,浮点型数据)结果。与GETVRM子程序相似,GETVRMAVGATNODE可用于实现节点平均值的计算。在GETVRM中有哪些结果变量,GETVRMAVGATNODE也都有。但是,GETVRMAVGATNODE与GETVRM的不同之处在于,GETVRMAVGATNODE将对结果进行平均处理,因此不能处理表示为整数或标志的结果值。


2.对应求解器

Abaqus/Standard


3.实用程序接口


DIMENSION ARRAY(15), JELEMLIST(NELEMS)...CALL GETVRMAVGATNODE(NODE,JTYP,'VAR',ARRAY,JRCD,JELEMLIST,NELEMS,JMATYP,JGVBLOCK)


4.要提供给程序的变量


NODE

节点编号。

JTYP

一个整数标识,指示材料点信息如何进行平均。设置JTYP = 0,使用单元形函数外推结果,并在节点处平均结果。设置JTYP = 1,对结果进行体积加权平均。

VAR

来自与单元积分点变量表格(Element Integration Point Variables)中的输出变量关键字。适用的关键字在输出表格中列出,作为可以在单元积分点处进行结果文件输出的变量;例如,应力的关键字为“S”。唯一的例外是积分点坐标变量COORD,该变量无法传递到公用程序中。可以使用实用程序GETVRN,以获取节点坐标。

JELEMLIST

与你想在平均结果中考虑材料点数值的节点相连接的单元的单元编号数组。列表中每个单元的结果都将外推到该节点并求平均。可以从实用程序GETNODETOELEMCONN中获得JELEMLIST。

NELEMS

JELEMLIST数组的长度。

JGVBLOCK

变量必须传递到GETVRMAVGATNODE实用程序中。该变量可获取用户子程序UMESHMOTION。

JMATYP

变量必须传递到GETVRMAVGATNODE实用程序中。该变量获取于用户子程序UMESHMOTION。


5.要提供给程序的变量

ARRAY: 包含输出变量各个组成部分的实数组。

JRCD: 返回代码,值为0表示没有错误,值为1表示输出请求错误或所有输出请求的组成部分都为零。


6.可用的输出变量键

 仅仅在结果文件输出中有效的输出变量关键字可用于GETVRMAVGATNODE(换言之,你要使用的变量必须被输出在结果文件中了,才能使用这个变量,本质上是因为这个实用程序是从结果文件中读取数据)。一般来说,如果一个关键字对应于一个集合的输出变量,而不是一个单独的组件(或分量),它可以与GETVRMAVGATNODE一起使用。例如,应力张量的S可以使用,而任何单独的应力分量,如S11,都不能使用。集合输出变量键与其单独的组件区别在于,它们在表格中的类别.fil后面带有yes一词,说明在Using Abaqus/Standard Output Variable Identifiers中。不能与GETVRMAVGATNODE一起使用的输出变量键将在本节后面列出。

您将返回与请求VAR相关联的组件数组。如果对于给定请求不适用任何数组组件,它的值将作为初始化值0.0返回ARRAY中。无论请求键未被识别、请求无效或所有的输出组件请求都为零,GETVRMAVGATNODE始终会返回错误标志JRCD=1;否则,JRCD=0。


7.返回分量的排序方式

请求的分量按以下方式写入。单索引组件(和没有组件的请求)在位置1、2、3等返回。双索引组件以对称张量的顺序11、22、33、12、13、23返回,然后是不对称张量(变形梯度)的21、31、32。因此,平面应力元素的应力返回值为ARRAY(1)=S11,ARRAY(2)=S22,ARRAY(3)=0.0,ARRAY(4)=S12。无论分析的维度如何,主要值请求始终返回三个值,最小值为第一个,最大值为第三个。

输出变量的描述(请参阅Using Abaqus/Standard Output Variable Identifiers)确定了在GETVRMAVGATNODE中检索哪些组件。


8.返回值的分析时间
GETVRMAVGATNODE 在当前增量的结束时返回值给用户子程序 UMESHMOTION。


9.访问9状态相关变量

如果使用 GETVRMAVGATNODE访问与求解有关的状态变量(输出变量键 SDV),并且在分析中定义了超过15个与解有关的状态变量,则必须更改ARRAY的维数语句,以便这些数组被尺寸化到依赖求解状态变量的最大数量。


10.不支持的元素类型和输出变量键

由于此功能涉及到材料点量,因此它不能用于不需要材料定义的大多数元素类型。因此,以下元素类型不受支持:

DASHPOTx

SPRINGx

CONNxDx

FRAMExD

JOINTC

JOINTxD

DRAGxD

PSIxx

ITSxxx

MASS

ROTARYI

所有声学元素

所有静水压流体元素

以下输出变量键不能与 GETVRMAVGATNODE 一起使用:

SVOL

TSHR

CTSHR



结尾

等到我介绍umeshmotion子程序的时候,再给大家分享案例,因为GETNODETOELEMCONN和GETVRMAVGATNODE这两个公用程序一般都是在umeshmotion中使用的,所有文章中介绍的案例文件和代码都可在公众号力学混子爱AI回复名称自动获取,也会经常会给大家分享一些实用工具的。




Abaqus子程序之GETVRMAVGATNODE的评论 (共 条)

分享到微博请遵守国家法律