>> I was juist thinking about the dof indexing too...
>> 
>> What about adding a system for each mg level?
> 
> Oh, you don't mean adding a System, you mean adding a system index to
> each DofObject.  That would certainly make space for the indexing, and
> it would probably make the indexing process doable with very little
> change to existing DofMap code.

Sadly, I *did* mean a system, but you've converged to a much better solution
IMO.

>> That solves the indexing...  But we need a mechanism for telling the
>> associated dof maps to operate on a specified 'view' of the mesh.
> 
> That's what subactive() is for.  The DofMap operates on the active
> elements *already*.

>> Deteting hanging nodes on the sublevels will take some work...
> 
> We'd basically have to rerun find_neighbors for each level (and then
> again at the fine level to put them back in place).

Ah... right again.  Right now find_neighbors() blows away all neighbor
information at the beginning, but I am about to change that for another
reason... (finishing the nemesis stuff).

The only other thought that came to mind was on the issue of storing the
restriction/prolongation operators and associated memory overhead.  For
single-valued systems it could easily ~double the total memory, provided you
store the same type of matrix at all levels.

If you have multiple unknowns, though, you might be able to do a lot better.
For compressible flows where we've got 2+NDIM unknowns, all approximated in
the same space, I'd think storing a single 'prototypical'
restriction/prolongation operator would work for all the unknowns,
iteratively.  In my case that would cut the size of the sparse matrix at any
given level by (2+DIM)^2.

Even using Taylor-hood elements with incompressible flows you might be able
to do something clever - like store a single quadratic operator and do
something special to project the linear pressure using it (?)

-Ben


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to