[petsc-users] question

Matthew Knepley knepley at gmail.com
Thu Apr 7 07:26:33 CDT 2022

On Thu, Apr 7, 2022 at 8:16 AM 高亚贺 via petsc-users <petsc-users at mcs.anl.gov>

> Dear Mr./Ms.,
> I have used ‘DMCreateMatrix’ to create a matrix *K*, and also the
> ‘DMCreateGlobalVector’ to create two vectors *U* (to be solved) and *F *(right-hand
> side), i.e. *KU*=*F*. Now, I want to add some complex constraints to this
> system through lagrangian multiplier method, and the constraint matrix is
> *Q*. The *KU*=*F *transforms to
>    How to create *K**λ*, and how to effectively copy values* K* and *Q*
> to *K**λ*? Does the newly created *K**λ* and *F**λ *still have an
> advantage of DMDA? Or do you have any other good suggestions for this kind
> of problem?

DMDA can only really handle collocated discretizations, meaning all fields
sit on the vertices. If you can discretize your problem this way, then just
give it two fields and assemble K_\lambda as normal. If not, then you might
look at DMPlex which supports a wider range of discretizations.



> Thank you very much!
> Best regards,
> A PETSc user

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/20220407/12275299/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 1649328463919.png
Type: image/png
Size: 2259 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20220407/12275299/attachment.png>

More information about the petsc-users mailing list