From 0eb99824c81cc5fb9997680521de818668096888 Mon Sep 17 00:00:00 2001
From: Lars von Wolff <lars.von-wolff@ians.uni-stuttgart.de>
Date: Sat, 25 Dec 2021 18:18:59 +0100
Subject: [PATCH] Changed to Allen cahn, fixed two circles [Lars]

---
 dune/phasefield/porenetwork/fem_1p_cahnhilliard_r.hh | 8 +++-----
 dune/phasefield/porenetwork/pn_initial.hh            | 4 ++--
 src/pntest/pn1p.ini                                  | 2 +-
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/dune/phasefield/porenetwork/fem_1p_cahnhilliard_r.hh b/dune/phasefield/porenetwork/fem_1p_cahnhilliard_r.hh
index b34ec3e..384abab 100644
--- a/dune/phasefield/porenetwork/fem_1p_cahnhilliard_r.hh
+++ b/dune/phasefield/porenetwork/fem_1p_cahnhilliard_r.hh
@@ -67,19 +67,17 @@ public:
         //RF Rspeed = param.dw.eval_q((ch.pfOld-0.05)/0.7)/0.7;
         RF Rspeed = ch.pfOld < 0.95 ? param.dw.eval_q(ch.pfOld) : 0.0f;
         RF R1 = -Rspeed/param.eps*param.reaction.eval(1)*ch.basis.phi[i];
-        //std::cout << "mobility" << param.mobility.eval(ch.pf) << "R1" << R1 << "dt" << param.time.dt << std::endl;
-        RF J1 = param.mobility.eval(ch.pf) * (ch.gradxi*ch.basis.gradphi[i][0]);
 
       // integrate: (pf-pfold)*phi_i/delta_t + gradpf * grad phi_i + ...
         r.accumulate(ch.pfspace,i,factor*(
           (ch.pf-ch.pfOld)*ch.basis.phi[i]/param.time.dt
-          +J1-R1
+          + param.mobility.eval(ch.pf) * 1/param.eps * 1/param.eps* param.dw.eval_d(ch.pf) *ch.basis.phi[i]
+          + param.mobility.eval(ch.pf) *  (ch.gradpf*ch.basis.gradphi[i][0])
+          - R1
         ));
 
         r.accumulate(ch.xispace,i,factor*(
           ch.xi*ch.basis.phi[i]
-          - 1/param.eps* param.dw.eval_d(ch.pf) *ch.basis.phi[i]
-          - param.eps * (ch.gradpf*ch.basis.gradphi[i][0])
         ));
       }
     }
diff --git a/dune/phasefield/porenetwork/pn_initial.hh b/dune/phasefield/porenetwork/pn_initial.hh
index f070f93..ee50fb2 100644
--- a/dune/phasefield/porenetwork/pn_initial.hh
+++ b/dune/phasefield/porenetwork/pn_initial.hh
@@ -57,9 +57,9 @@ public:
       float x02 = 1.5;      //x0 circle 2
       float x12 = 1.2;      //x1 circle 2
       RF rad = sqrt((x[0]-x01)*(x[0]-x01) + (x[1]-x11)*(x[1]-x11));
-      RF y1 = param.dw.eval_shape(((1-r)-(rad)/radius1)*1/eps);
+      RF y1 = param.dw.eval_shape(((1-r)*radius1-rad)*1/eps);
       RF rad2 = sqrt((x[0]-x02)*(x[0]-x02) + (x[1]-x12)*(x[1]-x12));
-      RF y2 = param.dw.eval_shape(((1-r)-(rad2)/radius2)*1/eps);
+      RF y2 = param.dw.eval_shape(((1-r)*radius2-rad2)*1/eps);
       y = y1 * y2;
       //RF rad1 = sqrt((x[0]-2)*(x[0]-2) + (x[1]-1)*(x[1]-1));
       //RF rad2 = sqrt((x[0]-1)*(x[0]-1) + (x[1]-2)*(x[1]-2));
diff --git a/src/pntest/pn1p.ini b/src/pntest/pn1p.ini
index 449a68a..0628f8d 100644
--- a/src/pntest/pn1p.ini
+++ b/src/pntest/pn1p.ini
@@ -20,7 +20,7 @@ filename = output2
 eps=0.03
 delta=0.001#0.03
 DoubleWellDelta=0.05
-Mobility=0.0005
+Mobility=0.005
 Sigma1=1
 Sigma2=1
 Sigma3=1
-- 
GitLab