How to satisfy matter conservation? Log Out | Topics | Search
Moderators | Register | Edit Profile

FlexPDE User's Forum » User Postings » How to satisfy matter conservation? « Previous Next »

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

Tomomi Yoshida (tomomi)
New member
Username: tomomi

Post Number: 1
Registered: 02-2007
Posted on Sunday, February 04, 2007 - 11:21 pm:   

Hello,

I'm a new FlexPDE user and am trying to analyze fluid flow and diffusion in a cylinder@with two arms.
The cylinder has absorption depending on matter (glucose) concentration on the bottom surface using Michaelis-Menten equation (Enzymatic reaction).
Therefore I was Using Navier-Stokes equation (file no.1) and derived fluid velocity vx, vy, vz were transferred to Diffusion equation (file no.2).

A problem is that mass conservation of fluid is almost completely satisfied, however matter conservation isnft.

How to satisfy matter (glucose) conservation?
I will appreciate any and all help.

FlexPDE Professional Version 5.0.8 3D
Tomomi
application/octet-streampde
file no.1.pde (5.8 k)
application/octet-streampde
file no.2.pde (7.1 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

Tomomi Yoshida (tomomi)
New member
Username: tomomi

Post Number: 2
Registered: 02-2007
Posted on Monday, February 05, 2007 - 02:00 am:   

I add a calculating situation.
Bottom surfacefs concentration gradient is equal to the absorption depending on enzymatic reaction. This is essential condition of my analysis.
I tried to use this condition as a boundary condition of bottom surface. However matter (glucose) conservation wasnft satisfied.

Tomomi
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 758
Registered: 06-2003
Posted on Monday, February 05, 2007 - 08:46 pm:   

If you watch the "step error" report in the status window (for the File_2 run), you will see that the Newton's method is not converging. It bounces from 0.6 to 7e7 on alternate iterations.

I have not run it to completion, but I assume it merely halts on an iteration count limit, and that the final "RMS Error" and "Max Error" are large.

Usually, this kind of behavior is the result of discontinuities in the objective function that Newton's method is trying to minimize, which is in turn caused by discontinuous material parameters or inconsistent equations.

I don't see anything in your script that would do this, so I am forced to look for other causes.
One possibility is that the low-accuracy flow run has left non-conserving eddies in the flow field that result in indeterminate spots in the GC coupling matrix. This is merely a guess, and I'm investigating it.
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 759
Registered: 06-2003
Posted on Tuesday, February 06, 2007 - 07:36 pm:   

I missed my guess on this problem.

The trouble was, as I should have known, due to a discontinuous slope in your bottom boundary condition.

FlexPDE uses Newton's method to solve nonlinear systems, and a discontinuous slope in the objective function can cause convergence failure.

You have an extraction rate that is proportional to GC for GC>0 and 0 for GC<=0. This is causing the iteration to bounce back and forth between the slope=1 and slope=0 sections of this curve.

If you merely continue the definition of the BC through GC=0, the problem converges quickly.

Replace your definition of GCR with
GCR=SGCR*GC/(Km+abs(GC))

The ABS() prevents division by zero. If the value of GC bounces below zero on any iteration, a restoring flux will bring it back up to zero.
Top of pagePrevious messageNext messageBottom of page Link to this message

Tomomi Yoshida (tomomi)
Junior Member
Username: tomomi

Post Number: 3
Registered: 02-2007
Posted on Thursday, February 08, 2007 - 05:08 am:   

Thanks a lot.

First I should apologize that there are a miss writing source in file no.2.
The command transfer('file no.1.dat',vx,vy,vz) is correct.

I replaced the boundary condition (GCR=SGCR*GC/(Km+abs(GC))) and tried.
The result is that, as for Newtonfs method, I think your suggestion is correct. However there still some troubles.
One is that mass (glucose) conservation is not satisfied. In summary window, we needs two relationships;
sintegral(vx*GC,'inlet')-sintegral(vx*GC,'outlet')=Ncell*sintegral(GCR,'Glass')
Ncell*sintegral(GCR,'Glass')=DG*sintegral(dz(GC),'Glass')
But the result shows amount of consumption of glucose is calculated 5 times smaller than (inlet-outlet). I mean
1/5*Ncell*sintegral(GCR,'Glass')= sintegral(vx*GC,'inlet')-sintegral(vx*GC,'outlet').
This is a trouble of mass conservation.

Another trouble is that result of plot window shows glucose consumption rate (GCR) equal 0, and glucose concentration (GC) <0. There are contradictions because if GCR=0, there is no absorption or extraction on the bottom surface.
I tried to find other way to solve problems.

I appreciate your suggestion.
Tomomi
Top of pagePrevious messageNext messageBottom of page Link to this message

Robert G. Nelson (rgnelson)
Moderator
Username: rgnelson

Post Number: 762
Registered: 06-2003
Posted on Thursday, February 08, 2007 - 03:43 pm:   

1) You must remember that this is a numerical approximation, not an analytic solution. FlexPDE stops trying to refine the solution when the estimated errors are below those you request. You have requested 1 percent error per cell. The negative glucose concentrations you observe are like 1e-6 out of an overall range of 0-420 (unless you have confused the issue with unit conversions, in which case, the discrepancy is 1e-6 out of a range of 2.2). In either case, the negative excursion is tiny compared to your requested error tolerance. Try running the flow and diffusion runs with the default 0.002 error tolerance, and you will see much less noise in the answer.

2) You have specified a bottom flux of GCR*Ncell/DG, which FlexPDE equates to DG*dz(GC). Run with default error in both flow and diffusion, the bottom integral of GCR*Ncell/DG is 3.744e-10 (as shown in a bottom-surface plot). The bottom integral of DG*dz(GC) is 3.806e-10. The difference between input and output flux is 3.74e-10 (or 7 percent of total flux). I don't see any mass conservation problem. Check that your units conversions are correct.
Top of pagePrevious messageNext messageBottom of page Link to this message

Tomomi Yoshida (tomomi)
Member
Username: tomomi

Post Number: 4
Registered: 02-2007
Posted on Sunday, February 25, 2007 - 10:25 am:   

Mr. Nelson
Your information is very helpful.
At last I could find correct calculate situation and got the answer which satisfied mass conservation.
Thank you very much!

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