FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Functions/Subroutines
motionroutinesmodule Module Reference

Module with subroutines for prescribed motion calculations. More...

Data Types

interface  updateprescribedmotions
 Updates the prescribed motions. More...
 

Functions/Subroutines

subroutine updateprescribedmotionsa (t, h, beta, gamma, sysVel, sysAcc, motions, linearStatic, ierr, lpu)
 Updates the prescribed motions. More...
 
subroutine updateprescribedmotionsb (motions, ierr)
 Updates the prescribed motions. More...
 
subroutine, public initprescribedvelacc (motions, sysVel, sysAcc)
 Inserts prescribed motion values into the system vectors. More...
 

Detailed Description

Module with subroutines for prescribed motion calculations.

This module contains a set of subroutines for updating the state- dependent prescribed motion objects.

Function/Subroutine Documentation

◆ initprescribedvelacc()

subroutine, public motionroutinesmodule::initprescribedvelacc ( type(motiontype), dimension(:), intent(in)  motions,
real(dp), dimension(:), intent(inout)  sysVel,
real(dp), dimension(:), intent(inout)  sysAcc 
)

Inserts prescribed motion values into the system vectors.

Parameters
[in]motionsArray of all prescribed motions in the model
sysVelSystem velocity vector
sysAccSystem acceleration vector

Only for prescribed velocities and accelerations. Does nothing for prescribed displacements.

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

◆ updateprescribedmotionsa()

subroutine motionroutinesmodule::updateprescribedmotionsa ( real(dp), intent(in)  t,
real(dp), intent(in)  h,
real(dp), intent(in)  beta,
real(dp), intent(in)  gamma,
real(dp), dimension(:), intent(in)  sysVel,
real(dp), dimension(:), intent(in)  sysAcc,
type(motiontype), dimension(:), intent(inout)  motions,
logical, intent(in)  linearStatic,
integer, intent(out)  ierr,
integer, intent(in), optional  lpu 
)
private

Updates the prescribed motions.

Parameters
[in]tCurrent simulation time
[in]hTime increment size
[in]betaNewmark time integration parameter
[in]gammaNewmark time integration parameter
[in]sysVelSystem velocity vector
[in]sysAccSystem acceleration vector
motionsArray of all prescribed motions in the model
[in]linearStaticIf .true., multi-load case linear static analysis
[in]lpuFile unit number for debug output of motions from file
[out]ierrError flag

A prescribed motion can be updated either by evaluating the general function connected to it, or by reading new values from the binary file provided. The latter approach is typically used in sub-model analysis.

Author
Knut Morten Okstad
Date
Oct 2004

◆ updateprescribedmotionsb()

subroutine motionroutinesmodule::updateprescribedmotionsb ( type(motiontype), dimension(:), intent(inout)  motions,
integer, intent(out)  ierr 
)

Updates the prescribed motions.

Parameters
motionsArray of all prescribed motions in the model
[out]ierrError flag

This version only (re)evaluates the prescribed motion functions, and is typically used after the initial configuration has been defined in order to ensure that all functions depending on other state variables are up to date before starting the time integration.

Author
Knut Morten Okstad
Date
Sep 2010