Boundary conditions to avoid rigid body motion in contact problems in Abaqus
Boundary conditions to avoid rigid body motion in contact problems in Abaqus
(OP)
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. Gravitational body force is working as y-axis constrain. Using only friction in x-axis gives me numerical singularity issues because of rigid body motion. So I decided to constrain some nodes in the model. In first diffusion loading step, N2 was constrained in x-direction. In subsequent cooling and heating step, N1 and N3 were constrained, respectively, to obtain crawling motion. 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. 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. What would be an appropriate way of modeling contact and BC together? Any help will be appreciated.
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. Gravitational body force is working as y-axis constrain. Using only friction in x-axis gives me numerical singularity issues because of rigid body motion. So I decided to constrain some nodes in the model. In first diffusion loading step, N2 was constrained in x-direction. In subsequent cooling and heating step, N1 and N3 were constrained, respectively, to obtain crawling motion. 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. 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. What would be an appropriate way of modeling contact and BC together? Any help will be appreciated.
CODE
************************************************************************ ** 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,<tCuring>,1.0E-6,1000.0 *Controls, Parameters=Time Incrementation ,,,,,,,10,,,,,, ** GRAVITY LOAD in -Y DIRECTION (WILL CONTINUE) *Dload,amplitude=gravityAmp ElDummy, GRAV, <g>, 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,<Tcure> ** 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,<tCool>,1.e-6,500.0 *Controls, Parameters=Time Incrementation ,,,,,,,10,,,,,, ** *Boundary, op=NEW RigidRef, ENCASTRE *Boundary, op=NEW AllBoundaries,11,11,<mu0> *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,<tHeat>,1.e-6,500.0 *Controls, Parameters=Time Incrementation ,,,,,,,10,,,,,, ** *Boundary, op=NEW RigidRef, ENCASTRE *Boundary, op=NEW AllBoundaries,11,11,<mu0> *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 ************************************************************************