Dear Jonathan, I also sent a pull request in github with a change to treat the boundaries correctly. Hope this help.
Warm regards Alex Am 08.03.20 um 11:13 schrieb Alexander Tismer: > Dear Jonathan, > > many thanks for your quick reply. > > I figured out that the convective flux crossing the left side of the > element W is in your equation > > - rho * v * (phi_W + phi(X=0))/2 > > and in my equation > > - rho * v * phi(X=0) > > That is the difference. Why is it necessary to interpolate the value of > phi at the left side between phi_W and phi(X=0)? The value of phi is > known at this position, because it is the boundary condition. > > Warm regards, > Alex > Am 06.03.20 um 21:30 schrieb Guyer, Jonathan E. Dr. (Fed) via fipy: >> My guess is that you got the sign of the outward-facing normal wrong >> somewhere. I posted my derivation to >> https://gist.github.com/guyer/3b77bbf32d90ef314754f0d76a7e04cc. >> >> >>> On Mar 6, 2020, at 4:09 AM, Alexander Tismer >>> <alexander.tis...@ihs.uni-stuttgart.de >>> <mailto:alexander.tis...@ihs.uni-stuttgart.de>> wrote: >>> >>> Dear Users, >>> >>> my question concerns the implementation of the boundary conditions in >>> FiPy. >>> I would like to solve a 1D Conv-Diff-Equation with 3 control volumes >>> using CentralDifferenceConvectionTerm and DiffusionTerm of FiPy. >>> >>> For me, it is not clear why the first row of the matrix of the linear >>> equation system is >>>> 9.000000 -2.500000 --- >>> and the right hand side is >>>> 6.5 >>> >>> The case is the following. Each control volume (W, C and E) has the >>> length 1/3. All coefficients (gamma, u, rho) in the equation is set to 1: >>> >>> o---> x >>> |-D=1/3-|-D=1/3-|-D=1/3-| >>> x=0 x=1 >>> phi=1 phi=0 >>> v v >>> +-------+-------+-------+ >>> | W | C | E | >>> o---x---o---x---o---x---o >>> | | | | >>> +-------+-------+-------+ >>> >>> If I discretize the equation in the first control volume (W), I get >>> for the matrix row >>>> 10.000000 -2.500000 --- >>> and for the right hand side >>>> 7.0 >>> >>> So this is a little bit different from FiPy. Is there any mistake from >>> my side? >>> >>> Please find attached my notes on how calculating my matrix >>> coefficients (fipy_0.png) and my python script for fipy (fipy.py). >>> >>> Warm regards, >>> Alex >>> <fipy_0.png><fipy.py>_______________________________________________ >>> fipy mailing list >>> fipy@nist.gov <mailto:fipy@nist.gov> >>> http://www.ctcms.nist.gov/fipy >>> [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] >> >> >> _______________________________________________ >> fipy mailing list >> fipy@nist.gov >> http://www.ctcms.nist.gov/fipy >> [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ] >> > -- Alexander Tismer Institut für Strömungsmechanik und Hydraulische Strömungsmaschinen Universität Stuttgart Pfaffenwaldring 10 70550 Stuttgart Tel.: +49 (0) 711 / 685 63007 Fax: +49 (0) 711 / 685 63255 eMail: alexander.tis...@ihs.uni-stuttgart.de http://www.ihs.uni-stuttgart.de _______________________________________________ fipy mailing list fipy@nist.gov http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]