*HEADING
  - VISCO-HYPERELASTICITY, TENSION, RIGID BODY MOTION W/ LINEAR PERT.
 STEPS, CPS4R. APPLY LOAD INSTANTANEOUSLY AND LET RELAX. DO A STATIC ROTATION
 TO MAKE SURE STATE VARIABLES REMAIN ENFORCED AND ROTATE.
*RESTART,WRITE
*NODE
1,
2,10.
3,10.,5.,
4,0.,5.,
99,-10.,0.
*ELEMENT,TYPE=CPS4R,ELSET=ONE
1,1,2,3,4
*SOLID SECTION,ELSET=ONE,MATERIAL=BIDERMAN
1., 
*MATERIAL,NAME=BIDERMAN
*HYPERELASTIC,N=1,MODULI=INSTANTANEOUS
27.02,1.42,0.000001
*VISCOELASTIC,TIME=PRONY
0.25,0.25,5.
0.25,0.25,10.
*ELSET,ELSET=EFILE
1, 
*surface,NAME=SLVC
ONE,S2
*surface,NAME=SLVD
ONE,S4
*rigid body,analytical surface=MSTC,REF NODE=99
*surface,name=MSTC,TYPE=SEGMENTS
START,10.,16.
LINE,10.,-11.
*rigid body,analytical surface=MSTD,REF NODE=999
*surface,name=MSTD,TYPE=SEGMENTS
START,0.,-11.
LINE,0.,16.
*CONTACT PAIR,INTERACTION=INTER1
SLVC,MSTC
SLVD,MSTD
*SURFACE INTERACTION,NAME=INTER1
*ELEMENT,TYPE=SPRING1,ELSET=SPRINGX
11,1
*SPRING,ELSET=SPRINGX
1, 
1., 
*BOUNDARY
1,2,2
2,2,2
999,1,6
99,6,6
99,2,2
**NODE 1 WITH FIXED BC IN DIR. 2 AND IN CONTACT WITH MASTER SURFACE MSTD
**CONFLICTS WITH THE NORMAL CONTACT CONSTRAINT IN STEP 5 WHEN THE CONTACT
**SURFACES ARE ROTATED. OVERCONSTRAINT CHECKS GIVE A WARNING AND CHANGE 
**THE CONTACT STATUS TO OPEN AUTOMATICALLY TO AVOID OVERCONSTRAINT. THIS
**CAUSES CONVERGENCE PROBLEM. THE FOLLOWING KEYWORD IS BEING ADDED TO AVOID
**THIS PROBLEM. IN THIS CASE NODE 1 AND REF. NODE 999 FOR MASTER SURFACE
**MSTD ARE COINCIDENT AND THIS OVERCONSTRAINT SHOULD NOT CAUSE ANY PROBLEM.
**OVERCONSTRAINT CHECKS WILL BE IMPROVED LATER ON TO DETECT AND IGNORE
**THESE CASES (WHEN SLAVE AND MASTER NODES ARE COINCIDENT).
*CONSTRAINT CONTROLS,NO CHECKS
*STEP,PERT
** Step 1: Initial linear perturbation: pull right rigid surface in dof 1
*STATIC
*BOUNDARY
1,2
999,1,6
99,2
99,6
99,1,1,.1
*EL PRINT
S,E
*CONTACT PRINT
CSTRESS,
CDISP, 
*END STEP
*STEP,NLGEOM,INC=25
** Step 2: Pull specimen through right rigid surface
*STATIC
.1,1.
*BOUNDARY
99,1,1,2.
*END STEP
*STEP,NLGEOM,INC=25
** Step 3: Viscoelastic stress relaxation
*VISCO
5.,50.,2.,10.,
*BOUNDARY
99,1,1,10.
*END STEP
*STEP,PERT
** Step 4: Linear perturbation: pull right rigid surface in dof 1
*STATIC
*BOUNDARY,OP=NEW
1,2
999,1,6
99,2
99,6
99,1,1,.1
*EL PRINT
S,E
*CONTACT PRINT
CSTRESS,
CDISP, 
*END STEP
*STEP,NLGEOM,INC=200
** Step 5: Rotate the model 90 deg through the 2 rigid surfaces
*STATIC
30.,90.,1.,30.
*BOUNDARY,OP=NEW
1,2,2
999,1,2
999,6,6,1.5707963
99,2,2
99,1,1,10.
99,6,6,1.5707963
*END STEP
*STEP,PERT
** Step 6: Linear perturbation: pull top (right) rigid surface in dof 2
*STATIC
*BOUNDARY,OP=NEW
1,1
999,1,6
99,1
99,6
99,2,2,.1
*EL PRINT
S,E
*CONTACT PRINT
CSTRESS,
CDISP, 
*END STEP
*STEP,NLGEOM
** Step 7: Viscoelastic stress relaxation
*VISCO
10.,100.
*BOUNDARY,OP=NEW
1,1,1
999,1,2
999,6,6,1.5707963
99,2,2
99,1,1,10.
99,6,6,1.5707963
*END STEP
*STEP,PERT
** Step 8: Multiple load cases: pull top (right) rigid surface in dof 2
*STATIC
*LOAD CASE,name=uniaxial-tension-1
*BOUNDARY,OP=NEW
1,1
999,1,6
99,1
99,6
99,2,2,.1
*END LOAD CASE
*LOAD CASE,name=uniaxial-tension-2
*BOUNDARY,OP=NEW
1,1
999,1,6
99,1
99,6
99,2,2,.2
*END LOAD CASE
*LOAD CASE,name=uniaxial-tension-3
*BOUNDARY,OP=NEW
1,1
999,1,6
99,1
99,6
99,2,2,.3
*END LOAD CASE
*EL PRINT
S,E
*CONTACT PRINT
CSTRESS,
CDISP, 
*OUTPUT,FIELD,VARIABLE=PRESELECT
*NODE OUTPUT,VARIABLE=PRESELECT
*ELEMENT OUTPUT,VARIABLE=PRESELECT
*END STEP