From e1915a2cff6912daadaf66f1c7a652f1351e94b4 Mon Sep 17 00:00:00 2001 From: Thomas Fischer <thomas.fischer@ufz.de> Date: Thu, 7 Mar 2019 11:38:59 +0100 Subject: [PATCH] [PL/SurfaceFlux] Divide flux per elem. by elem area. --- ProcessLib/SurfaceFlux/SurfaceFluxLocalAssembler.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ProcessLib/SurfaceFlux/SurfaceFluxLocalAssembler.h b/ProcessLib/SurfaceFlux/SurfaceFluxLocalAssembler.h index 6d321fa87a0..93673d46fec 100644 --- a/ProcessLib/SurfaceFlux/SurfaceFluxLocalAssembler.h +++ b/ProcessLib/SurfaceFlux/SurfaceFluxLocalAssembler.h @@ -129,6 +129,7 @@ public: // for correct results it is necessary to multiply the normal with -1 surface_element_normal *= -1; + double element_area = 0.0; std::size_t const n_integration_points = _integration_method.getNumberOfPoints(); // specific_flux[id_of_element] += @@ -158,6 +159,14 @@ public: bulk_grad_times_normal * _detJ_times_integralMeasure[ip] * wp.getWeight(); } + element_area += _detJ_times_integralMeasure[ip] * wp.getWeight(); + } + for (int component_id(0); + component_id < specific_flux.getNumberOfComponents(); + ++component_id) + { + specific_flux.getComponent(element_id, component_id) /= + element_area; } } -- GitLab