FEDEM Solver  R8.0
Source code of the dynamics solver
Data Types | Functions/Subroutines | Variables
normtypemodule Module Reference

Module with data types representing convergence norm objects. More...

Data Types

type  testitemtype
 Data type representing a convergence check definition. More...
 
type  testsettype
 Data type representing a set of convergence checks. More...
 

Functions/Subroutines

subroutine nullifyconvset (convSet)
 Initializes a set of convergence checks object. More...
 
subroutine deallocateconvset (convSet)
 Deallocates a set of convergence checks object. More...
 
subroutine initconvchecks (convSet, maxIt, monWorst, monIter, relTol, err)
 Initialize the convergence checks from command-line options. More...
 
subroutine, private inittolerance (tolType, normName, testItem)
 Initializes a convergence check with data from command-line. More...
 
logical function hasconverged (convSet, factor_opt)
 Checks if the state of the convergence checks set is converged. More...
 
subroutine checkdivergence (testItem, value, mayDiverge)
 Check if a given norm is showing sign of possible divergence. More...
 

Variables

integer, parameter nnormtypes_p = 4
 Total number of norm types. More...
 
integer, parameter ivecnorm_p = 1
 Index for L_2 displacement norm. More...
 
integer, parameter iinftra_p = 2
 Index for L_inf translation norm. More...
 
integer, parameter iinfrot_p = 3
 Index for L_inf rotation norm. More...
 
integer, parameter iinfgen_p = 4
 Index for L_inf generalized DOF norm. More...
 

Detailed Description

Module with data types representing convergence norm objects.

The module also contains subroutines for accessing the norm data.

Function/Subroutine Documentation

◆ checkdivergence()

subroutine normtypemodule::checkdivergence ( type(testitemtype), intent(inout)  testItem,
real(dp), intent(in)  value,
logical, intent(inout)  mayDiverge 
)

Check if a given norm is showing sign of possible divergence.

Parameters
testItemThe convergence check object to check for dovergence
[in]valueCurrent norm value
mayDivergeIf .true., a possible divergence is detected
Author
Knut Morten Okstad
Date
19 Mar 2004
Here is the caller graph for this function:

◆ deallocateconvset()

subroutine normtypemodule::deallocateconvset ( type(testsettype), intent(inout)  convSet)

Deallocates a set of convergence checks object.

Parameters
convSetThe normtypemodule::testsettype object to deallocate
Author
Knut Morten Okstad
Date
23 Jan 2017

◆ hasconverged()

logical function normtypemodule::hasconverged ( type(testsettype), intent(in)  convSet,
real(dp), intent(in), optional  factor_opt 
)

Checks if the state of the convergence checks set is converged.

Parameters
convSetSet of convergence checks
[in]factor_optOptional tolerance scaling factor
Author
Bjorn Haugen
Date
28 Mar 2003
Here is the caller graph for this function:

◆ initconvchecks()

subroutine normtypemodule::initconvchecks ( type(testsettype), intent(inout)  convSet,
integer, intent(in)  maxIt,
integer, intent(in)  monWorst,
integer, intent(in)  monIter,
real(dp), intent(in)  relTol,
integer, intent(out)  err 
)

Initialize the convergence checks from command-line options.

Parameters
convSetSet of convergence checks
[in]maxItMaximum number of iterations per time step
[in]monWorstNumber of DOFs to monitor on poor convergence
[in]monIterNumber of iterations to monitor before maxit
[in]relTolVelocity proportional tolerance on velocity corrections
[out]errError flag
Author
Knut Morten Okstad
Date
30 Jun 2004
Here is the call graph for this function:
Here is the caller graph for this function:

◆ inittolerance()

subroutine, private normtypemodule::inittolerance ( character(len=*), intent(in)  tolType,
character(len=*), intent(in)  normName,
type(testitemtype), intent(inout)  testItem 
)
private

Initializes a convergence check with data from command-line.

Parameters
[in]tolTypeCommand-line option to get convergence tolerance from
[in]normNameName of solution norm defining the convergence check
testItemThe convergence check object to initialize
Author
Knut Morten Okstad
Date
29 Apr 2003
Here is the caller graph for this function:

◆ nullifyconvset()

subroutine normtypemodule::nullifyconvset ( type(testsettype), intent(out)  convSet)

Initializes a set of convergence checks object.

Parameters
[out]convSetThe normtypemodule::testsettype object to initialize
Author
Knut Morten Okstad
Date
30 Jun 2004

Variable Documentation

◆ iinfgen_p

integer, parameter normtypemodule::iinfgen_p = 4

Index for L_inf generalized DOF norm.

◆ iinfrot_p

integer, parameter normtypemodule::iinfrot_p = 3

Index for L_inf rotation norm.

◆ iinftra_p

integer, parameter normtypemodule::iinftra_p = 2

Index for L_inf translation norm.

◆ ivecnorm_p

integer, parameter normtypemodule::ivecnorm_p = 1

Index for L_2 displacement norm.

◆ nnormtypes_p

integer, parameter normtypemodule::nnormtypes_p = 4

Total number of norm types.