Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix FaceVariable.globalValue method #400

Closed
wd15 opened this issue Sep 19, 2014 · 3 comments · Fixed by #857
Closed

Fix FaceVariable.globalValue method #400

wd15 opened this issue Sep 19, 2014 · 3 comments · Fixed by #857

Comments

@wd15
Copy link
Contributor

wd15 commented Sep 19, 2014

This ticket was prompted by

https://www.mail-archive.com/fipy@nist.gov/msg02801.html
http://thread.gmane.org/gmane.comp.python.fipy/3228

There is no easy way to obtain a FaceVariable's global value so the methods concerning global values should be moved out of FaceVariable and MeshVariable into CellVariable. Global value returns nonsense currently for FaceVariable's in parallel. Moreover, "_localNonOverlappingFaceIDs" doesn't do the right thing in parallel other than for 1D as far as I can tell.

Imported from trac ticket #657, created by wd15 on 10-17-2013 at 17:08, last modified: 10-18-2013 at 12:38

@wd15
Copy link
Contributor Author

wd15 commented Sep 19, 2014

A number of tests rely on FaceVariable's globalValue to work in 1D. In fact the globalValue does work in 1D since the 1D mesh is the only mesh that has the correct face topology in 1D. This is quite dangerous. I think that a better solution is to only check the faceValue tests when the number of processors is 1 and remove globalValue from FaceVariable.

Trac comment by wd15 on 10-17-2013 at 17:57

@wd15
Copy link
Contributor Author

wd15 commented Sep 19, 2014

I've taken a look at fixing this issue, but it requires some fairly major changes. There are a lot of tests in 1D and in 2D that use global face centers and values, which apparently work. Ideally, all reference to non local face quantities would be take out of FiPy including in the mesh.

Trac comment by wd15 on 10-18-2013 at 12:38

guyer added a commit to guyer/fipy that referenced this issue Jun 13, 2022
guyer added a commit that referenced this issue Jun 14, 2022
* Define _localNonOverlappingFaceIDs for Gmsh

Gmsh ghost faces were not properly accounted for.

Fixes #856

* Exclude ghost faces from Grid meshes

* Record number of cells specified by dx, dy, dz

Fixes `_PeriodicGrid1DTopology._globalOverlappingCellIDs`
and face topologies for Grid2D & Grid3D

* Ensure faces are "owned" by only one processor

Fixes #400.
@guyer guyer changed the title FaceVariable should not have a "globalValue" method Fix FaceVariable.globalValue method Jun 14, 2022
@guyer
Copy link
Member

guyer commented Jun 14, 2022

It turned out that it was possible to have a proper globalValue on FaceVariable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants