[petsc-users] Interpolation between nodal and elemental field

Matthew Knepley knepley at gmail.com
Tue May 16 10:28:30 CDT 2023


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/263e2612/attachment.html>


More information about the petsc-users mailing list