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

Collection of explicit math functions. More...

Data Types

type  explicitfunctionsmodule::splinedata
 Data type for spline functions. More...
 
interface  explicitfunctionsmodule::funcvalue
 Evaluates a function. More...
 
interface  explicitfunctionsmodule::funcderivative
 Evaluates the derivative of a function. More...
 

Modules

module  explicitfunctionsmodule
 Module with explicit math functions.
 

Functions/Subroutines

subroutine, private explicitfunctionsmodule::funcvalue1 (ikf, ifunc, rfunc, x, fn, ierr)
 Evaluates an explicit function. More...
 
subroutine, private explicitfunctionsmodule::funcvalue2 (ikf, ifunc, rfunc, x, fn, ierr)
 Evaluates an (possibly) multi-argument explicit function. More...
 
subroutine, private explicitfunctionsmodule::funcderivative1 (ikf, iorder, ifunc, rfunc, x, fn, ierr)
 Evaluates the derivative of an explicit function. More...
 
subroutine, private explicitfunctionsmodule::funcderivative2 (ikf, iorder, ifunc, rfunc, x, fn, ierr)
 Evaluates the derivative of a multi-argument explicit function. More...
 
subroutine explicitfunctionsmodule::funcintegral (ikf, iorder, ifunc, rfunc, x, fn, ierr)
 Integrates an explicit function from 0.0 to x. More...
 
logical function explicitfunctionsmodule::canintegrateexplicitly (funcType, intOrder)
 Query function telling if a function can be integrated explicitly. More...
 
subroutine, private explicitfunctionsmodule::outofrangeerror (X, X0, X1)
 Prints an error message when function argument is out of range. More...
 
real(dp) function explicitfunctionsmodule::func1 (IFUNC, RFUNC, T, X)
 Simple sinusoidal function. More...
 
real(dp) function explicitfunctionsmodule::func2 (RFUNC, T, X, useTmin)
 Complex sinusoidal function composed of two sine waves. More...
 
real(dp) function explicitfunctionsmodule::func4 (IFUNC, RFUNC, T, X, IERR)
 Complex sinusoidal function composed of many sine waves. More...
 
real(dp) function explicitfunctionsmodule::func5 (IKF, IFUNC, RFUNC, constT, IERR)
 Servo simulator function. More...
 
real(dp) function explicitfunctionsmodule::func6 (IKF, IFUNC, RFUNC, T, IERR)
 Spline function. More...
 
subroutine explicitfunctionsmodule::deallocatesplines ()
 Deallocates all spline function data. More...
 
subroutine, private explicitfunctionsmodule::splin3 (X, Y, DERIV, N, Z, FVALUE, FDERIV, M, IOP, IERR)
 Computes a spline approximation from a set of points. More...
 
real(dp) function explicitfunctionsmodule::func8 (RFUNC, T, X, IERR)
 Evaluates the streamline wave profile at point X and time T. More...
 
real(dp) function explicitfunctionsmodule::func9 (IFUNC, RFUNC, T, X, IERR)
 Evaluates the embedded wave profile at point X and time T. More...
 
real(dp) function explicitfunctionsmodule::func10 (IKF, IFUNC, RFUNC, X, IERR)
 Evaluates a piece-wise linear function at the given point. More...
 
real(dp) function, private explicitfunctionsmodule::func10diff (IKF, IFUNC, RFUNC, X, IERR)
 Evaluates the derivative of a piece-wise linear function. More...
 
real(dp) function, private explicitfunctionsmodule::func10integral (IKF, IFUNC, RFUNC, X, IORD, IERR)
 Integrates a piece-wise linear function from 0.0 to X. More...
 
real(dp) function explicitfunctionsmodule::func11 (RFUNC, T)
 Ramp function. More...
 
real(dp) function, private explicitfunctionsmodule::rampintegral (IORD, X, OFFSET, SLOPE, X0, X3)
 Integrate a ramp function from 0.0 to X. More...
 
real(dp) function explicitfunctionsmodule::func12 (RFUNC, T)
 Step function. More...
 
real(dp) function explicitfunctionsmodule::func13 (RFUNC, T)
 Square pulse function. More...
 
real(dp) function explicitfunctionsmodule::func14 (RFUNC, T)
 Dirac pulse function. More...
 
real(dp) function explicitfunctionsmodule::func15 (RFUNC)
 Constant function. More...
 
real(dp) function explicitfunctionsmodule::func16 (RFUNC, T)
 Extended ramp function. More...
 
real(dp) function explicitfunctionsmodule::func17 (RFUNC, T)
 Linear function. More...
 
real(dp) function explicitfunctionsmodule::func18 (ikf, iFunc, rFunc, arg, ierr)
 Calls a C-function to read and interpolate a function from a file. More...
 
real(dp) function, private explicitfunctionsmodule::func18integral (ikf, iFunc, rFunc, arg, iorder, ierr)
 Calls a C-function to read and integrate a function from a file. More...
 
real(dp) function explicitfunctionsmodule::func19 (ikf, iFunc, arg, ierr)
 Calls a C-function to get function value of an expression function. More...
 
real(dp) function explicitfunctionsmodule::func19diff (ikf, iFunc, arg, ierr)
 Calls a C-function to get derivative of an expression function. More...
 
real(dp) function explicitfunctionsmodule::func20 (ikf, iFunc, args, ierr)
 Calls a C-function to get function value of an expression function. More...
 
real(dp) function explicitfunctionsmodule::func20diff (ikf, iFunc, args, ierr)
 Calls a C-function to get derivative of an expression function. More...
 
real(dp) function explicitfunctionsmodule::func21 (ikf, iFunc, rFunc, args, ierr)
 Calls a C-function to get function value of a user-defined function. More...
 
real(dp) function explicitfunctionsmodule::func21diff (ikf, iFunc, rFunc, args, ierr)
 Calls a C-function to get derivative of a user-defined function. More...
 
real(dp) function explicitfunctionsmodule::func22 (IKF, RFUNC, T, IERR)
 Smooth trajectory function. More...
 
real(dp) function trigfunc (x)
 Evaluates the trigonometric part of the trajectory function. More...
 

Variables

integer, parameter, private explicitfunctionsmodule::dp = kind(1.0D0)
 8-byte real (double) More...
 
real(dp), parameter, private explicitfunctionsmodule::pi = 3.141592653589793238_dp
 The value of π. More...
 
real(dp), parameter, private explicitfunctionsmodule::twopi = PI+PI
 The value of 2π. More...
 
real(dp), parameter, private explicitfunctionsmodule::epsarg_p = 1.0e-15_dp
 Argument tolerance. More...
 
integer, parameter explicitfunctionsmodule::maxfunc_p = 22
 Number of function types. More...
 
integer, parameter explicitfunctionsmodule::sinusoidal_p = 1
 
integer, parameter explicitfunctionsmodule::compl_sinus_p = 2
 
integer, parameter explicitfunctionsmodule::delayed_compl_sinus_p = 3
 
integer, parameter explicitfunctionsmodule::wave_sinus_p = 4
 
integer, parameter explicitfunctionsmodule::lin_vel_var_p = 5
 
integer, parameter explicitfunctionsmodule::spline_p = 6
 
integer, parameter explicitfunctionsmodule::wave_stokes5_p = 7
 
integer, parameter explicitfunctionsmodule::wave_streamline_p = 8
 
integer, parameter explicitfunctionsmodule::wave_embedded_p = 9
 
integer, parameter explicitfunctionsmodule::lin_var_p = 10
 
integer, parameter explicitfunctionsmodule::ramp_p = 11
 
integer, parameter explicitfunctionsmodule::step_p = 12
 
integer, parameter explicitfunctionsmodule::square_puls_p = 13
 
integer, parameter explicitfunctionsmodule::dirac_puls_p = 14
 
integer, parameter explicitfunctionsmodule::constant_p = 15
 
integer, parameter explicitfunctionsmodule::lim_ramp_p = 16
 
integer, parameter explicitfunctionsmodule::scale_p = 17
 
integer, parameter explicitfunctionsmodule::device_function_p = 18
 
integer, parameter explicitfunctionsmodule::math_expression_p = 19
 
integer, parameter explicitfunctionsmodule::user_defined_p = 21
 
integer, parameter explicitfunctionsmodule::smooth_traj_p = 22
 
character(len=19), dimension(maxfunc_p), parameter explicitfunctionsmodule::functype_p = (/ 'SINUSOIDAL ', 'COMPL_SINUS ', 'DELAYED_COMPL_SINUS', 'WAVE_SINUS ', 'LIN_VEL_VAR ', 'SPLINE ', 'WAVE_STOKES5 ', 'WAVE_STREAMLINE ', 'WAVE_EMBEDDED ', 'LIN_VAR ', 'RAMP ', 'STEP ', 'SQUARE_PULS ', 'DIRAC_PULS ', 'CONSTANT ', 'LIM_RAMP ', 'SCALE ', 'DEVICE_FUNCTION ', 'MATH_EXPRESSION ', 'MATH_EXPRESSION ', 'USER_DEFINED ', 'SMOOTH_TRAJ ' /)
 Function type names. More...
 
integer, save explicitfunctionsmodule::dbgfunc = 0
 File unit number of debug print. More...
 
integer, parameter explicitfunctionsmodule::nspln_p = 6
 Max. number of spline functions in core. More...
 
type(splinedata), dimension(nspln_p), save, private explicitfunctionsmodule::spl
 Internal spline data buffer. More...
 
integer, dimension(nspln_p), save explicitfunctionsmodule::last = 0
 Identifier for splines in core. More...
 

Detailed Description

Collection of explicit math functions.

Function/Subroutine Documentation

◆ trigfunc()

real(dp) function func22::trigfunc ( real(dp), intent(in)  x)

Evaluates the trigonometric part of the trajectory function.