FEDEM Solver  R8.0
Source code of the dynamics solver
Functions/Subroutines
massmatrixcorrectionmodule Module Reference

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...
 

Detailed Description

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.

Function/Subroutine Documentation

◆ mmcgetmasstorquecorrection()

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.

Parameters
[in]supThe superelement to calculate for correction vector for
Author
Karl Erik Thoresen / Bjorn Haugen
Date
1990s
Author
Knut Morten Okstad
Date
21 Jan 2004
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mmcinitmassmatrixcorrection()

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.

Parameters
supelThe superelement to calculate the rtr_r matrix for
[out]ierrError flag
Author
Karl Erik Thoresen / Bjorn Haugen
Date
1990s
Author
Knut Morten Okstad
Date
21 Jan 2004
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mmcmassmatrixcorrection()

subroutine, private massmatrixcorrectionmodule::mmcmassmatrixcorrection ( type(supeltype), intent(in)  supel,
real(dp), dimension(:), intent(in)  elVd,
real(dp), dimension(3), intent(out)  momentError,
real(dp), dimension(3), intent(out)  forceError,
real(dp), dimension(3), intent(out), optional  radiusVec,
real(dp), dimension(2), intent(out), optional  ErrNorm,
integer, intent(out), optional  ierr 
)
private

Calculates the error in the mass matrix.

Parameters
[in]supelThe superelement to calculate the mass matrix error for
[in]elVdSuperelement velocity vector in local axis directions
[out]momentErrorTorque error estimate for the superelement
[out]forceErrorForce error estimate for the superelement
[out]radiusVecVector from axis of rotation to center of gravity
[out]ErrNormError norms
[out]ierrError flag
Author
Karl Erik Thoresen / Bjorn Haugen
Date
1990s
Author
Knut Morten Okstad
Date
21 Jan 2004
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mmcmassmatrixwarning()

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.

Parameters
supelThe superelement to check mass matrix error for
[in]uldSuperelement velocity vector in local axis directions
[out]ierrError flag
Author
Karl Erik Thoresen / Bjorn Haugen
Date
1990s
Author
Knut Morten Okstad
Date
21 Jan 2004
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mmcrigaccelvectors()

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.

Parameters
[in]supelThe superelement to generate the acceleration vectors for
[in]rotCenterThe rotation center of the superelement
[out]rigVddRigid body acceleration vectors of the superelement
Author
Bjorn Haugen
Date
Oct 1999
Here is the caller graph for this function:

◆ mmcrigidmassproperties()

subroutine massmatrixcorrectionmodule::mmcrigidmassproperties ( type(supeltype), intent(inout)  supel,
integer, intent(out)  ierr 
)

Calculates the rigid body mass properties for a superelement.

Parameters
supelThe superelement to calculate mass properties for
[out]ierrError flag
Author
Bjorn Haugen
Date
1 Oct 1997
Author
Karl Erik Thoresen
Date
4 Jun 1998
Author
Bjorn Haugen
Date
14 Oct 1999
Author
Knut Morten Okstad
Date
21 Jan 2004
Here is the call graph for this function:
Here is the caller graph for this function: