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

Subroutines for stress and/or strain gage recovery during solving. More...

Data Types

type  stressrecoverymodule::recparttype
 Data type holding recovery data for superelements. More...
 

Modules

module  stressrecoverymodule
 Module with subroutines for recovery within the time integration loop.
 

Functions/Subroutines

type(strainrosettetype) function, pointer, public stressrecoverymodule::getstrainrosette (id)
 Returns pointer to (first) strain rosette object with specified ID. More...
 
subroutine, public stressrecoverymodule::getdeformation (id, data, ndat, idat)
 Returns deformation vector of the specified part. More...
 
integer function, public stressrecoverymodule::getdeformationsize (id)
 Returns the size of deformation vector for the specified part. More...
 
subroutine, public stressrecoverymodule::getstress (id, data, ndat, idat)
 Returns the array of von Mises stresses for the specified part. More...
 
integer function, public stressrecoverymodule::getstresssize (id)
 Returns the size of von Mises stress array for the specified part. More...
 
subroutine, public stressrecoverymodule::readstrainrosettes (infp, ierr)
 Initializes all strain rosette elements from the solver input file. More...
 
subroutine stressrecoverymodule::initstrainrosettes (ipsw, lpu, ierr)
 Initiates all strain rosettes with recovery data from superelements. More...
 
subroutine stressrecoverymodule::initstrainrosettesfromcore (ierr)
 Initiates all strain rosettes that are on parts marked for recovery. More...
 
subroutine, public stressrecoverymodule::initrecovery (sups, iop, trec1, ipsw, lpu, ierr)
 Initializes for superelement stress recovery. More...
 
integer function getgroupvmssize (sam)
 Returns the size of the in-core array with von Mises stresses. More...
 
subroutine, public stressrecoverymodule::writerecoveryheaders (frsFileName, modelFileName, sups, bRat, iop, ierr)
 Initializes the stress- and strain gage recovery frs-files. More...
 
character(len=lfnam_p) function getfilename (iNum, nameList)
 Extracts one file name from a comma-separated list. More...
 
subroutine, public stressrecoverymodule::closerecovery (finished, ierr)
 Closes files and deallocates memory associated with stress recovery. More...
 
subroutine, public stressrecoverymodule::stressrecovery (sups, iStep, time, doSave, trec, trec2, tsav, lPrint, jpsw, lpu, ierr)
 Calculates internal displacements and stresses in superelements. More...
 
subroutine recovernotsave (sup, recp, ierr)
 Recovers internal displacements and stresses without saving. More...
 
subroutine recoverandsave (sup, recp, ierr)
 Recovers internal displacements and stresses, and saves to file. More...
 
subroutine, public stressrecoverymodule::gagerecovery (sups, iStep, time, lPrint, lpu, ierr)
 Calculates strain gage results for the superelements. More...
 
subroutine calcgagestrains (rosette, finit, lpu, ierr)
 Convenience wrapper for some strainrosettemodule subroutines. More...
 
subroutine, public stressrecoverymodule::savegageresults (sups, iStep, time, ierr)
 Save strain gage results to the results database file. More...
 
subroutine, public stressrecoverymodule::flushrecoveryfiles (tsav, ierr)
 Flushes the strain gage results database file to disk. More...
 
subroutine, public stressrecoverymodule::getgagerecoveryfiles (chnames)
 Returns the file names of the gage recovery results database files. More...
 
subroutine, public stressrecoverymodule::writerosettes2ftn (sups, ierr)
 Writes a Fortran90 subroutine with the strain recovery matrices. More...
 
character(len=1) function i2c (i)
 Simple conversion of an integer (in range [0,36]) to a character. More...
 
subroutine writematrix (ndat, data, lastRos)
 Writes matrix data to a formatted file. More...
 
integer function, public stressrecoverymodule::getstraingagessize ()
 Returns the number of strain gage values. More...
 
subroutine, public stressrecoverymodule::initgagestrains (lSave, data, ierr)
 Saves/restores the initial gage strains to/from an in-core array. More...
 

Variables

type(recparttype), dimension(:), allocatable, save stressrecoverymodule::part
 Superelement recovery data container. More...
 
type(strainelementtype), dimension(:), pointer, save stressrecoverymodule::strainrosettes => null()
 Strain rosette container. More...
 

Detailed Description

Subroutines for stress and/or strain gage recovery during solving.

Function/Subroutine Documentation

◆ calcgagestrains()

subroutine gagerecovery::calcgagestrains ( type(strainrosettetype), intent(inout)  rosette,
real(rk), dimension(:), intent(in)  finit,
integer, intent(in)  lpu,
integer, intent(out)  ierr 
)

Convenience wrapper for some strainrosettemodule subroutines.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getfilename()

character(len=lfnam_p) function writerecoveryheaders::getfilename ( integer, intent(in)  iNum,
character(len=*), intent(in)  nameList 
)

Extracts one file name from a comma-separated list.

◆ getgroupvmssize()

integer function initrecovery::getgroupvmssize ( type(samtype), intent(in)  sam)

Returns the size of the in-core array with von Mises stresses.

◆ i2c()

character(len=1) function writerosettes2ftn::i2c ( integer, intent(in)  i)

Simple conversion of an integer (in range [0,36]) to a character.

◆ recoverandsave()

subroutine stressrecovery::recoverandsave ( type(supeltype), intent(in)  sup,
type(recparttype), intent(inout)  recp,
integer, intent(out)  ierr 
)

Recovers internal displacements and stresses, and saves to file.

If recovery on element group(s) is requested, this subroutine will calculate internal displacements only for those nodes connected to the elements in the specified element groups(s).

Parameters
[in]supSuperelement to recover for
[in,out]recpRecovery data for superelement
[out]ierrError flag
Here is the call graph for this function:
Here is the caller graph for this function:

◆ recovernotsave()

subroutine stressrecovery::recovernotsave ( type(supeltype), intent(in)  sup,
type(recparttype), intent(inout)  recp,
integer, intent(out)  ierr 
)

Recovers internal displacements and stresses without saving.

Parameters
[in]supSuperelement to recover for
[in,out]recpRecovery data for superelement
[out]ierrError flag
Here is the call graph for this function:
Here is the caller graph for this function:

◆ writematrix()

subroutine writerosettes2ftn::writematrix ( integer, intent(in)  ndat,
real(rk), dimension(ndat), intent(in)  data,
logical, intent(in)  lastRos 
)
private

Writes matrix data to a formatted file.