首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >道具数组与Abaqus FORTRAN UMAT代码中的道具数组有什么关系?

道具数组与Abaqus FORTRAN UMAT代码中的道具数组有什么关系?
EN

Stack Overflow用户
提问于 2020-08-27 01:37:33
回答 1查看 371关注 0票数 0

我已经经历了公开可用的晶体可塑性FORTRAN 子程序,然而,我无法理解输入材料是如何通过子程序和函数传递的。

因此,在主UMAT中,变量支持指向输入文件中*USER main选项中输入的物质常量。对于子例程,此值为125。

现在,UMAT调用的子例程定义了另一个变量支柱,它采用不同的值,如

行1430

代码语言:javascript
复制
    C            PROP(1) - PROP(3) -- direction of the first vector in 
    C                       local cubic crystal system

第2167行中,(i= 1)

代码语言:javascript
复制
C     PROP   -- material constants characterizing the self- and latent-
C               hardening law (INPUT)
C
C               For the HYPER SECANT hardening law 
C               PROP(1,i) -- initial hardening modulus H0 in the ith 
C                            set of slip systems
C               PROP(2,i) -- saturation stress TAUs in the ith set of  
C                            slip systems
C               PROP(3,i) -- initial critical resolved shear stress 
C                            TAU0 in the ith set of slip systems

虽然我在代码中找不到道具和道具之间的任何关系,但我可以看到,适当的物质常数是由支柱实现的。

我无法理解如何能够从输入文件中获取属性常量?有人能解释一下这是怎么回事吗?

fortran 代码.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 07:05:47

ROTATION子例程在L.1404处定义(为清晰起见删除注释):

代码语言:javascript
复制
SUBROUTINE ROTATION (PROP, ROTATE)
      IMPLICIT REAL*8 (A-H,O-Z)
      DIMENSION PROP(16), ROTATE(3,3), TERM1(3,3), TERM2(3,3), INDX(3) 
      [...]

Fortran的工作原理是“按引用传递”,即函数参数实际上接收指向内存中变量“生命”的指针。因此,子例程ROTATION将其第一个参数解释为16元素双精度数组的地址,而第二个参数是3x3双精度数组的地址。

在L.569,您可以看到正在调用的函数:

CALL ROTATION (PROPS(57), ROTATE)

因此,它所给出的地址是PROPS的第57元素。这意味着子程序可以有效地访问PROPS(57)-PROPS(72)的内容。根据开始时的评论(L.385),

代码语言:javascript
复制
PROPS(57) - PROPS(72) -- parameters characterizing the initial 
C                                orientation of a single crystal in 
C                                global system

当子例程完成时,其结果在它在L.569接收到的数组ROTATE中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63607910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档