On Tue, Jul 11, 2023 at 11:48 AM neil liu <liufi...@gmail.com> 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 <bsm...@petsc.dev> 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 <liufi...@gmail.com> 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/>