|
Globals Library 1.0
|
Data Types | |
| type | file |
Functions/Subroutines | |
| logical function | ioerr (lun, errno, call_proc, add_msg, add_int) |
| Handle and write alert I/O warnings and errors. | |
| character(len=len(strin)) function | to_upper (strin) |
| Transform string to upper case. | |
| character(len=len(strin)) function | to_lower (strin) |
| Transform string to lowercase case. | |
| character(len=len_trim(adjustl(strin))) function | etb (strin) |
| Return string strin with no preceding and trailing spaces. | |
| character(len=len_trim(adjustl(strin))) function | erase_comment (strin) |
| Erase comments from a string. | |
| real(kind=double) function, dimension(3) | avg_vec3 (avg_type, veca, vecb, vecc) |
| Function that calculates vectors averages. | |
| real(kind=double) function | avg_scal (avg_type, a, b, c) |
| Function that calculates scalar averages. | |
| real(kind=double) function, dimension(3) | cross (veca, vecb) |
| Function that calculates cross-products. | |
| subroutine | isort (narray, array) |
Simple sort algorithm to sort in increasing order an integer array. To be used only for small array. Use globals::global_heapsort for big arrays. | |
| subroutine | unique_of_sorted (n_elements, elements, nunique) |
| Given a sorted array, it is returned with the list of uniques elements in the first positions. | |
| logical function | lexicographic_order (n, a, b) |
| Check if the first array is in lexicographic order with respect to the second. | |
| subroutine | global_heapsort (n, indx, i, j, isgn) |
| global_heapsort | |
| integer function | ifind (narray, array, tobefound) |
| ifind | |
| subroutine | double_col_permute (m, n, p, a) |
| double_col_permute | |
| subroutine | integer_col_permute (m, n, p, a) |
| integer_col_permute | |
| real(kind=double) function | p_norm (ndata, power, data, weight) |
| Evaluates the weighted p-norm. | |
| subroutine | ortogonalize (dim, nvectors, vectors, x) |
| Procedure orthogonalizing a vector w.r.t. a a set of vectors. | |
| subroutine | orthogonal_projection (ndim, vector, normal, res_proj) |
Procedure that computes the projection of a vector onto the plane orthogonal to another vector (normal) | |
| subroutine | fn_print (this, lun) |
Info procedure for globals::file | |
| character(len=len_trim(adjustl(str_file))) function | get_dirname (str_file) |
| subroutine | fn_init (this, lun_err, fn, lun, io_flag, mandatory_input, folder, verbose, info) |
Static constructor for globals::file | |
| subroutine | fn_kill (this, lun_err) |
Static destructor for globals::file | |
Variables | |
| integer, parameter | wrn_io = 1 |
| File or directory does not exist. | |
| integer, parameter | wrn_val = 3 |
| Error in input/outour parameter. | |
| integer, parameter | wrn_read = 11 |
| Error reading file. | |
| integer, parameter | wrn_write = 21 |
| Error writing file. | |
| integer, parameter | wrn_inp = 13 |
| Error in input parameter. | |
| integer, parameter | wrn_out = 23 |
| Error in outour parameter. | |
| integer, parameter | err_io = 101 |
| File or directory does not exist. | |
| integer, parameter | err_inp = 111 |
| Error in input parameter. | |
| integer, parameter | err_out = 121 |
| Error in outour parameter. | |
| integer, parameter | err_alloc = 131 |
| Error allocation failed. | |
| integer, parameter | err_dealloc = 141 |
| Error deallocation failed. | |
| integer, parameter | err_vtk = 151 |
| Error VTK library. | |
| integer, parameter | err_read = 161 |
| Error reading file. | |
| integer, parameter | err_write = 171 |
| Error writing file. | |
| integer, parameter | err_val = 201 |
| Error in parameter value. | |
| logical function globals::ioerr | ( | integer, intent(in) | lun, |
| integer, intent(in) | errno, | ||
| character(len=*), intent(in) | call_proc, | ||
| character(len=*), intent(in), optional | add_msg, | ||
| integer, intent(in), optional | add_int ) |
Handle and write alert I/O warnings and errors.
Error number convention:
| [in] | lun | I/O unit number for output of error messages |
| [in] | errno | error number |
| [in] | call_proc | name of the procedure where the error occured |
| [in] | add_msg | additional message to be printed (optional) |
| [in] | add_int | additional integer to be printed as string in the message (optional) |
.true. if execution continues (obviously no return otherwise as execution stops) | character(len=len(strin)) function globals::to_upper | ( | character(len=*), intent(in) | strin | ) |
Transform string to upper case.
Adapted from http://rosettacode.org/wiki/String_case#Fortran. Original author: Clive Page
| [in] | strin | input string |
| character(len=len(strin)) function globals::to_lower | ( | character(len=*), intent(in) | strin | ) |
Transform string to lowercase case.
Adapted from http://rosettacode.org/wiki/String_case#Fortran. Original author: Clive Page
| [in] | strin | input string |
| character(len=len_trim(adjustl(strin))) function globals::etb | ( | character(len=*), intent(in) | strin | ) |
Return string strin with no preceding and trailing spaces.
| [in] | strin | input string |
| character(len=len_trim(adjustl(strin))) function globals::erase_comment | ( | character(len=*), intent(in) | strin | ) |
Erase comments from a string.
A comment is a trailing string beginning with one of the following characters:
% TeX-style# script-bash-style| [in] | strin | input string |
| real(kind=double) function, dimension(3) globals::avg_vec3 | ( | integer, intent(in) | avg_type, |
| real(kind=double), dimension(3), intent(in) | veca, | ||
| real(kind=double), dimension(3), intent(in) | vecb, | ||
| real(kind=double), dimension(3), intent(in), optional | vecc ) |
Function that calculates vectors averages.
Cases:
| [in] | avg_type | type of average. 0: arithmetic average. |
| [in] | vec1 | vector to be averaged |
| [in] | vec2 | vector to be averaged |
| [in] | vec3 | vector to be averaged (optional) |
| real(kind=double) function globals::avg_scal | ( | integer, intent(in) | avg_type, |
| real(kind=double), intent(in) | a, | ||
| real(kind=double), intent(in) | b, | ||
| real(kind=double), intent(in), optional | c ) |
Function that calculates scalar averages.
Cases:
| [in] | avg_type | type of average. 0: arithmetic average. |
| [in] | A | scalar to be averaged |
| [in] | B | scalar to be averaged |
| [in] | C | scalar to be averaged (optional) |
| real(kind=double) function, dimension(3) globals::cross | ( | real(kind=double), dimension(3), intent(in) | veca, |
| real(kind=double), dimension(3), intent(in) | vecb ) |
Function that calculates cross-products.
| [in] | vec1 | vector |
| [in] | vec2 | vector |
double), dimension(3), vector | subroutine globals::isort | ( | integer, intent(in) | narray, |
| integer, dimension(narray), intent(inout) | array ) |
Simple sort algorithm to sort in increasing order an integer array. To be used only for small array. Use globals::global_heapsort for big arrays.
| [in] | narray | length array to be sorted |
| [in,out] | array | array to be sorted |
| subroutine globals::unique_of_sorted | ( | integer, intent(in) | n_elements, |
| integer, dimension(n_elements), intent(inout) | elements, | ||
| integer, intent(inout) | nunique ) |
Given a sorted array, it is returned with the list of uniques elements in the first positions.
| [in] | n_elements | length of the array elements |
| [in,out] | elements | sorted array |
| [in,out] | nunique | number of unique elements |
| logical function globals::lexicographic_order | ( | integer, intent(in) | n, |
| integer, dimension(n), intent(in) | a, | ||
| integer, dimension(n), intent(in) | b ) |
Check if the first array is in lexicographic order with respect to the second.
| [in] | n | dimension of the input arrays |
| [in] | a | first array of dimension n |
| [in] | b | second array of dimension n |
.true. if a is in lexicographic order wrt b, .false. otherwise | subroutine globals::global_heapsort | ( | integer ( kind = 4 ) | n, |
| integer ( kind = 4 ) | indx, | ||
| integer ( kind = 4 ) | i, | ||
| integer ( kind = 4 ) | j, | ||
| integer ( kind = 4 ) | isgn ) |
global_heapsort
| integer function globals::ifind | ( | integer, intent(in) | narray, |
| integer, dimension(narray), intent(in) | array, | ||
| integer, intent(in) | tobefound ) |
ifind
| subroutine globals::double_col_permute | ( | integer ( kind = 4 ) | m, |
| integer ( kind = 4 ) | n, | ||
| integer ( kind = 4 ), dimension(n) | p, | ||
| real ( kind = double ), dimension(m,n) | a ) |
double_col_permute
| subroutine globals::integer_col_permute | ( | integer ( kind = 4 ) | m, |
| integer ( kind = 4 ) | n, | ||
| integer ( kind = 4 ), dimension(n) | p, | ||
| integer ( kind = 4 ), dimension(m,n) | a ) |
integer_col_permute
| real(kind=double) function globals::p_norm | ( | integer, intent(in) | ndata, |
| real(kind=double), intent(in) | power, | ||
| real(kind=double), dimension(ndata), intent(in) | data, | ||
| real(kind=double), dimension(ndata), intent(in), optional | weight ) |
Evaluates the weighted p-norm.
| [in] | ndata | length of input array |
| [in] | power | power for p-norm (0 for infinity norm) |
| [in] | data | input array of dimension ndata |
| [in] | weight | array of weights (optional) |
data | subroutine globals::ortogonalize | ( | integer, intent(in) | dim, |
| integer, intent(in) | nvectors, | ||
| real(kind=double), dimension(dim,nvectors), intent(in) | vectors, | ||
| real(kind=double), dimension(dim), intent(inout) | x ) |
Procedure orthogonalizing a vector w.r.t. a a set of vectors.
| [in] | dim | vectors dimension |
| [in] | nvectors | number of vectors |
| [in] | vectors | set of vectors wrt x is orthogonalized |
| [in,out] | x | vector to be orthogonalized |
| subroutine globals::orthogonal_projection | ( | integer, intent(in) | ndim, |
| real(kind=double), dimension(ndim), intent(in) | vector, | ||
| real(kind=double), dimension(ndim), intent(in) | normal, | ||
| real(kind=double), dimension(ndim), intent(out) | res_proj ) |
Procedure that computes the projection of a vector onto the plane orthogonal to another vector (normal)
| [in] | ndim | dimension of the vectors |
| [in] | vector | vector to be projected (dimension ndim) |
| [in] | normal | normal to the plane (dimension ndim) |
| [out] | result | projected vector (dimension ndim) |
| subroutine globals::fn_print | ( | class(file), intent(in) | this, |
| integer, intent(in) | lun ) |
Info procedure for globals::file
Print the name of the file and the associated unit number
| [in] | lun | unit number for output message |
| character(len=len_trim(adjustl(str_file))) function globals::get_dirname | ( | character(len=*), intent(in) | str_file | ) |
Get directory name
| [in] | lun | unit number for output message |
| subroutine globals::fn_init | ( | class(file), intent(inout) | this, |
| integer, intent(in) | lun_err, | ||
| character(len=*), intent(in) | fn, | ||
| integer, intent(in) | lun, | ||
| character(len=*), intent(in) | io_flag, | ||
| logical, intent(in), optional | mandatory_input, | ||
| logical, intent(in), optional | folder, | ||
| logical, intent(in), optional | verbose, | ||
| integer, intent(inout), optional | info ) |
Static constructor for globals::file
| [in] | lun_err | unit number for error messages |
| [in] | fn | name of the file |
| [in] | lun | unit number to associate to the file |
| [in] | io_flag | "in" if filename is an input file and its existence must be checked, "out" if it is an output file |
| [in] | mandatory_input | (optional) specify if input file is mandatory: .true.: file is mandatory, stop if file does not exists (default value) .false.: file is optional, proceed if file does not exists |
| [in] | folder | (optional) specify if input file is a file or a folder:
|
| [in] | verbose | (optional) logical flag for additional messages |
| [in,out] | info | (optional) flag for existence of file: returns -1 if file does not exist |
| subroutine globals::fn_kill | ( | class(file), intent(inout) | this, |
| integer, intent(in) | lun_err ) |
| integer, parameter globals::wrn_io = 1 |
File or directory does not exist.
| integer, parameter globals::wrn_val = 3 |
Error in input/outour parameter.
| integer, parameter globals::wrn_read = 11 |
Error reading file.
| integer, parameter globals::wrn_write = 21 |
Error writing file.
| integer, parameter globals::wrn_inp = 13 |
Error in input parameter.
| integer, parameter globals::wrn_out = 23 |
Error in outour parameter.
| integer, parameter globals::err_io = 101 |
File or directory does not exist.
| integer, parameter globals::err_inp = 111 |
Error in input parameter.
| integer, parameter globals::err_out = 121 |
Error in outour parameter.
| integer, parameter globals::err_alloc = 131 |
Error allocation failed.
| integer, parameter globals::err_dealloc = 141 |
Error deallocation failed.
| integer, parameter globals::err_vtk = 151 |
Error VTK library.
| integer, parameter globals::err_read = 161 |
Error reading file.
| integer, parameter globals::err_write = 171 |
Error writing file.
| integer, parameter globals::err_val = 201 |
Error in parameter value.