Exemplo n.º 1
0
        PETSc.Sys.Print('Initial')
        nextt = 0.1
        PETSc.Sys.Print('Begin to solve')
        t = 0
        for t in sp.arange(0,1,dt):
            L.multAdd(gv,gv,wv)
            M.mult(wv,gv)
            if t > nextt:
                nextt += 0.1
                PETSc.Sys.Print('time is {0}'.format(t))
                

        mv = band.createExtensionMatForLoop(cp=points[vstart:vstart+vAssigned])
        cv = mv.getVecLeft()
        mv.mult(gv,cv)
        cv = band.toZeroStatic(cv)
        if comm.rank == 0:
            cv = cv.getArray()
            exu = sp.exp(-t)*exactu
            ee = norm(cv-exu, sp.inf)
            error.append(ee)
            dx.append( band.dx )
        
    
        
        PETSc.Sys.Print('==================================')   
        if comm.rank == 0: 
            print('maximal is {0}'.format(ee))
        PETSc.Sys.Print('==================================')   
        del band,v,mv,cv 
    if comm.rank == 0:
Exemplo n.º 2
0
        PETSc.Sys.Print('Initial')
        nextt = 0.1
        PETSc.Sys.Print('Begin to solve')
        t = 0
        for t in sp.arange(0, 1, dt):
            L.multAdd(gv, gv, wv)
            M.mult(wv, gv)
            if t > nextt:
                nextt += 0.1
                PETSc.Sys.Print('time is {0}'.format(t))

        mv = band.createExtensionMatForLoop(cp=points[vstart:vstart +
                                                      vAssigned])
        cv = mv.getVecLeft()
        mv.mult(gv, cv)
        cv = band.toZeroStatic(cv)
        if comm.rank == 0:
            cv = cv.getArray()
            exu = sp.exp(-t) * exactu
            ee = norm(cv - exu, sp.inf)
            error.append(ee)
            dx.append(band.dx)

        PETSc.Sys.Print('==================================')
        if comm.rank == 0:
            print('maximal is {0}'.format(ee))
        PETSc.Sys.Print('==================================')
        del band, v, mv, cv
    if comm.rank == 0:
        import pickle
        ferror = open('error.pickle', 'w')