3d_bimetal

<< Click to Display Table of Contents >>

Navigation:  Sample Problems > Applications > Stress >

3d_bimetal

Previous pageReturn to chapter overviewNext page

{ 3D_BIMETAL.PDE

 

 This problem considers a small block of aluminum bonded to a larger block

 of iron.  The assembly is held at a fixed temperature at the bottom, and

 is convectively cooled on the sides and top.  We solve for the 3D temperature

 distribution, and the associated deformation and stress.

 All faces of the assembly are unconstrained, allowing it to grow as the

 temperature distribution demands.  We do not use an integral constraint

 to cancel translation and rotation, as we have done in 2D samples,

 because in 3D this is very expensive.  Instead, we let FlexPDE find a solution,

 and then remove the mean translation and rotation before plotting.

}

 

title 'Bimetal Part'

 

coordinates

   cartesian3

 

select

   painted   { show color-filled contours }

   biprecon { use the Block-Inverse preconditioner - it works better than the default ICCG }

 

variables

   Tp       { temperature difference from stress-free state }

   U         { X displacement }

   V         { Y displacement }

   W         { Z displacement }

 

materials

  'iron' :

      K = 0.11           { thermal conductivity }

      E = 20e11         { Youngs modulus }

      nu = 0.28         { expansion coefficient }

      alpha =  1.7e-6   { Poisson's Ratio  }

 

  'aluminum' :

      K = 0.5

      E = 6e11

      nu = 0.25

      alpha =  2*(2.6e-6)             ! Exaggerate expansion

 

  'default' :

      K = 1

      E = 1e11

      nu = 0.1

      alpha =  1e-6

 

definitions

   long = 1

   wide = 0.3

   high = 1

   tabx = 0.2

   taby = 0.4

 

   Q = 0               { Thermal source }

   Ta = 0.             { define the ambient thermal sink temperature }

 

  { define the constitutive relations }

   G = E/((1+nu)*(1-2*nu))

   C11 = G*(1-nu)

   C12 = G*nu

   C13 = G*nu

   C22 = G*(1-nu)

   C23 = G*nu

   C33 = G*(1-nu)

   C44 = G*(1-2*nu)/2

   b = G*alpha*(1+nu)

 

  { Strains }

   ex = dx(U)

   ey = dy(V)

   ez = dz(W)

   gxy = dy(U) + dx(V)

   gyz = dz(V) + dy(W)

   gzx = dx(W) + dz(U)

 

  { Stresses }

   Sx  =  C11*ex + C12*ey + C13*ez - b*Tp

   Sy  =  C12*ex + C22*ey + C23*ez - b*Tp

   Sz  =  C13*ex + C23*ey + C33*ez - b*Tp

   Txy =  C44*gxy

   Tyz =  C44*gyz

   Tzx =  C44*gzx

 

  { find mean translation and rotation }

   Vol = Integral(1)

   Tx = integral(U)/Vol                   { X-motion }

   Ty = integral(V)/Vol                   { Y-motion }

   Tz = integral(W)/Vol                   { Z-motion }

   Rz = 0.5*integral(dx(V) - dy(U))/Vol   { Z-rotation }

   Rx = 0.5*integral(dy(W) - dz(V))/Vol   { X-rotation }

   Ry = 0.5*integral(dz(U) - dx(W))/Vol   { Y-rotation }

 

  { displacements with translation and rotation removed }

  { This is necessary only if all boundaries are free }

   Up = U - Tx + Rz*y - Ry*z

   Vp = V - Ty + Rx*z - Rz*x

   Wp = W - Tz + Ry*x - Rx*y

 

  { scaling factors for displacement plots }

   Mx = 0.2*globalmax(magnitude(y,z))/globalmax(magnitude(Vp,Wp))

   My = 0.2*globalmax(magnitude(x,z))/globalmax(magnitude(Up,Wp))

   Mz = 0.2*globalmax(magnitude(x,y))/globalmax(magnitude(Up,Vp))

   Mt = 0.4*globalmax(magnitude(x,y,z))/globalmax(magnitude(Up,Vp,Wp))

 

initial values

   Tp = 5.

   U = 1.e-5

   V = 1.e-5

   W = 1.e-5

 

equations  

   Tp: div(k*grad(Tp)) + Q = 0.         { the heat equation }  

   U:  dx(Sx) + dy(Txy) + dz(Tzx) = 0   { the U-displacement equation }

   V:  dx(Txy) + dy(Sy) + dz(Tyz) = 0   { the V-displacement equation }

   W:  dx(Tzx) + dy(Tyz) + dz(Sz) = 0   { the W-displacement equation }

 

extrusion z = 0,long

 

boundaries

  surface 1 value(Tp)=100             { fixed temp bottom }

  surface 2 natural(Tp)=0.01*(Ta-Tp) { poor convective cooling top }

 

  Region 1   { Iron }

      use material 'iron'

      start(0,0)

        natural(Tp) = 0.1*(Ta-Tp)     { better convective cooling on vertical sides }

        line to (wide,0)

          to (wide,(high-taby)/2)

          to (wide+tabx,(high-taby)/2)

          to (wide+tabx,(high+taby)/2)

          to (wide,(high+taby)/2)

          to (wide,high)

          to (0,high)

          to close

 

    Region 2   { Aluminum }

      use material 'aluminum'

      start(wide,(high-taby)/2)

        line to (wide+tabx,(high-taby)/2)

          to (wide+tabx,(high+taby)/2)

          to (wide,(high+taby)/2)

          to close

 

monitors

  contour(Tp) on y=high/2 as "Temperature"

  contour(Up) on y=high/2 as "X-displacement"

  contour(Vp) on x=4*wide/5 as "Y-displacement"

  contour(Wp) on y=high/2 as "Z-displacement"

  grid(x+My*Up,z+My*Wp) on y=high/2 as "XZ Shape"

  grid(y+Mx*Vp,z+Mx*Wp) on x=wide/2 as "YZ Shape"

  grid(x+Mz*Up,y+Mz*Vp) on z=long/4 as "XY Shape"

  grid(x+Mt*Up,y+Mt*Vp,z+Mt*Wp) as "Shape"

 

plots

  contour(Tp) on y=high/2 as "XZ Temperature"

  contour(Up) on y=high/2 as "X-displacement"

  contour(Vp) on x=4*wide/5 as "Y-displacement"

  contour(Wp) on y=high/2 as "Z-displacement"

  grid(x+My*Up,z+My*Wp) on y=high/2 as "XZ Shape"

  grid(y+Mx*Vp,z+Mx*Wp) on x=4*wide/5 as "YZ Shape"

  grid(x+Mz*Up,y+Mz*Vp) on z=long/4 as "XY Shape"

  grid(x+Mt*Up,y+Mt*Vp,z+Mt*Wp) as "Shape"

  contour(Sx) on y=high/2 as "X-stress"

  contour(Sy) on y=high/2 as "Y-stress"

  contour(Sz) on y=high/2 as "Z-stress"

  contour(Txy) on y=high/2 as "XY Shear stress"

  contour(Tyz) on y=high/2 as "YZ Shear stress"

  contour(Tzx) on y=high/2 as "ZX Shear stress"

 

end