Changeset 7447 for anuga_core
- Timestamp:
- Aug 28, 2009, 2:34:39 PM (15 years ago)
- Location:
- anuga_core/source/anuga_parallel
- Files:
-
- 4 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source/anuga_parallel/parallel_advection.py
r7400 r7447 90 90 #print self.processor, ltimestep, gtimestep 91 91 92 pypar.reduce(ltimestep, pypar.MIN, 0, buffer=gtimestep)92 gtimestep = pypar.reduce(ltimestep, pypar.MIN, 0, buffer=gtimestep) 93 93 94 94 #print self.processor, ltimestep, gtimestep … … 182 182 183 183 184 def write_time(self): 185 if self.min_timestep == self.max_timestep: 186 print 'Processor %d, Time = %.4f, delta t = %.8f, steps=%d (%d)'\ 187 %(self.processor, self.time, self.min_timestep, self.number_of_steps, 188 self.number_of_first_order_steps) 189 elif self.min_timestep > self.max_timestep: 190 print 'Processor %d, Time = %.4f, steps=%d (%d)'\ 191 %(self.processor, self.time, self.number_of_steps, 192 self.number_of_first_order_steps) 193 else: 194 print 'Processor %d, Time = %.4f, delta t in [%.8f, %.8f], steps=%d (%d)'\ 195 %(self.processor, self.time, self.min_timestep, 196 self.max_timestep, self.number_of_steps, 197 self.number_of_first_order_steps) 198 199 200 201 def evolve(self, yieldstep = None, finaltime = None): 202 """Specialisation of basic evolve method from parent class 203 """ 204 205 #Initialise real time viz if requested 206 if self.time == 0.0: 207 pass 208 209 #Call basic machinery from parent class 210 for t in Domain.evolve(self, yieldstep, finaltime): 211 212 #Pass control on to outer loop for more specific actions 213 yield(t) 184 ## def write_time(self): 185 ## if self.min_timestep == self.max_timestep: 186 ## print 'Processor %d, Time = %.4f, delta t = %.8f, steps=%d (%d)'\ 187 ## %(self.processor, self.time, self.min_timestep, self.number_of_steps, 188 ## self.number_of_first_order_steps) 189 ## elif self.min_timestep > self.max_timestep: 190 ## print 'Processor %d, Time = %.4f, steps=%d (%d)'\ 191 ## %(self.processor, self.time, self.number_of_steps, 192 ## self.number_of_first_order_steps) 193 ## else: 194 ## print 'Processor %d, Time = %.4f, delta t in [%.8f, %.8f], steps=%d (%d)'\ 195 ## %(self.processor, self.time, self.min_timestep, 196 ## self.max_timestep, self.number_of_steps, 197 ## self.number_of_first_order_steps) 198 199 200 201 ## def evolve(self, yieldstep = None, finaltime = None): 202 ## """Specialisation of basic evolve method from parent class 203 ## """ 204 205 ## #Initialise real time viz if requested 206 ## if self.time == 0.0: 207 ## pass 208 209 ## #Call basic machinery from parent class 210 ## for t in Domain.evolve(self, yieldstep, finaltime): 211 212 ## #Pass control on to outer loop for more specific actions 213 ## yield(t) 214 -
anuga_core/source/anuga_parallel/parallel_meshes.py
r7400 r7447 43 43 numproc = pypar.size() 44 44 45 print 'numproc',numproc46 print 'processor ',processor45 #print 'numproc',numproc 46 #print 'processor ',processor 47 47 48 48 m_low, m_high = pypar.balance(m_g, numproc, processor) … … 52 52 m_high = m_high+1 53 53 54 print 'm_low, m_high', m_low, m_high54 #print 'm_low, m_high', m_low, m_high 55 55 m = m_high - m_low 56 56 … … 168 168 Idgr.extend(Idgl) 169 169 170 print Idfl171 print Idgr170 #print Idfl 171 #print Idgr 172 172 173 173 Idfl = num.array(Idfl,num.int) 174 174 Idgr = num.array(Idgr,num.int) 175 175 176 print Idfl177 print Idgr176 #print Idfl 177 #print Idgr 178 178 179 179 full_send_dict[processor] = [Idfl, Idfl] 180 180 ghost_recv_dict[processor] = [Idgr, Idgr] 181 181 182 print full_send_dict[processor]183 print ghost_recv_dict[processor]182 #print full_send_dict[processor] 183 #print ghost_recv_dict[processor] 184 184 elif numproc == 2: 185 185 Idfl.extend(Idfr) … … 203 203 204 204 205 print full_send_dict206 print ghost_recv_dict205 #print full_send_dict 206 #print ghost_recv_dict 207 207 208 208 return points, elements, boundary, full_send_dict, ghost_recv_dict -
anuga_core/source/anuga_parallel/parallel_shallow_water.py
r7400 r7447 22 22 23 23 24 from anuga. shallow_water.shallow_water_domain import *24 from anuga.interface import Domain 25 25 26 26 … … 52 52 N = len(self) # number_of_triangles 53 53 54 # self.processor = pypar.rank()55 # self.numproc = pypar.size()56 #57 # # Setup Communication Buffers58 # self.nsys = 359 # for key in full_send_dict:60 # buffer_shape = full_send_dict[key][0].shape[0]61 # full_send_dict[key].append(num.zeros( (buffer_shape,self.nsys) ,num.loat))62 #63 #64 # for key in ghost_recv_dict:65 # buffer_shape = ghost_recv_dict[key][0].shape[0]66 # ghost_recv_dict[key].append(num.zeros( (buffer_shape,self.nsys) ,num.float))67 #68 # self.full_send_dict = full_send_dict69 self.ghost_recv_dict = ghost_recv_dict70 54 71 55 # Buffers for synchronisation of timesteps … … 73 57 self.global_timestep = num.zeros(1, num.float) 74 58 75 self.local_timesteps = num.zeros(self.numproc, num. loat)59 self.local_timesteps = num.zeros(self.numproc, num.float) 76 60 77 61 … … 150 134 151 135 import time 136 152 137 #Compute minimal timestep across all processes 153 138 self.local_timestep[0] = self.flux_timestep … … 167 152 for i in range(1, self.numproc): 168 153 pypar.receive(i, 169 buffer=self.local_timestep, 170 bypass=True) 154 buffer=self.local_timestep) 171 155 172 156 if self.local_timestep[0] < self.global_timestep[0]: … … 174 158 else: 175 159 pypar.send(self.local_timestep, 0, 176 use_buffer=True , bypass=True)160 use_buffer=True) 177 161 178 162 … … 187 171 self.communication_broadcast_time += time.time()-t0 188 172 189 #old_timestep = self.flux_timestep173 old_timestep = self.flux_timestep 190 174 self.flux_timestep = self.global_timestep[0] 191 175 #print 'Flux Timestep %15.5e %15.5e P%d_%d' %(self.flux_timestep, old_timestep, self.processor, self.numproc) … … 209 193 # the separate processors 210 194 211 212 from Numeric import take,put 195 import numpy as num 213 196 import time 214 197 t0 = time.time() … … 227 210 #print 'Send',i,q 228 211 Q_cv = self.quantities[q].centroid_values 229 Xout[:,i] = take(Q_cv, Idf) 230 231 pypar.send(Xout, send_proc, 232 use_buffer=True, bypass = True) 212 Xout[:,i] = num.take(Q_cv, Idf) 213 214 pypar.send(Xout, int(send_proc), use_buffer=True) 233 215 234 216 … … 238 220 239 221 Idg = self.ghost_recv_dict[iproc][0] 240 X = self.ghost_recv_dict[iproc][2]241 242 X = pypar.receive(i proc, buffer=X, bypass = True)222 X = self.ghost_recv_dict[iproc][2] 223 224 X = pypar.receive(int(iproc), buffer=X) 243 225 244 226 for i, q in enumerate(self.conserved_quantities): 245 227 #print 'Receive',i,q 246 228 Q_cv = self.quantities[q].centroid_values 247 put(Q_cv, Idg, X[:,i])229 num.put(Q_cv, Idg, X[:,i]) 248 230 249 231 #local update of ghost cells … … 262 244 #print 'LOCAL SEND RECEIVE',i,q 263 245 Q_cv = self.quantities[q].centroid_values 264 put(Q_cv, Idg, take(Q_cv,Idf))246 num.put(Q_cv, Idg, num.take(Q_cv, Idf)) 265 247 266 248 self.communication_time += time.time()-t0 267 249 268 ''' 269 This was removed due to not beening required to be redefined in parallel_shallow_water270 the original "write_time" is good... however might need some small edits to work properly271 with parallel- Nick and Ole April 2007272 def write_time(self):273 if self.min_timestep == self.max_timestep:274 print 'Processor %d/%d, Time = %.4f, delta t = %.8f, steps=%d (%d)'\275 %(self.processor, self.numproc,276 self.time, self.min_timestep, self.number_of_steps,277 self.number_of_first_order_steps)278 elif self.min_timestep > self.max_timestep:279 print 'Processor %d/%d, Time = %.4f, steps=%d (%d)'\280 %(self.processor, self.numproc,281 self.time, self.number_of_steps,282 self.number_of_first_order_steps)283 else:284 print 'Processor %d/%d, Time = %.4f, delta t in [%.8f, %.8f], steps=%d (%d)'\285 %(self.processor, self.numproc,286 self.time, self.min_timestep,287 self.max_timestep, self.number_of_steps,288 self.number_of_first_order_steps)289 ''' 250 251 ## This was removed due to not beening required to be redefined in parallel_shallow_water 252 ## the original "write_time" is good... however might need some small edits to work properly 253 ## with parallel- Nick and Ole April 2007 254 ## def write_time(self): 255 ## if self.min_timestep == self.max_timestep: 256 ## print 'Processor %d/%d, Time = %.4f, delta t = %.8f, steps=%d (%d)'\ 257 ## %(self.processor, self.numproc, 258 ## self.time, self.min_timestep, self.number_of_steps, 259 ## self.number_of_first_order_steps) 260 ## elif self.min_timestep > self.max_timestep: 261 ## print 'Processor %d/%d, Time = %.4f, steps=%d (%d)'\ 262 ## %(self.processor, self.numproc, 263 ## self.time, self.number_of_steps, 264 ## self.number_of_first_order_steps) 265 ## else: 266 ## print 'Processor %d/%d, Time = %.4f, delta t in [%.8f, %.8f], steps=%d (%d)'\ 267 ## %(self.processor, self.numproc, 268 ## self.time, self.min_timestep, 269 ## self.max_timestep, self.number_of_steps, 270 ## self.number_of_first_order_steps) 271 290 272 291 273 # commented out on the 7/11/06 -
anuga_core/source/anuga_parallel/run_parallel_advection.py
r7400 r7447 140 140 t0 = time.time() 141 141 142 for t in domain.evolve(yieldstep = 0.1, finaltime = 30.0):142 for t in domain.evolve(yieldstep = 5.0, finaltime = 30.0): 143 143 if myid == 0: 144 144 domain.write_time() -
anuga_core/source/anuga_parallel/run_parallel_sw_rectangle.py
r5822 r7447 1 #!/usr/bin/env python2 1 ######################################################### 3 2 # … … 18 17 import time 19 18 20 from Numeric import array19 #from Numeric import array 21 20 # pmesh 21 import numpy as num 22 22 23 23 from print_stats import print_test_stats, build_full_flag … … 35 35 numprocs = pypar.size() 36 36 myid = pypar.rank() 37 processor_name = pypar. Get_processor_name()37 processor_name = pypar.get_processor_name() 38 38 39 39 M = 50 … … 126 126 127 127 128 yieldstep = 0. 01128 yieldstep = 0.1 129 129 finaltime = 1.0 130 130 -
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]) -
anuga_core/source/anuga_parallel/test_parallel_sw_runup.py
r7400 r7447 30 30 from anuga.interface import rectangular_cross 31 31 32 from parallel_api import distribute, myid, numprocs32 from anuga_parallel.parallel_api import distribute, myid, numprocs 33 33 34 34 … … 74 74 domain.set_default_order(1) 75 75 domain.set_quantities_to_be_stored(None) 76 domain.set_maximum_allowed_speed(100) #FIXME (Ole): try to remove this77 78 # FIXME (Ole): Need tests where this is commented out79 domain.tight_slope_limiters = 0 # Backwards compatibility (14/4/7)80 domain.H0 = 0 # Backwards compatibility (6/2/7)81 domain.use_centroid_velocities = 0 # Backwards compatibility (7/5/8)82 76 83 77 … … 108 102 try: 109 103 k = domain.get_triangle_containing_point(point) 110 #print 'KKK',myid, k, domain.tri_full_flag[k]104 print 'KKK',myid, k, domain.tri_full_flag[k] 111 105 if domain.tri_full_flag[k] == 1: 112 106 tri_ids.append(k) … … 116 110 tri_ids.append(-2) 117 111 118 #print myid, tri_ids119 #print myid, domain.tri_full_flag[tri_ids[0]]112 print myid, tri_ids 113 print myid, domain.tri_full_flag[tri_ids[0]] 120 114 121 115 … … 144 138 145 139 146 G0 = [-0.19166666666666665, -0.19166666666666665, -0.19 08726751282839, -0.18320314010752042, -0.18294289434947858, -0.17186692881708804, -0.16703039399924297, -0.16196038919122194, -0.15621633053131387, -0.15130021599977714, -0.13930978857215476, -0.18515941024930252, -0.19141974265470424, -0.19166563809769938, -0.19166666621987774, -0.19166666666616614, -0.19166666666616614, -0.19166666666616614, -0.19163936679820112, -0.19092472615522754, -0.19101180444286325, -0.19133150862916881, -0.1914019526842341, -0.19134927149082989, -0.19146947464147604, -0.19165471548476315, -0.19166666444742567, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831, -0.19166666666632831]140 G0 = [-0.19166666666666665, -0.19166666666666665, -0.19166666666666665, -0.18995135073536706, -0.17967620310033938, -0.17592302731546394, -0.17196188698352638, -0.16050146192256606, -0.15408782540491983, -0.15120360396251856, -0.15272836248974528, -0.18515612571281359, -0.19089313596572838, -0.19091930090793735, -0.19092564666264678, -0.19093961544356891, -0.19096113497288297, -0.19100903501132768, -0.19101957821753363, -0.19100676219446935, -0.19098186082883836, -0.19095020375973476, -0.19090160340144657, -0.19060035225639324, -0.19067236768901255, -0.19072092369650068, -0.19084725051273566, -0.19087147781405342, -0.19089622376237744, -0.19090954329991847, -0.19091808778328567, -0.19092562302462121, -0.19093120010640158, -0.19093455662311021, -0.1909359528144898, -0.19093587102253487, -0.19093485355514328, -0.19093340185413665, -0.19093189648362133, -0.19093071766205927, -0.19093005702136678, -0.19092994761677365, -0.19093031876104916, -0.19093104326472229, -0.19093197773630957, -0.19093299111521683, -0.19093398080658583, -0.19093487865230929, -0.19093564970049512, -0.1909362865237911, -0.19093680142438879] 147 141 148 G1 = [-0.29166666666666669, -0.29160604748111429, -0.28349212083663766, -0.26637122760395054, -0.25078182919408626, -0.22796566989512818, -0.21386588163016981, -0.20291676395026542, -0.19288397535979634, -0.18529863721918491, -0.17833464440180594, -0.16041289672597714, -0.15844675190030885, -0.18498595153509523, -0.20472977209518117, -0.21430915468432699, -0.21656349614594508, -0.2143710033505706, -0.21047592509949745, -0.20690277124897924, -0.20383621964071927, -0.2009312504622697, -0.19832906347760781, -0.19715218778669685, -0.19713511857310209, -0.19760258124272423, -0.19821523236790017, -0.19886735995941604, -0.19945089045017395, -0.19990124934465239, -0.20016164831872438, -0.20035891530554095, -0.20053280091253389, -0.20062879519403856, -0.20061453716771055, -0.20050516254700712, -0.20034457406881809, -0.2001804893235041, -0.20004787348381434, -0.19996313076460828, -0.19992645686226715, -0.19992808844809359, -0.19995462843450704, -0.19999336711919727, -0.20003430609120498, -0.20007059456815027, -0.20009823569348062, -0.20011560727571823, -0.20012297891084577, -0.20012200982886325, -0.2001151929510443] 142 143 144 145 146 G1 = [-0.29166666666666669, -0.29166666666666669, -0.28685941525964553, -0.27057862587984083, -0.24118168337207896, -0.22173239931821093, -0.20976527589038554, -0.19971857867921899, -0.19173249780540819, -0.18487858041944857, -0.1780033786977564, -0.17215410368358283, -0.17155182647714193, -0.18655941293682041, -0.19977612728273281, -0.2068993409588821, -0.2095974217439926, -0.20961276275180968, -0.20804141273268489, -0.20583271698671743, -0.20358656706459732, -0.20159086143490923, -0.19997988026328414, -0.19903422512577046, -0.19862770982003813, -0.1984841836620021, -0.19852978191537585, -0.19875351136877187, -0.19912658475790856, -0.19955814714527378, -0.20002959678495849, -0.20032623461817603, -0.20045056162352595, -0.20047228698692546, -0.20043159564517379, -0.20035498975577987, -0.2002645931437364, -0.20017748770076391, -0.2001040624974407, -0.20005138031775113, -0.20002019418902675, -0.20000780866902876, -0.200010236268512, -0.20002255766703306, -0.2000398188461642, -0.20005785100286463, -0.2000737026875791, -0.20008570712104165, -0.20009331547005016, -0.20009681408763169, -0.20009700971531758] 147 148 149 150 149 151 150 152 151 G2 = [-0.39166666666666666, -0.38244067921398905, -0.33350466136630463, -0.29771023004255276, -0.27605439066140891, -0.25986156218997503, -0.24502185018573649, -0.23179262432952102, -0.21981564668803996, -0.20870707082936543, -0.19877739883776596, -0.18980922837977954, -0.1730801167400583, -0.16306400164063853, -0.17798470933316624, -0.19295540736943456, -0.20236705173335867, -0.20695767548229582, -0.20841025868691554, -0.20792102171307641, -0.20655350005113712, -0.2049200252815718, -0.20310627030300929, -0.20105983339290284, -0.19937394568595421, -0.1985391750807548, -0.19836389978207072, -0.19850305023816406, -0.19877764028800521, -0.19910928130800573, -0.19943705712074122, -0.19970344172627957, -0.19991076989513878, -0.20010020127344161, -0.20025937786728282, -0.20035087292654716, -0.20035829921368681, -0.20029606557358018, -0.2001960691549278, -0.20009096093557327, -0.20000371608352077, -0.19994495433034862, -0.1999153566524963, -0.19990981826568235, -0.19992106419902292, -0.19994189853498176, -0.19996624091198109, -0.19998946016949451, -0.20000842303436642, -0.20002144460691332, -0.20002815561319481] 153 G2 = [-0.39166666666666666, -0.38165411084088413, -0.33031114311718357, -0.29490845791170966, -0.27401187763459972, -0.25720432221568812, -0.24180370475026186, -0.22803625608700034, -0.21607642473560867, -0.2059173963924967, -0.19732372829977357, -0.18899569210124012, -0.18075177888497074, -0.1758458811698074, -0.18266970744342398, -0.19232195386649067, -0.199153652922028, -0.20292588217669899, -0.2046835952536466, -0.20515202619935408, -0.20476365635086183, -0.20384587744356614, -0.20266293067781077, -0.20143368989447288, -0.20039011693774927, -0.19970226213297601, -0.1992938050267305, -0.19906505599862009, -0.19899924116319651, -0.19908893561605648, -0.1993045458861577, -0.19960344595715143, -0.19989216726729134, -0.20008423737677972, -0.20018439752920908, -0.20022167063422625, -0.20021700109190652, -0.20018483837701212, -0.2001375242307058, -0.20008571798103356, -0.20003819123906194, -0.20000089191108147, -0.1999759332393749, -0.19996300730369299, -0.19996026140162992, -0.19996490481461601, -0.19997388431092483, -0.19998445575566867, -0.19999452242082996, -0.20000274678941998, -0.20000850192468142] 154 155 156 152 157 153 G3 = [-0.44166666666666665, -0.37631169657400343, -0.33000044342859486, -0.30586045469008505, -0.28843572253009925, -0.27215308978603797, -0.25712951540331214, -0.2431608296216613, -0.23032023651386366, -0.21845468734566184, -0.20735123704254327, -0.19740397194806383, -0.18598295640643708, -0.16675980728412546, -0.1695157503295662, -0.18328608714846414, -0.19485758921965809, -0.2023136827680253, -0.20625610365424957, -0.20758116234856749, -0.20721445398906116, -0.20603406830101498, -0.20450262810357958, -0.2026769581530177, -0.20074012124164839, -0.19931160538111795, -0.1986360630235105, -0.19848511941161767, -0.1986009104317408, -0.19885490669335967, -0.19916542732465842, -0.19946678238299068, -0.19971209593781808, -0.19991912886144106, -0.20010584307496243, -0.20024959409137078, -0.20032160254398582, -0.2003158316568579, -0.20025051539345248, -0.20015561158283834, -0.20005952955567172, -0.19998144295750273, -0.19992977821660762, -0.19990457708729134, -0.19990104785520091, -0.19991257153955966, -0.19993258231861782, -0.19995548502852453, -0.19997700760886039, -0.19999429663472679, -0.20000588800224417] 158 G3 = [-0.44166666666666665, -0.37566630156374725, -0.32907403981602412, -0.30514246507845882, -0.28736474524309508, -0.27062836126322631, -0.25490557254596713, -0.24015946060857596, -0.22672499664646506, -0.21493194009348415, -0.20488909335665775, -0.19594643601723874, -0.18708799192006037, -0.17881263621051871, -0.17829280002483108, -0.18600506642077144, -0.19389819408710718, -0.19941728321954535, -0.20269142693734038, -0.20431177320907121, -0.20475261565846536, -0.20438149942198236, -0.20350472280402784, -0.20238009732809753, -0.20123125943892334, -0.20030079794157421, -0.19967828320080519, -0.19928934067283594, -0.19907912341626033, -0.199034739569321, -0.19914305100399451, -0.19936563222000359, -0.19965218325198875, -0.19990375153648701, -0.20006953873503872, -0.20015884586614877, -0.20019243432639855, -0.20018670241799616, -0.20015514524359709, -0.2001098495335151, -0.2000610924794913, -0.20001718731119694, -0.19998313833853548, -0.19996070482302816, -0.1999494922032494, -0.1999476393706516, -0.1999524591476477, -0.19996109366774711, -0.19997102151684798, -0.19998034301901382, -0.1999878666221423] 159 154 160 155 161 156 162 # Only compare those that belong to this process id 157 163 G = [G0, G1, G2, G3] 164 158 165 159 166 … … 166 173 167 174 175 168 176 if success: 169 177 print 'Successful completion on processor ',myid
Note: See TracChangeset
for help on using the changeset viewer.