FEDEM Solver
R8.0
Source code of the dynamics solver
|
Data Types | |
type | splinedata |
interface | funcvalue |
interface | funcderivative |
Functions/Subroutines | |
subroutine, private | funcvalue1 (ikf, ifunc, rfunc, x, fn, ierr) |
subroutine, private | funcvalue2 (ikf, ifunc, rfunc, x, fn, ierr) |
subroutine, private | funcderivative1 (ikf, iorder, ifunc, rfunc, x, fn, ierr) |
subroutine, private | funcderivative2 (ikf, iorder, ifunc, rfunc, x, fn, ierr) |
subroutine | funcintegral (ikf, iorder, ifunc, rfunc, x, fn, ierr) |
logical function | canintegrateexplicitly (funcType, intOrder) |
subroutine, private | outofrangeerror (X, X0, X1) |
real(dp) function | func1 (IFUNC, RFUNC, T, X) |
real(dp) function | func2 (RFUNC, T, X) |
real(dp) function | func3 (RFUNC, T, X) |
real(dp) function | func4 (IFUNC, RFUNC, T, X, IERR) |
real(dp) function | func5 (IKF, IFUNC, RFUNC, constT, IERR) |
real(dp) function | func6 (IKF, IFUNC, RFUNC, T, IERR) |
subroutine | deallocatesplines () |
subroutine, private | splin3 (X, Y, DERIV, N, Z, FVALUE, FDERIV, M, IOP, IERR) |
real(dp) function | func8 (RFUNC, T, X, IERR) |
real(dp) function | func9 (IFUNC, RFUNC, T, X, IERR) |
real(dp) function | func10 (IKF, IFUNC, RFUNC, X, IERR) |
real(dp) function, private | func10diff (IKF, IFUNC, RFUNC, X, IERR) |
real(dp) function, private | func10integral (IKF, IFUNC, RFUNC, X, IORD, IERR) |
real(dp) function | func11 (RFUNC, T) |
real(dp) function, private | rampintegral (IORD, X, OFFSET, SLOPE, X0, X3) |
real(dp) function | func12 (RFUNC, T) |
real(dp) function | func13 (RFUNC, T) |
real(dp) function | func14 (RFUNC, T) |
real(dp) function | func15 (RFUNC) |
real(dp) function | func16 (RFUNC, T) |
real(dp) function | func17 (RFUNC, T) |
real(dp) function | func18 (ikf, iFunc, rFunc, arg, ierr) |
real(dp) function, private | func18integral (ikf, iFunc, rFunc, arg, iorder, ierr) |
real(dp) function | func19 (ikf, iFunc, arg, ierr) |
real(dp) function | func19diff (ikf, iFunc, arg, ierr) |
real(dp) function | func20 (ikf, iFunc, args, ierr) |
real(dp) function | func20diff (ikf, iFunc, args, ierr) |
real(dp) function | func21 (ikf, iFunc, rFunc, args, ierr) |
real(dp) function | func21diff (ikf, iFunc, rFunc, args, ierr) |
real(dp) function | func22 (IKF, RFUNC, T, IERR) |
Variables | |
integer, parameter, private | dp = kind(1.0D0) |
real(dp), parameter, private | pi = 3.141592653589793238_dp |
real(dp), parameter, private | twopi = PI+PI |
real(dp), parameter, private | epsarg_p = 1.0e-15_dp |
integer, parameter | maxfunc_p = 22 |
integer, parameter | nspln_p = 6 |
integer, parameter | sinusoidal_p = 1 |
integer, parameter | compl_sinus_p = 2 |
integer, parameter | delayed_compl_sinus_p = 3 |
integer, parameter | wave_sinus_p = 4 |
integer, parameter | lin_vel_var_p = 5 |
integer, parameter | spline_p = 6 |
integer, parameter | wave_stokes5_p = 7 |
integer, parameter | wave_streamline_p = 8 |
integer, parameter | wave_embedded_p = 9 |
integer, parameter | lin_var_p = 10 |
integer, parameter | ramp_p = 11 |
integer, parameter | step_p = 12 |
integer, parameter | square_puls_p = 13 |
integer, parameter | dirac_puls_p = 14 |
integer, parameter | constant_p = 15 |
integer, parameter | lim_ramp_p = 16 |
integer, parameter | scale_p = 17 |
integer, parameter | device_function_p = 18 |
integer, parameter | math_expression_p = 19 |
integer, parameter | user_defined_p = 21 |
integer, parameter | smooth_traj_p = 22 |
character(len=19), dimension(maxfunc_p), parameter | 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 ', '-------------------', 'USER_DEFINED ', 'SMOOTH_TRAJ ' /) |
integer, save | dbgfunc = 0 |
type(splinedata), dimension(nspln_p), save, private | spl |
integer, dimension(nspln_p), save | last = 0 |
logical function explicitfunctionsmodule::canintegrateexplicitly | ( | integer, intent(in) | funcType, |
integer, intent(in) | intOrder | ||
) |
subroutine explicitfunctionsmodule::deallocatesplines |
real(dp) function explicitfunctionsmodule::func1 | ( | integer, dimension(3), intent(in) | IFUNC, |
real(dp), dimension(:), intent(in) | RFUNC, | ||
real(dp), intent(in) | T, | ||
real(dp), intent(in) | X | ||
) |
real(dp) function explicitfunctionsmodule::func10 | ( | integer, intent(in) | IKF, |
integer, dimension(:), intent(in) | IFUNC, | ||
real(dp), dimension(:,:), intent(in) | RFUNC, | ||
real(dp), intent(in) | X, | ||
integer, intent(inout) | IERR | ||
) |
|
private |
|
private |
real(dp) function explicitfunctionsmodule::func11 | ( | real(dp), dimension(3), intent(in) | RFUNC, |
real(dp), intent(in) | T | ||
) |
real(dp) function explicitfunctionsmodule::func12 | ( | real(dp), dimension(3), intent(in) | RFUNC, |
real(dp), intent(in) | T | ||
) |
real(dp) function explicitfunctionsmodule::func13 | ( | real(dp), dimension(4), intent(in) | RFUNC, |
real(dp), intent(in) | T | ||
) |
real(dp) function explicitfunctionsmodule::func14 | ( | real(dp), dimension(4), intent(in) | RFUNC, |
real(dp), intent(in) | T | ||
) |
real(dp) function explicitfunctionsmodule::func16 | ( | real(dp), dimension(4), intent(in) | RFUNC, |
real(dp), intent(in) | T | ||
) |
real(dp) function explicitfunctionsmodule::func17 | ( | real(dp), dimension(1), intent(in) | RFUNC, |
real(dp), intent(in) | T | ||
) |
real(dp) function explicitfunctionsmodule::func18 | ( | integer, intent(in) | ikf, |
integer, dimension(5), intent(in) | iFunc, | ||
real(dp), dimension(2), intent(in) | rFunc, | ||
real(dp), intent(in) | arg, | ||
integer, intent(inout) | ierr | ||
) |
|
private |
real(dp) function explicitfunctionsmodule::func19 | ( | integer, intent(in) | ikf, |
integer, dimension(3), intent(in) | iFunc, | ||
real(dp), intent(in) | arg, | ||
integer, intent(inout) | ierr | ||
) |
real(dp) function explicitfunctionsmodule::func19diff | ( | integer, intent(in) | ikf, |
integer, dimension(3), intent(in) | iFunc, | ||
real(dp), intent(in) | arg, | ||
integer, intent(inout) | ierr | ||
) |
real(dp) function explicitfunctionsmodule::func2 | ( | real(dp), dimension(:), intent(in) | RFUNC, |
real(dp), intent(in) | T, | ||
real(dp), intent(in) | X | ||
) |
real(dp) function explicitfunctionsmodule::func20 | ( | integer, intent(in) | ikf, |
integer, dimension(4), intent(in) | iFunc, | ||
real(dp), dimension(:), intent(in) | args, | ||
integer, intent(inout) | ierr | ||
) |
real(dp) function explicitfunctionsmodule::func20diff | ( | integer, intent(in) | ikf, |
integer, dimension(4), intent(in) | iFunc, | ||
real(dp), dimension(:), intent(in) | args, | ||
integer, intent(inout) | ierr | ||
) |
real(dp) function explicitfunctionsmodule::func21 | ( | integer, intent(in) | ikf, |
integer, dimension(4), intent(in) | iFunc, | ||
real(dp), dimension(:), intent(in) | rFunc, | ||
real(dp), dimension(:), intent(in) | args, | ||
integer, intent(inout) | ierr | ||
) |
real(dp) function explicitfunctionsmodule::func21diff | ( | integer, intent(in) | ikf, |
integer, dimension(4), intent(in) | iFunc, | ||
real(dp), dimension(:), intent(in) | rFunc, | ||
real(dp), dimension(:), intent(in) | args, | ||
integer, intent(inout) | ierr | ||
) |
real(dp) function explicitfunctionsmodule::func22 | ( | integer, intent(in) | IKF, |
real(dp), dimension(4), intent(in) | RFUNC, | ||
real(dp), intent(in) | T, | ||
integer, intent(inout) | IERR | ||
) |
real(dp) function explicitfunctionsmodule::func3 | ( | real(dp), dimension(:), intent(in) | RFUNC, |
real(dp), intent(in) | T, | ||
real(dp), intent(in) | X | ||
) |
real(dp) function explicitfunctionsmodule::func4 | ( | integer, dimension(:), intent(in) | IFUNC, |
real(dp), dimension(:), intent(in) | RFUNC, | ||
real(dp), intent(in) | T, | ||
real(dp), intent(in) | X, | ||
integer, intent(inout) | IERR | ||
) |
real(dp) function explicitfunctionsmodule::func5 | ( | integer, intent(in) | IKF, |
integer, dimension(:), intent(in) | IFUNC, | ||
real(dp), dimension(:), intent(in) | RFUNC, | ||
real(dp), intent(in) | constT, | ||
integer, intent(inout) | IERR | ||
) |
real(dp) function explicitfunctionsmodule::func6 | ( | integer, intent(in) | IKF, |
integer, dimension(:), intent(in) | IFUNC, | ||
real(dp), dimension(:,:), intent(in) | RFUNC, | ||
real(dp), intent(in) | T, | ||
integer, intent(inout) | IERR | ||
) |
real(dp) function explicitfunctionsmodule::func8 | ( | real(dp), dimension(:), intent(in) | RFUNC, |
real(dp), intent(in) | T, | ||
real(dp), intent(in) | X, | ||
integer, intent(inout) | IERR | ||
) |
real(dp) function explicitfunctionsmodule::func9 | ( | integer, dimension(:), intent(in) | IFUNC, |
real(dp), dimension(:), intent(in) | RFUNC, | ||
real(dp), intent(in) | T, | ||
real(dp), intent(in) | X, | ||
integer, intent(inout) | IERR | ||
) |
|
private |
|
private |
subroutine explicitfunctionsmodule::funcintegral | ( | integer, intent(in) | ikf, |
integer, intent(in) | iorder, | ||
integer, dimension(:), intent(in) | ifunc, | ||
real(dp), dimension(:), intent(in) | rfunc, | ||
real(dp), intent(in) | x, | ||
real(dp), intent(out) | fn, | ||
integer, intent(inout) | ierr | ||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
integer, parameter explicitfunctionsmodule::compl_sinus_p = 2 |
integer, parameter explicitfunctionsmodule::constant_p = 15 |
integer, save explicitfunctionsmodule::dbgfunc = 0 |
integer, parameter explicitfunctionsmodule::delayed_compl_sinus_p = 3 |
integer, parameter explicitfunctionsmodule::device_function_p = 18 |
integer, parameter explicitfunctionsmodule::dirac_puls_p = 14 |
|
private |
|
private |
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 ', '-------------------', 'USER_DEFINED ', 'SMOOTH_TRAJ ' /) |
integer, dimension(nspln_p), save explicitfunctionsmodule::last = 0 |
integer, parameter explicitfunctionsmodule::lim_ramp_p = 16 |
integer, parameter explicitfunctionsmodule::lin_var_p = 10 |
integer, parameter explicitfunctionsmodule::lin_vel_var_p = 5 |
integer, parameter explicitfunctionsmodule::math_expression_p = 19 |
integer, parameter explicitfunctionsmodule::maxfunc_p = 22 |
integer, parameter explicitfunctionsmodule::nspln_p = 6 |
|
private |
integer, parameter explicitfunctionsmodule::ramp_p = 11 |
integer, parameter explicitfunctionsmodule::scale_p = 17 |
integer, parameter explicitfunctionsmodule::sinusoidal_p = 1 |
integer, parameter explicitfunctionsmodule::smooth_traj_p = 22 |
|
private |
integer, parameter explicitfunctionsmodule::spline_p = 6 |
integer, parameter explicitfunctionsmodule::square_puls_p = 13 |
integer, parameter explicitfunctionsmodule::step_p = 12 |
|
private |
integer, parameter explicitfunctionsmodule::user_defined_p = 21 |
integer, parameter explicitfunctionsmodule::wave_embedded_p = 9 |
integer, parameter explicitfunctionsmodule::wave_sinus_p = 4 |
integer, parameter explicitfunctionsmodule::wave_stokes5_p = 7 |
integer, parameter explicitfunctionsmodule::wave_streamline_p = 8 |