How does FlexPDE fill holes? Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » How does FlexPDE fill holes? « Previous Next »

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

Jared Barber (jared_barber)
Member
Username: jared_barber

Post Number: 14
Registered: 01-2007
Posted on Sunday, July 08, 2007 - 03:38 am:   

Hello, I had a question about how FlexPDE is doing things.

Say I have a 2-d tube (like in the sample problem "viscous") with a hole in the middle of it. I can solve the stokes equations with flow from, say, left to right. There is Poiseuille flow at the left and right ends, viscous flow that passes around the middle hole, and solid boundaries on the top and bottom. I run FlexPDE to get the flow for this system. I export u, v, and p to a data file. I then comment out the sphere so that I should have just Poiseuille flow through the newly vacant tube. I import the data file to get what I call u0, v0, and p0 everywhere except where the hole is. Yet it seems (from a little investigation of my own) that u0, v0, and p0 are interpolated in the once empty hole region. What sort of interpolation is being used to find the values of u0, v0, and p0 where they are undefined (undefined according to the data file)?

I've attached two files, a data file, and a pde file. To see what I'm talking about, you can comment and uncomment the "exclude" portion of the code (the hole).

Thanks,

Jared
application/octet-stream
viscous 2.pde (4.1 k)
text/plain
data_in.dat (38.2 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 896
Registered: 06-2003
Posted on Sunday, July 08, 2007 - 01:48 pm:   

Whenever you import a TRANSFER, even if it is for a domain identical to the exported one, there are numerical roundoff conditions that can make border nodes appear to be outside the imported mesh. In order to handle these events cleanly, FlexPDE uses the following procedure:
If a lookup point is outside the lookup mesh, find a point on the border of the lookup mesh that is close to the lookup point, and return that value.

When you have a transfer mesh with a hole in it, and ask to look up values in the hole, you are essentially asking "what is the value at a point where I have no data?". There is no reasonable answer to this question.

You must either provide data in the hole (by including the hole in the exporting problem and forcing the flow velocity to zero), or provide a switch in the importing problem so that you don't try to look up values where there are none.

Add Your Message Here
Post:
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Password:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration