Mesh Probelm Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » Mesh Probelm « Previous Next »

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

Dave Gregory (dave)
New member
Username: dave

Post Number: 1
Registered: 02-2008
Posted on Monday, February 18, 2008 - 03:12 pm:   

Hi,

I am trying to run Richards equation see attachment.

Although one dimensional in nature i want this code in 2-d.probelm i have is, when i increase the
ngrid to 60, code is not running what could be the probelm.

I also have same probelm in few other codes,I have to use ngrid<30 to run the probelm.I am using 32 bit linux professional version.

Dave

application/octet-stream
modified_richards.pde (1.1 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 1059
Registered: 06-2003
Posted on Monday, February 18, 2008 - 08:23 pm:   

FlexPDE applies "upwind" weighting to first-order derivative terms, in order to stabilize the discretized system.

In your case, the term dy(J*S^3)effectively divides by S^2 in computing the weighting term. When S is below 1e-154 (which it can be in regions where it is nominally zero), the divide causes a floating-point overflow hardware error.

I will try to recast the arithmetic so this doesn't happen.

But in the meantime, you can work around the problem by writing dy(j*S^3) as 3*j*S^2*dy(S).

Or, you can turn off the upwind weighting (counting on the existing diffusion term to dominate the numerics) by specifying
SELECT UPWIND=OFF


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