On Mon, Jan 14, 2008 at 05:51:12PM -0600, Matthew Knepley wrote: > On Jan 14, 2008 5:42 PM, Murtazo Nazarov <[EMAIL PROTECTED]> 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.
I agree. It's just that we haven't done anything about it yet. > 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. Yes, it definitely depends on the type of elements. For example, implementing this for BDM elements is "simple" because the dofs are the normal components. But there may still be a way to find an implementation that generalizes to different element types? -- Anders _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
