On Wed, Aug 13, 2008 at 2:57 PM, Johan Hoffman <jhoffman@xxxxxxxxxx>
wrote:
Johan Hoffman wrote:
Anders Logg wrote:
On Tue, Jun 17, 2008 at 02:45:41PM +0100, Garth N. Wells wrote:
It would be useful to lay out a plan for tackling DofMaps.
Getting
this
right is the key to parallel assembly, assembly optimisations
and
applying Dirichlet boundary conditions by eliminating Dirichlet
dofs
from the global system.
I'm happy to take a look, but I'll need some time because I've
lost
my
overview of DofMaps. If someone else is already on top of it,
I'd
be
happy to provide feedback.
Garth
I won't have time to look at it until after the summer and I
haven't
started.
Anyway, I think we should wait until after the next release
until
we
start messing with the dof maps.
Are there any issues we need to sort out before releasing 0.8?
I'm
thinking about a new release some time this or next week.
One is to fix the bug in DirichletBC, but other than that?
Now would be a good time for a release so I can start messing
with
DofMaps.
Garth
Has anything more been done about the DofMap design? During the
summer
Niclas has extended to general elements his adaptive algorithm for
distributed parallel computing, so we are now ready to start
messing
with
the DofMaps in order to implement his algorithm in DOLFIN.
It has been given some thought, but no changes have been made in
the
code yet.
Ok. Any threads on the list to point to where this is discussed?
If you have something already, I would suggest making it
publicly available somewhere for feedback before starting work on
DOLFIN.
It is a refinement and generalization of the thesis work of Niclas
Jansson
which was discussed on the list before the summer. Is is outlined in
his
report:
http://www.nada.kth.se/utbildning/grukth/exjobb/rapportlistor/2008/rapporter08/jansson_niclas_08051.pdf
My announcement here was to initiate a discussion of the detailed
implementation, and to check if other DOLFIN-people were working on
similar stuff to avoid double/conflicting development.
/Johan
Very good. We were about to start on this task, so now a good point in
time
to join forces.
As a starting point, it would be nice to agreeing on what data is
needed
in
addition to the partitioned meshes to construct the global dofmap.
I.e.
which MeshFunctions to construct during the mesh paritioning process.
Are
you people using the same {T,S,F} input as Anders describes in
Algorithm 5
in his paper?
We have discussed this, and it seems that for our adaptive algorithms we
need some more info. Basically, we have two aims:
1. Fully distributed computing (no collection of data on one processor)
2. Possibility for dynamic load balancing
To realize 1-2 we need information on the processor ownership of
entities,
and for resdistributing the mesh we need global vertex numbering. That
is,
we would need something like: {T,S,F,V,O}, where V is global vertex
number
and O is information whether boundary (between processors) vertices are
own by the processor or if they are ghost nodes.