Hi Daniel and Jonathan,

I double checked the analytical solution and it is correct. Even though C
is close to zero on the left side, it is still considerably big compared to
Cw (C0=0.01576 and Cw=1e-3). So, it should not be neglected in computing
the gradient. The gradient on the left boundary is close to 1 (0.9842) and
the analytical solution matches the problem statement. If you run the
model, there is a plot of the analytical solution.

Thanks,
Rose




On Fri, Jun 27, 2014 at 1:33 PM, Guyer, Jonathan E. Dr. <
[email protected]> wrote:

> What Daniel is saying is to set the FiPy solution aside for the moment.
> Your analytical solution does not appear to be consistent with your
> boundary condition:
>
>   A = beta*(Cl-Cw)/(D+beta*L)
>     \approx 1
>
>   B = Cl-A*L
>     \approx 0
>
>   Canal = A*zc+B
>         \approx zc
>
>   (\partial Canal / \partial zc) \approx 1
>
> but your boundary condition states
>
>   (\partial C / \partial z) = \beta (C - Cw) / D
>                             \approx -67
>
> Daniel and I disagree by 3 orders of magnitude, but neither of us gets 1.
>
>
> FiPy’s solution may well be wrong, but your analytical solution is not
> consistent with your problem statement.
>
>
>
> On Jun 27, 2014, at 1:12 PM, yuan wang <[email protected]> wrote:
>
> > Hi Daniel,
> >
> > Thanks for your response. The left side boundary condition is the first
> boundary condition shown below. So, what I did is to express dC/dz at z=0
> as beta*(C-Cw)/D to set the constraint for the gradient on the left side. I
> learned this from one of the examples (Convection.Robin) in the manual. I
> noticed in the example there are square brackets around the expression,
> which I didn't use here. If I included it, the solution doesn't sense at
> all. Did I write the expression in a wrong way? Thanks again!
> >
> > <image.png>
> >
> > Best regards,
> > Rose
> >
> >
> > On Fri, Jun 27, 2014 at 11:45 AM, Daniel Wheeler <
> [email protected]> wrote:
> > Hi Rose,
> >
> > I was trying to debug this and it seems like there is an inconsistency
> between the left hand boundary and the analytical solution.
> >
> > By my calculations A~1 and B~0, that makes the gradient of the line
> about 1, yet the left hand boundary condition expects a gradient of about
> 0.0666 (if C is close to 0 on the left hand side, which the analytical
> solution wants).
> >
> > There may still be issues with FiPy, but I'd like to resolve that one
> first. I may also have gotten mixed up in the calculations, but I can't see
> where.
> >
> > Cheers,
> >
> > Daniel
> >
> > On Wed, Jun 25, 2014 at 4:55 PM, yuan wang <[email protected]> wrote:
> > Hi,
> >
> > I tried to solve a problem with a Robin Boundary condition in fipy. The
> physical problem is very simple, but I could not get the numerical solution
> to match the analytical solution.
> >
> > <image.png>
> >
> > Is there something wrong with the way I set up the boundary condition?
> I've copied my script below and bolded the boundary condition lines. Thanks
> for your help.
> >
> > Best regards,
> > Rose
> > ----------------------------------------------
> > from fipy import *
> > L = 1.
> > nx = 100
> > dx = L/nx
> > mesh = Grid1D(nx=nx,dx=dx)
> > zc = mesh.cellCenters[0]
> > Dm = 8e-6 # moleculer diffusion in water column
> > Dmp = 5e-6 # moleculer diffusion in porewater (corrected for tortuosity)
> > Dbw = 1e-5 # bioturbation in porewater
> > D = Dmp+Dbw
> >
> > Cw=1e-3
> > Cl=1.
> >
> > time = Variable()
> > beta = 1e-3
> > #*abs(numerix.sin(w*time))
> >
> > # steadystate solution
> > A = beta*(Cl-Cw)/(D+beta*L)
> > B = Cl-A*L
> > Canal = CellVariable(name = "analytical solution steadystate",
> mesh=mesh, value = A*zc+B)
> >
> > C = CellVariable(name="concentration", mesh = mesh,value=0.)
> > C.faceGrad.constrain(beta*(C.faceValue-Cw)/D, mesh.facesLeft)
> > C.constrain(Cl,mesh.facesRight)
> > eqI =TransientTerm()==ImplicitDiffusionTerm(coeff=D)
> >
> > viewer = Viewer(vars= (Canal,C))
> > dt = 864
> > while time()<86400:
> > time.setValue(time() + dt)
> > eqI.solve(var = C,dt=dt)
> > viewer.plot()
> >
> >
> >
> >
> >
> > _______________________________________________
> > fipy mailing list
> > [email protected]
> > http://www.ctcms.nist.gov/fipy
> >   [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
> >
> >
> >
> >
> > --
> > Daniel Wheeler
> >
> > _______________________________________________
> > fipy mailing list
> > [email protected]
> > http://www.ctcms.nist.gov/fipy
> >   [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
> >
> >
> >
> >
> > --
> > Yuan (Rose) Wang
> > PhD Candidate, Tufts University
> > Cellphone: 617-699-8006
> > _______________________________________________
> > fipy mailing list
> > [email protected]
> > http://www.ctcms.nist.gov/fipy
> >  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
>
>
> _______________________________________________
> fipy mailing list
> [email protected]
> http://www.ctcms.nist.gov/fipy
>   [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
>



-- 
Yuan (Rose) Wang
PhD Candidate, Tufts University
Cellphone: 617-699-8006
_______________________________________________
fipy mailing list
[email protected]
http://www.ctcms.nist.gov/fipy
  [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]

Reply via email to