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

Initialisation of the SAM data structure for the dynamics solver. More...

Functions/Subroutines

subroutine initsam (sam, ierr)
 Initializes the SAM data structure for fedem_solver. More...
 
subroutine initsam_dofstatus (triads, sups, joints, mpar, madof, msc, dofType, ierr)
 Initializes some nodal/dof arrays in SAM. More...
 
subroutine initsam_topology (sups, springs, dampers, joints, bElems, cElems, uElems, masses, tires, mpar, mmnpc, mpmnpc, ierr)
 Initializes element topology arrays in SAM. More...
 
subroutine initsam_constraints (motions, joints, higherPairs, mpar, madof, msc, mpmceq, mmceq, ttcc, mpreac, ierr)
 Initializes linear coupling arrays in SAM. More...
 
subroutine initsam_preassembly (sam, sysMat, ierr)
 Does final initialization of SAM (nodal reordering and preassembly). More...
 

Variables

integer, parameter, private tradof_p = 1
 Translational DOF type flag. More...
 
integer, parameter, private rotdof_p = 2
 Rotational DOF type flag. More...
 
integer, parameter, private gendof_p = 3
 Generalized DOF type flag. More...
 

Detailed Description

Initialisation of the SAM data structure for the dynamics solver.

Function/Subroutine Documentation

◆ initsam()

subroutine samsolvermodule::initsam ( type(samtype), intent(out)  sam,
integer, intent(out)  ierr 
)

Initializes the SAM data structure for fedem_solver.

Parameters
[out]samData for managing system matrix assembly
[out]ierrError flag
Author
Knut Morten Okstad
Date
21 Jul 2000
Here is the caller graph for this function:

◆ initsam_constraints()

subroutine samsolvermodule::initsam_constraints ( type(motiontype), dimension(:), intent(inout)  motions,
type(masterslavejointtype), dimension(:), intent(inout), target  joints,
type(higherpairtype), dimension(:), intent(inout)  higherPairs,
integer, dimension(:), intent(inout)  mpar,
integer, dimension(:), intent(in)  madof,
integer, dimension(:), intent(inout)  msc,
integer, dimension(:), pointer  mpmceq,
integer, dimension(:), pointer  mmceq,
real(dp), dimension(:), pointer  ttcc,
integer, dimension(:), pointer  mpreac,
integer, intent(out)  ierr 
)

Initializes linear coupling arrays in SAM.

Parameters
motionsAll prescribed motions in the model
jointsAll joints in the model
higherPairsAll higher pair objects in the model
mparMatrix of parameters
[in]madofMatrix of accumulated DOFs
[in]mscMatrix of status codes
[out]mpmceqMatrix of pointers to MCEQs
[out]mmceqMatrix of constraint equation definitions
[out]ttccTable of constraint equation coefficients
[out]mpreacMatrix of pointers to reaction forces
[out]ierrError flag

This subroutine initializes the SAM arrays MPMCEQ, MMCEQ and TTCC based on Motion and Joint data. The array TTCC is here only initialized to zero (except for the higher pair constraints). The numerical values of the constraint equations are calculated by the subroutines updateDependencies and updatePrescribedMotions. The array MPREAC is also initialized by this subroutine based on Motion data and the fixed DOFs.

Author
Bjorn Haugen
Date
16 Oct 2000
Author
Knut Morten Okstad
Date
13 Oct 2004
Here is the caller graph for this function:

◆ initsam_dofstatus()

subroutine samsolvermodule::initsam_dofstatus ( type(triadtype), dimension(:), intent(inout)  triads,
type(supeltype), dimension(:), intent(inout)  sups,
type(masterslavejointtype), dimension(:), intent(inout)  joints,
integer, dimension(:), intent(inout)  mpar,
integer, dimension(:), pointer  madof,
integer, dimension(:), pointer  msc,
integer, dimension(:), pointer  dofType,
integer, intent(out)  ierr 
)

Initializes some nodal/dof arrays in SAM.

Parameters
triadsAll triads in the model
supsAll superelements in the model
jointsAll joints in the model
mparMatrix of parameters
[out]madofMatrix of accumulated DOFs
[out]mscMatrix of status codes
[out]dofTypeType flag for each DOF
[out]ierrError flag

This subroutine initializes the SAM arrays MADOF and MSC based on Triad, SupEl and Joint data. It also sets the type flag for each DOF (translational, rotational or generalized).

Author
Knut Morten Okstad
Date
21 Jul 2000
Here is the caller graph for this function:

◆ initsam_preassembly()

subroutine samsolvermodule::initsam_preassembly ( type(samtype), intent(inout)  sam,
type(sysmatrixtype), intent(out)  sysMat,
integer, intent(out)  ierr 
)

Does final initialization of SAM (nodal reordering and preassembly).

Parameters
samData for managing system matrix assembly
[out]sysMatSystem matrix to perform preassembly for
[out]ierrError flag
Author
Knut Morten Okstad
Date
26 Jul 2000
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initsam_topology()

subroutine samsolvermodule::initsam_topology ( type(supeltype), dimension(:), intent(inout)  sups,
type(springtype), dimension(:), intent(inout)  springs,
type(dampertype), dimension(:), intent(inout)  dampers,
type(masterslavejointtype), dimension(:), intent(inout)  joints,
type(bushingelementtype), dimension(:), intent(inout)  bElems,
type(contactelementtype), dimension(:), intent(inout)  cElems,
type(userdefeltype), dimension(:), intent(inout)  uElems,
type(masstype), dimension(:), intent(inout)  masses,
type(tiretype), dimension(:), intent(inout)  tires,
integer, dimension(:), intent(inout)  mpar,
integer, dimension(:), pointer  mmnpc,
integer, dimension(:), pointer  mpmnpc,
integer, intent(out)  ierr 
)

Initializes element topology arrays in SAM.

Parameters
supsAll superelements in the model
springsAll axial springs in the model
dampersAll axial dampers in the model
jointsAll joints in the model
bElemsAll bushing elements in the model
cElemsAll contact elements in the model
uElemsAll user-defined elements in the model
massesAll masses in the model
tiresAll tires in the model
mparMatrix of parameters
[out]mmnpcMatrix of nodal point correspondances
[out]mpmnpcMatrix of pointers to MNPCs
[out]ierrError flag

This subroutine initializes the SAM arrays MMNPC and MPMNPC based on SupEl, Spring, Damper, Joint and Tire data, and based on Bushing-, Contact-, User-defined- and Mass-element data.

Author
Knut Morten Okstad
Date
21 Jul 2000
Here is the caller graph for this function:

Variable Documentation

◆ gendof_p

integer, parameter, private samsolvermodule::gendof_p = 3
private

Generalized DOF type flag.

◆ rotdof_p

integer, parameter, private samsolvermodule::rotdof_p = 2
private

Rotational DOF type flag.

◆ tradof_p

integer, parameter, private samsolvermodule::tradof_p = 1
private

Translational DOF type flag.