postive definiteness of the stiffness matrix for a `floating' structure

58 views
Skip to first unread message

Chen Shen

unread,
Nov 29, 2021, 3:35:33 PM11/29/21
to deal.II User Group

Dear all,

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.  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. Any suggestions would be helpful, thank you!


Wolfgang Bangerth

unread,
Nov 29, 2021, 11:08:53 PM11/29/21
to dea...@googlegroups.com
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: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

Chen Shen

unread,
Nov 30, 2021, 7:50:18 AM11/30/21
to deal.II User Group
Dear Dr. Wolfgang,

Thank you so much for the help! I really appreciated it. I will definitely check out what ASPECT does.


Best,
Chen

Reply all
Reply to author
Forward
0 new messages