ttests designed to check fluid-particle interaction terms - sphere - GPU-based 3D discrete element method algorithm with optional fluid coupling
 (HTM) git clone git://src.adamsgaard.dk/sphere
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit 84c23d36a1d3f1e6224370ff727a1e96b733e34f
 (DIR) parent d4498a6a19388e3df4852a8d98c457c1c0527b7e
 (HTM) Author: Anders Damsgaard <anders.damsgaard@geo.au.dk>
       Date:   Tue, 24 Jun 2014 14:46:40 +0200
       
       ttests designed to check fluid-particle interaction terms
       
       Diffstat:
         A tests/fluid_particle_interaction.py |      55 +++++++++++++++++++++++++++++++
       
       1 file changed, 55 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/tests/fluid_particle_interaction.py b/tests/fluid_particle_interaction.py
       t@@ -0,0 +1,55 @@
       +#!/usr/bin/env python
       +import sphere
       +from pytestutils import *
       +
       +sim = sphere.sim('fluid_particle_interaction', fluid=True)
       +sim.cleanup()
       +
       +sim.defineWorldBoundaries([1.0, 1.0, 1.0], dx = 0.1)
       +sim.initFluid()
       +sim.rho[0] = 1000.0 # particle density = fluid density
       +
       +
       +# No gravity, pressure gradient enforced by Dirichlet boundaries.
       +# The particle should be sucked towards the low pressure
       +print('# Test 1: Test pressure gradient force')
       +sim.p_f[:,:,0]  = 10.0
       +sim.p_f[:,:,-1] = 1.0
       +sim.addParticle([0.5, 0.5, 0.5], 0.05)
       +sim.initTemporal(total=0.1, file_dt=0.01)
       +
       +sim.run()
       +#sim.writeVTKall()
       +
       +sim.readlast()
       +test(sim.vel[0,2] > 0.0, 'Particle velocity:')
       +
       +
       +
       +# Sidewards gravity, homogenous pressure, Neumann boundaries.
       +# Fluid should flow towards +x and drag particles in the same direction
       +print('# Test 2: Test fluid drag force')
       +sim.initFluid()
       +sim.zeroKinematics()
       +sim.bc_bot[0] = 2   # no-slip
       +sim.bc_top[0] = 2   # no-slip
       +sim.g[0] = 10.0
       +
       +sim.deleteParticle(0)
       +sim.addParticle([0.5, 0.5, 0.75], 0.05)
       +sim.addParticle([0.5, 0.5, 0.50], 0.05)
       +sim.addParticle([0.5, 0.5, 0.25], 0.05)
       +
       +sim.initTemporal(total=0.1, file_dt=0.01)
       +
       +sim.run()
       +#sim.writeVTKall()
       +
       +sim.readlast()
       +test(sim.v_f[:,:,:,0] > 0.0, 'Fluid velocity:')
       +test(sim.vel[0,0] > 0.0, 'Particle 0 velocity:')
       +test(sim.vel[1,0] > 0.0, 'Particle 1 velocity:')
       +test(sim.vel[2,0] > 0.0, 'Particle 2 velocity:')
       +
       +
       +#sim.cleanup()