def test_with_dambreak_onerun(): z_cnt = 8 spacing = 0.1 rho0 = 1000. visc = 0.00 kappa = 0.000 dt = 0.01 g = 0. pos, info = create_dam_break(z_cnt, lfact=2., wallthick=1, walldensfact=1, spacing=spacing) mass_part = spacing*spacing*spacing*rho0 maxneighs = 200 avgneighs = 100 h = pow(3.*avgneighs*mass_part/(4.*PI*rho0), 1./3.) solver = IISPHSolver() solver.particles.pos.value = pos solver.particles.rho0.value = np.ones((len(pos),1))*rho0 solver.particles.mass.value = np.ones((len(pos),1))*mass_part solver.particles.info.value = info solver.particles.visc.value = np.ones((len(pos),1))*visc solver.particles.kappa.value = np.ones((len(pos),1))*kappa solver.h = h solver.dt = dt solver.g = g solver.maxneighs = maxneighs solver.avgneighs = avgneighs solver.wkrn = 'WendlandC2' solver.setup() solver.precompute_values() solver.update() print 'rho_max ', np.amax(solver.particles.rho.value) print 'rho_min ', np.amin(solver.particles.rho.value) neighs = solver.neighsearch.neighbors.value np.place(neighs, neighs == -1, [0]) nnz = np.zeros(len(solver.neighsearch.neighbors)) for i in range(len(nnz)): nnz[i] = np.count_nonzero(neighs[i]) print 'neigh_count ', np.amax(nnz) print 'force_max ', np.amax(solver.particles.force.value) print 'force_min ', np.amin(solver.particles.force.value) print 'vel_adv_max ', np.amax(solver.particles.vel_adv.value) print 'vel_adv_min ', np.amin(solver.particles.vel_adv.value) print 'dii_max ', np.amax(solver.particles.dii.value) print 'dii_min ', np.amin(solver.particles.dii.value) print 'rho_adv_max ', np.amax(solver.particles.rho_adv.value) print 'rho_adv_min ', np.amin(solver.particles.rho_adv.value) print 'aii_max ', np.amax(solver.particles.aii.value) print 'aii_min ', np.amin(solver.particles.aii.value) print 'sum_dijpjl_max ', np.amax(solver.particles.sum_dijpjl.value) print 'sum_dijpjl_min ', np.amin(solver.particles.sum_dijpjl.value) print 'new_press_max ', np.amax(solver.particles.new_press.value) print 'new_press_min ', np.amin(solver.particles.new_press.value) print 'press_max ', np.amax(solver.particles.press.value) print 'press_min ', np.amin(solver.particles.press.value) print 'new_rho_max ', np.amax(solver.particles.new_rho.value) print 'new_rho_min ', np.amin(solver.particles.new_rho.value) print 'rho_err_max ', np.amax(solver.particles.rho_err.value) print 'rho_err_min ', np.amin(solver.particles.rho_err.value) print 'pforce_max ', np.amax(solver.particles.pforce.value) print 'pforce_min ', np.amin(solver.particles.pforce.value) print 'vel_max ', np.amax(solver.particles.vel.value) print 'vel_min ', np.amin(solver.particles.vel.value)