Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines
sll_m_scalar_field_2d Module Reference

Description

Implements the field descriptor types.

Derived types and interfaces

type  sll_t_scalar_field_2d_analytic
 
type  sll_t_scalar_field_2d_discrete
 
type  sll_t_scalar_field_2d_discrete_ptr
 
interface  sll_i_two_var_parametrizable_function
 
interface  scalar_function_2d
 
interface  sll_o_delete
 

Functions/Subroutines

real(kind=f64) function value_at_pt_analytic (field, eta1, eta2)
 
real(kind=f64) function value_at_index_analytic (field, i, j)
 
real(kind=f64) function first_deriv_eta1_value_at_pt_analytic (field, eta1, eta2)
 
real(kind=f64) function first_deriv_eta2_value_at_pt_analytic (field, eta1, eta2)
 
real(kind=f64) function first_deriv_eta1_value_at_index_analytic (field, i, j)
 
real(kind=f64) function first_deriv_eta2_value_at_index_analytic (field, i, j)
 
type(sll_t_scalar_field_2d_analytic) function, pointer, public sll_f_new_scalar_field_2d_analytic (func, field_name, transformation, bc1_min, bc1_max, bc2_min, bc2_max, func_params, first_deriv_eta1, first_deriv_eta2)
 
subroutine set_field_data_analytic_2d (field, values)
 
subroutine update_interpolation_coefficients_2d_analytic (field)
 
subroutine delete_field_2d_analytic (field)
 
subroutine initialize_scalar_field_2d_analytic (field, func, field_name, transformation, bc1_min, bc1_max, bc2_min, bc2_max, func_params, first_deriv_eta1, first_deriv_eta2)
 
class(sll_c_coordinate_transformation_2d_base) function, pointer get_transformation_analytic (field)
 
class(sll_t_cartesian_mesh_2d) function, pointer get_cartesian_mesh_2d_analytic (field)
 
dimension(2, 2) get_jacobian_matrix_analytic (field, eta1, eta2)
 
subroutine write_to_file_analytic_2d (field, tag)
 
type(sll_t_scalar_field_2d_discrete) function, pointer, public sll_f_new_scalar_field_2d_discrete (field_name, interpolator_2d, transformation, bc1_min, bc1_max, bc2_min, bc2_max, point1_1d, sz_point1, point2_1d, sz_point2)
 
subroutine initialize_scalar_field_2d_discrete (field, field_name, interpolator_2d, transformation, bc1_min, bc1_max, bc2_min, bc2_max, point1_1d, sz_point1, point2_1d, sz_point2)
 
subroutine delete_field_2d_discrete (field)
 
subroutine set_field_data_discrete_2d (field, values)
 
subroutine free_data_discrete_2d (field)
 
subroutine reset_ptr_discrete_2d (field, values)
 
pointer get_data_ptr_discrete_2d (field)
 
subroutine update_interp_coeffs_2d_discrete (field)
 
class(sll_c_coordinate_transformation_2d_base) function, pointer get_transformation_discrete (field)
 
class(sll_t_cartesian_mesh_2d) function, pointer get_cartesian_mesh_2d_discrete (field)
 
dimension(2, 2) get_jacobian_matrix_discrete (field, eta1, eta2)
 
function value_at_pt_discrete (field, eta1, eta2)
 
function value_at_index_discrete (field, i, j)
 
function first_deriv_eta1_value_at_pt_discrete (field, eta1, eta2)
 
function first_deriv_eta2_value_at_pt_discrete (field, eta1, eta2)
 
function first_deriv_eta1_value_at_index_discrete (field, i, j)
 
function first_deriv_eta2_value_at_index_discrete (field, i, j)
 
subroutine write_to_file_discrete_2d (field, tag)
 

Function/Subroutine Documentation

◆ delete_field_2d_analytic()

subroutine sll_m_scalar_field_2d::delete_field_2d_analytic ( class(sll_t_scalar_field_2d_analytic), intent(inout)  field)
private

Definition at line 364 of file sll_m_scalar_field_2d.F90.

◆ delete_field_2d_discrete()

subroutine sll_m_scalar_field_2d::delete_field_2d_discrete ( class(sll_t_scalar_field_2d_discrete), intent(inout)  field)
private

Definition at line 623 of file sll_m_scalar_field_2d.F90.

◆ first_deriv_eta1_value_at_index_analytic()

real(kind=f64) function sll_m_scalar_field_2d::first_deriv_eta1_value_at_index_analytic ( class(sll_t_scalar_field_2d_analytic), intent(in)  field,
integer(kind=i32), intent(in)  i,
integer(kind=i32), intent(in)  j 
)
private

Definition at line 252 of file sll_m_scalar_field_2d.F90.

◆ first_deriv_eta1_value_at_index_discrete()

function sll_m_scalar_field_2d::first_deriv_eta1_value_at_index_discrete ( class(sll_t_scalar_field_2d_discrete), intent(in)  field,
intent(in)  i,
intent(in)  j 
)
private

Definition at line 779 of file sll_m_scalar_field_2d.F90.

◆ first_deriv_eta1_value_at_pt_analytic()

real(kind=f64) function sll_m_scalar_field_2d::first_deriv_eta1_value_at_pt_analytic ( class(sll_t_scalar_field_2d_analytic), intent(in)  field,
real(kind=f64), intent(in)  eta1,
real(kind=f64), intent(in)  eta2 
)
private

Definition at line 203 of file sll_m_scalar_field_2d.F90.

◆ first_deriv_eta1_value_at_pt_discrete()

function sll_m_scalar_field_2d::first_deriv_eta1_value_at_pt_discrete ( class(sll_t_scalar_field_2d_discrete), intent(in)  field,
intent(in)  eta1,
intent(in)  eta2 
)
private

Definition at line 759 of file sll_m_scalar_field_2d.F90.

◆ first_deriv_eta2_value_at_index_analytic()

real(kind=f64) function sll_m_scalar_field_2d::first_deriv_eta2_value_at_index_analytic ( class(sll_t_scalar_field_2d_analytic), intent(in)  field,
integer(kind=i32), intent(in)  i,
integer(kind=i32), intent(in)  j 
)
private

Definition at line 279 of file sll_m_scalar_field_2d.F90.

◆ first_deriv_eta2_value_at_index_discrete()

function sll_m_scalar_field_2d::first_deriv_eta2_value_at_index_discrete ( class(sll_t_scalar_field_2d_discrete), intent(in)  field,
intent(in)  i,
intent(in)  j 
)
private

Definition at line 796 of file sll_m_scalar_field_2d.F90.

◆ first_deriv_eta2_value_at_pt_analytic()

real(kind=f64) function sll_m_scalar_field_2d::first_deriv_eta2_value_at_pt_analytic ( class(sll_t_scalar_field_2d_analytic), intent(in)  field,
real(kind=f64), intent(in)  eta1,
real(kind=f64), intent(in)  eta2 
)
private

Definition at line 227 of file sll_m_scalar_field_2d.F90.

◆ first_deriv_eta2_value_at_pt_discrete()

function sll_m_scalar_field_2d::first_deriv_eta2_value_at_pt_discrete ( class(sll_t_scalar_field_2d_discrete), intent(in)  field,
intent(in)  eta1,
intent(in)  eta2 
)
private

Definition at line 769 of file sll_m_scalar_field_2d.F90.

◆ free_data_discrete_2d()

subroutine sll_m_scalar_field_2d::free_data_discrete_2d ( class(sll_t_scalar_field_2d_discrete), intent(inout)  field)
private

Definition at line 663 of file sll_m_scalar_field_2d.F90.

◆ get_cartesian_mesh_2d_analytic()

class(sll_t_cartesian_mesh_2d) function, pointer sll_m_scalar_field_2d::get_cartesian_mesh_2d_analytic ( class(sll_t_scalar_field_2d_analytic), intent(in)  field)
private

Definition at line 446 of file sll_m_scalar_field_2d.F90.

◆ get_cartesian_mesh_2d_discrete()

class(sll_t_cartesian_mesh_2d) function, pointer sll_m_scalar_field_2d::get_cartesian_mesh_2d_discrete ( class(sll_t_scalar_field_2d_discrete), intent(in)  field)
private

Definition at line 711 of file sll_m_scalar_field_2d.F90.

◆ get_data_ptr_discrete_2d()

pointer sll_m_scalar_field_2d::get_data_ptr_discrete_2d ( class(sll_t_scalar_field_2d_discrete), intent(inout)  field)
private

Definition at line 687 of file sll_m_scalar_field_2d.F90.

◆ get_jacobian_matrix_analytic()

dimension(2, 2) sll_m_scalar_field_2d::get_jacobian_matrix_analytic ( class(sll_t_scalar_field_2d_analytic), intent(in)  field,
intent(in)  eta1,
intent(in)  eta2 
)
private

Definition at line 454 of file sll_m_scalar_field_2d.F90.

◆ get_jacobian_matrix_discrete()

dimension(2, 2) sll_m_scalar_field_2d::get_jacobian_matrix_discrete ( class(sll_t_scalar_field_2d_discrete), intent(in)  field,
intent(in)  eta1,
intent(in)  eta2 
)
private

Definition at line 722 of file sll_m_scalar_field_2d.F90.

◆ get_transformation_analytic()

class(sll_c_coordinate_transformation_2d_base) function, pointer sll_m_scalar_field_2d::get_transformation_analytic ( class(sll_t_scalar_field_2d_analytic), intent(in)  field)
private

Definition at line 438 of file sll_m_scalar_field_2d.F90.

◆ get_transformation_discrete()

class(sll_c_coordinate_transformation_2d_base) function, pointer sll_m_scalar_field_2d::get_transformation_discrete ( class(sll_t_scalar_field_2d_discrete), intent(in)  field)
private

Definition at line 702 of file sll_m_scalar_field_2d.F90.

◆ initialize_scalar_field_2d_analytic()

subroutine sll_m_scalar_field_2d::initialize_scalar_field_2d_analytic ( class(sll_t_scalar_field_2d_analytic), intent(out)  field,
procedure(sll_i_two_var_parametrizable_function func,
character(len=*), intent(in)  field_name,
class(sll_c_coordinate_transformation_2d_base), target  transformation,
intent(in)  bc1_min,
intent(in)  bc1_max,
intent(in)  bc2_min,
intent(in)  bc2_max,
intent(in)  func_params,
procedure(sll_i_two_var_parametrizable_function), optional  first_deriv_eta1,
procedure(sll_i_two_var_parametrizable_function), optional  first_deriv_eta2 
)
private

Definition at line 377 of file sll_m_scalar_field_2d.F90.

◆ initialize_scalar_field_2d_discrete()

subroutine sll_m_scalar_field_2d::initialize_scalar_field_2d_discrete ( class(sll_t_scalar_field_2d_discrete), intent(inout)  field,
character(len=*), intent(in)  field_name,
class(sll_c_interpolator_2d), target  interpolator_2d,
class(sll_c_coordinate_transformation_2d_base), target  transformation,
intent(in)  bc1_min,
intent(in)  bc1_max,
intent(in)  bc2_min,
intent(in)  bc2_max,
optional  point1_1d,
optional  sz_point1,
optional  point2_1d,
optional  sz_point2 
)
private

Definition at line 567 of file sll_m_scalar_field_2d.F90.

◆ reset_ptr_discrete_2d()

subroutine sll_m_scalar_field_2d::reset_ptr_discrete_2d ( class(sll_t_scalar_field_2d_discrete), intent(inout)  field,
target  values 
)
private

Definition at line 675 of file sll_m_scalar_field_2d.F90.

◆ set_field_data_analytic_2d()

subroutine sll_m_scalar_field_2d::set_field_data_analytic_2d ( class(sll_t_scalar_field_2d_analytic), intent(inout)  field,
real(kind=f64), dimension(:, :), intent(in)  values 
)
private

Definition at line 343 of file sll_m_scalar_field_2d.F90.

◆ set_field_data_discrete_2d()

subroutine sll_m_scalar_field_2d::set_field_data_discrete_2d ( class(sll_t_scalar_field_2d_discrete), intent(inout)  field,
intent(in)  values 
)
private

Definition at line 635 of file sll_m_scalar_field_2d.F90.

◆ sll_f_new_scalar_field_2d_analytic()

type(sll_t_scalar_field_2d_analytic) function, pointer, public sll_m_scalar_field_2d::sll_f_new_scalar_field_2d_analytic ( procedure(sll_i_two_var_parametrizable_function func,
character(len=*), intent(in)  field_name,
class(sll_c_coordinate_transformation_2d_base), target  transformation,
integer(kind=i32), intent(in)  bc1_min,
integer(kind=i32), intent(in)  bc1_max,
integer(kind=i32), intent(in)  bc2_min,
integer(kind=i32), intent(in)  bc2_max,
real(kind=f64), dimension(:), intent(in)  func_params,
procedure(sll_i_two_var_parametrizable_function), optional  first_deriv_eta1,
procedure(sll_i_two_var_parametrizable_function), optional  first_deriv_eta2 
)

Definition at line 303 of file sll_m_scalar_field_2d.F90.

◆ sll_f_new_scalar_field_2d_discrete()

type(sll_t_scalar_field_2d_discrete) function, pointer, public sll_m_scalar_field_2d::sll_f_new_scalar_field_2d_discrete ( character(len=*), intent(in)  field_name,
class(sll_c_interpolator_2d), target  interpolator_2d,
class(sll_c_coordinate_transformation_2d_base transformation,
intent(in)  bc1_min,
intent(in)  bc1_max,
intent(in)  bc2_min,
intent(in)  bc2_max,
optional  point1_1d,
optional  sz_point1,
optional  point2_1d,
optional  sz_point2 
)

Definition at line 523 of file sll_m_scalar_field_2d.F90.

◆ update_interp_coeffs_2d_discrete()

subroutine sll_m_scalar_field_2d::update_interp_coeffs_2d_discrete ( class(sll_t_scalar_field_2d_discrete), intent(inout)  field)
private

Definition at line 697 of file sll_m_scalar_field_2d.F90.

◆ update_interpolation_coefficients_2d_analytic()

subroutine sll_m_scalar_field_2d::update_interpolation_coefficients_2d_analytic ( class(sll_t_scalar_field_2d_analytic), intent(inout)  field)
private

Definition at line 355 of file sll_m_scalar_field_2d.F90.

◆ value_at_index_analytic()

real(kind=f64) function sll_m_scalar_field_2d::value_at_index_analytic ( class(sll_t_scalar_field_2d_analytic), intent(in)  field,
integer(kind=i32), intent(in)  i,
integer(kind=i32), intent(in)  j 
)
private

Definition at line 186 of file sll_m_scalar_field_2d.F90.

◆ value_at_index_discrete()

function sll_m_scalar_field_2d::value_at_index_discrete ( class(sll_t_scalar_field_2d_discrete), intent(in)  field,
intent(in)  i,
intent(in)  j 
)
private

Definition at line 744 of file sll_m_scalar_field_2d.F90.

◆ value_at_pt_analytic()

real(kind=f64) function sll_m_scalar_field_2d::value_at_pt_analytic ( class(sll_t_scalar_field_2d_analytic), intent(in)  field,
real(kind=f64), intent(in)  eta1,
real(kind=f64), intent(in)  eta2 
)
private

Definition at line 175 of file sll_m_scalar_field_2d.F90.

◆ value_at_pt_discrete()

function sll_m_scalar_field_2d::value_at_pt_discrete ( class(sll_t_scalar_field_2d_discrete), intent(in)  field,
intent(in)  eta1,
intent(in)  eta2 
)
private

Definition at line 733 of file sll_m_scalar_field_2d.F90.

◆ write_to_file_analytic_2d()

subroutine sll_m_scalar_field_2d::write_to_file_analytic_2d ( class(sll_t_scalar_field_2d_analytic), intent(in)  field,
intent(in)  tag 
)
private

Definition at line 464 of file sll_m_scalar_field_2d.F90.

◆ write_to_file_discrete_2d()

subroutine sll_m_scalar_field_2d::write_to_file_discrete_2d ( class(sll_t_scalar_field_2d_discrete), intent(in)  field,
intent(in)  tag 
)
private

Definition at line 812 of file sll_m_scalar_field_2d.F90.

Here is the call graph for this function:
    Report Typos and Errors