Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations MintJulep on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

DISP Subroutine in Riks procedure

Status
Not open for further replies.

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
 
Replies continue below

Recommended for you

What is the purpose of a displacement controlled Riks step? That makes no sense.

And since a amplitude is not allowed in Riks steps, since the actual load is part of the solution, I assume a subroutine for the loading is also not allowed.
 
In our department we have another user subroutine (UMAT) to simulate fracture behavior in concrete. The user subroutine UMAT uses Riks procedure to improve the convergence. So now, the idea is to combine both user subroutines (UMAT and DISP) to simulate the behavior of concrete when a rebar is rusted, which induces the concrete expansion (simulated by DISP).

The user subroutine DISP posted above should work in both procedures ('Static, General' and 'Static, Riks'). But as I said before in 'Static,Riks' doesn't work. I suspect that something is missing in the input file, if someone has used DISP subroutine in 'Static,Riks' procedure and can show me my mistake, it would be awesome.

Any question ask me, I'm looking forward your responses.
 
Again, I think that you can't apply loads with a user subroutine in a Riks procedure, since the load is part of the solution here.
 
I seem strange that displacements cannot be applied with user subroutine DISP in Riks procedure, but I'm not a expert in this field. In that case, how can I apply a displacement which cannot be defined in input file for Riks procedure?

Thanks Mustaine3
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor