<< Click to Display Table of Contents >> hyperbolic 

{ HYPERBOLIC.PDE
This problem shows the capabilities of FlexPDE in hyperbolic systems.
We analyze a single turn of a helical tube with a programmed flow velocity.
A contaminant is introduced into the center of the flow on the input surface.
Contaminant outflow is determined from the flow equations.
The contaminant concentration should flow uniformly around the helix.
}
title 'Helical Flow: a hyperbolic system.'
select
ngrid=30
regrid=off { Fixed grid works better in hyperbolic systems }
vandenberg { most effective method for hyberbolic systems }
variables u
definitions Rin = 1 Rout = 2 R0 = 1.5 dR = 0.3 { width of the input contaminant profile } gap = 10 { angular gap between input and output faces } gapr = gap*pi/180 { gap in radians } cg = cos(gapr) sg = sin(gapr) pin = point(Rin*cg,Rin*sg) pout = point(Rout*cg,Rout*sg)
r = magnitude(x,y) v = 1 vx = v*y/r vy = v*x/r q = 0 { No Source } sink = 0 { No Sink }
initial values u = 0
equations u : div(vx*u, vy*u) + sink*u + q = 0

boundaries
region 1
start (Rout,0)
value(u) = 0 { We know there should be no contaminant on walls }
arc(center=0,0) angle=360gap { positive angle on outside }
nobc(u) { "No BC" on exit plane allows internal solution to dictate outflow }
line to pin
value(u)=0
arc(center=0,0) angle=gap360 { negative angle on inside }
value(u)=exp(((xR0)/dR)^4) { programmed inflow is supergaussian }
line to (1.2,0) to (1.4,0) to (1.6,0) to (1.8,0) to close { resolve shape }
monitors
contour(u)
plots
contour(u) painted
surface(u)
elevation(u) from (Rin,0.01) to (Rout,0.01)
elevation(u) from (0,Rin) to (0,Rout)
elevation(u) from (Rin,0.01) to (Rout,0.01)
elevation(u) from (0,Rin) to (0,Rout)
elevation(u) from pout to pin
end