|
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.