Hi - I've started experimenting with FiPy in order to get a better understanding of some electrostatics problems, and have put together a 3D model with Gmsh to try and estimate the current flow and field potentials for an oblong pod in a rectangular tank with conductive media and terminals extending into the surrounding fluid with fixed potentials. I believe that the potentials are looking fairly reasonable, however I seem to find some interesting discontinuities when I try to make estimates of the current flux being emitted from the terminals at the ends. At certain points (like the two run in the example linked) for widths of 0.39 and 0.4 the sum all the face gradients scaled by conductivity and dotted with the area projections jumps suddenly from around 3.4e-3 to 5.6e-3 while following more continuous variations above and below this level:
https://gist.github.com/fad276821e31439e468e I expect that the current measurements will be quite sensitive to the cell volumes, but the discontinuity mentioned seems to persist at 0.39 vs 0.4 even with varying mesh resolution. Am I doing something foolish or is there something simple I've missed here? Is the issue related to something happening in Gmsh or FiPy? I see that the cell count sometimes drops a bit at the transition, but if I include 0.38 and 0.42 the discrepancy doesn't seem proportional to the drop. A few other questions: If I want current density to be zero at certain boundaries normal to that surface (insulators), what is the correct way to do that? I see the new constrain approach, but I'm just setting the faceGrad value vector to all zeros: "potential.faceGrad.constrain([[0], [0], [0]],outer_edges)" but this isn't quite right. I tried using physical surface labels in 3D to label faces, and while the labels came through, none none of the faces are actually tagged in mesh.physicalFaces. I'm not that interested in tagging values, but since one way to have "internal boundaries" is to carve out a section of a mesh, then select specific faces of that internal hole, it would be nice to use the physical labels. Is there an easy way to get values for a cross-sectional plane of cell values on an unstructured mesh like the rectangular prism used in this example? I see that I can do quite a bit of manipulation in Mayavi, but it would be nice to have access to something like this without an extensive custom routine or jumping out to a viewer/postprocessor. Also, Is there any likelihood or possibility that one might be able to do parallel computation on unstructured meshes using Trillinos in the future? I see that currently the parallel computation is only supported for gridded meshes. Thanks in advance for any comments or suggestions. -jsnyder _______________________________________________ fipy mailing list [email protected] http://www.ctcms.nist.gov/fipy [NIST internal ONLY: https://email.nist.gov/mailman/listinfo/fipy]
