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_linear_operator_kron Type Reference

class for a linear operator More...

Inheritance diagram for sll_t_linear_operator_kron:
Collaboration diagram for sll_t_linear_operator_kron:

Private Member Functions

procedure create => create_linear_operator_kron
 
procedure free => free_linear_operator_kron
 
procedure dot => dot_linear_operator_kron
 
procedure print_info => print_info_linear_operator_kron
 
procedure initialize_abstract => initialize_linear_operator_abstract
 
procedure print_info_abstract => print_info_linear_operator_abstract
 

Private Attributes

integer(kind=i32) n_rows_a = 0
 number of rows for the first direction More...
 
integer(kind=i32) n_cols_a = 0
 number of cols for the first direction More...
 
integer(kind=i32) n_rows_b = 0
 number of rows for the second direction More...
 
integer(kind=i32) n_cols_b = 0
 number of cols for the second direction More...
 
integer(kind=i32) n_rows_c = 0
 number of rows for the third direction More...
 
integer(kind=i32) n_cols_c = 0
 number of cols for the third direction More...
 
class(sll_t_linear_operator_abstract), pointer ptr_linop_a => null()
 pointer to the first linear operator More...
 
class(sll_t_linear_operator_abstract), pointer ptr_linop_b => null()
 pointer to the second linear operator More...
 
class(sll_t_linear_operator_abstract), pointer ptr_linop_c => null()
 pointer to the third linear operator More...
 
integer(kind=i32) n_rows = 0
 number of rows local to the processor More...
 
integer(kind=i32) n_cols = 0
 number of columns local to the processor More...
 
integer(kind=i32) n_global_rows = 0
 global number of rows, different from n_rows for distributed linear operator More...
 
integer(kind=i32) n_global_cols = 0
 global number of columns, different from n_cols for distributed linear operator More...
 
integer(kind=i32) n_block_rows = 1
 number of rows blocks More...
 
integer(kind=i32) n_block_cols = 1
 number of columns blocks More...
 
integer(kind=i32) n_dof = 1
 number of degrees of freedom per node More...
 
logical is_allocated = .false.
 
integer(kind=i32), dimension(:), allocatable id_rows
 array of rows-vertices handled by the current proc More...
 
integer(kind=i32), dimension(:), allocatable id_cols
 array of cols-vertices handled by the current proc More...
 

Detailed Description

class for a linear operator

Definition at line 34 of file sll_m_linear_operator_kron.F90.

Member Function/Subroutine Documentation

◆ create()

procedure create
private

Definition at line 47 of file sll_m_linear_operator_kron.F90.

◆ dot()

procedure dot
private

Definition at line 49 of file sll_m_linear_operator_kron.F90.

◆ free()

procedure free
private

Definition at line 48 of file sll_m_linear_operator_kron.F90.

◆ initialize_abstract()

procedure initialize_abstract
privateinherited

Definition at line 41 of file sll_m_linear_operator_abstract.F90.

◆ print_info()

procedure print_info
private

Definition at line 50 of file sll_m_linear_operator_kron.F90.

◆ print_info_abstract()

procedure print_info_abstract
privateinherited

Definition at line 42 of file sll_m_linear_operator_abstract.F90.

Member Data Documentation

◆ id_cols

integer(kind=i32), dimension(:), allocatable id_cols
privateinherited

array of cols-vertices handled by the current proc

Definition at line 37 of file sll_m_linear_operator_abstract.F90.

◆ id_rows

integer(kind=i32), dimension(:), allocatable id_rows
privateinherited

array of rows-vertices handled by the current proc

Definition at line 36 of file sll_m_linear_operator_abstract.F90.

◆ is_allocated

logical is_allocated = .false.
privateinherited

Definition at line 34 of file sll_m_linear_operator_abstract.F90.

◆ n_block_cols

integer(kind=i32) n_block_cols = 1
privateinherited

number of columns blocks

Definition at line 32 of file sll_m_linear_operator_abstract.F90.

◆ n_block_rows

integer(kind=i32) n_block_rows = 1
privateinherited

number of rows blocks

Definition at line 31 of file sll_m_linear_operator_abstract.F90.

◆ n_cols

integer(kind=i32) n_cols = 0
privateinherited

number of columns local to the processor

Definition at line 28 of file sll_m_linear_operator_abstract.F90.

◆ n_cols_a

integer(kind=i32) n_cols_a = 0
private

number of cols for the first direction

Definition at line 36 of file sll_m_linear_operator_kron.F90.

◆ n_cols_b

integer(kind=i32) n_cols_b = 0
private

number of cols for the second direction

Definition at line 38 of file sll_m_linear_operator_kron.F90.

◆ n_cols_c

integer(kind=i32) n_cols_c = 0
private

number of cols for the third direction

Definition at line 40 of file sll_m_linear_operator_kron.F90.

◆ n_dof

integer(kind=i32) n_dof = 1
privateinherited

number of degrees of freedom per node

Definition at line 33 of file sll_m_linear_operator_abstract.F90.

◆ n_global_cols

integer(kind=i32) n_global_cols = 0
privateinherited

global number of columns, different from n_cols for distributed linear operator

Definition at line 30 of file sll_m_linear_operator_abstract.F90.

◆ n_global_rows

integer(kind=i32) n_global_rows = 0
privateinherited

global number of rows, different from n_rows for distributed linear operator

Definition at line 29 of file sll_m_linear_operator_abstract.F90.

◆ n_rows

integer(kind=i32) n_rows = 0
privateinherited

number of rows local to the processor

Definition at line 27 of file sll_m_linear_operator_abstract.F90.

◆ n_rows_a

integer(kind=i32) n_rows_a = 0
private

number of rows for the first direction

Definition at line 35 of file sll_m_linear_operator_kron.F90.

◆ n_rows_b

integer(kind=i32) n_rows_b = 0
private

number of rows for the second direction

Definition at line 37 of file sll_m_linear_operator_kron.F90.

◆ n_rows_c

integer(kind=i32) n_rows_c = 0
private

number of rows for the third direction

Definition at line 39 of file sll_m_linear_operator_kron.F90.

◆ ptr_linop_a

class(sll_t_linear_operator_abstract), pointer ptr_linop_a => null()
private

pointer to the first linear operator

Definition at line 42 of file sll_m_linear_operator_kron.F90.

◆ ptr_linop_b

class(sll_t_linear_operator_abstract), pointer ptr_linop_b => null()
private

pointer to the second linear operator

Definition at line 43 of file sll_m_linear_operator_kron.F90.

◆ ptr_linop_c

class(sll_t_linear_operator_abstract), pointer ptr_linop_c => null()
private

pointer to the third linear operator

Definition at line 44 of file sll_m_linear_operator_kron.F90.

    Report Typos and Errors