← Back to team overview

dolfin team mailing list archive

Re: simple support BCs

 

Quoting Jake Ostien <tostien@xxxxxxxxx>:

> OK, nevermind...I figured out subsystems do work.
> 
> For example...
> 
> SubSystem x(0);
> SusSystem y(1);
> 
> BoundaryCondition(zero,mesh,left,x);
> 
> applies the BC only for the x dof.

I was also playing around with this, can you make it work at points also?
So one could create a simply supported beam. I failed at applying fixed bc in
both directions at x=y=0 and fixed in y direction at x=1, y=0.

Kristian

> -Jake
> 
> Jake Ostien wrote:
> > Hi,
> >
> > This seems like it should be easy, so I am sorry I have to ask. 
> >
> > How do I set a simple support (i.e. fixed dof in x, free dof in y) in a 
> > 2D elasticity problem.  I have figured out how to do it if I am weakly 
> > enforcing Dirichlet BC's in a DG formulation, but I can't figure out how 
> > to do it for the classical formulation using BoundaryConditions.
> >
> > Here is what I have tried (among other things) using pieces of code from 
> > the elasticity demo, but for 2D...
> >
> > ..
> > ..
> > ..
> > Clamp c(mesh);
> > Function cx = c[0];
> > Left left;
> > BoundaryCondition bcl(cx, mesh, left);
> > ..
> > ..
> > ..
> >
> > But I get an error that says
> >
> > terminate called after throwing an instance of 'std::runtime_error'
> >   what():  *** Error: Sub functions can only be extracted from discrete 
> > functions.
> > Aborted
> >
> >
> > After nosing around a bit, its not clear if I need to create a SubSystem 
> > or not, but I think I would run into the same problem as above.
> > Any suggestions will be appreciated.
> >
> > -Jake
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/mailman/listinfo/dolfin-dev
> >
> >
> >   
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
> 




Follow ups

References