Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Private Member Functions | Private Attributes | List of all members
sll_t_split_advection_2d Type Reference

Simple operator splitting type for 2D advection Extends operator splitting. More...

Inheritance diagram for sll_t_split_advection_2d:
Collaboration diagram for sll_t_split_advection_2d:

Private Member Functions

procedure, pass(this) operatort => adv1
 advection in first direction More...
 
procedure, pass(this) operatorv => adv2
 advection in second direction More...
 

Private Attributes

class(sll_c_interpolator_1d), pointer interp1
 interpolator object in first direction More...
 
class(sll_c_interpolator_1d), pointer interp2
 interpolator object in second direction More...
 
class(sll_c_characteristics_1d_base), pointer charac1
 characteristics object in first direction More...
 
procedure(sll_i_signature_process_outside_point_1d), pointer, nopass process_outside_point1
 for bdr direction 1 More...
 
class(sll_c_characteristics_1d_base), pointer charac2
 characteristics object in second direction More...
 
procedure(sll_i_signature_process_outside_point_1d), pointer, nopass process_outside_point2
 for bdr direction 1 More...
 
type(sll_t_cartesian_mesh_2d), pointer mesh_2d
 mesh common for charac and interp More...
 
real(kind=f64), dimension(:, :), pointer f
 function do be evolved More...
 
integer(kind=i32) num_dof1
 dimension in first direction for f More...
 
integer(kind=i32) num_dof2
 dimension in second direction for f More...
 
real(kind=f64), dimension(:), pointer dof_positions1
 DOF positions in first direction for f. More...
 
real(kind=f64), dimension(:), pointer dof_positions2
 DOF positions in second direction for f. More...
 
integer(kind=i32) advection_form
 advection form (sll_p_advective or sll_p_conservative) More...
 
real(kind=f64), dimension(:, :), pointer a1
 advection coefficient in first direction More...
 
real(kind=f64), dimension(:, :), pointer a2
 advection coefficient in second direction More...
 
class(sll_c_coordinate_transformation_2d_base), pointer transformation
 coordinate transformation More...
 
type(sll_t_cubic_nonunif_spline_1d), pointer spl_eta1
 
type(sll_t_cubic_nonunif_spline_1d), pointer spl_eta2
 
real(kind=f64), dimension(:), pointer input1
 temporary array More...
 
real(kind=f64), dimension(:), pointer output1
 
real(kind=f64), dimension(:), pointer origin1
 
real(kind=f64), dimension(:), pointer origin_middle1
 
real(kind=f64), dimension(:), pointer feet1
 
real(kind=f64), dimension(:), pointer feet_middle1
 
real(kind=f64), dimension(:), pointer feet_inside1
 
real(kind=f64), dimension(:), pointer input2
 
real(kind=f64), dimension(:), pointer output2
 
real(kind=f64), dimension(:), pointer origin2
 
real(kind=f64), dimension(:), pointer origin_middle2
 
real(kind=f64), dimension(:), pointer feet2
 
real(kind=f64), dimension(:), pointer feet_middle2
 
real(kind=f64), dimension(:), pointer feet_inside2
 
logical csl_2012
 
real(kind=f64), dimension(:), pointer primitive1
 
real(kind=f64), dimension(:), pointer primitive2
 
real(kind=f64), dimension(:), pointer xi1
 
real(kind=f64), dimension(:), pointer xi2
 
real(kind=f64), dimension(:), pointer a1jac
 
real(kind=f64), dimension(:), pointer a2jac
 
real(kind=f64) current_time = 0.0_f64
 current time to be incremented More...
 
integer(kind=i32) split_case
 defines the splitting method to be chosen from those defined as global variables in sll_m_operator_splitting module More...
 
integer(kind=i32) nb_split_step
 number of split steps in the method More...
 
real(kind=f64), dimension(:), pointer split_step
 array containing the coefficients of the each split step More...
 
logical split_begin_t
 Start with operatorT if true and with operatorV if false. More...
 
integer(kind=i32) dim_split_v
 Used for specific Vlasov-Poisson splitting. More...
 

Detailed Description

Simple operator splitting type for 2D advection Extends operator splitting.

This should be treated as an opaque type. No access to its internals is directly allowed. comment: how to change then the advection fields in time?

Definition at line 53 of file sll_m_split_advection_2d.F90.

Member Function/Subroutine Documentation

◆ operatort()

procedure, pass(this) operatort
private

advection in first direction

Definition at line 113 of file sll_m_split_advection_2d.F90.

◆ operatorv()

procedure, pass(this) operatorv
private

advection in second direction

Definition at line 114 of file sll_m_split_advection_2d.F90.

Member Data Documentation

◆ a1

real(kind=f64), dimension(:, :), pointer a1
private

advection coefficient in first direction

Definition at line 79 of file sll_m_split_advection_2d.F90.

◆ a1jac

real(kind=f64), dimension(:), pointer a1jac
private

Definition at line 109 of file sll_m_split_advection_2d.F90.

◆ a2

real(kind=f64), dimension(:, :), pointer a2
private

advection coefficient in second direction

Definition at line 81 of file sll_m_split_advection_2d.F90.

◆ a2jac

real(kind=f64), dimension(:), pointer a2jac
private

Definition at line 110 of file sll_m_split_advection_2d.F90.

◆ advection_form

integer(kind=i32) advection_form
private

advection form (sll_p_advective or sll_p_conservative)

Definition at line 77 of file sll_m_split_advection_2d.F90.

◆ charac1

class(sll_c_characteristics_1d_base), pointer charac1
private

characteristics object in first direction

Definition at line 59 of file sll_m_split_advection_2d.F90.

◆ charac2

class(sll_c_characteristics_1d_base), pointer charac2
private

characteristics object in second direction

Definition at line 62 of file sll_m_split_advection_2d.F90.

◆ csl_2012

logical csl_2012
private

Definition at line 103 of file sll_m_split_advection_2d.F90.

◆ current_time

real(kind=f64) current_time = 0.0_f64
privateinherited

current time to be incremented

Definition at line 65 of file sll_m_operator_splitting.F90.

◆ dim_split_v

integer(kind=i32) dim_split_v
privateinherited

Used for specific Vlasov-Poisson splitting.

Definition at line 76 of file sll_m_operator_splitting.F90.

◆ dof_positions1

real(kind=f64), dimension(:), pointer dof_positions1
private

DOF positions in first direction for f.

Definition at line 73 of file sll_m_split_advection_2d.F90.

◆ dof_positions2

real(kind=f64), dimension(:), pointer dof_positions2
private

DOF positions in second direction for f.

Definition at line 75 of file sll_m_split_advection_2d.F90.

◆ f

real(kind=f64), dimension(:, :), pointer f
private

function do be evolved

Definition at line 67 of file sll_m_split_advection_2d.F90.

◆ feet1

real(kind=f64), dimension(:), pointer feet1
private

Definition at line 92 of file sll_m_split_advection_2d.F90.

◆ feet2

real(kind=f64), dimension(:), pointer feet2
private

Definition at line 99 of file sll_m_split_advection_2d.F90.

◆ feet_inside1

real(kind=f64), dimension(:), pointer feet_inside1
private

Definition at line 94 of file sll_m_split_advection_2d.F90.

◆ feet_inside2

real(kind=f64), dimension(:), pointer feet_inside2
private

Definition at line 101 of file sll_m_split_advection_2d.F90.

◆ feet_middle1

real(kind=f64), dimension(:), pointer feet_middle1
private

Definition at line 93 of file sll_m_split_advection_2d.F90.

◆ feet_middle2

real(kind=f64), dimension(:), pointer feet_middle2
private

Definition at line 100 of file sll_m_split_advection_2d.F90.

◆ input1

real(kind=f64), dimension(:), pointer input1
private

temporary array

Definition at line 88 of file sll_m_split_advection_2d.F90.

◆ input2

real(kind=f64), dimension(:), pointer input2
private

Definition at line 95 of file sll_m_split_advection_2d.F90.

◆ interp1

class(sll_c_interpolator_1d), pointer interp1
private

interpolator object in first direction

Definition at line 55 of file sll_m_split_advection_2d.F90.

◆ interp2

class(sll_c_interpolator_1d), pointer interp2
private

interpolator object in second direction

Definition at line 57 of file sll_m_split_advection_2d.F90.

◆ mesh_2d

type(sll_t_cartesian_mesh_2d), pointer mesh_2d
private

mesh common for charac and interp

Definition at line 65 of file sll_m_split_advection_2d.F90.

◆ nb_split_step

integer(kind=i32) nb_split_step
privateinherited

number of split steps in the method

Definition at line 70 of file sll_m_operator_splitting.F90.

◆ num_dof1

integer(kind=i32) num_dof1
private

dimension in first direction for f

Definition at line 69 of file sll_m_split_advection_2d.F90.

◆ num_dof2

integer(kind=i32) num_dof2
private

dimension in second direction for f

Definition at line 71 of file sll_m_split_advection_2d.F90.

◆ origin1

real(kind=f64), dimension(:), pointer origin1
private

Definition at line 90 of file sll_m_split_advection_2d.F90.

◆ origin2

real(kind=f64), dimension(:), pointer origin2
private

Definition at line 97 of file sll_m_split_advection_2d.F90.

◆ origin_middle1

real(kind=f64), dimension(:), pointer origin_middle1
private

Definition at line 91 of file sll_m_split_advection_2d.F90.

◆ origin_middle2

real(kind=f64), dimension(:), pointer origin_middle2
private

Definition at line 98 of file sll_m_split_advection_2d.F90.

◆ output1

real(kind=f64), dimension(:), pointer output1
private

Definition at line 89 of file sll_m_split_advection_2d.F90.

◆ output2

real(kind=f64), dimension(:), pointer output2
private

Definition at line 96 of file sll_m_split_advection_2d.F90.

◆ primitive1

real(kind=f64), dimension(:), pointer primitive1
private

Definition at line 105 of file sll_m_split_advection_2d.F90.

◆ primitive2

real(kind=f64), dimension(:), pointer primitive2
private

Definition at line 106 of file sll_m_split_advection_2d.F90.

◆ process_outside_point1

procedure(sll_i_signature_process_outside_point_1d), pointer, nopass process_outside_point1
private

for bdr direction 1

Definition at line 60 of file sll_m_split_advection_2d.F90.

◆ process_outside_point2

procedure(sll_i_signature_process_outside_point_1d), pointer, nopass process_outside_point2
private

for bdr direction 1

Definition at line 63 of file sll_m_split_advection_2d.F90.

◆ spl_eta1

type(sll_t_cubic_nonunif_spline_1d), pointer spl_eta1
private

Definition at line 84 of file sll_m_split_advection_2d.F90.

◆ spl_eta2

type(sll_t_cubic_nonunif_spline_1d), pointer spl_eta2
private

Definition at line 85 of file sll_m_split_advection_2d.F90.

◆ split_begin_t

logical split_begin_t
privateinherited

Start with operatorT if true and with operatorV if false.

Definition at line 74 of file sll_m_operator_splitting.F90.

◆ split_case

integer(kind=i32) split_case
privateinherited

defines the splitting method to be chosen from those defined as global variables in sll_m_operator_splitting module

Definition at line 68 of file sll_m_operator_splitting.F90.

◆ split_step

real(kind=f64), dimension(:), pointer split_step
privateinherited

array containing the coefficients of the each split step

Definition at line 72 of file sll_m_operator_splitting.F90.

◆ transformation

class(sll_c_coordinate_transformation_2d_base), pointer transformation
private

coordinate transformation

Definition at line 83 of file sll_m_split_advection_2d.F90.

◆ xi1

real(kind=f64), dimension(:), pointer xi1
private

Definition at line 107 of file sll_m_split_advection_2d.F90.

◆ xi2

real(kind=f64), dimension(:), pointer xi2
private

Definition at line 108 of file sll_m_split_advection_2d.F90.

    Report Typos and Errors