Hi Matt, Yes I do create the section myself. There are many faces which are constrained by a single reference point. So even if I create an extra dof at one of the faces I would have to get access to rows/columns of other distant faces which does not exist in the adjacency relationship.
Thanks Ashish On Tue, Oct 6, 2020 at 12:47 PM Matthew Knepley <[email protected]> wrote: > On Fri, Oct 2, 2020 at 7:16 PM Ashish Patel <[email protected]> > 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/> >
