Changeset 7447 for anuga_core/source/anuga_parallel/test_parallel_sw.py
- Timestamp:
- Aug 28, 2009, 2:34:39 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source/anuga_parallel/test_parallel_sw.py
r6721 r7447 1 #!/usr/bin/env python2 1 3 2 """Test a run of the sequential shallow water domain against … … 17 16 import pypar 18 17 19 from Numeric import allclose, array, zeros, Float, take, nonzero 18 #from Numeric import allclose, array, zeros, Float, take, nonzero 19 20 import numpy as num 20 21 21 22 from anuga.pmesh.mesh_interface import create_mesh_from_regions 22 23 23 from anuga. abstract_2d_finite_volumes.mesh_factoryimport rectangular_cross24 from anuga.interface import rectangular_cross 24 25 from anuga.abstract_2d_finite_volumes.pmesh2domain import pmesh_to_domain_instance 25 26 … … 28 29 from anuga.utilities.norms import l1_norm, l2_norm, linf_norm 29 30 30 from anuga. shallow_waterimport Domain31 from anuga. shallow_waterimport Reflective_boundary32 from anuga. shallow_waterimport Dirichlet_boundary33 from anuga. shallow_waterimport Time_boundary34 from anuga. shallow_waterimport Transmissive_boundary31 from anuga.interface import Domain 32 from anuga.interface import Reflective_boundary 33 from anuga.interface import Dirichlet_boundary 34 from anuga.interface import Time_boundary 35 from anuga.interface import Transmissive_boundary 35 36 36 37 … … 69 70 def evolution_test(parallel=False): 70 71 72 71 73 domain = pmesh_to_domain_instance(mesh_filename, Domain) 72 74 domain.set_quantity('stage', Set_Stage(756000.0, 756500.0, 2.0)) … … 95 97 l2list = [] 96 98 linflist = [] 97 l1norm = zeros(3, Float)98 l2norm = zeros(3, Float)99 linfnorm = zeros(3, Float)100 recv_norm = zeros(3, Float)99 l1norm = num.zeros(3, num.float) 100 l2norm = num.zeros(3, num.float) 101 linfnorm = num.zeros(3, num.float) 102 recv_norm = num.zeros(3, num.float) 101 103 102 104 #------------------------------------------------------------------------------ … … 109 111 110 112 for t in domain.evolve(yieldstep = yieldstep, finaltime = finaltime): 111 edges = take(domain.quantities[quantity].edge_values, nonzero(domain.tri_full_flag))113 edges = domain.quantities[quantity].edge_values.take(num.flatnonzero(domain.tri_full_flag),axis=0) 112 114 l1norm[0] = l1_norm(edges[:,0]) 113 115 l1norm[1] = l1_norm(edges[:,1]) … … 128 130 #print edges[:,1] 129 131 for p in range(1, numprocs): 130 pypar.receive(p, recv_norm)132 recv_norm = pypar.receive(p) 131 133 l1norm += recv_norm 132 pypar.receive(p, recv_norm)134 recv_norm = pypar.receive(p) 133 135 l2norm += recv_norm 134 pypar.receive(p, recv_norm)136 recv_norm = pypar.receive(p) 135 137 linfnorm[0] = max(linfnorm[0], recv_norm[0]) 136 138 linfnorm[1] = max(linfnorm[1], recv_norm[1])
Note: See TracChangeset
for help on using the changeset viewer.