如何在ABAQUS的Disp子例程中获得总增量

时间:2019-01-23 09:50:08

标签: fortran subroutine abaqus

我在ABAQUS中使用Disp子例程。我想对模型应用特定的边界条件。这是我的代码的一部分:

  IF (NODE==mst(2,1)) THEN
     IF (JDOF .EQ. 1) THEN
       U(1)=0.01
     ELSE IF (JDOF .EQ. 2) THEN
       U(1)=0
     ELSE
       U(1)=0
     END IF
  END IF

问题是,我不知道ABAQUS使用多少切确度来求解模型。因此,我不知道如何将“ U(1)= 0.01”的值更改为其增量。我知道“ KINC”给出了当前的增量编号。但是,我不知道如何获得增量的总数。 Morover,是否需要将值更改为增量值,否则ABAQUS会自动将其更改?

1 个答案:

答案 0 :(得分:0)

除非事先指定,否则总的递增数是未知的(即,如果收敛有麻烦,它将减小步长,从而增加步长)。您可以使用TIME(1)和TIME(2)来了解步进时间的当前值,并根据该值重新调整负载,我认为这正是您想要的。

对于第二个问题,Abaqus将自动计算增量或根据您指定的求解器设置遵循指定的增量。有一些用户子例程可以控制增量大小,但DISP并不是其中之一。