From 288cd58bc79ad73c27dcde5ec9125b83a54dce72 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?L=C3=A9a=20KIEFFER?= <lea.kieffer@inrae.fr>
Date: Tue, 15 Jun 2021 06:33:06 +0000
Subject: [PATCH] =?UTF-8?q?Correction=20bug=20largeur=20active=20dans=20la?=
 =?UTF-8?q?=20mise=20=C3=A0=20jour=20du=20profil?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/mage_Charriage.f90 | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/mage_Charriage.f90 b/src/mage_Charriage.f90
index 9fc9f058..7394044d 100644
--- a/src/mage_Charriage.f90
+++ b/src/mage_Charriage.f90
@@ -921,13 +921,23 @@ subroutine update_profil_uniforme(is, lit, CS_active_0, CS_active_1, CS_substrat
    real(kind=long) :: delta_m    !variation de masse d'une couche sédimentaire ; > 0 si dépôt, < 0 si érosion
    real(kind=long) :: delta_h    !variation d'épaisseur d'une couche sédimentaire
    real(kind=long) :: z
+   real(kind=long) :: L          !min entre largeur active et largeur au miroir
 
    prfl => la_topo%sections(is)
    delta_m = CS_active_1%m + CS_substrat_1%m - CS_active_0%m - CS_substrat_0%m
    !on convertit la variation de masse en variation d'épaisseur
 !   delta_h = delta_m / (rhos * (1._long-porosity) * dx * perimetre(prfl,h_state(is)%z,lit))
-   delta_h = delta_m / (rhos * (1._long-porosity) * dx * min(prfl%largeur_active,largeur(prfl,h_state(is)%z,lit)))
-
+!   delta_h = delta_m / (rhos * (1._long-porosity) * dx * min(prfl%largeur_active,largeur(prfl,h_state(is)%z,lit)))
+   if (lit == 1) then
+		L = min(distanceH(prfl%xyz(prfl%kfg), prfl%xyz(prfl%irg)), largeur(prfl,h_state(is)%z,lit))
+	elseif (lit == 3) then  
+		L = min(distanceH(prfl%xyz(prfl%ird), prfl%xyz(prfl%kfd)), largeur(prfl,h_state(is)%z,lit))
+	else 
+		L = min(prfl%largeur_active, largeur(prfl,h_state(is)%z,lit))
+	endif
+	
+	delta_h = delta_m / (rhos * (1._long-porosity) * dx * L)
+   
    !correction du profil
    do k = prfl%li(lit-1), prfl%li(lit)-1
       if (k <= prfl%kfg .or. k >= prfl%kfd) cycle  !les points kfg et kfd ne bougent pas
-- 
GitLab