dynamics_error_handling Module


Uses


Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=int32), public, parameter :: DYN_ARRAY_SIZE_ERROR = 100105

Defines an error for an improperly sized array.

integer(kind=int32), public, parameter :: DYN_CONSTRAINT_ERROR = 100102

Defines a constraint-related error.

integer(kind=int32), public, parameter :: DYN_INDEX_OUT_OF_RANGE = 100103

Defines an index out of range error.

integer(kind=int32), public, parameter :: DYN_INVALID_INPUT_ERROR = DIFFEQ_INVALID_INPUT_ERROR

Defines an error associated with an invalid input.

integer(kind=int32), public, parameter :: DYN_MATRIX_SIZE_ERROR = 100100

Defines an error associated with an incorrectly sized matrix.

integer(kind=int32), public, parameter :: DYN_MEMORY_ERROR = DIFFEQ_MEMORY_ALLOCATION_ERROR

Defines an error associated with memory allocations.

integer(kind=int32), public, parameter :: DYN_NONMONOTONIC_ARRAY_ERROR = 100104

Defines an error related to an array being nonmonotonic.

integer(kind=int32), public, parameter :: DYN_NULL_POINTER_ERROR = DIFFEQ_NULL_POINTER_ERROR

Defines an error associated with a null pointer.

integer(kind=int32), public, parameter :: DYN_TOLERANCE_TOO_SMALL_ERROR = FS_TOLERANCE_TOO_SMALL_ERROR

Defines an error related to the request of a too small tolerance value.

integer(kind=int32), public, parameter :: DYN_TOO_FEW_ITERATIONS_ERROR = FS_TOO_FEW_ITERATION_ERROR

Defines an error when too few iterations were allowed.

integer(kind=int32), public, parameter :: DYN_UNDERDEFINED_PROBLEM_EROR = FS_UNDERDEFINED_PROBLEM_ERROR

Defines an error for an underdefined problem.

integer(kind=int32), public, parameter :: DYN_ZERO_VALUED_FREQUENCY_ERROR = 100101

Defines an error associated with a zero-valued frequency.


Subroutines

public subroutine report_array_index_out_of_bounds_error(name, var, ind, sz, err)

Reports an array index-out-of-bounds error.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

character(len=*), intent(in) :: var

The name of the offending variable.

integer(kind=int32), intent(in) :: ind

The offending index.

integer(kind=int32), intent(in) :: sz

The array size.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_array_size_error(name, var, expected, actual, err)

Reports an array size error.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

character(len=*), intent(in) :: var

The name of the offending variable.

integer(kind=int32), intent(in) :: expected

The expected array size.

integer(kind=int32), intent(in) :: actual

The actual array size.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_constraint_count_error(name, expected, actual, err)

Reports an error associated with an incorrect number of constraints.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

integer(kind=int32), intent(in) :: expected

The expected number of constraints.

integer(kind=int32), intent(in) :: actual

The actual number of constraints.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_generic_counting_error(name, str1, val, str2, flag, err)

A generic error reporting routine.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

character(len=*), intent(in) :: str1

The first string.

integer(kind=int32), intent(in) :: val

The integer value.

character(len=*), intent(in) :: str2

The second string.

integer(kind=int32), intent(in) :: flag

The error flag.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_matrix_size_error(name, var, expect_rows, expect_cols, actual_rows, actual_cols, err)

Reports a matrix size error.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

character(len=*), intent(in) :: var

The name of the offending variable.

integer(kind=int32), intent(in) :: expect_rows

The expected number of rows.

integer(kind=int32), intent(in) :: expect_cols

The expected number of columns.

integer(kind=int32), intent(in) :: actual_rows

The actual number of rows.

integer(kind=int32), intent(in) :: actual_cols

The actual number of columns.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_matrix_size_mismatch_error(name, mtx1, mtx2, m1, n1, m2, n2, err)

Reports a mismatch in matrix sizes.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

character(len=*), intent(in) :: mtx1

The name of the first matrix.

character(len=*), intent(in) :: mtx2

The name of the second matrix.

integer(kind=int32), intent(in) :: m1

The number of rows in the first matrix.

integer(kind=int32), intent(in) :: n1

The number of columns in the first matrix.

integer(kind=int32), intent(in) :: m2

The number of rows in the second matrix.

integer(kind=int32), intent(in) :: n2

The number of columns in the second matrix.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_memory_error(name, flag, err)

Reports a memory allocation error.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

integer(kind=int32), intent(in) :: flag

The flag returned from the allocate statement.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_nonmonotonic_array_error(name, var, ind, err)

Reports a nonmonotonic array error.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

character(len=*), intent(in) :: var

The name of the offending variable.

integer(kind=int32), intent(in) :: ind

The index of the occurrence of nonmonotonicity.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_nonsquare_mass_matrix_error(name, m, n, err)

Reports an error relating to a non-square mass matrix.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

integer(kind=int32), intent(in) :: m

The number of rows found in the mass matrix.

integer(kind=int32), intent(in) :: n

The number of columns found in the mass matrix.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_nonsquare_matrix_error(name, var, m, n, err)

Reports an error relating to a non-square matrix.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

character(len=*), intent(in) :: var

The name of the offending variable.

integer(kind=int32), intent(in) :: m

The number of rows found in the matrix.

integer(kind=int32), intent(in) :: n

The number of columns found in the matrix.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_nonsquare_stiffness_matrix_error(name, m, n, err)

Reports an error relating to a non-square stiffness matrix.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

integer(kind=int32), intent(in) :: m

The number of rows found in the stiffness matrix.

integer(kind=int32), intent(in) :: n

The number of columns found in the stiffness matrix.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_null_forcing_routine_error(name, err)

Reports a null forcing routine pointer error.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_overconstraint_error(name, err)

Reports an overconstraint error.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_zero_difference_error(name, var1, val1, var2, val2, flag, err)

Reports a zero-difference between two variables where a non-zero difference was expected.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

character(len=*), intent(in) :: var1

The name of the first variable.

real(kind=real64), intent(in) :: val1

The value of the first variable.

character(len=*), intent(in) :: var2

The name of the second variable.

real(kind=real64), intent(in) :: val2

The value of the second variable.

integer(kind=int32), intent(in) :: flag

The error flag.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.

public subroutine report_zero_valued_frequency_error(name, index, err)

Reports an error associated with a zero-valued frequency value.

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

The name of the routine in which the error was found.

integer(kind=int32), intent(in) :: index

The array index at which the zero-valued frequency was found.

class(errors), intent(inout) :: err

An errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution.