[petsc-users] Coupled system of equations on unstructured mesh

Matthew Knepley knepley at gmail.com
Sun Sep 10 13:02:40 CDT 2023


On Sun, Sep 10, 2023 at 1:48 PM Karthikeyan Chockalingam - STFC UKRI via
petsc-users <petsc-users at mcs.anl.gov> wrote:

> Hello,
>
>
>
> I have so far solved scalar field problems using finite elements on a
> given (*unstructured*) mesh. I made use of MATMPIAIJ to create matrixes,
> MatCreateVecs(A, &b, &x) to create vectors, and MatZeroRowsColumnsIS to
> set boundary conditions.
>
>
>
> Now, I would like to solve a coupled system of equations for the
> quantities u1 and u2 on the (*unstructured*)  mesh. I.e., the matrix
> should get the double number of rows and columns,
>
>
>
> A = [A00  A01
>
>         A10  A11]
>

This is usually not a good way to think of it. This division means that all
variables of one field come before
all those of another. It is much more common to group together all the
unknowns at a given point.

You could, if the discretizations of u1 and u2 are the same, just enlarge
the blocksize of your matrix. Then you set u1 and u2 for each vec location,
or a 2x2 block for each Jacobian location.

  Thanks,

     Matt


> the vectors contain twice the number of entries (e.g. first all u1s and
> then all u2s). I would like to be sure that the entries of u1 and u2, which
> are associated with the same element are located on the same processor.
>
>
>
> Is a pre-defined structure already available within PETSc to enlarge such
> a single equation to store the entries of coupled equations?
>
>
>
> -\Delta u_1+c_{11} u_1+c_{12} u_2=f_1
>
> -\Delta u_2+c_{21} u_1+c_{22} u_2=f_2
>
>
>
> Would I still be able to use MatZeroRowsColumnsIS u1 and u2 independently
> to enforce boundary conditions? MatZeroRowsColumnsIS(A, is, 1, x, b);
>
>
>
> I don’t know where to begin. I have so far only been exposed to using MATMPIAIJ
> and MatSetValues to create and assign values to matrix entries
> respectively. I would be grateful if you could provide the stepwise guide.
>
>
>
> Kind regards,
>
> Karthik.
>
>
>
> --
>
> *Karthik Chockalingam, Ph.D.*
>
> Senior Research Software Engineer
>
> High Performance Systems Engineering Group
>
> Hartree Centre | Science and Technology Facilities Council
>
> karthikeyan.chockalingam at stfc.ac.uk
>
>
>
>  [image: signature_3970890138]
>
>
>


-- 
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/20230910/71e46926/attachment-0001.html>


More information about the petsc-users mailing list