eispiata
Materials
- Feb 18, 2008
- 48
Hi everybody,
I built up a model that calls a DISP subroutine 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 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 DISP subroutine?
Thanks,
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 a model that calls a DISP subroutine 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 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 DISP subroutine?
Thanks,
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