2d_integrals

<< Click to Display Table of Contents >>

Navigation:  Sample Problems > Usage > Integrals >

2d_integrals

Previous pageReturn to chapter overviewNext page

{ 2D_INTEGRALS.PDE

 This problem demonstrates the specification of various integrals in 2D.

}

 

title '2D Integrals'

 

coordinates

   ycylinder

 

variables

   Tp

select errlim=1e-4

 

definitions

   R0 = 0.1

   R1 = 0.4

   R2 = 0.6

   Long = 1.0

   K                   { thermal conductivity -- values supplied later }

   Q = 10*max(1-((r-R1)^2+z^2),0)             { Thermal source }

 

  { This definition shows the use of a selector to force integration of Tp only in inner region }

   flag2=0    

   temp2 = if flag2>0 then Tp else 0

 

initial values

   Tp = 0.

 

equations

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

 

boundaries

 

  Region 1       { define full domain boundary }

      K = 1

      start "outside" (R0,-Long/2)

        value(Tp) = 0     { fix all side temps }

        line to (R2,-Long/2)    

          to (R2,Long/2)

          to (R0,Long/2)

          to close

 

  Region 2 "Inner Region"      

      flag2=1

      k=0.2        

      start "Inner Boundary" (R0,-Long/2)

        line to (R1,-Long/2)      

          to (R1,Long/2)

          to (R0,Long/2)

          to close

 

monitors

  contour(Tp)  

 

plots

  contour(Tp)  

  contour(k*dz(Tp))  

  contour(q)  

  summary

    report("Compare various forms for integrating over region 2")

    report(integral(Tp,2))      

    report(integral(Tp,"Inner Region"))      

    report(integral(temp2))   { integrates over full volume, but temp2 is zero in region 1 }

    report '-----'

 

    report("Compare various forms for integrating over total volume")

    report(integral(Tp,"ALL"))  

    report(integral(Tp))

    report '-----'

 

    report("Compare various forms for integrating over surface of region 2")

    report(sintegral(normal(-k*grad(Tp)),2))  

    report(sintegral(normal(-k*grad(Tp)),'Inner Boundary'))    

    report '-----'

 

    report("Compare surface flux on region 2 to internal divergence integral")

    report(sintegral(normal(-k*grad(Tp)),"Inner Boundary"))    

    report(integral(Q,"Inner Region"))  

    report '-----'

    report("Compare surface flux on total volume to internal divergence integral")

    report(sintegral(normal(-k*grad(Tp))))    

    report(integral(Q))  

    report '-----'

end