-
Hey kinnala, e1 = ElementTetP1() # ElementHex1() # ElementTetP1() K = asm(linear_elasticity(*lame_parameters(3e9, 0.33)), ib) # young's modulus given in GPa, Poisson ratio for PLA dofs = { u = ib.zeros() force applied to knotsKraft = 5000000 fixed_dofs = np.hstack([dofs['right'].all()]) #set dofs and solve DGL calculating upper shift only for the hard coded exampleverschiebung_links = u[left_dofs] implement shiftsu[left_dofs] = verschiebung_links I = ib.complement_dofs(dofs) u = solve(*condense(K, x=u, I=I)) print(u.max(), u.min()) sf = 2.0 Do I have to work with a faceted base to get the stress? Because at the moment I'm only using knots that don't have an area. Would it be possible to iterate through the tetrahedrons one by one? Thank you for your nice library. Best Regards Preetzl |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Here are some thoughts:
So you can then just slightly modify example 4: s = {}
dgb = ib.with_element(ElementTetP0())
up = ib.interpolate(u)
for i in [0, 1]:
for j in [0, 1]:
s[i, j] = dgb.project(C(sym_grad(up))[i, j])
s[2, 2] = poisson_ratio * (s[0, 0] + s[1, 1])
vonmises = np.sqrt(.5 * ((s[0, 0] - s[1, 1]) ** 2 +
(s[1, 1] - s[2, 2]) ** 2 +
(s[2, 2] - s[0, 0]) ** 2 +
6. * s[0, 1] ** 2)) Finally, the variable |
Beta Was this translation helpful? Give feedback.
Here are some thoughts:
So you can then just slightly modify example 4: