Applying pre-stretch

Hello,

I want to solve the BVP for a pre-stretched (along x direction) hyperelastic rectangular block on which a clamped loading in the direction lateral to pre-stretch is applied.

So, what I want to do is to apply the following bcs on the pre-stretched block.

bc_top1=DirichletBC(V_u.sub(2),stretch2,top_fc)
bc_top2=DirichletBC(V_u.sub(0),Constant(0.0),top_fc)
bc_top3=DirichletBC(V_u.sub(1),Constant(0.0),top_fc)
bc_bot=DirichletBC(V_u,Constant(0.0),bottom_fc)

bcs=[bc_top1,bc_top2,bc_top3,bc_bot]

u = Function(V_u)
du = TrialFunction(V_u)
v = TestFunction(V_u)
...
...
...
a_uv = derivative(Psi(u), u, v)*dx 
Jac = derivative(a_uv, u, du)
F = NonlinearVariationalProblem(a_uv, u, bcs, J=Jac)
solver = NonlinearVariationalSolver(F)
solver.solve()

One way to account for the pre-strech is to solve the BVP for two subsequent BC’s as described here. I am however unsure if this is the right way.

Any advice on how to account for the initial pre-stretch would be appreciated. Thanks!

1 Like