[petsc-users] Interpolation between nodal and elemental field

K. Wu wuktsinghua at gmail.com
Tue May 16 10:44:00 CDT 2023


Got it, thanks Matt!

Matthew Knepley <knepley at gmail.com> 于2023年5月16日周二 17:28写道:

> On Tue, May 16, 2023 at 11:12 AM K. Wu <wuktsinghua at gmail.com> wrote:
>
>> Hi Matt,
>>
>>
>>
>> I am using two PETSc DM, one for vertices (nodes), and one for cells
>> (elements).
>>
>
> I assume you mean DMDA.
>
>
>> I want to do the following operation:
>>
>> x is a global vector generated from DM vertices, with length Nn. y is a
>> global vector generated from DM cells, with length Ne. I want to generate a
>> sparse matrix A with size Ne x Nn, so that y = A*x.
>>
>> The entry of A is set to a constant value, e.g., 1/4, if the
>> corresponding vertex belongs to the cell.
>>
> Yes, this is straightforward. First create the matrix with the same local
> sizes as the vectors from the DMDAs.
> Each row will have the same number of nonzeros (the number of vertices on
> each cell), so preallocation is
> easy. Finally, I would loop over the vertex grid, and put in weights for
> (i, j, k) and +1 in each direction for cell (i, j, k).
>
>   Thanks,
>
>      Matt
>
>
>>
>>
>> Hope I make it clear, thanks!
>>
>>
>>
>> Regards,
>>
>> Kai
>>
>> Matthew Knepley <knepley at gmail.com> 于2023年5月16日周二 16:29写道:
>>
>>> On Tue, May 16, 2023 at 10:27 AM K. Wu <wuktsinghua at gmail.com> wrote:
>>>
>>>> Hi all,
>>>>
>>>> Good day!
>>>>
>>>> I am currently working on interploating the nodal field vector I
>>>> obtained to its corresponding elemental field vector. I am doing it in a
>>>> simple way by using structured mesh, the element value is just the average
>>>> of its corresponding nodal values.
>>>>
>>>> Is it possible to generate a connectivity matrix to implement this
>>>> function? I also need this matrix later on to do a reverse transformation.
>>>>
>>>> I am wondering is there a way in PETSc to generate this connectivity
>>>> matrix between nodal and elemental mesh. Or is there any better way to
>>>> accomplish this?
>>>>
>>>> Thanks for your kind help!
>>>>
>>>
>>> 1. Are you using a PETSc DM, or your own mesh?
>>>
>>> 2. In order to define what you mean, you have to attach function spaces
>>> (or something equivalent) to the
>>>     two representations. Do you mean linear interpolation between
>>> vertices and constants on cells?
>>>
>>>   Thanks,
>>>
>>>      Matt
>>>
>>>
>>>> Best regards,
>>>> Kai
>>>>
>>>
>>>
>>> --
>>> 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/>
>>>
>>
>
> --
> 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/20230516/008b4202/attachment-0001.html>


More information about the petsc-users mailing list