← Back to team overview

dolfin team mailing list archive

Re: BC question

 

On Jan 14, 2008 5:42 PM, Murtazo Nazarov <murtazo@xxxxxxxxxxx> wrote:
> > On Tue, Jan 15, 2008 at 12:23:30AM +0100, Murtazo Nazarov wrote:
> >> > On Mon, Jan 14, 2008 at 08:57:34PM +0100, Murtazo Nazarov wrote:
> >> >> > Is there an obvious high level way to implement normal flow type
> >> >> > boundary conditions or symmetry type boundary conditions?
> >> >> >
> >> >> > -gideon
> >> >> >
> >> >>
> >> >> If you mean slip boundary condition which for normal velocity, it is
> >> >> already implemented and soon will be available with UNICORN.
> >> >>
> >> >> The slip with friction is also implemented.
> >> >>
> >> >> /murtazo
> >> >
> >> > How is this implemented and for which element types? Maybe it can be
> >> > added to DOLFIN.
> >> >
> >>
> >> It is implemented in the "stong" way as the Dirichlet BC. The idea is to
> >> put u*n = u1*n1 + u2*n2 + u3*n3 = 0, where u = (u1,u2,u3) velocity and n
> >> =
> >> (n1,n2,n3) normal to a boundary node. At the monent it works for simple
> >> (cylinder, cube, ...) and quite complex geometries (car), but we are
> >> testing it in different geometries. Then, it would be good to add it to
> >> DOLFIN.
> >
> > I mean how do you translate u1*n1 + u2*n2 + u3*n3 = 0 into an equation
> > for the degrees of freedom (which may or may not be u1, u2, u3), which
> > types of finite elements does this work for and how do you modify the
> > linear system?
> >
>
> It is done for the linear system. The idea is almost the same as Dirichlet
> implementation, but here we change two (in 2D), three (in 3D)
> corresponding rows of the system. I think (I may be wrong) it has nothing
> to do with the types of finite elements.

Just a small comment. I believe this is a completely wrong strategy for parallel
operation, and have discussed it extensively with Wolfgang Bangreth (DealII).
Changing an assembled parallel matrix is a very big pain, and can impact
performance. I think it makes much more sense to identify and remove
constrained dofs before assembly. I believe we discussed this approach last time
I was at Simula.

Also, I believe it does depend on the element which you use. If I want to apply
a Dirichlet condition to the linear system, I assume this means setting a
vector entry to some value. That vector entry is a coefficient in the expansion
of the BC function in the FEM basis. Thus I need the projection of this function
into the basis first. Coordinating this is not trivial. FIAT does not
currently output
the projection method (I have it coded for some elements), but I believe SiFy
does.

  Thanks,

    Matt

> /murtazo
>
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
>



-- 
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


Follow ups

References