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.

Reply via email to