Displacement boundary conditions in contact problems

Hello I am trying to simulate crawling motion of a bilayer beam using Abaqus. Kind of similar to this: https://youtu.be/os-Z3ucoFpA.

I am using multiphysics enabled (diffusion, deformation, thermal) user-defined element subroutine to simulate this. But the main problem so far is coming from contact formulation and boundary conditions. The model looks like as the attached image. I defined hard frictional contact between the bottom surface and an analytical rigid surface. In first diffusion loading, N2 was constrained in x-direction. In subsequent cooling and heating step, N1 and N3 were constrained, respectively. N1 and N3 are nodes slightly above the contact surface as Abaqus has conflict with applying BC on contact surface. First loading step works fine and it maintains N2 boundary condition but N1 and N3 boundary conditions are being ignored in subsequent steps. If I omit these BCs, it gives me numerical singularity error because of rigid body motion and with these BCs imposed, it still has rigid body motion (see attached animation please). I used keywords for changing boundary condition. It works with temperature and diffusion but not with displacement. I am also attaching important section from the input file. I am not sure what exactly I am missing here. Any help will be appreciated.

RELEVANT INPUT FILE KEYWORD:

************************************************************************

** CONTACT INTERACTION PROPERTIES **

************************************************************************

*Surface Interaction, name=IntProp

1.,

*Friction, slip tolerance=0.005

0.1,

*Surface Behavior, pressure-overclosure=HARD

*Contact Pair, interaction=IntProp

BottomSurface, RigidSurf

************************************************************************

** STEP DEFINITION **

************************************************************************

** CURING STEP COMBINED STRETCHING AND DIFFUSION

*Step, Name=CURE, nlgeom=yes, inc=50000

*Coupled temperature-displacement, deltmx=100.0

5.0,,1.0E-6,1000.0

*Controls, Parameters=Time Incrementation

,,,,,,,10,,,,,,

** GRAVITY LOAD in -Y DIRECTION (WILL CONTINUE)

*Dload,amplitude=gravityAmp

ElDummy, GRAV, , 0., -1., 0.

** MECHANICAL BOUNDARY CONDITIONS (FIXED RIGID SURFACE)

*Boundary

RigidRef, ENCASTRE

** DIFFUSION BOUNARY CONDITION

*Boundary, amplitude=chemProfile

Top,11,11,1.0

Left,11,11,1.0

Right,11,11,1.0

** THERMAL BOUNDARY CONDITION: UNIFORM TEMPERATURE APPLIED TO THE BODY

*Boundary

All,12,12,

** MECHANICAL BOUNDARY CONDITION (CENTER POINT CONSTRAINED TO AVOID RIGID BODY MOTION)

*Boundary

N2,1,1,0

************************************************************************

*Step, Name=T25COOLING1, nlgeom=yes, inc=50000

*Coupled temperature-displacement, STABILIZE, ALLSDTOL, CONTINUE=yes, deltmx=100.0

5.0,,1.e-6,500.0

*Controls, Parameters=Time Incrementation

,,,,,,,10,,,,,,

**

*Boundary, op=NEW

RigidRef, ENCASTRE

*Boundary, op=NEW

AllBoundaries,11,11,

*Boundary, amplitude=temp25, op=NEW

All,12,12,1.0

** MECHANICAL BOUNDARY CONDITION (TO AVOID RIGID BODY MOTION and ENFORCE FRONT STICKING)

*Boundary, op=NEW

N1,1,1,0

************************************************************************

*Step, Name=T60HEATING1, nlgeom=yes, inc=50000

*Coupled temperature-displacement, STABILIZE, ALLSDTOL, CONTINUE=yes, deltmx=100.0

5.0,,1.e-6,500.0

*Controls, Parameters=Time Incrementation

,,,,,,,10,,,,,,

**

*Boundary, op=NEW

RigidRef, ENCASTRE

*Boundary, op=NEW

AllBoundaries,11,11,

*Boundary, amplitude=temp60, op=NEW

All,12,12,1.0

** MECHANICAL BOUNDARY CONDITION (TO AVOID RIGID BODY MOTION and ENFORCE BACK STICKING)

*Boundary, op=NEW

N3,1,1,0

************************************************************************