Hi everybody,
I built up an Abaqus (finite element) model that calls a very simple DISP subroutine (see below) to compute the displacement at its outside boundary.
When i use only one step to get to the solution then i get the final displacement that i expected.
But when i use two or more steps then the solution is always higher than i expected because the COORDS vector (or whatever it is?) is updated at each step so that the new coordinates in the previous step become the original coordinates in the next step. I would like to be able to save the first original coordinates in the DISP subroutine.
I am not good at Fortran but i have been told that i could save the original coordinates of the point using a
COMMON block along with the command SAVE so it should be something like:
COMMON /block/ name of the variables
SAVE /block/
But how can i use this feature in a the following subroutine?
Thanks for your help,
Malik
SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION U(3),TIME(2),COORDS(3)
C
U(1)=10*COORDS(2)
RETURN
END
I built up an Abaqus (finite element) model that calls a very simple DISP subroutine (see below) to compute the displacement at its outside boundary.
When i use only one step to get to the solution then i get the final displacement that i expected.
But when i use two or more steps then the solution is always higher than i expected because the COORDS vector (or whatever it is?) is updated at each step so that the new coordinates in the previous step become the original coordinates in the next step. I would like to be able to save the first original coordinates in the DISP subroutine.
I am not good at Fortran but i have been told that i could save the original coordinates of the point using a
COMMON block along with the command SAVE so it should be something like:
COMMON /block/ name of the variables
SAVE /block/
But how can i use this feature in a the following subroutine?
Thanks for your help,
Malik
SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION U(3),TIME(2),COORDS(3)
C
U(1)=10*COORDS(2)
RETURN
END