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.
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
The calculation of the damping matrix is available as a utility function, which takes the mass and stiffness matrices and the rayleigh coefficients ($\alpha$ and $\beta$)
This calculation is defined once and re-used at all locations where this calculation is done in the geomechanics application.
The utility function is documented and unit-tested.
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.
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.