Introduction
Introduction Statistics Contact Development Disclaimer Help
tFix Jacobi method in iterative solver - cngf-pf - continuum model for granular…
git clone git://src.adamsgaard.dk/cngf-pf
Log
Files
Refs
README
LICENSE
---
commit 6c48f55a2b5bc7078851062650f5e4e31f90d471
parent 599c08baed18df47fd5a6fac8b587e5d51553519
Author: Anders Damsgaard <[email protected]>
Date: Mon, 1 Jul 2019 21:42:16 +0200
Fix Jacobi method in iterative solver
Diffstat:
M fluid.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
---
diff --git a/fluid.c b/fluid.c
t@@ -124,9 +124,7 @@ darcy_solver_1d(struct simulation* sim,
* epsilon = 0.0: explicit
* epsilon = 0.5: Crank-Nicolson
* epsilon = 1.0: implicit */
- /* epsilon = 0.5; */
- /* epsilon = 0.0; */
- epsilon = 1.0;
+ epsilon = 0.5;
/* choose relaxation factor, parameter in ]0.0; 1.0]
* theta in ]0.0; 1.0]: underrelaxation
t@@ -192,23 +190,19 @@ darcy_solver_1d(struct simulation* sim,
i, dp_f_dt_expl[i], i, dp_f_dt_impl[i]);
#endif
- p_f_old = sim->p_f_ghost[idx1g(i)];
-
- /* I keep adding dp/dt with every iteration
- * p_f_old is not the value from the previous …
- * but the value from the previous iteration. …
- p_f_ghost_new[idx1g(i)] = p_f_old
+ p_f_ghost_new[idx1g(i)] = p_f_ghost_old[idx1g(…
+ epsilon*dp_f_dt_im…
if (epsilon < 1.0)
p_f_ghost_new[idx1g(i)] += (1.0 - epsi…
*dp_f_dt_ex…
- p_f_ghost_new[idx1g(i)] = p_f_old*(1.0 - theta)
+ p_f_ghost_new[idx1g(i)] = p_f_ghost_old[idx1g(…
+ p_f_ghost_new[idx1…
- r_norm[i] = (p_f_ghost_new[idx1g(i)] - p_f_old)
- /(p_f_old + 1e-16);
+ r_norm[i] = (p_f_ghost_new[idx1g(i)]
+ - sim->p_f_ghost[idx1g(i)])
+ /(sim->p_f_ghost[idx1g(i)] + 1e-16…
}
r_norm_max = max(r_norm, sim->nz);
t@@ -252,6 +246,7 @@ darcy_solver_1d(struct simulation* sim,
print_array(sim->p_f_ghost, sim->nz+2);
#endif
}
+ set_fluid_bcs(sim, p_f_top);
if (epsilon < 1.0)
free(dp_f_dt_expl);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.