Changeset 7447 for anuga_core


Ignore:
Timestamp:
Aug 28, 2009, 2:34:39 PM (15 years ago)
Author:
steve
Message:

Concentrating code

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  
    9090        #print self.processor, ltimestep, gtimestep
    9191       
    92         pypar.reduce(ltimestep, pypar.MIN, 0, buffer=gtimestep)
     92        gtimestep = pypar.reduce(ltimestep, pypar.MIN, 0, buffer=gtimestep)
    9393
    9494        #print self.processor, ltimestep, gtimestep
     
    182182
    183183
    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  
    4343    numproc   = pypar.size()
    4444
    45     print 'numproc',numproc
    46     print 'processor ',processor
     45    #print 'numproc',numproc
     46    #print 'processor ',processor
    4747
    4848    m_low, m_high = pypar.balance(m_g, numproc, processor)
     
    5252    m_high = m_high+1
    5353
    54     print 'm_low, m_high', m_low, m_high
     54    #print 'm_low, m_high', m_low, m_high
    5555    m = m_high - m_low
    5656
     
    168168        Idgr.extend(Idgl)
    169169
    170         print Idfl
    171         print Idgr
     170        #print Idfl
     171        #print Idgr
    172172       
    173173        Idfl = num.array(Idfl,num.int)
    174174        Idgr = num.array(Idgr,num.int)
    175175
    176         print Idfl
    177         print Idgr
     176        #print Idfl
     177        #print Idgr
    178178       
    179179        full_send_dict[processor]  = [Idfl, Idfl]
    180180        ghost_recv_dict[processor] = [Idgr, Idgr]
    181181
    182         print  full_send_dict[processor]
    183         print ghost_recv_dict[processor]
     182        #print  full_send_dict[processor]
     183        #print ghost_recv_dict[processor]
    184184    elif numproc == 2:
    185185        Idfl.extend(Idfr)
     
    203203
    204204
    205     print full_send_dict
    206     print ghost_recv_dict       
     205    #print full_send_dict
     206    #print ghost_recv_dict       
    207207   
    208208    return  points, elements, boundary, full_send_dict, ghost_recv_dict
  • anuga_core/source/anuga_parallel/parallel_shallow_water.py

    r7400 r7447  
    2222
    2323
    24 from anuga.shallow_water.shallow_water_domain import *
     24from anuga.interface import Domain
    2525
    2626
     
    5252        N = len(self) # number_of_triangles
    5353
    54 #        self.processor = pypar.rank()
    55 #        self.numproc   = pypar.size()
    56 #
    57 #        # Setup Communication Buffers
    58 #        self.nsys = 3
    59 #        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_dict
    69         self.ghost_recv_dict = ghost_recv_dict
    7054
    7155        # Buffers for synchronisation of timesteps
     
    7357        self.global_timestep = num.zeros(1, num.float)
    7458
    75         self.local_timesteps = num.zeros(self.numproc, num.loat)
     59        self.local_timesteps = num.zeros(self.numproc, num.float)
    7660
    7761
     
    150134
    151135        import time
     136
    152137        #Compute minimal timestep across all processes
    153138        self.local_timestep[0] = self.flux_timestep
     
    167152                for i in range(1, self.numproc):
    168153                    pypar.receive(i,
    169                                   buffer=self.local_timestep,
    170                                   bypass=True)
     154                                  buffer=self.local_timestep)
    171155
    172156                    if self.local_timestep[0] < self.global_timestep[0]:
     
    174158            else:
    175159                pypar.send(self.local_timestep, 0,
    176                            use_buffer=True, bypass=True)
     160                           use_buffer=True)
    177161
    178162
     
    187171        self.communication_broadcast_time += time.time()-t0
    188172
    189         #old_timestep = self.flux_timestep
     173        old_timestep = self.flux_timestep
    190174        self.flux_timestep = self.global_timestep[0]
    191175        #print 'Flux Timestep %15.5e %15.5e P%d_%d' %(self.flux_timestep, old_timestep, self.processor, self.numproc)
     
    209193        # the separate processors
    210194
    211 
    212         from Numeric import take,put
     195        import numpy as num
    213196        import time
    214197        t0 = time.time()
     
    227210                            #print 'Send',i,q
    228211                            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)
    233215
    234216
     
    238220
    239221                    Idg = self.ghost_recv_dict[iproc][0]
    240                     X = self.ghost_recv_dict[iproc][2]
    241 
    242                     X = pypar.receive(iproc, buffer=X, bypass = True)
     222                    X   = self.ghost_recv_dict[iproc][2]
     223
     224                    X = pypar.receive(int(iproc), buffer=X)
    243225
    244226                    for i, q in enumerate(self.conserved_quantities):
    245227                        #print 'Receive',i,q
    246228                        Q_cv =  self.quantities[q].centroid_values
    247                         put(Q_cv, Idg, X[:,i])
     229                        num.put(Q_cv, Idg, X[:,i])
    248230
    249231        #local update of ghost cells
     
    262244                #print 'LOCAL SEND RECEIVE',i,q
    263245                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))
    265247
    266248        self.communication_time += time.time()-t0
    267249
    268 '''
    269 This was removed due to not beening required to be redefined in parallel_shallow_water
    270 the original "write_time" is good... however might need some small edits to work properly
    271 with parallel- Nick and Ole April 2007
    272     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
    290272
    291273# commented out on the 7/11/06
  • anuga_core/source/anuga_parallel/run_parallel_advection.py

    r7400 r7447  
    140140    t0 = time.time()
    141141
    142 for t in domain.evolve(yieldstep = 0.1, finaltime = 30.0):
     142for t in domain.evolve(yieldstep = 5.0, finaltime = 30.0):
    143143    if myid == 0:
    144144        domain.write_time()
  • anuga_core/source/anuga_parallel/run_parallel_sw_rectangle.py

    r5822 r7447  
    1 #!/usr/bin/env python
    21#########################################################
    32#
     
    1817import time
    1918
    20 from Numeric import array
     19#from Numeric import array
    2120# pmesh
     21import numpy as num
    2222
    2323from print_stats import print_test_stats, build_full_flag
     
    3535numprocs = pypar.size()
    3636myid = pypar.rank()
    37 processor_name = pypar.Get_processor_name()
     37processor_name = pypar.get_processor_name()
    3838
    3939M = 50
     
    126126
    127127
    128 yieldstep = 0.01
     128yieldstep = 0.1
    129129finaltime = 1.0
    130130
  • anuga_core/source/anuga_parallel/test_parallel_sw.py

    r6721 r7447  
    1 #!/usr/bin/env python
    21
    32"""Test a run of the sequential shallow water domain against
     
    1716import pypar
    1817
    19 from Numeric import allclose, array, zeros, Float, take, nonzero
     18#from Numeric import allclose, array, zeros, Float, take, nonzero
     19
     20import numpy as num
    2021
    2122from anuga.pmesh.mesh_interface import create_mesh_from_regions
    2223
    23 from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular_cross
     24from anuga.interface import rectangular_cross
    2425from anuga.abstract_2d_finite_volumes.pmesh2domain import pmesh_to_domain_instance
    2526
     
    2829from anuga.utilities.norms           import l1_norm, l2_norm, linf_norm
    2930
    30 from anuga.shallow_water import Domain
    31 from anuga.shallow_water import Reflective_boundary
    32 from anuga.shallow_water import Dirichlet_boundary
    33 from anuga.shallow_water import Time_boundary
    34 from anuga.shallow_water import Transmissive_boundary
     31from anuga.interface import Domain
     32from anuga.interface import Reflective_boundary
     33from anuga.interface import Dirichlet_boundary
     34from anuga.interface import Time_boundary
     35from anuga.interface import Transmissive_boundary
    3536
    3637
     
    6970def evolution_test(parallel=False):
    7071
     72
    7173    domain = pmesh_to_domain_instance(mesh_filename, Domain)
    7274    domain.set_quantity('stage', Set_Stage(756000.0, 756500.0, 2.0))
     
    9597    l2list = []
    9698    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)
    101103
    102104    #------------------------------------------------------------------------------
     
    109111       
    110112    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)
    112114        l1norm[0] = l1_norm(edges[:,0])
    113115        l1norm[1] = l1_norm(edges[:,1])
     
    128130                #print edges[:,1]           
    129131                for p in range(1, numprocs):
    130                     pypar.receive(p, recv_norm)
     132                    recv_norm = pypar.receive(p)
    131133                    l1norm += recv_norm
    132                     pypar.receive(p, recv_norm)
     134                    recv_norm = pypar.receive(p)
    133135                    l2norm += recv_norm
    134                     pypar.receive(p, recv_norm)
     136                    recv_norm = pypar.receive(p)
    135137                    linfnorm[0] = max(linfnorm[0], recv_norm[0])
    136138                    linfnorm[1] = max(linfnorm[1], recv_norm[1])
  • anuga_core/source/anuga_parallel/test_parallel_sw_runup.py

    r7400 r7447  
    3030from anuga.interface import rectangular_cross
    3131
    32 from parallel_api import distribute, myid, numprocs
     32from anuga_parallel.parallel_api import distribute, myid, numprocs
    3333
    3434
     
    7474domain.set_default_order(1)       
    7575domain.set_quantities_to_be_stored(None)
    76 domain.set_maximum_allowed_speed(100) #FIXME (Ole): try to remove this
    77 
    78 # FIXME (Ole): Need tests where this is commented out
    79 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)
    8276
    8377
     
    108102    try:
    109103        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]
    111105        if domain.tri_full_flag[k] == 1:
    112106            tri_ids.append(k)
     
    116110        tri_ids.append(-2)
    117111
    118 #print myid, tri_ids
    119 #print myid, domain.tri_full_flag[tri_ids[0]]
     112print myid, tri_ids
     113print myid, domain.tri_full_flag[tri_ids[0]]
    120114
    121115
     
    144138
    145139
    146 G0 = [-0.19166666666666665, -0.19166666666666665, -0.1908726751282839, -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]
     140G0 = [-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]
    147141
    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
     146G1 = [-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
    149151
    150152       
    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]
     153G2 = [-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
    152157       
    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]
     158G3 = [-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
    154160
    155161
    156162# Only compare those that belong to this process id
    157163G = [G0, G1, G2, G3]
     164
    158165
    159166
     
    166173
    167174
     175
    168176if success:
    169177    print 'Successful completion on processor ',myid
Note: See TracChangeset for help on using the changeset viewer.