ifthen

<< Click to Display Table of Contents >>

Navigation:  Sample Problems > Usage > Misc >

ifthen

Previous pageReturn to chapter overviewNext page

{ IFTHEN.PDE  

 This example demonstrates the use of "IF...THEN" conditionals in arithmetic statements.  

 

 We solve a heat equation in which the conductivity is defined by a conditional

 (IF..THEN) expression.

 

 Caveat:

   IF..THEN can be dangerous if used improperly.

   Equation coefficients that are discontinuous functions of the system

   variables can cause convergence failure or tiny timesteps and slow

   execution.  See SWAGETEST.PDE.

 

}

title 'Nonlinear heatflow, conditional conductivity'

Variables

   u

definitions

   a =   IF (u<0.5) and (x<100)

          THEN   IF u < 0.2

                  THEN 1.4

                  ELSE 1+2*abs(u)

          ELSE 2

Initial values

   u = 1 - (x-1)^2 - (y-1)^2

equations

   U: div(a*grad(u)) + 4 = 0;

boundaries

  Region 1

      start(0,0)

          value(u)=0

      line to (2,0) to (2,2) to (0,2) to close

monitors

  contour(u)

plots

  surface(u)

  contour(u)

  contour(a) as "Conditional Conductivity"

  elevation(a,u) from (0,1) to (2,1) as "Conductivity and Solution"

end