Skip to content

Dual node mesh#62

Draft
Chilipp wants to merge 9 commits intoNOAA-ORR-ERD:mainfrom
Chilipp:dual_node_mesh
Draft

Dual node mesh#62
Chilipp wants to merge 9 commits intoNOAA-ORR-ERD:mainfrom
Chilipp:dual_node_mesh

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