首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Abaqus DISP子程序

Abaqus DISP子程序
EN

Stack Overflow用户
提问于 2015-09-08 15:32:32
回答 1查看 1.5K关注 0票数 1

目前我正在用DISP编写一个子例程fortran,我对此很陌生。在这段代码中,我想读取我使用的文件。

代码语言:javascript
复制
OPEN(UNIT = 1, FILE = "abcd.txt", FORM = "FORMATTED", STATUS = "OLD", ACTION = "READ")

这些文件包含nxm矩阵中的值。我想给这个矩阵中的值赋值,比如column 5 = displacementcolumn 1 = nodes

我可以声明一个像REAL,DIMENSION(n,m)::A这样的数组,然后用DO LOOP将值赋值给NODESU(1),它们已经是子例程中声明的参数了吗?

代码语言:javascript
复制
SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
EN

回答 1

Stack Overflow用户

发布于 2015-09-09 13:26:54

我是否可以声明一个数组,如实的,维数(n,m)::A,然后用DO循环将值赋值给节点和U(1),它们已经是子例程中声明的参数?

不,您不能以这种方式分配节点。DISP的工作方式是,它被多次调用,每自由度一次。因此,对于给定的通过DISP,您将必须更新的节点的位移,阿巴克斯指定的节点和方向指定的JFO自由度。

每次打开一个文件都会很慢,所以这可能不是最好的方法。最好的解决方案是让你的算法在你的DISP例程中计算出U。另一种解决方案是在代码中定义A矩阵。这在您的代码中可能有点难看,但比每次打开一个文件要好。

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

https://stackoverflow.com/questions/32461757

复制
相关文章

相似问题

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