HALT!...Timestep felt below 1e-009 Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » HALT!...Timestep felt below 1e-009 « Previous Next »

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

Marc Zwaanswijk (marcz)
Member
Username: marcz

Post Number: 9
Registered: 11-2004
Posted on Tuesday, December 21, 2004 - 04:34 am:   

Hi Flex-users,
I am solving a time-dependent problem in 2D. In version 3 it works without any problems but in version 4.2.3 it gives the error message that its timestep has fallen below 1e-009 of start value.
In the HELP I read that this error is introduced in version 4.2.0.
How can solve it to use my time-dependancy in version 4.2.3?..
Thank you for help!
greetz Marc
application/octet-streamTime-dependent halt error
Lichtaard2D-21.pde (2.6 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert Thode (rct130)
New member
Username: rct130

Post Number: 1
Registered: 11-2003
Posted on Tuesday, December 21, 2004 - 10:54 am:   

Hi Marc,

The first thing to do is to check your initial conditions. If the initial conditions are not close enough to the actual transient solution the solver uses the smaller time steps to resolve the difference I believe. You made need to use some sort of transitional equation to ease the computation initially. Alternately you can set the HALT to have a lower minimum value. See HALT in the user's manual.

Rob Thode
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 290
Registered: 06-2003
Posted on Tuesday, December 21, 2004 - 03:09 pm:   

FlexPDE tries to solve the system as posed, without applying any smearing processes in the initial timesteps.

Discontinuous initial conditions imply very steep transient signals in early time, which FlexPDE tries to resolve (since you asked for it). This resolution requires very small timesteps and very fine mesh.

In the TIME section of the script, you can select an initial timestep. FlexPDE will start at this value and then cut and retry the stepsize until an initial stepsize can be found over which the temporal behavior of the system is polynomial. If after cutting the timestep to 1e-9 of your initial guess, the temporal behavior still appears not to be polynomial over the step, FlexPDE issues a warning and halts. This is the diagnostic you have seen. As suggested in the diagnostic, you can try to specify a smaller initial stepsize.

You have chosen to specify an initial timestep of a tenth of a year, which would seem to be wildly optimistic. Can you really believe that the temporal behavior of your solution will be parabolic over a tenth of a year? In the presence of a discontinuous initial condition?

In the normal case, merely specifying a more realistic initial step would be sufficient to resolve the problem.

In your case, however, it is not, and the inital step continues to be cut indefinitely. I infer from this that your specified initial conditions are so inconsistent that they can never be resolved by action of the PDE, no matter how small the stepsize is made. Either that, or your PDE's themselves are inconsisent, so that no solution exists.

I suggest that you start with a simpler problem until you are satisfied that the equations and initial conditions are consistent. Remove the nonlinear coefficients and run a linear problem similar to your goal system.

Discontinuous initial conditions imply the following situation:
1) the system is at equilibrium at some quiescent state.
2) the boundary values or fluxes are INSTANTANEOUSLY changed to some other configuration.

I think you will be hard pressed to state a physical mechanism by which the boundary values or fluxes can be changed INSTANTANEOUSLY. Therefore, you have posed a non-physical problem.

Try imposing your boundary conditions with a RAMP or URAMP function, with a time interval which is realistic in your problem.
Top of pagePrevious messageNext messageBottom of page Link to this message

Marc Zwaanswijk (marcz)
Member
Username: marcz

Post Number: 10
Registered: 11-2004
Posted on Wednesday, December 22, 2004 - 07:28 am:   

Thanks for the clear explanation and suggestions.
I checked the user's manual to find an example of the RAMP function, but I only find "Swagetest.pde". This test doesnt show how I can use RAMP in en BC.
My BC is: value(omega)=0.0357*erf(-y/5). How can I translate this BC in a RAMP function?
Like this?: value(omega)=RAMP(omega,0,-32,-1) with an initial value of omega like: omega=0.0357*erf(-y/5)?
On what base can I define a realistic timestep. How can I check when the temporal behaviour of the solution is at least parabolic?

Thanks again
gr
Marc
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 292
Registered: 06-2003
Posted on Friday, December 24, 2004 - 03:02 pm:   

The object of the RAMP, etc, is to turn on boundary values progressively over TIME. So the ramp or other smooth function is applied over an interval of TIME, rather than slamming the new boundary values into effect instantaneously.

An example would be
value(omega) = RAMP(t-t0, omega0, omega1, twidth)
where omega0 is a value consistent with the initial conditions, and omega1 is a value you want to establish starting at t0 and ramping over a time interval twidth.

As to establishing a width for the ramp function, this requires an examination of the problem being modeled. In your script, you mention a time duration of one year, so I assume this is some kind of groundwater problem. Your layout seems to show something like a canal or channel. If this is a water canal, how quickly can the canal be filled with water? Probably not in a microsecond. Or even a second. Think about what makes sense physically in your problem.

Once having established a realistic time scale for the application of boundary value changes, pick an initial timestep that is some small fraction of that.

I also infer from trying to run your problem that your initial conditions are inconsistent. Try running a steady state solution at the quiescent initial state, to see what consistent initial values might be.

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