[MOAB-dev] Sparsity pattern determination.
Vijay S. Mahadevan
vijay.m at gmail.com
Fri Jun 3 10:59:25 CDT 2011
All,
In my effort to write a FEM code for 1-d elliptic equation, I've
implemented a thin layer for discretization using Lagrange basis with
appropriate quadratures. The assembly and solve (with PETSc) work
correctly (validated with test problems) but I feel my current
implementation for determination of the degrees-of-freedom and
sparsity pattern based on the MOAB mesh seems hacky.
Let me explain. The DoF's as of now are just ordered numbers (1 scalar
equation: 1:n_vertex) and so I just set them accordingly. And I can
see how to extend this to a multi-variable case although including
interlacing and blocking of variables is slightly more complicated.
But the sparsity pattern determination is not always that simple. I
can look at the neighboring elements connected to the vertex and
decipher the nonzero entries necessary per unknown in the linear
system but this could get complicated when there are more variables
that are coupled to each other. So I am looking for a cleaner way to
obtain the connections. Does MOAB already provide something related ?
Note that my effort is also to understand what might be needed for a
multi-dimensional setting and not just for the problem at hand.
I can probably look at the connectivity/element and then obtain these
but is there a more efficient option/route ? Any help would be much
appreciated.
Vijay
PS: The solver is almost complete and I can send/upload it somewhere
soon for review.
More information about the moab-dev
mailing list