Introduction
Introduction Statistics Contact Development Disclaimer Help
tuse particle velocity divergence as forcing term - sphere - GPU-based 3D discr…
git clone git://src.adamsgaard.dk/sphere
Log
Files
Refs
LICENSE
---
commit 76388c20dccb3c13a6e654bf584713427b8fd113
parent 6fcad793bd1dae1d962f5ea36b5c73a267d7e40f
Author: Anders Damsgaard <[email protected]>
Date: Thu, 19 Mar 2015 16:16:49 +0100
use particle velocity divergence as forcing term
Diffstat:
M src/darcy.cuh | 20 ++++++++++----------
M src/device.cu | 20 ++++++++++++++++----
2 files changed, 26 insertions(+), 14 deletions(-)
---
diff --git a/src/darcy.cuh b/src/darcy.cuh
t@@ -1208,7 +1208,7 @@ __global__ void firstDarcySolution(
const Float* __restrict__ dev_darcy_k, // in
const Float* __restrict__ dev_darcy_phi, // in
const Float* __restrict__ dev_darcy_dphi, // in
- //const Float* __restrict__ dev_darcy_div_v_p, // in
+ const Float* __restrict__ dev_darcy_div_v_p, // in
const Float3* __restrict__ dev_darcy_grad_k, // in
const Float beta_f, // in
const Float mu, // in
t@@ -1244,7 +1244,7 @@ __global__ void firstDarcySolution(
const Float3 grad_k = dev_darcy_grad_k[cellidx];
const Float phi = dev_darcy_phi[cellidx];
const Float dphi = dev_darcy_dphi[cellidx];
- //const Float div_v_p = dev_darcy_div_v_p[cellidx];
+ const Float div_v_p = dev_darcy_div_v_p[cellidx];
const Float p_xn = dev_darcy_p[d_idx(x-1,y,z)];
const Float p = dev_darcy_p[cellidx];
t@@ -1290,8 +1290,8 @@ __global__ void firstDarcySolution(
Float dp_expl =
+ (ndem*devC_dt)/(beta_f*phi*mu)*(k*laplace_p + dot(grad_k, grad_p…
- //- div_v_p/(beta_f*phi);
- - dphi/(beta_f*phi*(1.0 - phi));
+ - div_v_p/(beta_f*phi);
+ //- dphi/(beta_f*phi*(1.0 - phi));
// Dirichlet BC at dynamic top wall. wall0_iz will be larger than the
// grid if the wall isn't dynamic
t@@ -1316,7 +1316,7 @@ __global__ void firstDarcySolution(
"grad_k = %e, %e, %e\n"
"dp_diff = %e\n"
"dp_forc = %e\n"
- //"div_v_p = %e\n"
+ "div_v_p = %e\n"
"dphi = %e\n"
//"dphi/dt = %e\n"
,
t@@ -1330,7 +1330,7 @@ __global__ void firstDarcySolution(
grad_p.x, grad_p.y, grad_p.z,
grad_k.x, grad_k.y, grad_k.z,
dp_diff, dp_forc,
- //div_v_p//,
+ div_v_p,
dphi//,
//dphi/(ndem*devC_dt)
);
t@@ -1356,7 +1356,7 @@ __global__ void updateDarcySolution(
const Float* __restrict__ dev_darcy_k, // in
const Float* __restrict__ dev_darcy_phi, // in
const Float* __restrict__ dev_darcy_dphi, // in
- //const Float* __restrict__ dev_darcy_div_v_p, // in
+ const Float* __restrict__ dev_darcy_div_v_p, // in
const Float3* __restrict__ dev_darcy_grad_k, // in
const Float beta_f, // in
const Float mu, // in
t@@ -1393,7 +1393,7 @@ __global__ void updateDarcySolution(
const Float3 grad_k = dev_darcy_grad_k[cellidx];
const Float phi = dev_darcy_phi[cellidx];
const Float dphi = dev_darcy_dphi[cellidx];
- //const Float div_v_p = dev_darcy_div_v_p[cellidx];
+ const Float div_v_p = dev_darcy_div_v_p[cellidx];
const Float p_old = dev_darcy_p_old[cellidx];
const Float dp_expl = dev_darcy_dp_expl[cellidx];
t@@ -1443,8 +1443,8 @@ __global__ void updateDarcySolution(
//Float p_new = p_old
Float dp_impl =
+ (ndem*devC_dt)/(beta_f*phi*mu)*(k*laplace_p + dot(grad_k, grad_p…
- //- div_v_p/(beta_f*phi);
- - dphi/(beta_f*phi*(1.0 - phi));
+ - div_v_p/(beta_f*phi);
+ //- dphi/(beta_f*phi*(1.0 - phi));
// Dirichlet BC at dynamic top wall. wall0_iz will be larger than the
// grid if the wall isn't dynamic
diff --git a/src/device.cu b/src/device.cu
t@@ -1830,7 +1830,7 @@ __host__ void DEM::startTime()
if (PROFILING == 1)
startTimer(&kernel_tic);
- findDarcyPorosities<<<dimGridFluid, dimBlockFluid>>>(
+ /*findDarcyPorosities<<<dimGridFluid, dimBlockFluid>>>(
dev_cellStart,
dev_cellEnd,
dev_x_sorted,
t@@ -1840,7 +1840,19 @@ __host__ void DEM::startTime()
np,
darcy.c_phi,
dev_darcy_phi,
- dev_darcy_dphi);//,
+ dev_darcy_dphi);*/
+ findDarcyPorositiesLinear<<<dimGridFluid, dimBlockFluid>>>(
+ dev_cellStart,
+ dev_cellEnd,
+ dev_x_sorted,
+ dev_vel_sorted,
+ iter,
+ darcy.ndem,
+ np,
+ darcy.c_phi,
+ dev_darcy_phi,
+ dev_darcy_dphi,
+ dev_darcy_div_v_p);
cudaThreadSynchronize();
if (PROFILING == 1)
stopTimer(&kernel_tic, &kernel_toc, &kernel_elapsed,
t@@ -1984,7 +1996,7 @@ __host__ void DEM::startTime()
dev_darcy_k,
dev_darcy_phi,
dev_darcy_dphi,
- //dev_darcy_div_v_p,
+ dev_darcy_div_v_p,
dev_darcy_grad_k,
darcy.beta_f,
darcy.mu,
t@@ -2012,7 +2024,7 @@ __host__ void DEM::startTime()
dev_darcy_k,
dev_darcy_phi,
dev_darcy_dphi,
- //dev_darcy_div_v_p,
+ dev_darcy_div_v_p,
dev_darcy_grad_k,
darcy.beta_f,
darcy.mu,
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.