From c844b1d5b36effc5d1e847ae4dbac43e4d903e81 Mon Sep 17 00:00:00 2001
From: MaNyh <nyhuis@tfd.uni-hannover.de>
Date: Mon, 11 Apr 2022 09:48:10 +0200
Subject: [PATCH] new features initial commit

---
 ntrfc/utils/pyvista_utils/surface.py | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/ntrfc/utils/pyvista_utils/surface.py b/ntrfc/utils/pyvista_utils/surface.py
index 51081efc..a532853b 100644
--- a/ntrfc/utils/pyvista_utils/surface.py
+++ b/ntrfc/utils/pyvista_utils/surface.py
@@ -55,3 +55,28 @@ def calc_dist_from_surface(surface_primary, surface_secondary, verbose=False):
         p.show()
 
     return h0n
+
+
+def massflow_plane(mesh):
+    if not "Normals" in mesh.array_names:
+        mesh = mesh.compute_normals()
+    if not "Area" in mesh.array_names:
+        mesh = mesh.compute_cell_sizes()
+    mesh = mesh.point_data_to_cell_data()
+    normals = mesh.cell_normals
+    rhos = mesh["rho"]
+    areas = mesh["Area"]
+    velocities = mesh["U"]
+
+    massflow = np.array(
+        [vecAbs(vecProjection(velocities[i], normals[i])) for i in range(mesh.number_of_cells)]) ** 2 * rhos * areas
+
+    return massflow
+
+
+def test_massflow_plane():
+    import pyvista as pv
+
+    plane = pv.Plane()
+    numcells = plane.number_of_cells
+    plane["U"] = np.array([1,0,0])
-- 
GitLab