FEDEM Solver  R8.0
Source code of the dynamics solver
Modules | Functions/Subroutines | Variables
samSolverModule.f90 File Reference

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

Modules

module  samsolvermodule
 Initialisation of the SAM data structure for the dynamics solver.
 

Functions/Subroutines

subroutine samsolvermodule::initsam (sam, ierr)
 Initializes the SAM data structure for fedem_solver. More...
 
subroutine samsolvermodule::initsam_dofstatus (triads, sups, joints, mpar, madof, msc, dofType, ierr)
 Initializes some nodal/dof arrays in SAM. More...
 
subroutine samsolvermodule::initsam_topology (sups, springs, dampers, joints, bElems, cElems, uElems, masses, tires, mpar, mmnpc, mpmnpc, ierr)
 Initializes element topology arrays in SAM. More...
 
subroutine samsolvermodule::initsam_constraints (motions, joints, higherPairs, mpar, madof, msc, mpmceq, mmceq, ttcc, mpreac, ierr)
 Initializes linear coupling arrays in SAM. More...
 
recursive integer function countindependentdofs (joint, ierr)
 Counts the number of free independent DOFs in a joint. More...
 
recursive subroutine connectindependentdofs (joint)
 Builds the linear coupling arrays mmceq/mpmceq for a joint. More...
 
subroutine gethpsystemdofs (out, inp, locSDOF, locMDOF, sysSDOF, sysMDOF)
 Gets the system DOFs for a higher pair object. More...
 
subroutine samsolvermodule::initsam_preassembly (sam, sysMat, ierr)
 Does final initialization of SAM (nodal reordering and preassembly). More...
 

Variables

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

Detailed Description

Initialisation of the SAM data structure for the dynamics solver.

Function/Subroutine Documentation

◆ connectindependentdofs()

recursive subroutine initsam_constraints::connectindependentdofs ( type(masterslavejointtype), intent(in)  joint)

Builds the linear coupling arrays mmceq/mpmceq for a joint.

This is a recursive subroutine accounting for possible chaining.

◆ countindependentdofs()

recursive integer function initsam_constraints::countindependentdofs ( type(masterslavejointtype), intent(in)  joint,
integer, intent(inout)  ierr 
)

Counts the number of free independent DOFs in a joint.

This is a recursive function accounting for possible chaining.

◆ gethpsystemdofs()

subroutine initsam_constraints::gethpsystemdofs ( type(masterslavejointtype), intent(inout)  out,
type(masterslavejointtype), intent(in)  inp,
integer, intent(in)  locSDOF,
integer, intent(in)  locMDOF,
integer, intent(out)  sysSDOF,
integer, intent(out)  sysMDOF 
)

Gets the system DOFs for a higher pair object.