On Oct 9, 2008, at 7:34 PM, Angus Hendrick wrote:

I have a 3x3 domain. I want the center of the left face to have a fixed value boundary condition, and the remainder to have a fixed flux condition.

In fipy 1.2.1, I could just say bcs = FixedValue(mesh.getFacesLeft() [1], value=0) and it worked. More comprehensive implementation of lazy evaluation to thwarts that approach in the trunk version, and instead I get the complaint: AttributeError: 'unOp' object has no attribute 'getMesh', presumably because the index operator is not resolving? Of course even if it did resolve, it doesn't look like that would work anymore since getFacesLeft returns boolean FaceVariable, instead of a list of faceIDs.

I think this is covered in

  http://article.gmane.org/gmane.comp.python.fipy/945

Basically, we've never promised that asking for a particular index of a CellVariable is reproducible or meaningful (I'm occasionally tempted to scramble them up out of pure spite). The right way to do it is to specify the coordinates, like in the examples in that message.


Just so you don't think we're ignoring you: I'm on leave for the next week or so. I think Daniel may be out for awhile, too.

Reply via email to