The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines | Variables
oft_local Module Reference

Detailed Description

Machine and compiler specific settings.

Machine and compiler specific settings and global constants.

Author
Chris Hansen
Date
June 2010

Data Types

interface  get_inverse_map
 Generate inverse of sparse indexing. More...
 
type  oft_1d_comp
 One dimensional complex set. More...
 
interface  oft_1d_func
 Generic interface for 1D function. More...
 
type  oft_1d_int
 One dimensional integer set. More...
 
type  oft_1d_real
 One dimensional real set. More...
 
interface  oft_2d_func
 Generic interface for 2D function. More...
 
interface  oft_simple_hash
 Simple in-memory hashing function for dataset checksumming. More...
 
interface  oft_sleep
 Interface to C sleep function. More...
 
type  oft_timer
 Simple timer class. More...
 
interface  xml_get_element
 Generate inverse of sparse indexing. More...
 
type  xml_node_ptr
 Needs docs. More...
 
type  xml_nodelist
 Needs docs. More...
 

Functions/Subroutines

elemental character(len=1) function char_to_lower (c)
 Returns the corresponding lowercase letter, if c is an uppercase ASCII character, otherwise c itself.
 
elemental character(len=1) function char_to_upper (c)
 Returns the corresponding uppercase letter, if c is an lowercase ASCII character, otherwise c itself.
 
pure real(r8) function, dimension(3) cross_product (a, b)
 Compute the cross product of two 3 dimensional vectors.
 
subroutine get_inverse_map_i4 (map, n1, imap, n2)
 integer(i4) implementation of oft_local::get_inverse_map
 
subroutine get_inverse_map_i8 (map, n1, imap, n2)
 integer(i8) implementation of oft_local::get_inverse_map
 
pure real(r8) function magnitude (a)
 Compute the 2-norm of an array.
 
integer(i8) function oft_time_diff (timein)
 Get difference between timestamps, including wrapping.
 
integer(i8) function oft_time_i8 ()
 Get current system time in integer counts.
 
real(r8) function, private oft_timer_elapsed (self)
 Set elapsed time since last tick/tock.
 
integer(i8) function, private oft_timer_intelapsed (self)
 Get elapsed time since last tick/tock in integer counts.
 
subroutine, private oft_timer_start (self)
 Start or reset timer.
 
logical function, private oft_timer_timeout (self, timeout)
 Check if time since last tick/tock exceeds a limit.
 
integer(i4) function skip_comment_lines (io_unit)
 Skip comment lines in open file.
 
subroutine string_to_lower (c)
 Converts a string to all lowercase characters.
 
subroutine string_to_upper (c)
 Converts a string to all uppercase characters.
 
pure character(len=13) function time_to_string (a)
 Compute the 2-norm of an array.
 
subroutine xml_get_element_list (parent, name, elements, error_flag)
 Get all child elements with a specific name within a given XML node.
 
subroutine xml_get_element_single (parent, name, element, error_flag, index)
 Get child element with a specific name within a given XML node.
 

Variables

integer, parameter c4 =r4
 Single precision complex spec (4 Bytes)
 
integer, parameter c8 =r8
 Double precision complex spec (8 Bytes)
 
integer, parameter i4 =SELECTED_INT_KIND(9)
 4-Byte integer spec
 
integer, parameter i8 =SELECTED_INT_KIND(18)
 8-Byte integer spec
 
integer, parameter petsc_addr =i4
 
real(r8), parameter pi =3.141592653589793238462643_r8
 \( \pi \)
 
integer, parameter r10 =SELECTED_REAL_KIND(18, 4900)
 Extended precision float spec (10 or 16 Bytes depending on platform)
 
integer, parameter r4 =SELECTED_REAL_KIND(6, 37)
 Single precision float spec (4 Bytes)
 
integer, parameter r8 =SELECTED_REAL_KIND(13, 307)
 Double precision float spec (8 Bytes)
 

Function/Subroutine Documentation

◆ char_to_lower()

elemental character(len=1) function char_to_lower ( character(len=1), intent(in)  c)

Returns the corresponding lowercase letter, if c is an uppercase ASCII character, otherwise c itself.

Reproduced from the Fortran stdlib

Parameters
[in]cInput character
Returns
Lowercase version

◆ char_to_upper()

elemental character(len=1) function char_to_upper ( character(len=1), intent(in)  c)

Returns the corresponding uppercase letter, if c is an lowercase ASCII character, otherwise c itself.

Reproduced from the Fortran stdlib

Parameters
[in]cInput character
Returns
Uppercase version

◆ cross_product()

pure real(r8) function, dimension(3) cross_product ( real(r8), dimension(3), intent(in)  a,
real(r8), dimension(3), intent(in)  b 
)

Compute the cross product of two 3 dimensional vectors.

Parameters
[in]aVector 1 [3]
[in]bVector 2 [3]
Returns
\( a \times b \) [3]

◆ get_inverse_map_i4()

subroutine get_inverse_map_i4 ( integer(i4), dimension(n1), intent(inout)  map,
integer(i4), intent(in)  n1,
integer(i4), dimension(n2), intent(inout)  imap,
integer(i4), intent(in)  n2 
)

integer(i4) implementation of oft_local::get_inverse_map

Parameters
[in,out]mapForward map [n1]
[in,out]imapInverse map [n2]
[in]n1Length of forward map
[in]n2Length of inverse map (n2<=MAX(map))

◆ get_inverse_map_i8()

subroutine get_inverse_map_i8 ( integer(i8), dimension(n1), intent(inout)  map,
integer(i4), intent(in)  n1,
integer(i4), dimension(n2), intent(inout)  imap,
integer(i8), intent(in)  n2 
)

integer(i8) implementation of oft_local::get_inverse_map

Parameters
[in,out]mapForward map [n1]
[in,out]imapInverse map [n2]
[in]n1Length of forward map
[in]n2Length of inverse map (n2<=MAX(map))

◆ magnitude()

pure real(r8) function magnitude ( real(r8), dimension(:), intent(in)  a)

Compute the 2-norm of an array.

Parameters
[in]aArray
Returns
\( \sum_i a^2_i \)

◆ oft_time_diff()

integer(i8) function oft_time_diff ( integer(i8), intent(in)  timein)

Get difference between timestamps, including wrapping.

Parameters
[in]timeinPrevious time in integer counts

◆ oft_time_i8()

integer(i8) function oft_time_i8

Get current system time in integer counts.

Returns
System time in integer counts

◆ oft_timer_elapsed()

real(r8) function, private oft_timer_elapsed ( class(oft_timer), intent(inout)  self)
private

Set elapsed time since last tick/tock.

Parameters
[in,out]selfCalling timer class
Returns
Time since last tick/tock

◆ oft_timer_intelapsed()

integer(i8) function, private oft_timer_intelapsed ( class(oft_timer), intent(inout)  self)
private

Get elapsed time since last tick/tock in integer counts.

Parameters
[in,out]selfCalling timer class
Returns
Number of integer counts since last tick/tock
Parameters
[in,out]selfCalling timer class
Returns
Number of integer counts since last tick/tock

◆ oft_timer_start()

subroutine, private oft_timer_start ( class(oft_timer), intent(inout)  self)
private

Start or reset timer.

Parameters
[in,out]selfCalling timer class

◆ oft_timer_timeout()

logical function, private oft_timer_timeout ( class(oft_timer), intent(inout)  self,
real(r8), intent(in)  timeout 
)
private

Check if time since last tick/tock exceeds a limit.

Parameters
[in,out]selfCalling timer class
[in]timeoutLength of timeout (seconds)

◆ skip_comment_lines()

integer(i4) function skip_comment_lines ( integer(i4), intent(in)  io_unit)

Skip comment lines in open file.

Parameters
[in]io_unitI/O unit to advance
Returns
IOSTAT from last read or -1 if io_unit is not open

◆ string_to_lower()

subroutine string_to_lower ( character(len=*), intent(inout)  c)

Converts a string to all lowercase characters.

Parameters
[in,out]cInput/output string

◆ string_to_upper()

subroutine string_to_upper ( character(len=*), intent(inout)  c)

Converts a string to all uppercase characters.

Parameters
[in,out]cInput/output string

◆ time_to_string()

pure character(len=13) function time_to_string ( real(r8), intent(in)  a)

Compute the 2-norm of an array.

Parameters
[in]aArray
Returns
\( \sum_i a^2_i \)

◆ xml_get_element_list()

subroutine xml_get_element_list ( type(xml_node), intent(in), pointer  parent,
character(len=*), intent(in)  name,
type(xml_nodelist), intent(inout)  elements,
integer(i4), intent(out)  error_flag 
)

Get all child elements with a specific name within a given XML node.

Parameters
[in]parentParent element
[in]nameName of child element to find
[in,out]elementsFound elements
[out]error_flagError flag (0 if successful)

◆ xml_get_element_single()

subroutine xml_get_element_single ( type(xml_node), intent(in), pointer  parent,
character(len=*), intent(in)  name,
type(xml_node), intent(inout), pointer  element,
integer(i4), intent(out)  error_flag,
integer(i4), intent(in), optional  index 
)

Get child element with a specific name within a given XML node.

Parameters
[in]parentParent element
[in]nameName of child element to find
[in,out]elementFound element
[out]error_flagError flag (0 if successful)
[in]indexOptional index, defaults to first matching element

Variable Documentation

◆ c4

integer, parameter c4 =r4

Single precision complex spec (4 Bytes)

◆ c8

integer, parameter c8 =r8

Double precision complex spec (8 Bytes)

◆ i4

integer, parameter i4 =SELECTED_INT_KIND(9)

4-Byte integer spec

◆ i8

integer, parameter i8 =SELECTED_INT_KIND(18)

8-Byte integer spec

◆ petsc_addr

integer, parameter petsc_addr =i4

◆ pi

real(r8), parameter pi =3.141592653589793238462643_r8

\( \pi \)

◆ r10

integer, parameter r10 =SELECTED_REAL_KIND(18, 4900)

Extended precision float spec (10 or 16 Bytes depending on platform)

◆ r4

integer, parameter r4 =SELECTED_REAL_KIND(6, 37)

Single precision float spec (4 Bytes)

◆ r8

integer, parameter r8 =SELECTED_REAL_KIND(13, 307)

Double precision float spec (8 Bytes)