KratosMultiphysics / Kratos

Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
https://kratosmultiphysics.github.io/Kratos/
Other
1.02k stars 245 forks source link

[GeoMechanicsApplication] Extract a static utility function for the calculation of the Damping Matrix (D) #12366

Closed markelov208 closed 4 months ago

markelov208 commented 4 months ago

As a developer, I would like to have a utility function which can calculate the damping matrix, such that this can be re-used.

Acceptance Criteria

Background This issue handles the D in the equation describing our UPw system of equations:

$$ \begin{bmatrix} M & 0 \ 0 & 0 \end{bmatrix} \begin{bmatrix} \ddot{u} \ \ddot{p} \end{bmatrix} + \begin{bmatrix} D & 0 \ Q^T & C \end{bmatrix} \begin{bmatrix} \dot{u} \ \dot{p} \end{bmatrix} + \begin{bmatrix} K & -Q \ 0 & H \end{bmatrix} \begin{bmatrix} u \ p \end{bmatrix} = \begin{bmatrix} f_u \ f_p \end{bmatrix} $$

The mathematical definition is: $$D = \alpha_R M + \beta_R K$$

Where $M$ and $K$ are the mass and damping matrices respectively and $\alpha_R$ and $\beta_R$ are the coefficients from the Rayleigh Method.