I'm trying to implement a rough approximation of material removal during heating. What I tried first was to insert this into the iteration loop after solving for the temperature distribution:
T.setValue(0, where=(T > threshold)) T.faceGrad.constrain(((0,),(0,)), where=(T > threshold)) The intent was to set all the faces of the cells where (T > threshold) to a no-flux condition, in order to create the effect of the flat boundary becoming concave as material is removed. But I get a ValueError: shape mismatch: objects cannot be broadcast to a single shape. I imagine that the problem is either that faceGrad.constrain needs a set of faces whereas (T > threshold) is giving a set of cells, or that faceGrad.constrain only works for faces at the edges of the mesh. Looking at the documentation, it seems like for internal boundary conditions I may need to manipulate the equation using extra source terms and masks. But in this case I want a fixed flux condition (no flux through those cells) rather than a fixed value as the example instructs. Is there any way to achieve this? Thanks, Adam _______________________________________________ fipy mailing list [email protected] http://www.ctcms.nist.gov/fipy [ NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy ]
