Kevin - You are correct that there's no way to project a FaceVariable back to a CellVariable. Since this is only for the initial condition, I would just explicitly set it, e.g.,
phi.value = (1 + x) / (gamma * psi.grad[0]) As for the boundary condition, I think FiPy's default no-flux boundary condition will give you this naturally. Constraining the divergence of the gradient will not ever be seen by the solver. - Jon > On Feb 5, 2018, at 4:13 PM, Kevin Blondino <kablond...@gmail.com> wrote: > > Hi, > > I have two questions. > > I have a complicated set of 1D equations. The diffusion coefficient of the > 1st is dependent on the derivative of the 2nd's variable, and the 2nd has a > source term of the first. In addition, the initial condition of one of the > variables is dependent on this diffusion coefficient. This is what I mean, in > TeX: > > \alpha \frac{\partial \phi}{\partial t} = \frac{\partial}{\partial x} > \left(D \frac{\partial \phi}{\partial x}\right) \\ > \beta \frac{\partial \psi}{\partial t} = m \frac{\partial^2 > \psi}{\partial x^2} + \delta\phi \\ > D = \gamma \left(\frac{\partial \psi}{\partial x}\right)^{-1} \\ > \phi_0 = \frac{1 + x}{D} > > alpha, beta, gamma, delta, and m are constants, and phi and psi are the Cell > Variables. How can properly write and implement the diffusion coefficient D? > > So far, I've been trying to implement it by declaring D as a CellVariable, > but as it's a diffusion function, it would seem natural to have it as a > FaceVariable. The problem arises when I try to use it for the initial > condition, as I cannot make phi_0 a function of D as a face variable. > > > In addition, one of the boundary conditions is this (at x=0): > > \frac{\partial \psi^2}{\partial x^2} = 0 > > I've been implementing it as the following, but I am not sure if it works > properly: > > psi.faceGrad.divergence.constrain(0.0, mesh.facesLeft) > > Thank you > > _______________________________________________ > fipy mailing list > 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 ]