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

Ghost Dofs incorrectly defined as internal on home rank. #169

Open
farg967 opened this issue Oct 15, 2018 · 3 comments
Open

Ghost Dofs incorrectly defined as internal on home rank. #169

farg967 opened this issue Oct 15, 2018 · 3 comments

Comments

@farg967
Copy link

farg967 commented Oct 15, 2018

This problem is seen when running monodomain_2D_HH in parallel.

I have narrowed the main cause of the problem down to DOMAIN_MAPPINGS_NODES_DOFS_CALCULATE, line 4554

IF(NUMBER_OF_DOMAINS==1) THEN

should be

IF(MAX_NUMBER_DOMAINS==1) THEN

This bug causes boundary nodes/dofs one element away from the boundary plane between computational domains to be incorrectly defined as internal dofs. I think the problem originates from a double up on the meaning of "boundary". In some places, "boundary" means it is another domains ghost. In other places, "boundary" means it is on the physical boundary plane between ranks. Unless advised otherwise I will use "boundaryPlane" for the latter from now on.

There is a bit more to the fix than the above line, which I am working on atm.

Note: This will only be a temporary fix, as NODES_DOFS_CALCULATE will be done locally soon.

farg967 pushed a commit to farg967/iron that referenced this issue Oct 17, 2018
…eing able to be defined as internal on one rank and ghost on another.

Also, finished changing solver_mapping_calculate so that it is done locally. Now there is only a local_to_global map for col_dof_mapping, there is no global_to_local_map. This causes issues but these will be fixed when lorenzo's work is merged as he has implemented hash tables that will be used instead of the global_to_local_map.
@farg967
Copy link
Author

farg967 commented Oct 17, 2018

Fixed, with above commit.

@chrispbradley
Copy link
Member

Hi Finbar, just reopening the issue as it gets closed when the pull request containing the commit is pulled into the main trunk rather than when you do the commit.

@lorenzo-mechbau
Copy link

I further modified the routine DOMAIN_MAPPINGS_NODES_DOFS_CALCULATE and pushed it in the branch I am currently working on, FV_merged. Now the outcome is correct also for a number of ranks >2, keeping Finbar's improvements.

Naming convention: All nodes can be either internal or involved in communication, that is nodes on boundary elements. The latter can be in turn either boundary nodes, defined as LOCAL_DOMAIN_BOUNDARY, i.e. ghost-send, or ghost nodes (ghost-receive). Additionally, some of the nodes on boundary elements are boundary plane nodes, that is they can be found on the physical boundary plane between ranks, as Finbar wrote.

See also the project: https://github.com/users/lorenzo-mechbau/projects/1

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

No branches or pull requests

3 participants