I need both right and left vectors for use in a SLEPc SVD decomposition; it is my understanding that the correct layout is obtained with MatCreateVecs and that only the layout for the right vector is created with DMCreateGlobalVector.
Or I might be wrong and there is actually no difference! If so I will use DMCreateGlobalVector without any problem Thanks Gianluca On Thu, Jul 16, 2015 at 9:14 AM, Jed Brown <[email protected]> wrote: > Gianluca Meneghello <[email protected]> writes: > > > Hi again, > > > > I am now trying to write a vector to an HDF5, this time using a DM > > structure to impose the vector layout. > > > > Creating the vector with (as in src/dm/examples/tutorials/ex10.c) > > > > DMCreateGlobalVector(da2D,&gauss); > > > > every works fine, i.e. the hdf5 file has the correct layout given by the > > dimension of the DM. On the other side, if I use: > > > > VecCreate(PETSC_COMM_WORLD,&gauss); > > VecSetSizes(gauss,PETSC_DECIDE,Nx*Ny); > > VecSetDM(gauss,da2D); > > VecSetDM only associates a DM with the Vec. It does not interpose > itself into VecView. > > Should we change this so that creating a Vec of the correct size/block > size/layout and associating a DM is equivalent? Perhaps, but it's more > nuanced than it might seem. > > Why don't you want to just call DMCreateGlobalVector()? >
