fenics team mailing list archive
-
fenics team
-
Mailing list archive
-
Message #01865
Re: Noslip in x-direction of the hyperelastic cbc.twist case
On Fri, Feb 15, 2013 at 11:10:59AM +0100, Roland Siegbert wrote:
>> I don't think this is possible with the existing interface of
>> CBC.Twist which assumes you want to set a Dirichlet boundary condition
>> for all components of the displacement. But it should be possible to
>> add a Dirichlet condition only for the x-displacement by modifying the
>> solver itself. It's fairly well documented so it should be possible to
> The solver is created in cbc.twist.problem_definitions.py in the
> solve() routine of the problem directly, thus I cannot access the
> boundary condition list bcu defined in the CBCSolver derived class
> CG1MomentumBalanceSolver because creation and solve() coincide. My
> thought was to simply append my condition like
> BoundaryDC(vector.sub(0), Constant(0.0), "x[0] == 1.0") to the solvers
> boundary condition list. A solution I see is to remove the coupling
> between problem and solver, allowing me to change the "solver" before
> executing or recreate the Hyperelasticity problem using DOLFIN only,
> what is quite a nasty thing to do.
My suggestion would be to edit the CBC.Twist code to make it do what
you want. If you find a good solution and a nice interface, it might
be merged back in.
--
Anders
References