# Re: FiPy Heat Transfer Solution

```Daniel,

Thanks again for getting back to me. Sorry to keep coming back to the same
problem. It does seem like there's a problem with the CylindricalGrid1D
mesh. I noticed that running the most basic 1D diffusion example with a
cylindrical grid doesn't seem to work correctly. With that said, I hope I
can impose on you one more time and ask how I should convert a cylindrical
coordinate PDE into a rectangular coordinate PDE for FiPy, essentially
turning this
[image: image.png]
into this:
[image: image.png].
Previously you said to multiply through by r. Assuming R is the maximum of
the variable r, am I looking at this equation
[image: image.png] or should I be using this?
[image: image.png]If r should still be in the variable format, how would I
make that work in FiPy?```
```
Thanks,
Dan DeSantis

On Thu, Aug 16, 2018 at 6:04 PM Daniel Wheeler <daniel.wheel...@gmail.com>
wrote:

> Apologies for the slow reply. I hadn't noticed your response until
> now. See below.
>
> On Wed, Aug 8, 2018 at 1:09 PM Daniel DeSantis <desan...@gmail.com> wrote:
> >
> > Daniel,
> >
> > Thank you very much for your help.The code does run much better.
> >
> > I was curious about these lines of code. I'm hoping to understand what
> this means so that I can use it if needed, next time.
> >
> > Thank you again,
> > Dan DeSantis
> >
> > constraint_value = FaceVariable(mesh=mesh)
> >
> > for sweep in range(sweeps):
> > constraint_value[:] = h * ((60. + 273.15) - T.faceValue)
>
> I only used the above code as it happened to work. It should work
> without having to do the update in the loop, but something isn't right
> with the way FiPy is updating constraints in the case when the
> constraint is not a bare FaceVariable. In other words, we make a face
> variable and then say that the constraint depends on that face
> variable. We have to explicitly update the face variable in the loop.
>
> The expression "h * ((60. + 273.15) - T.faceValue" should also be a
> face variable and so we should be able to use "T.faceGrad.constrain(h
> * ((60. + 273.15) - T.faceValue, mesh.facesLeft)" and not update in
> the loop. That doesn't work, however.
>
> --
> Daniel Wheeler
> _______________________________________________
> fipy mailing list
> fipy@nist.gov
> http://www.ctcms.nist.gov/fipy
>   [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
>

--
Daniel DeSantis
```
```_______________________________________________
fipy mailing list
fipy@nist.gov
http://www.ctcms.nist.gov/fipy
[ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
```