[petsc-users] DMPlex : Assemble global stiffness matrix problem

Matthew Knepley knepley at gmail.com
Tue Mar 8 07:10:41 CST 2016


On Mon, Mar 7, 2016 at 1:28 PM, Morten Nobel-Jørgensen <mono at mek.dtu.dk>
wrote:

> I have some problems using DMPlex on unstructured grids in 3D.
>
> After I have created the DMPlex and assigned dofs (3 dofs on each node), I
> run into some problems when assembling the global stiffness matrix. I have
> created a small example in the attached cc file. My problems are:
>
>    - It seems like the matrix (created using DMCreateMatrix) contains no
>    non-zero elements. I was under the impression that the sparsity pattern of
>    the matrix would be created automatically when the dofs has been assigned
>    to the default section.
>    - (Probably as a consequence of this) when assigning values to the
>    matrix I get an: "Argument of of range. New nonzero at (0,0) caused a
>    malloc. Use MatSetOption(A, MAT_NEW_NONZERO_ALLOCATION_ERR,
>    PETSC_FALSE) to turn off this check"
>    - Finally, I'm reading the nodes of each element using the
>    get-transitive-clojure (where I test if each point is inside the node
>    range), but I have a hard time understanding if the returned values are
>    sorted. And if not, how to sort the values (e.g. using orientation which
>    the get-transitive-clojure function also returns).
>
> I hope someone can guide me in the right direction :)
>

I will take a look today or tomorrow. The first thing to do is to look at
the nonzero pattern of the Jacobian. I use -mat_view draw -draw_pause -1

  Thanks,

    Matt


> Kind regards,
> Morten
>



-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160308/685d70cf/attachment.html>


More information about the petsc-users mailing list