[petsc-users] Inquiry about the PetscScalar in Petsc.

neil liu liufield at gmail.com
Tue Jul 11 11:03:37 CDT 2023


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 <knepley at gmail.com> wrote:

> On Tue, Jul 11, 2023 at 11:48 AM neil liu <liufield at 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 <bsmith at 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 <liufield at 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/>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230711/d9d9034f/attachment.html>


More information about the petsc-users mailing list