On Oct 9, 2008, at 6:40 PM, Angus Hendrick wrote:

Is there anything you can point me at for a primer on what's changed between fipy 1.2.1 and the trunk version? I'm trying to update my old code to work with the newer version so I can use PyTrilinos.

The complete changes to the examples since we released 1.2 are:

  
http://www.matforge.org/fipy/changeset?new=trunk%2Fexamples%402565&old=trunk%2Fexamples%402034




In short, the x, y, z component of MeshVariables is now first, not last, so you you can do

  x, y = mesh.getCellCenters()

or

  x = mesh.getCellCenters()[0]
  y = mesh.getCellCenters()[1]

instead of

  x = mesh.getCellCenters()[...,0]
  y = mesh.getCellCenters()[...,1]


ImplicitSourceTerms now automatically determine what goes on the matrix diagonal and what goes on the b-vector, so some of the previous machinations are no longer necessary (but should still work).

ConvectionTerms calculate their Péclet number automatically, so no need to explicitly pass a diffusionTerm to them.


This isn't a change in FiPy, but in NumPy, but you need to be careful about initializing, e.g., CellVariables with floats and not integers:

  var = CellVariable(mesh=mesh, value=0.)

vs.

  var = CellVariable(mesh=mesh, value=0)



You've already discovered the differences in specifying boundary conditions.


I imagine there's more, but that's what's jumping out at me right now.



Reply via email to