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

Karthikeyan Chockalingam - STFC UKRI karthikeyan.chockalingam at stfc.ac.uk
Sun Sep 10 12:47:27 CDT 2023


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]

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<mailto:karthikeyan.chockalingam at stfc.ac.uk>

 [signature_3970890138]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230910/558216fd/attachment.html>


More information about the petsc-users mailing list