davidgale
Civil/Environmental
- Nov 12, 2015
- 3
Hello everybody,
I have made a DISP subroutine and it works correctly in 'Static, General' Step. But when I change to 'Static, Riks' Step an Error arises as 'A zero displacement solution was found in the first iteration of a riks step. The analysis cannot proceed. The most likely cause is that all displacement degrees-of-freedom are constrained to be zero.'
Could you say me what I have to do to run the subroutine in 'Static, Riks' Step?
I attach the part of .inp and subroutine below.
---------------------------------------Input-----------------------------------------------
** STEP: Step-1
**
*Step, name=Step-1, inc=20
*Static, direct, riks
0.05, 1., , , , Set-Node3, 1, 0.8
**
** BOUNDARY CONDITIONS
**
** Name: Disp Type: Displacement/Rotation
*Boundary, user
Set-Barra, 1, 1
Set-Barra, 2, 2
--------------------------------------Subroutine----------------------------------------
SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION U(3),TIME(2),COORDS(3)
C
Ur=0.5
dx=COORDS(1)-75
dy=COORDS(2)-75
dl2=dx**2+dy**2
dl=sqrt(dl2)
acos=dx/dl
asin=dy/dl
C
IF (JDOF.EQ.1)THEN
U(1)=Ur*acos
ELSE IF (JDOF.EQ.2)THEN
U(1)=Ur*asin
ENDIF
IF (NODE.EQ.3)THEN
WRITE(*,*) 'SUBRUTINA!',NODE,U(1)
ENDIF
RETURN
END
I have made a DISP subroutine and it works correctly in 'Static, General' Step. But when I change to 'Static, Riks' Step an Error arises as 'A zero displacement solution was found in the first iteration of a riks step. The analysis cannot proceed. The most likely cause is that all displacement degrees-of-freedom are constrained to be zero.'
Could you say me what I have to do to run the subroutine in 'Static, Riks' Step?
I attach the part of .inp and subroutine below.
---------------------------------------Input-----------------------------------------------
** STEP: Step-1
**
*Step, name=Step-1, inc=20
*Static, direct, riks
0.05, 1., , , , Set-Node3, 1, 0.8
**
** BOUNDARY CONDITIONS
**
** Name: Disp Type: Displacement/Rotation
*Boundary, user
Set-Barra, 1, 1
Set-Barra, 2, 2
--------------------------------------Subroutine----------------------------------------
SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION U(3),TIME(2),COORDS(3)
C
Ur=0.5
dx=COORDS(1)-75
dy=COORDS(2)-75
dl2=dx**2+dy**2
dl=sqrt(dl2)
acos=dx/dl
asin=dy/dl
C
IF (JDOF.EQ.1)THEN
U(1)=Ur*acos
ELSE IF (JDOF.EQ.2)THEN
U(1)=Ur*asin
ENDIF
IF (NODE.EQ.3)THEN
WRITE(*,*) 'SUBRUTINA!',NODE,U(1)
ENDIF
RETURN
END