Thermoelastic expansion plus slippage.

General discussions about how to formulate a script for FlexPDE.

Thermoelastic expansion plus slippage.

Postby Jared Barber on Wed Aug 19, 2015 2:37 pm

Hello,

I have two objects that thermally expand and are in contact with each other. They are able to slide/slip over each other and so the interface between the two should have zero shear but continuous nonzero normal force. Below is my start at trying to incorporate slippage. I tried creating two blocks and then coupled them at their left and right boundaries using eval. Unfortunately, they don't seem to be coupling like I would expect. While such a coupling, if effective, wouldn't allow any slippage, I am hoping slight adjustments to this approach would allow slippage. Any help on how to couple these boundaries/explanation as to why they can't be coupled would be appreciated.

I feel I should note that the expected behavior for a successful coupling is given by setting my_bump = 0 and switching the boundaries section to:

region 1
E = 1 nu = 0.4 alpha = 1e-3
start (1/2,0) line to (0,0) to (0,1) to (1/2,1)
! value(vp) = eval(vp,x+my_bump,y) value(up) = eval(up,x+my_bump,y) line to close
line to close

region 2 { region two overlays an Indium potting layer }
E = 2 nu = 0.4 alpha = 4e-3
start (1/2+my_bump,0) line to (1+my_bump,0) to (1+my_bump,1) to (1/2+my_bump,1)
! natural(up) = eval(-Sx,x-my_bump,y) natural(vp) = eval(-Txy,x-my_bump,y) line to close
line to close

Alright, thanks,

Jared

The full file:

title "Thermo-Elastic Stress"

select
errlim = 1.0e-4
order = 3
changelim = 0.01

variables
Up
Vp

definitions
E { declare Young's Modulus - values come later }
nu { declare Poisson's Ratio - values come later }
alpha { declare Expansion coefficient - values come later }

{ define the constitutive relations }
G = E/((1.+nu)*(1.-2.*nu))
C11 = G*(1-nu)
C12 = G*nu
C22 = G*(1-nu)
C33 = G*(1-2*nu)/2
b = G*alpha*(1+nu)

Tp = 100 ! Define a constant temperature difference for our thermal expansion

{ define some utility functions }
ex = dx(Up)
ey = dy(Vp)
gxy = dy(Up) + dx(Vp)
Sx = C11*ex + C12*ey - b*Tp
Sy = C12*ex + C22*ey - b*Tp
Txy = C33*gxy

mag = 1

my_bump = 1/2

equations
{ the U-displacement equation }
Up: dx(C11*dx(Up)+C12*dy(Vp)-b*Tp) + dy(C33*(dy(Up)+dx(Vp))) = 0.

{ the V-displacement equation }
Vp: dx(C33*(dy(Up)+dx(Vp))) + dy(C12*dx(Up)+C22*dy(Vp)-b*Tp) = 0.

constraints { prevent rigid-body motion: }
integral(up) = 0 { cancel X-motion }
integral(vp) = 0 { cancel Y-motion }
integral(dx(vp) - dy(up)) = 0 { cancel rotation }

boundaries

region 1
E = 1 nu = 0.4 alpha = 1e-3
start (1/2,0) line to (0,0) to (0,1) to (1/2,1)
value(vp) = eval(vp,x+my_bump,y) value(up) = eval(up,x+my_bump,y) line to close
! line to close

region 2 { region two overlays an Indium potting layer }
E = 2 nu = 0.4 alpha = 4e-3
start (1/2+my_bump,0) line to (1+my_bump,0) to (1+my_bump,1) to (1/2+my_bump,1)
natural(up) = eval(-Sx,x-my_bump,y) natural(vp) = eval(-Txy,x-my_bump,y) line to close
! line to close

monitors
contour(Up) as "X-displacement"
contour(Vp) as "Y-displacement"
grid(x+mag*Up,y+mag*Vp) as "deformation"

plots
contour(Up) as "X-displacement"
contour(Vp) as "Y-displacement"
grid(x+mag*Up,y+mag*Vp) as "deformation"

end
Jared Barber
 
Posts: 37
Joined: Thu Jan 24, 2013 10:37 am

Return to FlexPDE Discussion

Who is online

Users browsing this forum: No registered users and 5 guests