Author |
Message |
James (jamesc)
New member Username: jamesc
Post Number: 1 Registered: 01-2007
| Posted on Monday, January 15, 2007 - 08:44 pm: | |
Hi, I am simulating a combustion wave time dependently moving along a pipe. I have run the simulation with arbitrary initial conditions until the system approaches steady-state. Now I want to use the generated values as the initial conditions for other simulations, but with the combustion front moved back to the beginning of the pipe. Is this possible to 'move' the saved data back up the pipe? Thanks James. |
Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 735 Registered: 06-2003
| Posted on Monday, January 15, 2007 - 09:40 pm: | |
There are several ways I can think of to do this, depending on some of the unstated conditions of your problem. A TABLE can be moved simply by changing the name of the table coordinate and defining the new coordinate value as an offset from the computation coordinate. This will not work if you need a TABLEDEF to read several values. TRANSFER does not have a facility for redefining the coordinate, but you could simply start the importing mesh at the position of the burn front and move on from there. In any case, it is not a good idea to let FlexPDE think it can look up values at coordinates outside the table extent (it will try to infer values at those coordinates, but it may not do it well). You could define a REGION that covers only the part where table or transfer data exists, and use a different default value in the rest of the domain (ie, don't look up values outside the table/transfer range).
|
James (jamesc)
New member Username: jamesc
Post Number: 2 Registered: 01-2007
| Posted on Thursday, January 25, 2007 - 01:46 am: | |
Thanks for that. The TABLE method works well. Another question: Is there a simple way to calculate the speed of the moving front in FlexPDE? |
Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 743 Registered: 06-2003
| Posted on Thursday, January 25, 2007 - 02:20 pm: | |
If a function of constant shape propagates at speed c through a 1D medium, the total derivative Df/Dt = df/dt+c*df/dx = 0 From this, you can approximate c = -(df/dt)/(df/dx) Of course, this fails if (df/dx) nears zero, or if the assumption of constant shape is violated. In general, you could write PLOT CONTOUR(abs(dt(f))/(magnitude(grad(f))+floor)) as "propagation speed" This will lose the sign of the velocity, and it will be ratty in places where grad(f) is small. An estimate of average front speed could be derived by taking the integral weighted by the gradient: Cavg = integral(abs(dt(f)))/integral(magnitude(grad(f))) Presumably this would ignore the meaningless areas and concentrate on the front. It still loses the sign of velocity.
|
|