Proposed new feature or change:
This would have the same shape as face_node_connectivity: for every face, for every node in that face, this tells the angle at that node.
Computing angles is necessary for computing one common measure of grid skewness. Related: #1305.
There are a few different possible ways to get the result, so I'm not sure if this should be a cached property or a function with a few optional flags:
- should the result be in radians or degrees?
- should the computation use 'euclidean' / flat geometry (sum of angles of a triangle is always 180 degrees) or respect the 'spherical' geometry (sum of angles of a triangle is always larger than 180 degrees)?
What are the best defaults for those flags?
Also, perhaps grid.face_node_angles(geometry=...) should dispatch to face_node_angles_flat or face_node_angles_spherical properties (whose results should be cached)?
Proposed new feature or change:
This would have the same shape as
face_node_connectivity: for every face, for every node in that face, this tells the angle at that node.Computing angles is necessary for computing one common measure of grid skewness. Related: #1305.
There are a few different possible ways to get the result, so I'm not sure if this should be a cached property or a function with a few optional flags:
What are the best defaults for those flags?
Also, perhaps
grid.face_node_angles(geometry=...)should dispatch toface_node_angles_flatorface_node_angles_sphericalproperties (whose results should be cached)?