On 11/29/21 1:35 PM, Chen Shen wrote:
I have a benchmark 2-D problem with a square with linear elastic material
under a uniform gravity in the horizontal direction. No boundary condition is
given to the structure. I lumped the mass matrix so there is no solver
involved in the problem. I expected the results would give me very small
values in the y direction; However, I noticed I got significant rotations
resulting from a negative displacements on the left side of the structure and
the positive displacements on the right side. After debugging, I found that my
stiffness matrix is symmetric but not positive definite in this case.
Yes, if you don't prescribe Dirichlet boundary conditions, then the stiffness
matrix will have a null space that corresponds to rigid body motions:
translations and rotations.
I know
this comes from the fact that there is not sufficient boundary conditions
provided to eliminate some entries, I am just wondering if there is anything
in dealii that I can use to improve the stiffness matrix.
You need to constrain these rigid body motions. For the translations, for
example, you could fix one node's displacement to zero. Dealing with rotations
is more difficult, and is typically done after obtaining a solution: you
compute the solution of the (underdetermined) linear system, and then you
subtract from the solution something that corresponds to the rotation of the body.
Dealing with rotations is not entirely trivial and requires a couple hundred
lines of code. You might want to take a look at how ASPECT does this here:
https://github.com/geodynamics/aspect/blob/master/source/simulator/nullspace.cc
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bange...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/3144eee0-3e1d-a327-ba7a-e30799f58631%40colostate.edu.