|
FEDEM Solver
R8.0
Source code of the dynamics solver
|
Module with subroutines for superelement mass matrix correction. More...
Functions/Subroutines | |
| subroutine | mmcrigaccelvectors (supel, rotCenter, rigVdd) |
| Generates the 6 rigid body acceleration vectors for a superelement. More... | |
| subroutine | mmcrigidmassproperties (supel, ierr) |
| Calculates the rigid body mass properties for a superelement. More... | |
| subroutine | mmcinitmassmatrixcorrection (supel, ierr) |
| Initializes the matrix (R^t*R)^-1*R^t for mass matrix correction. More... | |
| subroutine, private | mmcmassmatrixcorrection (supel, elVd, momentError, forceError, radiusVec, ErrNorm, ierr) |
| Calculates the error in the mass matrix. More... | |
| subroutine | mmcmassmatrixwarning (supel, uld, ierr) |
| Checks the error in the mass matrix and print warning if increasing. More... | |
| real(dp) function, dimension(sup%ntotdofs) | mmcgetmasstorquecorrection (sup) |
| Returns a correction force vector that accounts for the mass matrix error. More... | |
Module with subroutines for superelement mass matrix correction.
This module contains some subroutines for calculating mass matrix corrections for superelements what undergo high-speed rotations.
| real(dp) function, dimension(sup%ntotdofs) massmatrixcorrectionmodule::mmcgetmasstorquecorrection | ( | type(supeltype), intent(in) | sup | ) |
Returns a correction force vector that accounts for the mass matrix error.
| [in] | sup | The superelement to calculate for correction vector for |


| subroutine massmatrixcorrectionmodule::mmcinitmassmatrixcorrection | ( | type(supeltype), intent(inout) | supel, |
| integer, intent(out) | ierr | ||
| ) |
Initializes the matrix (R^t*R)^-1*R^t for mass matrix correction.
| supel | The superelement to calculate the rtr_r matrix for | |
| [out] | ierr | Error flag |


|
private |
Calculates the error in the mass matrix.
| [in] | supel | The superelement to calculate the mass matrix error for |
| [in] | elVd | Superelement velocity vector in local axis directions |
| [out] | momentError | Torque error estimate for the superelement |
| [out] | forceError | Force error estimate for the superelement |
| [out] | radiusVec | Vector from axis of rotation to center of gravity |
| [out] | ErrNorm | Error norms |
| [out] | ierr | Error flag |


| subroutine massmatrixcorrectionmodule::mmcmassmatrixwarning | ( | type(supeltype), intent(inout) | supel, |
| real(dp), dimension(:), intent(in) | uld, | ||
| integer, intent(out) | ierr | ||
| ) |
Checks the error in the mass matrix and print warning if increasing.
| supel | The superelement to check mass matrix error for | |
| [in] | uld | Superelement velocity vector in local axis directions |
| [out] | ierr | Error flag |


| subroutine massmatrixcorrectionmodule::mmcrigaccelvectors | ( | type(supeltype), intent(in) | supel, |
| real(dp), dimension(3), intent(in) | rotCenter, | ||
| real(dp), dimension(:,:), intent(out) | rigVdd | ||
| ) |
Generates the 6 rigid body acceleration vectors for a superelement.
| [in] | supel | The superelement to generate the acceleration vectors for |
| [in] | rotCenter | The rotation center of the superelement |
| [out] | rigVdd | Rigid body acceleration vectors of the superelement |

| subroutine massmatrixcorrectionmodule::mmcrigidmassproperties | ( | type(supeltype), intent(inout) | supel, |
| integer, intent(out) | ierr | ||
| ) |
Calculates the rigid body mass properties for a superelement.
| supel | The superelement to calculate mass properties for | |
| [out] | ierr | Error flag |

