MPI-AMRVAC 3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
Loading...
Searching...
No Matches
Data Types | Modules | Functions/Subroutines
mod_lookup_table.t File Reference

Go to the source code of this file.

Data Types

type  mod_lookup_table::lt_t
 The lookup table type. There can be one or more columns, for which values can be looked up for a given 'x-coordinate'. More...
 
type  mod_lookup_table::lt2_t
 The 2D lookup table type. More...
 
type  mod_lookup_table::lt3_t
 The 3D lookup table type. More...
 
type  mod_lookup_table::lt_loc_t
 Type to indicate a location in the lookup table, which can be used to speed up multiple lookups of different columns. More...
 
type  mod_lookup_table::lt2_loc_t
 Type to indicate a location in a 2D lookup table. More...
 
type  mod_lookup_table::lt3_loc_t
 Type to indicate a location in a 3D lookup table. More...
 

Modules

module  mod_lookup_table
 A Fortran 90 module for creating 1D and 2D lookup tables. These tables can be used to efficiently interpolate one or more values.
 

Functions/Subroutines

pure integer function, public mod_lookup_table::find_index_linear (list, val)
 Linear search of sorted list for the smallest ix such that list(ix) >= val. On failure, returns size(list)+1.
 
pure integer function, public mod_lookup_table::find_index_bsearch (list, val)
 Binary search of sorted list for the smallest ix such that list(ix) >= val. On failure, returns size(list)+1.
 
pure integer function, public mod_lookup_table::find_index_adaptive (list, val)
 Adaptive search (combination of linear and binary search) of sorted list for the smallest ix such that list(ix) >= val. On failure, returns size(list)+1.
 
type(lt_t) function, public mod_lookup_table::lt_create (x_min, x_max, n_points, n_cols)
 This function returns a new lookup table.
 
type(lt_t) function, public mod_lookup_table::lt_create_from_data (x_min, x_max, spaced_data)
 This function returns a new lookup table from regularly spaced data.
 
pure real(dp) function, dimension(n_points), public mod_lookup_table::lt_get_xdata (x_min, dx, n_points)
 Returns the x-coordinates of the lookup table.
 
pure real(dp) function, dimension(size(new_x)), public mod_lookup_table::lt_get_spaced_data (in_x, in_y, new_x)
 Linearly interpolate the (x, y) input data to the new_x coordinates.
 
pure subroutine, public mod_lookup_table::lt_set_col (my_lt, col_ix, x, y)
 Fill the column with index col_ix using the linearly interpolated (x, y) data.
 
pure subroutine, public mod_lookup_table::lt_add_col (my_lt, x, y)
 Add a new column by linearly interpolating the (x, y) data.
 
elemental type(lt_loc_t) function, public mod_lookup_table::lt_get_loc (my_lt, x)
 Get a location in the lookup table.
 
pure real(dp) function, dimension(my_lt%n_cols), public mod_lookup_table::lt_get_mcol (my_lt, x)
 Get the values of all columns at x.
 
elemental real(dp) function, public mod_lookup_table::lt_get_col (my_lt, col_ix, x)
 Get the value of a single column at x.
 
pure real(dp) function, dimension(my_lt%n_cols), public mod_lookup_table::lt_get_mcol_at_loc (my_lt, loc)
 Get the values of all columns at a location.
 
elemental real(dp) function, public mod_lookup_table::lt_get_col_at_loc (my_lt, col_ix, loc)
 Get the value of a single column at a location.
 
pure subroutine, public mod_lookup_table::lt_get_data (my_lt, x_data, cols_rows)
 Get the x-coordinates and the columns of the lookup table.
 
pure subroutine, public mod_lookup_table::lt_lin_interp_list (x_list, y_list, x_value, y_value)
 Compute by use of linear interpolation the value in the middle.
 
subroutine, public mod_lookup_table::lt_to_file (my_lt, filename)
 Write the lookup table to file (in binary, potentially unportable)
 
subroutine, public mod_lookup_table::lt_from_file (my_lt, filename)
 Read the lookup table from file (in binary, potentially unportable)
 
type(lt2_t) function, public mod_lookup_table::lt2_create (x_min, x_max, n_points, n_cols)
 This function returns a new lookup table.
 
type(lt2_t) function, public mod_lookup_table::lt2_create_from_data (x_min, x_max, spaced_data)
 This function returns a new lookup table from regularly spaced data.
 
pure subroutine, public mod_lookup_table::lt2_set_col (my_lt, col_ix, x1, x2, y)
 Fill the column with index col_ix using linearly interpolated data.
 
elemental type(lt2_loc_t) function, public mod_lookup_table::lt2_get_loc (my_lt, x1, x2)
 Get a location in the lookup table.
 
elemental real(dp) function, public mod_lookup_table::lt2_get_col (my_lt, col_ix, x1, x2)
 Get the value of a single column at x.
 
elemental real(dp) function, public mod_lookup_table::lt2_get_col_at_loc (my_lt, col_ix, loc)
 Get the value of a single column at a location.
 
type(lt3_t) function, public mod_lookup_table::lt3_create (x_min, x_max, n_points, n_cols)
 This function returns a new lookup table.
 
type(lt3_t) function, public mod_lookup_table::lt3_create_from_data (x_min, x_max, spaced_data)
 This function returns a new lookup table from regularly spaced data.
 
elemental type(lt3_loc_t) function, public mod_lookup_table::lt3_get_loc (my_lt, x1, x2, x3)
 Get a location in the lookup table.
 
elemental real(dp) function, public mod_lookup_table::lt3_get_col (my_lt, col_ix, x1, x2, x3)
 Get the value of a single column at x.
 
elemental real(dp) function, public mod_lookup_table::lt3_get_col_at_loc (my_lt, col_ix, loc)
 Get the value of a single column at a location.