from PyTrilinos import Epetra, EpetraExt from EpetraMyTools import subVector mycomm = Epetra.PyComm() rank = mycomm.MyPID() N=20 f=range(N) fMap = Epetra.Map(N, 0, mycomm) F=Epetra.Vector(fMap) for ii in range(F.MyLength()): i = fMap.GID(ii) F[ii] = f[i] #print "rank = ", rank, 'F =', F V = subVector(F, range(0,N/2)) print "rank = ", rank, 'V =', V W = subVector(F, range(N/2,N)) print "rank = ", rank, 'W =', W T = subVector(F, [8, 12, 2, 17]) print "rank = ", rank, 'T =', T
from PyTrilinos import Epetra, EpetraExt from EpetraMyTools import subVector import numpy as np comm = Epetra.PyComm() v = np.linspace(0,1.,10) xMap=Epetra.Map(v.shape[0], 0 , comm) X=Epetra.Vector(xMap) for ii in range(X.MyLength()): i = xMap.GID(ii) X[ii] = v[i] print X Xs=subVector(X, range(6)) print Xs.Norm2() Xc= Epetra.Vector(X[:6]) print Xc