Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Simple operator splitting type for 2D advection Extends operator splitting. More...
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... | |
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.
|
private |
advection in first direction
Definition at line 113 of file sll_m_split_advection_2d.F90.
|
private |
advection in second direction
Definition at line 114 of file sll_m_split_advection_2d.F90.
|
private |
advection coefficient in first direction
Definition at line 79 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 109 of file sll_m_split_advection_2d.F90.
|
private |
advection coefficient in second direction
Definition at line 81 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 110 of file sll_m_split_advection_2d.F90.
|
private |
advection form (sll_p_advective or sll_p_conservative)
Definition at line 77 of file sll_m_split_advection_2d.F90.
|
private |
characteristics object in first direction
Definition at line 59 of file sll_m_split_advection_2d.F90.
|
private |
characteristics object in second direction
Definition at line 62 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 103 of file sll_m_split_advection_2d.F90.
|
privateinherited |
current time to be incremented
Definition at line 65 of file sll_m_operator_splitting.F90.
|
privateinherited |
Used for specific Vlasov-Poisson splitting.
Definition at line 76 of file sll_m_operator_splitting.F90.
|
private |
DOF positions in first direction for f.
Definition at line 73 of file sll_m_split_advection_2d.F90.
|
private |
DOF positions in second direction for f.
Definition at line 75 of file sll_m_split_advection_2d.F90.
|
private |
function do be evolved
Definition at line 67 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 92 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 99 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 94 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 101 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 93 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 100 of file sll_m_split_advection_2d.F90.
|
private |
temporary array
Definition at line 88 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 95 of file sll_m_split_advection_2d.F90.
|
private |
interpolator object in first direction
Definition at line 55 of file sll_m_split_advection_2d.F90.
|
private |
interpolator object in second direction
Definition at line 57 of file sll_m_split_advection_2d.F90.
|
private |
mesh common for charac and interp
Definition at line 65 of file sll_m_split_advection_2d.F90.
|
privateinherited |
number of split steps in the method
Definition at line 70 of file sll_m_operator_splitting.F90.
|
private |
dimension in first direction for f
Definition at line 69 of file sll_m_split_advection_2d.F90.
|
private |
dimension in second direction for f
Definition at line 71 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 90 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 97 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 91 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 98 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 89 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 96 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 105 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 106 of file sll_m_split_advection_2d.F90.
|
private |
for bdr direction 1
Definition at line 60 of file sll_m_split_advection_2d.F90.
|
private |
for bdr direction 1
Definition at line 63 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 84 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 85 of file sll_m_split_advection_2d.F90.
|
privateinherited |
Start with operatorT if true and with operatorV if false.
Definition at line 74 of file sll_m_operator_splitting.F90.
|
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.
|
privateinherited |
array containing the coefficients of the each split step
Definition at line 72 of file sll_m_operator_splitting.F90.
|
private |
coordinate transformation
Definition at line 83 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 107 of file sll_m_split_advection_2d.F90.
|
private |
Definition at line 108 of file sll_m_split_advection_2d.F90.