This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

"Rigid" Dirichlet Boundary

0 votes

Hello everyone,

first of all, I want to thank all of you for building up such a great source of FEniCS support! Q&A helped me a lot during the last weeks!

But now I'm kind of stuck with my problem:

I built up a simulation of a clamp-pulling experiment. So I gave it a try with DirichletBC on the left (0.00) of my domain and moved the right boundary via DirichletBC a bit at every time step. This was fine for me. But now I had to switch to a traction based setup, so I applied a traction vector on the right boundary which will deform the clamped material unevenly (of course).

So my question is if there is an easy or at least preferable way to model the "rigid" clamp in FEniCS so that the material will not deform on the right boundary?

Sorry for my unpolished english, but (as you might have noticed) I am no native speaker.

Thank you in advance,

Newbee (the nick says it all :) )

asked May 4, 2015 by Newbee FEniCS Novice (130 points)

1 Answer

+2 votes

Hi,

What do you mean exactly by clamping?

I'm assuming that you are interested to this set of boundary conditions:
[ (\sigma \cdot n) \cdot n = t ]
and
[ d \times n = 0 ]
where ( \sigma ) is the stress tensor, ( n ) the normal vector, ( t ) the traction force you want to apply, and ( d \times n) the tangential component of the displacement vector.

If your right boundary is perfectly aligned as the y-axis (in 2D) then you can use the approach described in
http://fenicsproject.org/qa/3412/constraint-component-vector-field-using-boundary-conditions
to enforce the Dirichlet BC only to the y-component of the displacement vector.

If your boundary is not aligned with the y-axis, then you should use the Nitsche trick to impose tangential Dirichlet BC.

See

http://scicomp.stackexchange.com/questions/7123/fenics-separate-boundary-conditions-in-normal-and-tangential-direction-of-mesh

for an example (no-slip conditions for Navier-Stokes).

answered May 4, 2015 by umberto FEniCS User (6,440 points)

Hello umberto,

thank you for your advice!

Sorry for the bad problem definition. I try to model a tensile test. So the material has no deformation on the left clamped side:

DirichletBC(V.sub(0), Constant(0.0), left)

On my right boundary the material is deformed by a traction vector I'm applying on this boundary pulling in direction of the x-axis.

DirichletBC(V.sub(1), Expression("pow(a, -1.0/3.0) - 1)", a=a), right)
DirichletBC(V.sub(2), Expression("pow(a, 1.0/6.0) - 1)", a=a), right)

As you can see, I "locked" y and z-direction to my determined stress-free state. The material can be deformed in x-direction. What I try to accomplish is a uniform deformation in x-direction as a clamp would do in reality. The right boundary is perfectly aligned to a straight perpendicular to the y-axis.

I will carefully go through your suggestions report back here!

Again, thank you very much! I appreciate your effort!

Best regards,

Newbee

...