Re: Diffusion in a 2D Annulus.

2014-12-05 Thread Daniel Wheeler
On Thu, Dec 4, 2014 at 2:25 PM, Kyle Briton Lawlor klawlor...@gmail.com wrote: Sorry for a possible notation confusion here, phi in my code is alpha in the problem description above. My question: Have I appropriately translated my problem into FiPy language? I can't see any obvious

Re: Diffusion in a 2D Annulus.

2014-12-05 Thread Kyle Briton Lawlor
Hi Dan and FiPy, Thanks for taking a look. I’m not getting any errors after running the code. The results are sensible. Although I do have to run for a huge value of steps to reach something that looks sensible. I suppose this is where non-linear iterations would help? Are there examples of

Re: Diffusion in a 2D Annulus.

2014-12-05 Thread Guyer, Jonathan E. Dr.
Please see sweeps under http://www.ctcms.nist.gov/fipy/documentation/FAQ.html#iterations-timesteps-and-sweeps-oh-my On Dec 5, 2014, at 1:36 PM, Kyle Briton Lawlor klawlor...@gmail.com wrote: Hi Dan and FiPy, Thanks for taking a look. I’m not getting any errors after running the code.

Re: Diffusion in a 2D Annulus.

2014-11-21 Thread Guyer, Jonathan E. Dr.
On Nov 20, 2014, at 5:51 PM, Kyle Briton Lawlor klawlor...@gmail.com wrote: I am now trying to work with Neumann boundary conditions with this diffusion problem. I have come across the following implementation of Neumann BC’s: var.faceGrad.constrain(2 * mesh.faceNormals,

Re: Diffusion in a 2D Annulus.

2014-11-19 Thread Daniel Wheeler
Hi Kyle, #*Boundary Conditions* phi.constrain(X,mesh.exteriorFaces) phi.constrain(X,mesh.interiorFaces) The above is the problem. You are constraining the internal faces, which makes no sense in FiPy. I am not even sure how FiPy behaves when that constraint is added. However, I assume that is

Re: Diffusion in a 2D Annulus.

2014-11-19 Thread Guyer, Jonathan E. Dr.
Just to clarify: as far as FiPy is concerned, interiorFaces have a cell on either side of them, whereas exteriorFaces have a cell on only one side; the other side is outside the mesh. It doesn't matter whether the mesh has simple topological connectivity (square, sphere, etc.) or complex

Re: Diffusion in a 2D Annulus.

2014-11-19 Thread Kyle Briton Lawlor
Hi again FiPy, What is the easiest/most efficient way to make the distinction between the “outer” exterior faces and the “inner” exterior faces of the annulus? I would like to enforce to different boundary conditions at the outer and inner radii. Can I use the where=() function? Or something

Re: Diffusion in a 2D Annulus.

2014-11-19 Thread Raymond Smith
Hey, Kyle. Given inner radius rI and outer radius rO, perhaps you could do something like rMid = 0.5 * (rI + rO) Xfc, Yfc = mesh.faceCenters innerFaces = (mesh.exteriorFaces (Xfc**2 + Yfc**2 rMid)) outerFaces = (mesh.exteriorFaces (Xfc**2 + Yfc**2 rMid)) Then constrain using

Re: Diffusion in a 2D Annulus.

2014-11-19 Thread Kyle Briton Lawlor
Hi Ray, Thanks! Definitely helps :) Kyle On Nov 19, 2014, at 6:07 PM, Raymond Smith smit...@mit.edu wrote: Hey, Kyle. Given inner radius rI and outer radius rO, perhaps you could do something like rMid = 0.5 * (rI + rO) Xfc, Yfc = mesh.faceCenters innerFaces = (mesh.exteriorFaces

Diffusion in a 2D Annulus.

2014-11-18 Thread Kyle Briton Lawlor
Hello again, I am trying to solve the diffusion example in a circle with an annular region instead. I thought this would be a straightforward extension and I’m sure it is, I am just missing something. The reason I think something is wrong is because the solutions are looking like this, after