← Back to team overview

dolfin team mailing list archive

Re: Boundaries

 

On Thu, 2006-06-22 at 17:31 +0200, Anders Logg wrote:
> On Thu, Jun 22, 2006 at 03:35:38PM +0200, Garth N. Wells wrote:
> > On Thu, 2006-06-22 at 15:01 +0200, Anders Logg wrote:
> > > Boundaries have now been added to the new mesh library. The name has
> > > changed from Boundary to BoundaryMesh, for two reasons: 
> > > 
> > >     1. We may want to add a new class Boundary later (and a class Domain)
> > >        that represents a geometry (like a CAD model) rather than a mesh
> > >        of a geometry.
> > > 
> > >     2. A BoundaryMesh is also a Mesh (NewMesh until we port everything
> > >        to the new mesh library).
> > 
> > Great! Can we think now about distinguishing between spatial and
> > topological dimension in FFC? Then boundary conditions functions can be
> > defined on elements one topological dimension lower. 
> 
> I'm not sure we can do that. The functions on the boundary are
> restrictions of what we have on the interior and it may be difficult
> to separate. Why would we need this?
> 

We need to work with the traces of the test functions defined on the
interior (and trial too if we have solution-dependent bc's), but the
function providing the boundary condition should be defined using an
element one topological dimension lower. A very common case is a
boundary condition which is discontinuous from one element to the next.
If it's not discontinuous, it's not possible to apply a boundary
condition to only one face of a polygon - the bc "creeps" around the
corner. Other examples are the normal vector and elements which might
not have nodes on the element facet (like a P0 element). 

Garth

> > > 
> > > Just as before, the boundary mesh is created as follows:
> > > 
> > >     BoundaryMesh boundary(mesh);
> > > 
> > > Note that a new boundary mesh is computed every time and that the
> > > boundary mesh is separate from the interior mesh. The connection
> > > between the two will be through a MeshFunction (not added yet).
> > > 
> > 
> > Is this all that's needed for integration of boundary conditions with
> > the new mesh library?
> 
> Yes, plus some other minor missing functionality we will discover when
> we try to do the assembly with the new mesh. We'll be able to remove
> the templates from FEM since we can now iterate over facets.
> 
> /Anders
> 
> 
> > Garth 
> > 
> > > In the old mesh library, a Boundary was a special object which shared
> > > its data with the interior mesh.
> > > 
> > > Since a BoundaryMesh is just as much a mesh as the interior mesh (but
> > > embedded in a higher dimension), it's perfectly ok to do things like
> > > 
> > >     BoundaryMesh boundary(mesh);
> > >     boundary.refine();
> > > 
> > > I probably won't push any more major updates to the new mesh library
> > > before the next release. Let's try to get 0.6.2 ready and then go on
> > > vacation. Garth has been doing a good job cleaning out a lot of PETSc
> > > ifdefs but some remain.
> > > 
> > > /Anders
> > > 
> > > _______________________________________________
> > > DOLFIN-dev mailing list
> > > DOLFIN-dev@xxxxxxxxxx
> > > http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev
> > 
> > 
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev




Follow ups

References