Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Module interfaces for coordinate transformation.
xi1, xi2, xi3 are the logical coordinates which are transformed to the physical coordinates x1, x2, x3 The Jacobian matrix is the derivate matrix of the transformation function the determinant of the Jacobian is needed for the transformation theorem the logical paramters are in the interval [0,1]
Derived types and interfaces | |
interface | sll_i_eval_function |
abstract interface for mapping functions More... | |
type | matrix_element |
type | sll_t_mapping_3d |
type collecting functions for analytical coordinate mapping More... | |
Functions/Subroutines | |
real(kind=f64) function | get_x1 (self, xi) |
Compute x1. More... | |
real(kind=f64) function | get_x2 (self, xi) |
Compute x2. More... | |
real(kind=f64) function | get_x3 (self, xi) |
Compute x3. More... | |
real(kind=f64) function, dimension(3) | get_x (self, xi) |
Compute all three components of X. More... | |
real(kind=f64) function, dimension(3) | get_xi (self, x) |
Compute the logical coordinate vector Xi. More... | |
real(kind=f64) function | jacobian (self, xi) |
Compute the determinant of the Jacobi matrix. More... | |
real(kind=f64) function, dimension(3, 3) | jacobian_matrix (self, xi) |
Compute the entries of the Jacobi matrix. More... | |
real(kind=f64) function, dimension(3, 3) | jacobian_matrix_transposed (self, xi) |
Compute the entries of the transposed Jacobi matrix. More... | |
real(kind=f64) function, dimension(3, 3) | jacobian_matrix_inverse (self, xi) |
Compute the entries of the inverse Jacobi matrix. More... | |
real(kind=f64) function, dimension(3, 3) | jacobian_matrix_inverse_transposed (self, xi) |
Compute the entries of the transposed inverse Jacobi matrix. More... | |
real(kind=f64) function, dimension(3, 3) | metric (self, xi) |
Compute the entries of the metric. More... | |
real(kind=f64) function | metric_single (self, xi, component1, component2) |
Compute a single entriy of the metric. More... | |
real(kind=f64) function, dimension(3, 3) | metric_inverse (self, xi) |
Compute the entries of the inverse metric. More... | |
real(kind=f64) function | metric_inverse_single (self, xi, component1, component2) |
Compute a single entriy of the inverse metric. More... | |
real(kind=f64) function | metric_single_jacobian (self, xi, component1, component2) |
Compute a single entriy of the metric divided by the jacobian. More... | |
real(kind=f64) function | metric_inverse_single_jacobian (self, xi, component1, component2) |
Compute a single entriy of the inverse metric multiplied by the jacobian. More... | |
subroutine | init (self, params, x1_func, x2_func, x3_func, jac11, jac12, jac13, jac21, jac22, jac23, jac31, jac32, jac33, jacob, xi1_func, xi2_func, xi3_func, flag2d, flag3d, n_cells, deg, Lx, volume) |
Initialize the coordinate transformation. More... | |
subroutine | init_from_file (self, filename) |
Initialize the coordinate transformation from nml file. More... | |
subroutine | free (self) |
Finalize the coordinate transformation. More... | |
subroutine | calculate_interpolation_matrix_1d (n_cells, deg, xk, spline, matrix) |
Helper function for spline mapping. More... | |
subroutine | calculate_interpolation_matrix_1d_periodic (n_cells, deg, spline, matrix) |
Helper function for spline mapping. More... | |
subroutine | convert_x_to_xbox (self, position, xi, box) |
Helper function to compute xbox. More... | |
|
private |
Helper function for spline mapping.
Definition at line 938 of file sll_m_mapping_3d.F90.
|
private |
Helper function for spline mapping.
Definition at line 1013 of file sll_m_mapping_3d.F90.
|
private |
Helper function to compute xbox.
[in,out] | self | kernel smoother object |
[in] | position | Position of the particle |
[out] | xi | Position of the particle |
[out] | box | Position of the particle |
Definition at line 1088 of file sll_m_mapping_3d.F90.
|
private |
Finalize the coordinate transformation.
Definition at line 924 of file sll_m_mapping_3d.F90.
|
private |
Compute all three components of X.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 200 of file sll_m_mapping_3d.F90.
|
private |
Compute x1.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 143 of file sll_m_mapping_3d.F90.
|
private |
Compute x2.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 162 of file sll_m_mapping_3d.F90.
|
private |
Compute x3.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 181 of file sll_m_mapping_3d.F90.
|
private |
Compute the logical coordinate vector Xi.
[in,out] | self | coordinate transformation |
[in] | x | physical coordinates |
Definition at line 223 of file sll_m_mapping_3d.F90.
|
private |
Initialize the coordinate transformation.
[out] | self | coordinate transformation |
[in] | params | transformation parameters |
x1_func | transformation function | |
x2_func | transformation function | |
x3_func | transformation function | |
jac11 | entry of jacobian matrix | |
jac12 | entry of jacobian matrix | |
jac13 | entry of jacobian matrix | |
jac21 | entry of jacobian matrix | |
jac22 | entry of jacobian matrix | |
jac23 | entry of jacobian matrix | |
jac31 | entry of jacobian matrix | |
jac32 | entry of jacobian matrix | |
jac33 | entry of jacobian matrix | |
jacob | determinant of jacobian matrix | |
xi1_func | transformation function | |
xi2_func | transformation function | |
xi3_func | transformation function | |
flag2d | logical flag for mappings mixing the first two logical coordiantes | |
flag3d | logical flag for mappings mixing all three logical coordinates | |
n_cells | number of cells (and grid points) | |
deg | spline deg | |
lx | length of the physical domain | |
volume | volume of the physical domain |
Definition at line 526 of file sll_m_mapping_3d.F90.
|
private |
Initialize the coordinate transformation from nml file.
[out] | self | coordinate transformation |
mapping cases defined in sll_m_3d_coordinate_transformations
Definition at line 738 of file sll_m_mapping_3d.F90.
|
private |
Compute the determinant of the Jacobi matrix.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 235 of file sll_m_mapping_3d.F90.
|
private |
Compute the entries of the Jacobi matrix.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 262 of file sll_m_mapping_3d.F90.
|
private |
Compute the entries of the inverse Jacobi matrix.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 325 of file sll_m_mapping_3d.F90.
|
private |
Compute the entries of the transposed inverse Jacobi matrix.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 366 of file sll_m_mapping_3d.F90.
|
private |
Compute the entries of the transposed Jacobi matrix.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 303 of file sll_m_mapping_3d.F90.
|
private |
Compute the entries of the metric.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 389 of file sll_m_mapping_3d.F90.
|
private |
Compute the entries of the inverse metric.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
Definition at line 427 of file sll_m_mapping_3d.F90.
|
private |
Compute a single entriy of the inverse metric.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
[in] | component2 | components of the wished entry |
Definition at line 448 of file sll_m_mapping_3d.F90.
|
private |
Compute a single entriy of the inverse metric multiplied by the jacobian.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
[in] | component2 | components of the wished entry |
Definition at line 493 of file sll_m_mapping_3d.F90.
|
private |
Compute a single entriy of the metric.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
[in] | component2 | components of the wished entry |
Definition at line 410 of file sll_m_mapping_3d.F90.
|
private |
Compute a single entriy of the metric divided by the jacobian.
[in,out] | self | coordinate transformation |
[in] | xi | logical coordinates |
[in] | component2 | components of the wished entry |
Definition at line 464 of file sll_m_mapping_3d.F90.