Dear all -- in a bit I am going to post a little idealized advection/diffusion problem to give an idea of how some of these errors in steady solutions arise, and how iterating in time helps. It will be much more basic then this work, but you might find it helpful. It was very helpful for me in figuring out my more complex system to reproduce the error in a simple way. It also reveals some surprising issues in the fipy code -- for example, the error in a steady solution can depend on the "initial" condition you feed the solver.
It will be under the title "sources errors in advection/diffusion problems, and one solution." I hope to post it tonight. Jamie On Thu, Sep 15, 2016 at 1:27 PM, Zhekai Deng < zhekaideng2...@u.northwestern.edu> wrote: > Thanks for the reply. Those are very useful suggestions. I have some new > findings which may help shedding some light on this problem. > > I have added TransientTerm and tried to see how the solution is developed > over time. I also remove the datamin and datamax input on the viewer, so > that I can see the full range of the solution variable data. > > When I see the temporal development of the solution (attached in the > email), It looks stable. However, I noticed that the right outlet boundary > has extreme high concentration and did not outflow the flow domain. I think > It has due to the improper setup of my right outlet condition. Since the > materials keep building up on the right outlet boundary, it appears to > affect the solution in the actual flow domain(also attached in email) and > drives the solution unstable. This could be the main reason that solving > steady state equation directly never converges. > > I then begin to look into how to properly set up "open outlet" boundary, > the closest I could find is following: > > https://www.mail-archive.com/fipy@nist.gov/msg02797.html > <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mail-2Darchive.com_fipy-40nist.gov_msg02797.html&d=DQMFaQ&c=c6MrceVCY5m5A_KAUkrdoA&r=7HJI3EH6RqKWf16fbYIYKw&m=Ew75WMQ2PnWdtsxt3kTJBWFCLPMfbhFuy5pZFsk2j_E&s=ySxT83HZSY7kYYR0kABBgUfPusZjtvKYGmgWziQKIrg&e=> > and in the section of "Applying fixed flux boundary conditions" of > official website > http://www.ctcms.nist.gov/fipy/documentation/USAGE.html > <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.ctcms.nist.gov_fipy_documentation_USAGE.html&d=DQMFaQ&c=c6MrceVCY5m5A_KAUkrdoA&r=7HJI3EH6RqKWf16fbYIYKw&m=Ew75WMQ2PnWdtsxt3kTJBWFCLPMfbhFuy5pZFsk2j_E&s=5jczC1jEgpSrXuOg-JezPozbpQGB7NuUvnKOznikvCE&e=> > > I tried to adapt the official method listed on the official website, but > no success is achieved. Thus, I wonder is it possible to point out some > examples that used this method to define fixed flux outlet boundary > condition ? You may find my current progress on this part in the code I > attached. > > Another thing I noticed is that, there is a reported issue on robin > boundary condition: > > https://github.com/usnistgov/fipy/issues/426 > <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_usnistgov_fipy_issues_426&d=DQMFaQ&c=c6MrceVCY5m5A_KAUkrdoA&r=7HJI3EH6RqKWf16fbYIYKw&m=Ew75WMQ2PnWdtsxt3kTJBWFCLPMfbhFuy5pZFsk2j_E&s=ZA4BEn0AgWr8nCIjHPeZV6dMt1kxgJIiZJBOGbuDJOE&e=> > > Would it be possible to explain more about this ? I don't think the up & > bottom boundary condition in my case causes the non convergent problem, > because from the Transient equation, the segregation of the material starts > to develop at the top&bottom boundary, which is consistent with my > expectation. > > I have attached my current progress of the code, and the temporal > development of the solution. > > Best, > > Zhekai > > > > > > > On Thu, Sep 15, 2016 at 9:33 AM, Daniel Wheeler <daniel.wheel...@gmail.com > > wrote: > >> On Wed, Sep 14, 2016 at 7:52 PM, Guyer, Jonathan E. Dr. (Fed) >> <jonathan.gu...@nist.gov> wrote: >> > >> > I don't know offhand. With a Péclet number of 100, your problem is >> almost completely hyperbolic, which FiPy (and cell-centered Finite Volume) >> isn't very good at. Daniel knows more about this and may have some >> suggestions. >> > >> > You might consider adding a TransientTerm for artificial relaxation and >> trying the VanLeerConvectionTerm. >> >> Definitely use a TransientTerm and see the time step you can get away >> with. Don't sweep, just use time steps. Using the VanLeerConvetionTerm >> isn't necessary as the accuracy is not important in a steady state >> problem. >> >> -- >> Daniel Wheeler >> >> _______________________________________________ >> fipy mailing list >> fipy@nist.gov >> http://www.ctcms.nist.gov/fipy >> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.ctcms.nist.gov_fipy&d=DQMFaQ&c=c6MrceVCY5m5A_KAUkrdoA&r=7HJI3EH6RqKWf16fbYIYKw&m=Ew75WMQ2PnWdtsxt3kTJBWFCLPMfbhFuy5pZFsk2j_E&s=Dtm7pTQdJnR7Yq-iyCsPyWIThTd9I1wu-fqCF4wYPjo&e=> >> [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy >> <https://urldefense.proofpoint.com/v2/url?u=https-3A__email.nist.gov_mailman_listinfo_fipy&d=DQMFaQ&c=c6MrceVCY5m5A_KAUkrdoA&r=7HJI3EH6RqKWf16fbYIYKw&m=Ew75WMQ2PnWdtsxt3kTJBWFCLPMfbhFuy5pZFsk2j_E&s=69UVtFZkPjMsmMWfLlucWucLNl7Z-iFTNYt2Mpfjf40&e=> >> ] >> > >
_______________________________________________ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]