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