Author |
Message |
Walter-U. Kellner (q_sauserle)
New member Username: q_sauserle
Post Number: 1 Registered: 01-2010
| Posted on Friday, January 22, 2010 - 02:02 am: | |
Hello everybody, Good Morning, I'm using the Student version to get familiar with FlexPde (though the professional version ist heavily used in my department). I get stuck at a very simple problem, which can be integrated analytically very easily: TITLE 'Test 1d elementare Funktionen' COORDINATES cartesian1 VARIABLES phi DEFINITIONS a0 = 5 xl = -5 xr = 5 EQUATIONS phi: dx(phi) = a0 BOUNDARIES REGION 1 START(xl) POINT VALUE(phi)=2 LINE TO (xr) PLOTS ELEVATION(phi) FROM (xl) to (xr) END the solution is quite erratical und nonsense, it's oscillating and way off the mark. Can anyone comment on what I'm doing wrong? By the way, running it on the Pro-Version yields the same result, it takes 30000 points and bombs out with a statement like "ill defined problem" ... well, it's Math 101 ... so I wonder what's going on ... Thanks for your help, Walter |
Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 1321 Registered: 06-2003
| Posted on Friday, January 22, 2010 - 03:00 pm: | |
Interesting. Galerkin finite element methods are oscillatory when applied to pure-advective equations, so FlexPDE applies a Petrov-Galerkin prodedure to shift the difference equation to the upwind side of the flow. This procedure would appear to be incorrectly implemented in 1D, as the problem works correctly on a 2D domain (see test2.pde) and also in 1D if the upwind process is disabled and a small diffusion term is added to damp the oscillations (see test1.pde). Thank you for bringing this to our attention. We will investigate.
|
Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 1322 Registered: 06-2003
| Posted on Sunday, January 24, 2010 - 08:27 pm: | |
As it turns out, this is not a problem with the upwinding, but with the default preconditioner, which is a very bad one for 1D pure advection of a single variable. You can simply turn the preconditioner off, and the problem works correctly. SELECT PRECONDITION=OFF We will correct the default to handle this case.
|
Walter-U. Kellner (q_sauserle)
New member Username: q_sauserle
Post Number: 2 Registered: 01-2010
| Posted on Monday, January 25, 2010 - 01:31 am: | |
GREAT!! thanks for your quick and insightful comment! Walter |
|