utilities_mod Module

module~~utilities_mod~~UsesGraph module~utilities_mod utilities_mod iso_fortran_env iso_fortran_env iso_fortran_env->module~utilities_mod module~kinds_mod kinds_mod module~kinds_mod->module~utilities_mod
Help

Utility module containing miscellaneous tools that don't quite fit anywhere else.

Used By

module~~utilities_mod~~UsedByGraph module~utilities_mod utilities_mod program~basic_prg basic_prg module~utilities_mod->program~basic_prg module~plplotlib_mod plplotlib_mod module~utilities_mod->module~plplotlib_mod program~animate_prg animate_prg module~utilities_mod->program~animate_prg program~logo_prg logo_prg module~utilities_mod->program~logo_prg module~plplotlib_mod->program~basic_prg module~plplotlib_mod->program~animate_prg module~plplotlib_mod->program~logo_prg program~examples_prg examples_prg module~plplotlib_mod->program~examples_prg
Help

Variables

TypeVisibility AttributesNameInitial
integer, public, parameter:: stdin =INPUT_UNIT
integer, public, parameter:: stdout =OUTPUT_UNIT

Interfaces

public interface mixval

Return a 2-vector comprising the minimum and maximum values of an array

  • private function mixval_1(x) result(b)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:):: x

    Array to find extrema in

    Return Value real(kind=wp), dimension(2)

    Description

    Return [hi,low] for an array

  • private function mixval_2(x) result(b)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:,:):: x

    Array to find extrema in

    Return Value real(kind=wp), dimension(2)

    Description

    Return [hi,low] for an array

  • private function mixval_3(x) result(b)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:,:,:):: x

    Array to find extrema in

    Return Value real(kind=wp), dimension(2)

    Description

    Return [hi,low] for an array

public interface span

Return a the maximum-minumum values of an array

  • private function span_1(x) result(o)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:):: x

    Array to find span in

    Return Value real(kind=wp)

    Description

    Return hi-low for an array

  • private function span_2(x) result(o)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:,:):: x

    Array to find span in

    Return Value real(kind=wp)

    Description

    Return hi-low for an array

  • private function span_3(x) result(o)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:,:,:):: x

    Array to find span in

    Return Value real(kind=wp)

    Description

    Return hi-low for an array

public interface flatten

Reduce an array to one dimension

  • private function flatten_2(A) result(o)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:,:):: A

    Array to convert

    Return Value real(kind=wp), dimension(:),allocatable

    Description

    Convert a 2d array to 1d

  • private function flatten_3(A) result(o)

    Arguments

    Type IntentOptional AttributesName
    real(kind=wp), intent(in), dimension(:,:,:):: A

    Array to convert

    Return Value real(kind=wp), dimension(:),allocatable

    Description

    Convert a 3d array to 1d


Functions

public function linspace(l, h, N) result(o)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in) :: l

Low-bound for values

real(kind=wp), intent(in) :: h

High-bound for values

integer, intent(in), optional :: N

Number of values (default 20)

Return Value real(kind=wp), dimension(:),allocatable

Description

Return an array of evenly-spaced values

public function startsWith(text, str) result(o)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: text

Text to search

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

String to look for

Return Value logical

Description

Test if text starts with str

public function endsWith(text, str) result(o)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: text

Text to search

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

String to look for

Return Value logical

Description

Test if text ends with str

public function randomNormal() result(o)

Arguments

None

Return Value real(kind=wp)

Description

Return a sample from an approximate normal distribution with a mean of \(\mu=0\) and a standard deviation of \(\sigma=1\). In this approximate distribution, \(x\in[-6,6]\).

public function randomUniform() result(o)

Arguments

None

Return Value real(kind=wp)

Description

Return a sample from a uniform distribution in the range \(x\in[-1,1]\).

public function meshGridX(x, y) result(o)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: x

x-positions in grid

real(kind=wp), intent(in), dimension(:):: y

y-positions in grid

Return Value real(kind=wp), dimension(:,:),allocatable

Description

Construct a 2d array of X values from a structured grid

public function meshGridY(x, y) result(o)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: x

x-positions in grid

real(kind=wp), intent(in), dimension(:):: y

y-positions in grid

Return Value real(kind=wp), dimension(:,:),allocatable

Description

Construct a 2d array of Y values from a structured grid

public function colorize(s, c) result(o)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: s

String to colorize

integer, , dimension(3):: c

Color code in [r,g,b] where \(r,g,b\in[0,5]\)

Return Value character(len=:), allocatable

Description

Add terminal format codes to coloize a string

public elementalfunction real2char(a, f, l) result(o)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in) :: a

Real value to convert

character(len=*), intent(in), optional :: f

Format of result

integer, intent(in), optional :: l

Length of result

Return Value character(len=:), allocatable

Description

Convert a real to a character

public elementalfunction int2char(a, f, l) result(o)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: a

Integer value to convert

character(len=*), intent(in), optional :: f

Format of result

integer, intent(in), optional :: l

Length of result

Return Value character(len=:), allocatable

Description

Convert an integer to a character

public function mean(d) result(o)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: d

Return Value real(kind=wp)

Description

Compute the arithmetic mean of an array

public function stdev(d) result(o)

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(:):: d

Return Value real(kind=wp)

Description

Compute the standard deviation of an array


Subroutines

public subroutine showProgress(m, p)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: m

Message to show

real(kind=wp), intent(in) :: p

Progress level \(p\in[0,1]\)

Description

Show a progress bar with a message