Replies: 3 comments 2 replies
-
The term that I've used to describe these operations is "Localized" or "Grid-Informed" reductions, since instead of applying the reduction the entire dataset at once, the reductions are performed on each element. We've also floated the idea of "Spatial" reductions, but are not entirely sure which one would be the most suitable for this. I'd like to see what input anyone has, especially any "proper" way to refer to these operations. |
Beta Was this translation helpful? Give feedback.
-
Pinging @brianpm @rljacob @paullric @erogluorhan |
Beta Was this translation helpful? Give feedback.
-
the above definitions are pure "topological" in nature, in my opinion; they use just the "connectivity" information for averages, there could be also some "weighted" averages defined for nodes, edges, faces, based on multiple things "spatial" average should refer in my opinion to some sort of distance from the node to the center of the faces that fall within a radius; again, some sort of weighting based on the distance should be involved ( RBF is radial basis function , etc). Also, what is the "center" of a face ? Most likely is the "center of mass" for that face, but some might use the center of the circumscribed circle in the Delaunay triangulation? I would not go there, I would use always "center of mass". For an edge, the midpoint of the edge should be its "center" what would "sum" mean locally ? I would not support that, except in an integral way, like total mass in a conservation paradigm, globally, not locally min, max, also does not make much sense locally |
Beta Was this translation helpful? Give feedback.
-
Overview
Currently implemented is the
UxDataArray.nodal_average()
function, which takes the average of all the nodes that surrounds each face.We are looking to generalize this implementation and support various operations (
mean
,max
,min
,sum
, etc.) and across different grid elements.Additionally, we would like to ensure that our naming of this functionality doesn't lead to any confusion and is consistent with literature and other applications. INPUT NEEDED FROM COMMUNITY
Operations
Below is a list of intended operators to support:
mean
max
min
prod
sum
std
var
median
all
any
These operations (when applied to the whole data) are typically referred to as "reductions", since applying them reduces the dimensionality of the data. However, when we consider the connectivity information of the grid, and apply the reductions on pairings of elements (as described in detail below), the resulting dimension will always either be
n_node
,n_edge
, orn_face
Localized Reductions
Continuing with the Nodal Average example, we can consider this to be a localized reduction performed at each face. Applying the
mean
operation on the nodes that surround each face would transform our node centered data variable into a face centered data variable.Speaking more generally, by applying these reductions on each element using connectivity information, we can transform any data variable from one data mapping to another. Below is a list of all possible pairings:
Below are examples of each of these pairings.
Node-Centered Data
Node to Face
Operation is applied to all the nodes that surround each face, with the result being stored on the faces.
face_node_connectivity
is used to index the node-centered data variable.Node to Edge
Operation is applied to the two nodes that make up each edge, with the result stored on the edges.
edge_node_connectivity
is used to index the node-centered data variable.Edge-Centered Data
Edge to Face
Operation is applied to the edges that surround each face, with the result stored on the faces.
face_edge_connectivity
is used to the index the edge-centered data variable.Edge to Node
Operation is applied to the edges that surround each node, with the result stored on the nodes.
node_edge_connectivity
is used to index the edge-centered data variable.Face-Centered Data
Face to Node
Operation is applied to the faces that surround each node, with the result stored on the nodes
node_face_connectivity
is used to index the face-centered data variableFace to Edge
Operation is applied to the faces that saddle each edge, with the result stored on the edges.
edge_face_connectivity
is used to index the face-centered data variable.Beta Was this translation helpful? Give feedback.
All reactions