Do you mean that, even if I configure with --scalar=complex, when I use vecGetarray to get the coords, the coords array is still stored in a real manner?
Thanks, Xiaodong On Tue, Jul 11, 2023 at 11:54 AM Matthew Knepley <[email protected]> wrote: > On Tue, Jul 11, 2023 at 11:48 AM neil liu <[email protected]> wrote: > >> Thanks for your reply. >> I am using DMPLEX to read GMSH. And it seems I have to use >> DMGetCoordinatesLocal(); >> VecGetArray(veccords, &coords);//it seems coords has to be defined by >> complex either. >> >> 2) Store the coordinates in coords with imaginary part equal to zero. >> I got the coordinates from above function *VecGetArray*, therefore will >> this reduce the memory? >> >> 3) is a good way to work around that. >> > > We just store them with real part 0. > > Thanks, > > Matt > > >> On Tue, Jul 11, 2023 at 11:40 AM Barry Smith <[email protected]> wrote: >> >>> >>> Not really. PetscScalar (and entries of vectors etc) are either real >>> or complex, they cannot be mixed. >>> >>> What parts of PETSc are you using, DM? >>> >>> You can >>> >>> 1) store the coordinates in arrays and not use Vec for them. (of if you >>> are not using DM) >>> 2) sore them in Vec but with imaginary part 0 >>> 3) rewrite your complex systems as real systems (with twice as many >>> unknowns, but only real ones) >>> >>> Barry >>> >>> >>> > On Jul 11, 2023, at 11:34 AM, neil liu <[email protected]> wrote: >>> > >>> > Dear Petsc developers, >>> > >>> > My computation involves both real and complex numbers. >>> > For example, my coordinate is real, but my matrix is complex. >>> > >>> > I use VecGetArray to get the coordinates. But it seems coordinates >>> have to be defined in a complex manner to be consistent with complex >>> matrix. >>> > >>> > Is there some ways to work around this if I understood correctly ? >>> > >>> > Thanks, >>> > >>> > Xiaodong >>> > >>> > >>> > >>> >>> > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ > <http://www.cse.buffalo.edu/~knepley/> >
