Hello, 

I first want to thank the Fipy devs for making this great tool and eliminating 
the need for me to write my own finite differencing code. Fantastic!

I seem to be, however, having a little bit of trouble sufficiently defining my 
problem for Fipy. 

I am trying to model simple heat conduction through a fin. My boundary 
condition are: Constant T and the fin base, Adiabatic right and top surface, 
constant convection coefficient (h) at the left surface. That is, at the left 
surface, the flux leaving the fin is of the form  q'' = h ( T - Tinf ). 

I believe my problem (if there even is one) is in specifying this last 
boundary condition. 

Gleaning the code from a previous list posting, i've put this together:

#-------------- Code -------------------------#

This should be a forever-good pastebin:

http://pastebin.com/f18a5a735

#-------------- /Code --------------------------#

Apart from my non PEP-8 line lengths, the issue I'm having is that, if I use a 
realistic coefficient for thermal diffusity (~2.3e-5 for water) I have to use 
super small time-steps and a painfully long simulation run to get close to 
steady state. (but perhaps this is normal for this type of problem?)

Now, since i'm only interested in steady, I figured I could just jack up the 
diffusivity coefficient to 1. and then I can use the step sizes you see in the 
code, but I dont know how valid this is?

Also, I tried modeling the problem using an ImplicitSource() term ala the doc 
examples but I could never get it to work. First, FaceVariable(..., rank=1); 
the "..." is invalid python syntax, and I couldn't find in the manual what that 
is supposed to represent. When I let the ellipsis just equal my mesh, I seem 
to be unable to set the left side of mesh to take values depending on T (to 
model the correct flux term). I always get numpy broadcasting complaints when 
trying to set value to a non-scalar value.  Any ideas on this?

I have one more question, which is likely a product of my ignorance with 
PDE's. (i'm not a heat xfer or fluids guy :) ). What does .getDivergence() 
actually represent. i.e. what does it do, and why is it required? Is this 
related to the Divergence vector operator?

Thanks for any help!

Cheers, 

Chris


Reply via email to