From f0cd1bf126a8554de7253db54ef261a8ce371b35 Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Tue, 6 Jun 2017 11:36:31 +0200
Subject: [PATCH] [PL] RichardsComponentTransport: Change Mpp.

Change the assembly of the local mass matrix for the pressure Mpp.
---
 .../RichardsComponentTransportFEM.h                        | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM.h b/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM.h
index b480c894bdb..1fd44aaca6d 100644
--- a/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM.h
+++ b/ProcessLib/RichardsComponentTransport/RichardsComponentTransportFEM.h
@@ -299,7 +299,12 @@ public:
             MCC.noalias() +=
                 w * N.transpose() * porosity * retardation_factor * N;
             Kpp.noalias() += w * dNdx.transpose() * K * dNdx * (k_rel/mu);
-            Mpp.noalias() += w * N.transpose() * specific_storage * N;
+            // \TODO Extend to pressure dependent density.
+            double const drhow_dp(0.0);
+            Mpp.noalias() += (specific_storage * Sw + porosity * Sw * drhow_dp -
+                              porosity * dSw_dpc) *
+                             ip_data.mass_operator;
+
             if (_process_data.has_gravity)
                 Bp += w * density * dNdx.transpose() * K_over_mu * b;
             /* with Oberbeck-Boussing assumption density difference only exists
-- 
GitLab