FEDEM Solver
R8.0
Source code of the dynamics solver
|
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... | |
Initialisation of the SAM data structure for the dynamics solver.
subroutine samsolvermodule::initsam | ( | type(samtype), intent(out) | sam, |
integer, intent(out) | ierr | ||
) |
Initializes the SAM data structure for fedem_solver.
[out] | sam | Data for managing system matrix assembly |
[out] | ierr | Error flag |
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.
motions | All prescribed motions in the model | |
joints | All joints in the model | |
higherPairs | All higher pair objects in the model | |
mpar | Matrix of parameters | |
[in] | madof | Matrix of accumulated DOFs |
[in] | msc | Matrix of status codes |
[out] | mpmceq | Matrix of pointers to MCEQs |
[out] | mmceq | Matrix of constraint equation definitions |
[out] | ttcc | Table of constraint equation coefficients |
[out] | mpreac | Matrix of pointers to reaction forces |
[out] | ierr | Error 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.
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.
triads | All triads in the model | |
sups | All superelements in the model | |
joints | All joints in the model | |
mpar | Matrix of parameters | |
[out] | madof | Matrix of accumulated DOFs |
[out] | msc | Matrix of status codes |
[out] | dofType | Type flag for each DOF |
[out] | ierr | Error 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).
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).
sam | Data for managing system matrix assembly | |
[out] | sysMat | System matrix to perform preassembly for |
[out] | ierr | Error flag |
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.
sups | All superelements in the model | |
springs | All axial springs in the model | |
dampers | All axial dampers in the model | |
joints | All joints in the model | |
bElems | All bushing elements in the model | |
cElems | All contact elements in the model | |
uElems | All user-defined elements in the model | |
masses | All masses in the model | |
tires | All tires in the model | |
mpar | Matrix of parameters | |
[out] | mmnpc | Matrix of nodal point correspondances |
[out] | mpmnpc | Matrix of pointers to MNPCs |
[out] | ierr | Error 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.
|
private |
Generalized DOF type flag.
|
private |
Rotational DOF type flag.
|
private |
Translational DOF type flag.