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
991 stars 244 forks source link

[GeoMechanicsApplication] Extract a static utility function for the calculation of the Stiffness Matrix (K) #12371

Closed markelov208 closed 2 months ago

markelov208 commented 2 months ago

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

Acceptance Criteria

Background This issue handles the K 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: $$K = \int\Omega B^T C{constitutive} B d\Omega$$

Where $\Omega$ is the domain, $B$ is the B-matrix and $C_{constitutive}$ is the constitutive matrix.