[petsc-users] DMPlexMatSetClosure for non connected points in DM

Matthew Knepley knepley at gmail.com
Tue Oct 6 14:46:57 CDT 2020


On Fri, Oct 2, 2020 at 7:16 PM Ashish Patel <ashish.patel at onscale.com>
wrote:

> Dear PETSc users,
>
> I am trying to assemble a matrix for a finite element problem where the
> degree of freedom (dof) on a surface is constrained via a reference node
> which also exists in the DM but is not connected  with any other point in
> the mesh. To apply the constraint I want to be able to set matrix values in
> the rows belonging to dofs of reference nodes and columns belonging to dofs
> of surface nodes and vice versa. But since the two points are not connected
> topologically I cannot just use DMPlexMatSetClosure to do that. I am
> currently trying to use DMPlexAddConeSize on all the constrained surface
> points followed by a call to DMPlexInsertCone wherein I add the reference
> node to the cone of surface point before setting up the PetscSection. Is
> this the right approach?
>

No. You are changing the topology, which is not what you want I think. I
think you just want to associate extra dof with the face. You can
do this by just altering the PetscSection you use. Do you create the
Section yourself now?

  Thanks,

    Matt


> I am currently getting following message
>
> New nonzero at (8952,28311) caused a malloc
> Use MatSetOption(A, MAT_NEW_NONZERO_ALLOCATION_ERR, PETSC_FALSE) to turn
> off this check
>
> I could set the suggested option to get rid of the error but was wondering
> if I am missing something.
>
> Thanks
> Ashish
>


-- 
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/20201006/c535f967/attachment.html>


More information about the petsc-users mailing list