Beach water table again Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » Beach water table again « Previous Next »

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

Bob Gardner (bgardner)
New member
Username: bgardner

Post Number: 2
Registered: 10-2003
Posted on Monday, November 03, 2003 - 06:10 pm:   

Dear Dr. Nelson,
In response to a earlier question as to whether one can dynamically switch a BC from value to natural you replied that one can write a natural BC that simulates a value BC using a hard IF...THEN statement that incorporates a clamping expression such as Large*(U0-U). As indicated in the attached file I have attempted to use this trick in simulating the effect of the tide on the beach water table. For points on the beach face that lie below the tide line the head is closely clamped to the tide by virtue of the large*(tide-h) expression. Points on the seepage face are also fairly well clamped to the point elevation via the large*(y-h) expression. However when a point on the beach face finds itself above the exit point where natural(h)=0 the value of h for that point takes on erratic and unrealistic behavior (by rising to values of h greater than the elevation of the point). Eventually this behavior causes the time step to drop to such small values that virtually no progress is made. I suspect that there are two possible reasons for this behavior. First perhaps the logic of my IF statement is not correct. Secondly I may not have used appropriate ramp and/or step expressions. In this regard it is not clear to me what value these functions take on when their arguments exactly equal zero. Also I could not find any reference in the help menu to the SWAGE function that you suggested might be used to dampen oscillations. Finally I wonder whether changing the value of large or increasing the grid density might help and, if so for the latter, how would I do this?
In any case I would welcome any suggestions you might have for mitigating these problems.
Sincerely,
Bob Gardner
application/octet-streamDescriptor file for beach problem
beachquest.pde (4.0 k)
application/octet-streamBeach simulation results
beachquest.pgx (3849.8 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 53
Registered: 06-2003
Posted on Tuesday, November 04, 2003 - 04:09 pm:   

I didn't realize you were using version 2. SWAGE and RAMP are version 3 functions.

You could try to construct a smooth transistion function from arctan or supergaussian functions.

I didn't map out exactly what your switch was doing, but it looked more complicated than I expected. You might want to define a FEATURE along the sloped face, define the natural function in the definitions section, and plot the current distribution of the natural along the face. If there are sudden strong jumps, then the timestep control is probably being driven nuts.

In principle, you would like the various switched functions to be continuous across the switch point to avoid oscillation. Is this true of your function?
Top of pagePrevious messageNext messageBottom of page Link to this message

Gilson Gitirana Jr (ggitirana)
New member
Username: ggitirana

Post Number: 1
Registered: 11-2003
Posted on Wednesday, November 05, 2003 - 08:18 pm:   

application/octet-streamModified BC
beachquest-110.pde (4.1 k)


Try this one. It seems to work, but you have to make sure the results make sense.
Top of pagePrevious messageNext messageBottom of page Link to this message

Gilson Gitirana Jr (ggitirana)
New member
Username: ggitirana

Post Number: 2
Registered: 11-2003
Posted on Wednesday, November 05, 2003 - 08:22 pm:   

Maybe Mr Nelson would have some suggestion about how to speed up the solution of the file that I have posted and to reduce the "noise" cause by the BC, making it smoother.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 55
Registered: 06-2003
Posted on Thursday, November 06, 2003 - 02:49 pm:   

My guess is that the harsh transition of the IF..THEN from zero to nonzero is making the values near the transition point jitter, and trapping the timestep control.

If you could conspire to make a smooth transition function, I think it would speed up.
Top of pagePrevious messageNext messageBottom of page Link to this message

Bob Gardner (bgardner)
Junior Member
Username: bgardner

Post Number: 3
Registered: 10-2003
Posted on Thursday, November 06, 2003 - 04:04 pm:   

Dr. Nelson,
Here is my response to Dr. Gitirana's suggestion. It works better than anyting I have been able to do but there is still a lot of jitter and it does not quite produce the dynamic behavior that I would expect from having run this problem using the boundary element method. As noted there is also a major imbalance between the input of water at the left hand side of the domain and the net outflow on the beach face. At the moment I can not think of a transition function that would calm the jitters.


Dear Gilson,

Thank you very much for your suggestion. I tried your program and it works better than anything I have managed so far. An attractive feature of your method is that it does not require the ad hoc computation of the elevation of the exit point (zc) using Turner’s somewhat dubious theory, which was nevertheless reasonably well confirmed in the case studied by Li et al. using the boundary element method. Unfortunately your method did not do a good job of clamping h to y during times when a seepage face is present at y. Also after the exit point falls below y there is still a tendency, albeit jittery, to clamp the head to y whereas one would expect h to gradually drop below y as the exit point continues to fall below y. In order to better see these problems I have rewritten the plots and history parts of the program. Check out the second zc history plot where you can see the Turner prediction of the exit point elevation versus time (curve 1) and the head at a number of nodes along the beach face.



I have also made plots of the normal(-k*grad(h)) along the left hand vertical side of the domain where a constant head of 10 m is imposed for comparison with the normal flux along the beach face. Integrated over the fourth tidal cycle the input through the left hand side amounts to about 4 units compared to a net outflow along the beach face of about 13 units. It does not seem likely that this imbalance could be coming from a decrease in storage within the domain.



Any further thoughts on this would be welcome. Perhaps I should cut back on the maximum size of the time step.



-----Original Message-----
From: Gilson Gitirana Jr [mailto:gilsongitirana@yahoo.com.br]
Sent: Wednesday, November 05, 2003 8:16 PM
To: gardner@geol.sc.edu
Subject: tide problem



Dear Dr. Gardner,



I saw your post on FlexPDE's user's forum and I thougth that maybe I could help.



Find attached your pde file, with a few changes. I'm not using the ramp functions because I wanted to make the BC as "pure" as possible. The problem will take more than 30 minutes to run, because the BC is pretty awkward and causes some oscilations. But the ideia is pretty simple:



1) if the point is below the water level, make a natural BC that is equivalent to a essencial BC (node value equal to "tide").

2) if the point is above the water level and the pore-water pressure is negative, no flow, if the pore-water pressure is positive, take out some water to make the pore-water pressure equal to one.



I'm not sure what was wrong because I didn't take the time to examine your BC. I simply put the BC that I thought would be appropriate. The result show that the pore-water pressure response to the tide is quite fast (of course, reducing the hydraulic conductivity would change this aspect of the solution).



Please, let me know if the result is making sense now. If you find any problem or any improvements I would appreciate hearing about it.



I have a last suggestion (this one I did not implement in the file): FlexPDE seems to give more accurate results if you keep the water storage term inside the "dt". I don't have an explanation for this. It should give the same answer, but sometimes it does not. I have found problem in the continuity of water (comparing fluxes on the boundaries and the change in volume of water stored). But I found this kind of problem only in a few cases, with more mathematicaly complex soil-water characteristic curve equations. Your problem may be giving a good answer.



kind regards,

Gilson





Gilson Gitirana Jr
University of Saskatchewan
Phone: (306) 966-5347




application/octet-streamDr. Gitirana's modified program
beachquest-110.pde (4.6 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 57
Registered: 06-2003
Posted on Friday, November 07, 2003 - 02:36 pm:   

Attached is a screenshot of this problem run with FlexPDE version 3.10 using a SWAGE function with width of 0.2 for the boundary condition.
Swaged beachquest
Top of pagePrevious messageNext messageBottom of page Link to this message

Bob Gardner (bgardner)
Member
Username: bgardner

Post Number: 4
Registered: 10-2003
Posted on Friday, November 07, 2003 - 04:15 pm:   

As the SWAGE function is not described in the help menu in version 2.22, perhaps you could define it for me and show the descriptor code that was used to implement it in this problem so that maybe I can design something similar to it for version 2.2.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 60
Registered: 06-2003
Posted on Tuesday, November 11, 2003 - 03:38 pm:   

SWAGE is a version 3 function.
The arguments to SWAGE correlate positionally with "IF c<0 THEN a ELSE b" with a smearing width "w".
Its definition is:
SWAGE(c,a,b,w)=(0.5-y)*a+(0.5+y)*b in the range(-0.5 < y < 0.5)
with y = s*atan(c/(w*s))
c is the conditional expression
a and b are the "then" and "else" branches
w is the transition width
s = 0.5/atan(3*pi), a scaling that makes the active range approximately 3*w.

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