How to Fix Displacement, Constraining Rotation in Space

I have completed a problem on linear elasticity of a square with a circular cutout. The stress around the circle is correct, however my displacement values are unsymmetrical which is unusual. When using the displacement mode it shows a rotation that is occurring and the actual case should just be that the circle flattens evenly on the left and right side. I am wondering if this is due to my boundary conditions as there are no Dirichlet for this problem and all sides of the square have neumann. I am confused as to why this is happening and I would appreciate any help on solving this issue. I have attached references below.

V = VectorFunctionSpace(mesh, ā€œCGā€, 1)
G = BoundarySource(mesh, degree=2)

# Define Boundary Conditions
bc = MeshFunction("size_t", mesh, mesh.topology().dim() - 1)
bc.set_all(0)
left = AutoSubDomain(lambda x: near(x[0], -l))
right = AutoSubDomain(lambda x: near(x[0], l))
top = AutoSubDomain(lambda x: near(x[1], l))
bottom = AutoSubDomain(lambda x: near(x[1], -l))
left.mark(bc, 1)
right.mark(bc, 2)
top.mark(bc, 3)
bottom.mark(bc, 4)
ds = ds(subdomain_data=bc)

# Define Variational Problem
u = TrialFunction(V)
d = u.geometric_dimension()
v = TestFunction(V)
f = Constant((0, 0))
a = inner(fullFunctions.sigma(u, lambda_, d, mu), fullFunctions.epsilon(v))*dx
L = dot(f, v)*dx + dot(G, v)*ds(1) + dot(G, v)*ds(2) + dot(G, v)*ds(3) + dot(G, v)*ds(4)

Displacement:


Stress:

This is correct. Without Dirichlet condition your problem is not unique (you have both rotations and translations do the domain as solutions of the PDE.

See:
https://bitbucket.org/fenics-project/dolfin/src/b55804ecca7d010ff976967af869571b56364975/python/demo/undocumented/elasticity/demo_elasticity.py?at=master#demo_elasticity.py-35,39,42:44,47:52,54,58,113:114,116:117
Instead of setting near nullspace, use set_nullspace

1 Like

Thank you for this, it was not working exactly how I needed it to but this guided me to find a similar method using 15. Singular Poisson ā€” FEniCS Project

Appreciate it!

1 Like