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/>
>

Reply via email to