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

Functions/Subroutines

subroutine, public readgenericpart (infp, sup, ierr)
 Reads generic part properties from the solver input file. More...
 
subroutine estimaterigidstiffness (sup, mass, inertia, kt, kr)
 Calculates semi-rigid stiffness coefficients for a generic part. More...
 
subroutine assemblestiffness (sup, K, kt, kr, stiffness)
 Assembles the stiffness matrix for a generic part. More...
 
subroutine assemblemass (M, mass, inertia)
 Assembles the mass matrix for a generic part. More...
 
subroutine, public initiategenericparts (sups)
 Initializes more generic part data after system initialization. More...
 

Function/Subroutine Documentation

◆ assemblemass()

subroutine genericpartmodule::assemblemass ( real(dp), dimension(:,:), intent(out)  M,
real(dp), intent(in)  mass,
real(dp), dimension(:), intent(in)  inertia 
)

Assembles the mass matrix for a generic part.

Parameters
[out]MAssembled superelement mass matrix
[in]massTotal mass of the superelement
[in]inertiaTotal inertia of the superelement

Assuming that all mass is coupled to the first triad (the CoG).

Author
Knut Morten Okstad
Date
21 Jan 2004
Here is the caller graph for this function:

◆ assemblestiffness()

subroutine genericpartmodule::assemblestiffness ( type(supeltype), intent(in)  sup,
real(dp), dimension(:,:), intent(out)  K,
real(dp), intent(in)  kt,
real(dp), intent(in)  kr,
real(dp), dimension(:,:), intent(in)  stiffness 
)

Assembles the stiffness matrix for a generic part.

Parameters
[in]supThe superelement object representing the generic part
[out]KAssembled superelement stiffness matrix
[in]ktTranslational stiffness coefficient
[in]krRotational stiffness coefficient
[in]stiffnessIndividual nodal stiffness coefficients

The part of the stiffness matrix associated with the CoG and one of the other triads of the generic part is assumed to be:

[k] = | kt -kt*spin(e) -kt 0 |
| kr + spin(e)'*kt*spin(e) spin(e)'*kt -kr |
| kt 0 |
| symm. kr |

where kt and kr are diagonal 3x3 stiffness matrices for translational and rotational DOFs, respectively, and e is the eccentricity vector giving the relative position of the hard-point with respect to the CoG.

Author
Knut Morten Okstad
Date
21 Jan 2004
Here is the caller graph for this function:

◆ estimaterigidstiffness()

subroutine genericpartmodule::estimaterigidstiffness ( type(supeltype), intent(in)  sup,
real(dp), intent(in)  mass,
real(dp), dimension(:), intent(in)  inertia,
real(dp), intent(out)  kt,
real(dp), intent(out)  kr 
)

Calculates semi-rigid stiffness coefficients for a generic part.

Parameters
[in]supThe superelement object representing the generic part
[in]massTotal mass of the superelement
[in]inertiaTotal inertial of the superelement
[out]ktTranslational stiffness coefficient
[out]krRotational stiffness coefficient

This subroutine estimates the stiffness coefficients to be assigned at each triad of the superelement, such that it behaves like completely rigid. The estimate is based on the given mass and a user-specified target eigenfrequency.

Author
Knut Morten Okstad
Date
28 Oct 2004
Here is the caller graph for this function:

◆ initiategenericparts()

subroutine, public genericpartmodule::initiategenericparts ( type(supeltype), dimension(:), intent(inout)  sups)

Initializes more generic part data after system initialization.

Parameters
supsArray of all superelements in the model
Author
Knut Morten Okstad
Date
28 Aug 2013

◆ readgenericpart()

subroutine, public genericpartmodule::readgenericpart ( integer, intent(in)  infp,
type(supeltype), intent(inout)  sup,
integer, intent(out)  ierr 
)

Reads generic part properties from the solver input file.

Parameters
[in]infpFile unit number for the solver input file
supThe superelement object which is a generic part
[out]ierrError flag

This subroutine reads stiffness and mass properties for a generic part and generate the equivalent superelement matrices. Optionally, the center of gravity (CoG) triad is condensed condense out.

Author
Knut Morten Okstad
Date
16 Jan 2004
Here is the call graph for this function:
Here is the caller graph for this function: