version 3.11-dev
solidmechanics/plate/kirchhoff_love/model.hh File Reference

Kirchhoff-Love plate model. More...

Go to the source code of this file.

Description

In the Kirchhoff-Love model, the plate is very thin and the rotation angles \( \boldsymbol{\theta} \) are identified with the gradient of the vertical deformation \( w \):

\[ \boldsymbol{\theta} = \nabla w. \]

The equilibrium equation reads

\[ \nabla\cdot(\nabla\cdot\mathbf{M}) = F, \]

where \( F \) is the out-of-plane load and the moment resultant for an isotropic material is

\[ \mathbf{M}(w) = -D\left\{(1-\nu)\nabla\nabla w + \nu\operatorname{tr}(\nabla\nabla w)\,\mathbf{I}\right\}, \]

with the bending modulus \( D = Et^3/(12(1-\nu^2)) \), Young's modulus \( E \), Poisson ratio \( \nu \), and plate thickness \( t \). This is a fourth-order PDE in \( w \), which is not directly amenable to standard lowest-order finite volume discretization.

Mixed form using Helmholtz decomposition
To reduce the problem to a system of second-order equations, we define the shear resultant vector \( \mathbf{q} := \nabla\cdot\mathbf{M}(\boldsymbol{\theta}) \) and apply the Helmholtz decomposition

\[ \mathbf{q} = \nabla\varphi + \mathbf{J}\nabla\psi, \]

where \( \varphi \) is the gradient (irrotational) potential, \( \psi \) is the curl (solenoidal) potential, and \( \mathbf{J} = \begin{bmatrix}0&1\\-1&0\end{bmatrix} \) is the 90° rotation matrix (so that \(\mathbf{J}\nabla\psi\) is the 2D curl of \(\psi\), i.e. \((-\partial_y\psi,\,\partial_x\psi)^T\)). Substituting into the equilibrium equation and the constraint \( \nabla w - \boldsymbol{\theta} = \mathbf{0} \) (taking its divergence and curl respectively), the system reads [25]

\begin{align} \nabla\cdot\nabla\varphi &= F,\\ -\nabla\cdot(\nabla w - \boldsymbol{\theta}) &= 0,\\ -\nabla\cdot(\mathbf{J}\boldsymbol{\theta}) &= 0,\\ -\nabla\cdot(\mathbf{M}(\boldsymbol{\theta}) - \mathbf{I}\varphi - \mathbf{J}\psi) &= \mathbf{0}. \end{align}

Equations (1)-(3) are the deformation-and-potentials sub-problem in the implemented order \( (\varphi, w, \psi) \). In particular, equations (1) and (2) are scalar second-order equations in \( \varphi \) and \( w \), while equation (3) is a scalar constraint equation. Equation (4) is a vector second-order equation for the rotation field \( \boldsymbol{\theta} \).
Primary variables
The deformation sub-problem has three primary variables per DOF:
  • shear gradient potential \( \varphi \)
  • vertical deformation \( w \)
  • shear curl potential \( \psi \)

The current implementation solves only the static (equilibrium) problem.

The rotation sub-problem has two primary variables per DOF:

  • rotation component \( \theta_x \)
  • rotation component \( \theta_y \)

Classes

struct  Dumux::KirchhoffLovePlateVolumeVariablesTraits< PV, MT >
 
struct  Dumux::KirchhoffLovePlateIndices
 
struct  Dumux::KirchhoffLovePlateTraits
 KirchhoffLovePlateTraits. More...
 
struct  Dumux::KirchhoffLovePlateRotationIndices
 
struct  Dumux::KirchhoffLovePlateRotationModelTraits
 KirchhoffLovePlateRotationModelTraits. More...
 
struct  Dumux::Properties::TTag::KirchhoffLovePlateDeformation
 
struct  Dumux::Properties::TTag::KirchhoffLovePlateRotation
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::KirchhoffLovePlateDeformation >
 
struct  Dumux::Properties::LocalResidual< TypeTag, TTag::KirchhoffLovePlateDeformation >
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::KirchhoffLovePlateDeformation >
 Set the volume variables property. More...
 
struct  Dumux::Properties::ModelTraits< TypeTag, TTag::KirchhoffLovePlateRotation >
 
struct  Dumux::Properties::LocalResidual< TypeTag, TTag::KirchhoffLovePlateRotation >
 
struct  Dumux::Properties::VolumeVariables< TypeTag, TTag::KirchhoffLovePlateRotation >
 Set the volume variables property. More...
 

Namespaces

namespace  Dumux
 
namespace  Dumux::Properties
 The energy balance equation for a porous solid.
 
namespace  Dumux::Properties::TTag
 Type tag for numeric models.
 
Include dependency graph for solidmechanics/plate/kirchhoff_love/model.hh: