<< 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=360-gap { 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=gap-360 { negative angle on inside }
value(u)=exp(-((x-R0)/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