FEDEM Solver
R8.0
Source code of the dynamics solver
|
Generic solver utilities. More...
Modules | |
module | solverroutinesmodule |
Module with some generic solver utilities. | |
Functions/Subroutines | |
subroutine | solverroutinesmodule::calculateiterationnorms (sam, sys, iter, ierr) |
Calculates all iteration norms defined in the system. More... | |
subroutine | solverroutinesmodule::calculateiterationtolerances (sam, sys) |
Calculates all iteration tolerances defined in the system. More... | |
subroutine | solverroutinesmodule::iterationaccelerator (iter, res, del, ierr) |
Accelerates the solution increment in case of line search. More... | |
subroutine | solverroutinesmodule::savestep (sys, mech, ctrl, ierr, checkTimeStep) |
Saves response variables of current time step to file. More... | |
logical function | savenext (lastTime, saveSkip) |
Convenience function checking if next step should be saved or not. More... | |
subroutine | solverroutinesmodule::terminatestep (sam, sys, mech, ctrl, linearStatic, finalStep, ierr) |
Terminates a time step by doing some final calculations. More... | |
subroutine | solverroutinesmodule::updatepreviousstate (sam, sys, mech, ierr) |
Updates the previous state variables in the mechanism objects. More... | |
subroutine | solverroutinesmodule::restorelaststep (sam, sys, mech) |
Restores all state variables from the last converged time step. More... | |
subroutine | solverroutinesmodule::clearvelacc (triads, joints, notify) |
Clears velocity and acceleration variables in the triads and joints. More... | |
elemental logical function | nonzero (value) |
Checks if a value is nonzero or not with some tolerance. More... | |
subroutine | notifyclear (objType, objId, var) |
Notifies on clearing velocity or acceleration variables. More... | |
subroutine | solverroutinesmodule::closesolverdb (mech, anyRes, ierr) |
Closes all solver data base files before program termination. More... | |
subroutine | solverroutinesmodule::printmassdistribution (sups, masses, tires, elms, gravity, totMass, lpu) |
Prints a summary of the mass distribution to the res-file. More... | |
real(dp) function | getmass (mass, gdir) |
Extracts equivalent mass in a given direction for a mass element. More... | |
subroutine | mat2tensor (M, T) |
Converts a 3x3 matrix into a second-order tensor. More... | |
subroutine | getassmass (assemb, mass, CG) |
Sums up masses and CG for sub-assemblies. More... | |
subroutine | solverroutinesmodule::printresults (time, triads, sups, iprint, lpu) |
Prints basic simulation variables to the res-file. More... | |
logical function | printthis (tId) |
Checks if a given triad should be printed or not. More... | |
subroutine | solverroutinesmodule::printconvergence (lpu, fileFormat, iStep, iter, tanUpdate, time, timeStep, del, res, convData, sam, mech) |
Prints convergence information to the res-file. More... | |
subroutine | writenormheadings (norms) |
Writes the heading of the iteration norms. More... | |
subroutine | writenormvalues (norms) |
Writes the iteration norms values. More... | |
Variables | |
integer(ik), dimension(:), allocatable, save | solverroutinesmodule::meqerr |
All singular equations found. More... | |
real(dp), dimension(4), save, private | solverroutinesmodule::lastime = -1.0e99_dp |
Previous save times. More... | |
Generic solver utilities.
subroutine printmassdistribution::getassmass | ( | character(len=*), intent(in) | assemb, |
real(dp), intent(in) | mass, | ||
real(dp), dimension(3), intent(in) | CG | ||
) |
Sums up masses and CG for sub-assemblies.
real(dp) function printmassdistribution::getmass | ( | type(masstype), intent(in) | mass, |
real(dp), dimension(3), intent(in) | gdir | ||
) |
Extracts equivalent mass in a given direction for a mass element.
subroutine printmassdistribution::mat2tensor | ( | real(dp), dimension(3,3), intent(in) | M, |
real(dp), dimension(6), intent(out) | T | ||
) |
Converts a 3x3 matrix into a second-order tensor.
The matrix is assumed symmetric. The tensor storage scheme is: T11, T22, T33, T12, T13, T23.
elemental logical function clearvelacc::nonzero | ( | real(dp), intent(in) | value | ) |
Checks if a value is nonzero or not with some tolerance.
subroutine clearvelacc::notifyclear | ( | character(len=*), intent(in) | objType, |
type(idtype), intent(in) | objId, | ||
character(len=*), intent(in) | var | ||
) |
Notifies on clearing velocity or acceleration variables.
logical function printresults::printthis | ( | type(idtype), intent(in) | tId | ) |
Checks if a given triad should be printed or not.
logical function savestep::savenext | ( | real(dp), intent(inout) | lastTime, |
real(dp), intent(in) | saveSkip | ||
) |
Convenience function checking if next step should be saved or not.
subroutine printconvergence::writenormheadings | ( | type(testitemtype), dimension(:), intent(in) | norms | ) |
Writes the heading of the iteration norms.
subroutine printconvergence::writenormvalues | ( | type(testitemtype), dimension(:), intent(in) | norms | ) |
Writes the iteration norms values.