Begin forwarded message:
From: Daniel Wheeler <[EMAIL PROTECTED]> Date: April 16, 2007 10:39:02 PM GMT To: Matt Koch <[EMAIL PROTECTED]> Subject: Re: ... FiPy capabilities ... On Apr 16, 2007, at 9:27 PM, Matt Koch wrote:Hi Daniel,thank you so very much for your quick and rather encouraging response. Let me follow up with more questions then.1) Can FiPy handle curvature effects, such as capillary rise in a tube, or surface tension driven species segregation?I think these effects are model dependent. fipy just solves whatever equations you specify assuming they are tractable.I am currently solving equations in fipy that include these effects.2) So far, I have thought of the Level Set method as an alternative to the Phase Field method.Yes, level set is an alternative to phase field. I view them as completely separate methods. That is not how everyone views them. I see level set as a sharp interface method that artificially creates a diffuse interface and phase field as a true diffuse interface method.Is this an incorrect view, and which of the two is the better method to use?This is a hard question. The answer has to be whichever method givesacceptable results in the least amount of time. Often, one is constrained to one method or the other. Essentially, phase field is far more fundamental approach so has to be better in general and easier to implement numerically. Level set is good when you don't have a fundamental understanding of the physics or when the scales or parameters in the problem make phase field impractical. I would seriously think about phase field. Multiple level sets could be a headache.3) When I refer to species diffusion, I have only one species to account for. Will that by itself mean a substantial speed decrease over problems that use Navier-Stokes and heat conduction only?No. Won't have a substantial impact.4) How would you describe the development status of FiPy?Fairly stable.What direction is it going into?Parallel and adaptive griding, more solvers. One or two of these items will get addressed in the next year.Are all features presently implemented in the code documented?Pretty much.Are there more features implemented than documented?No.Are there fewer features implemented than documented?No.Does all that IS documented work properly?Yes. We use doctests. If it is documented it has passed the associated test. These are tested every night. At the moment we have two or three insignificant test failures out of hundreds.Is there a development roadmap for FiPy?Not as such. The tracker has most of our proposed enhancements. The wiki also has stuff scattered about.I apologize for so many questions, but I come to FiPy from an odyssey through the free PDE software world, including OpenFOAM, FreeFEM, keyFE2 and GetDP. While each have great features by themselves, they either lack the flexibility or the usability to implement the problem I described. I just want to make sure that I have a fighting chance with FiPy.I''m feeling your pain. That is why we started fipy. I've used PHSICA (commercial) and dolfyn among others. Dolfyn is good, I've been using it to compare with fipy. However, It only solves a fixed set of equations.There is also FENICS, which I haven't tried.There are several pieces of commercial software out there, or course, that could handle this, but they all go for between $10,000 and $20,000, which is completely out of the question.Thanks, Matt Koch ----- Message from [EMAIL PROTECTED] --------- Date: Mon, 16 Apr 2007 16:13:34 -0400 (EDT) From: Daniel Wheeler <[EMAIL PROTECTED]> Reply-To: [email protected] Subject: Re: ... FiPy capabilities ... To: Multiple recipients of list <[email protected]>Hi Matt, On Apr 16, 2007, at 3:01 PM, Matt Koch wrote:Hello,I was just wondering whether FiPy, in general, can solve a set of PDEs including the following equations:1) Navier-Stokes equation (transient, non-linear) 2) Heat Conduction (transient, non-linear, with phase change) 3) Species Diffusion (transient, non-linear, with phase change)Yes to all the above. I am currently using fipy to solve a phase fieldbinary solid-liquid-vapor problem with fullNavier-Stokes. Examples for this problem will be publicly available inthe next month or two.The boundary conditions would be as follows: 1) moving interface of liquid to gas, constant inflowShould be okay, but I haven't tried it.2) moving interface of liquid to solid, Stefan Problem, thermal radiation 3) moving interface of liquid to solid, equivalent Stefan Problem for speciesYes to the last two. I think the above are generally introduced sourceterms that are applied to the "interface region" of the domain.They would be implicitly handled with a phase field method, but wouldrequire explicit construction for the level set method. Note, that these are different from boundary conditions in fipy that are applied to the external mesh.I am not after exact examples or implementations, just a general statement as to whether it might be possible to attack such a problem successfully in FiPy at all?Yes with caveats. fipy has efficiency limitations that we have only partially addressed and no parallel as yet. Flow problemswith multiple species take a lot of memory and converge slowly so thisis definitely a consideration. I am solving my flow problems in 2D with success (but not fast).I am thinking, though, of capturing the liquid to solid interface and the liquid to gas interface with two separate Level Sets?I have never used the level set method in fipy with flow, I have usedit exclusively for electrodeposition problems. I may be working with Andrew Reeve later this summer who is interested in ground water flows on addressing some of the level setand flow issues. The level set code as it stands only works on 1D and2D grids and may need some tweaking for new problems. Also, it is written entirely in python. Hope this helps. CheersThanks and Regards, Matt Koch-- Daniel Wheeler----- End message from [EMAIL PROTECTED] ------- Daniel Wheeler
-- Daniel Wheeler
