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

Dual node mesh #62

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from
Draft

Dual node mesh #62

wants to merge 9 commits into from

Conversation

Chilipp
Copy link
Contributor

@Chilipp Chilipp commented Jan 28, 2021

This PR is a follow-up of #61 and adds the algorithm to compute the dual mesh for the nodes. It uses the functionalities from #61 (which is why it's a draft PR so far) such that we create the dual mesh for the nodes from the dual mesh for the edges. Roughly spoken, it works like this:

  1. create the dual edge mesh
  2. create a node_edge_connectivity (similarly to the algorithm proposed by @Huite for the edge_face_connectivity in Add algorithm for dual mesh creation for edges #61 (comment))
  3. for each edge in this node_edge_connectivity: if the cell in the corresponding dual edge mesh is triangular, add the center of the edge as another node.
  4. sort the edges in the dual cells such that they build a chain

The anti-clockwise ordering results from the anti-clockwise ordering of the dual edge mesh.

I head to use cython for step 3 and 4 as I did not know how to best vectorize this.

* add a method to get the orientation of the edge within
   the face_edge_connectivity.
* fix bug for face_edge_connectivity with FillValue
this commit partially reverts NOAA-ORR-ERD@fd89162. It removes the cython-based lookup and uses the method proposed by @Huite in NOAA-ORR-ERD#61 (comment) instead.
use vectorized algorithms for build_edges, build_edge_coordinates
and build_face_coordinates and account for
missing values
@Chilipp Chilipp mentioned this pull request Jan 28, 2021
3 tasks
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

Successfully merging this pull request may close these issues.

1 participant