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

class for the kronecker linear solver More...

Inheritance diagram for sll_t_linear_solver_kron:
Collaboration diagram for sll_t_linear_solver_kron:

Private Member Functions

procedure create => create_linear_solver_kron
 
procedure read_from_file => read_from_file_linear_solver_kron
 
procedure set_verbose => set_verbose_linear_solver_kron
 
procedure solve_real => solve_real_linear_solver_kron
 
procedure print_info => print_info_linear_solver_kron
 
procedure free => free_linear_solver_kron
 
generic solve => solve_real
 
procedure initialize_abstract => initialize_linear_solver_abstract
 
procedure set_verbose_abstract => set_verbose_linear_solver_abstract
 

Private Attributes

integer(kind=i32), dimension(3, 2) nrowcol
 number of rows and columns in each direction. only used in the 3d case More...
 
class(sll_t_linear_solver_abstract), pointer ptr_linear_solver_a => null()
 pointer to the first solver More...
 
class(sll_t_linear_solver_abstract), pointer ptr_linear_solver_b => null()
 pointer to the second solver More...
 
class(sll_t_linear_solver_abstract), pointer ptr_linear_solver_c => null()
 pointer to the third solver, if given More...
 
class(sll_t_linear_solver_abstract), allocatable, private p_linear_solver_a
 first solver, if created with a linear operator More...
 
class(sll_t_linear_solver_abstract), allocatable, private p_linear_solver_b
 second solver, if created with a linear operator More...
 
class(sll_t_linear_solver_abstract), allocatable, private p_linear_solver_c
 third solver, if created with a linear operator More...
 
integer(kind=i32) n_rows = 0
 number of rows More...
 
integer(kind=i32) n_cols = 0
 number of columns More...
 
integer(kind=i32) n_global_rows = 0
 number of rows different from n_rows for distributed linear operator More...
 
integer(kind=i32) n_global_cols = 0
 number of columns different from n_cols for linear operator More...
 
integer(kind=i32) n_total_rows = 0
 n_global_rows * n_block_rows More...
 
integer(kind=i32) n_total_cols = 0
 n_global_cols * n_block_cols More...
 
logical is_allocated = .false.
 
logical verbose = .false.
 details output for diagnostic if true More...
 

Detailed Description

class for the kronecker linear solver

Definition at line 45 of file sll_m_linear_solver_kron.F90.

Member Function/Subroutine Documentation

◆ create()

procedure create
private

Definition at line 56 of file sll_m_linear_solver_kron.F90.

◆ free()

procedure free
private

Definition at line 61 of file sll_m_linear_solver_kron.F90.

◆ initialize_abstract()

procedure initialize_abstract
privateinherited

Definition at line 47 of file sll_m_linear_solver_abstract.F90.

◆ print_info()

procedure print_info
private

Definition at line 60 of file sll_m_linear_solver_kron.F90.

◆ read_from_file()

procedure read_from_file
private

Definition at line 57 of file sll_m_linear_solver_kron.F90.

◆ set_verbose()

procedure set_verbose
private

Definition at line 58 of file sll_m_linear_solver_kron.F90.

◆ set_verbose_abstract()

procedure set_verbose_abstract
privateinherited

Definition at line 48 of file sll_m_linear_solver_abstract.F90.

◆ solve()

generic solve
privateinherited

Definition at line 45 of file sll_m_linear_solver_abstract.F90.

◆ solve_real()

procedure solve_real
private

Definition at line 59 of file sll_m_linear_solver_kron.F90.

Member Data Documentation

◆ is_allocated

logical is_allocated = .false.
privateinherited

Definition at line 40 of file sll_m_linear_solver_abstract.F90.

◆ n_cols

integer(kind=i32) n_cols = 0
privateinherited

number of columns

Definition at line 32 of file sll_m_linear_solver_abstract.F90.

◆ n_global_cols

integer(kind=i32) n_global_cols = 0
privateinherited

number of columns different from n_cols for linear operator

Definition at line 35 of file sll_m_linear_solver_abstract.F90.

◆ n_global_rows

integer(kind=i32) n_global_rows = 0
privateinherited

number of rows different from n_rows for distributed linear operator

Definition at line 34 of file sll_m_linear_solver_abstract.F90.

◆ n_rows

integer(kind=i32) n_rows = 0
privateinherited

number of rows

Definition at line 31 of file sll_m_linear_solver_abstract.F90.

◆ n_total_cols

integer(kind=i32) n_total_cols = 0
privateinherited

n_global_cols * n_block_cols

Definition at line 38 of file sll_m_linear_solver_abstract.F90.

◆ n_total_rows

integer(kind=i32) n_total_rows = 0
privateinherited

n_global_rows * n_block_rows

Definition at line 37 of file sll_m_linear_solver_abstract.F90.

◆ nrowcol

integer(kind=i32), dimension(3,2) nrowcol
private

number of rows and columns in each direction. only used in the 3d case

Definition at line 46 of file sll_m_linear_solver_kron.F90.

◆ p_linear_solver_a

class(sll_t_linear_solver_abstract), allocatable, private p_linear_solver_a
private

first solver, if created with a linear operator

Definition at line 52 of file sll_m_linear_solver_kron.F90.

◆ p_linear_solver_b

class(sll_t_linear_solver_abstract), allocatable, private p_linear_solver_b
private

second solver, if created with a linear operator

Definition at line 53 of file sll_m_linear_solver_kron.F90.

◆ p_linear_solver_c

class(sll_t_linear_solver_abstract), allocatable, private p_linear_solver_c
private

third solver, if created with a linear operator

Definition at line 54 of file sll_m_linear_solver_kron.F90.

◆ ptr_linear_solver_a

class(sll_t_linear_solver_abstract), pointer ptr_linear_solver_a => null()
private

pointer to the first solver

Definition at line 48 of file sll_m_linear_solver_kron.F90.

◆ ptr_linear_solver_b

class(sll_t_linear_solver_abstract), pointer ptr_linear_solver_b => null()
private

pointer to the second solver

Definition at line 49 of file sll_m_linear_solver_kron.F90.

◆ ptr_linear_solver_c

class(sll_t_linear_solver_abstract), pointer ptr_linear_solver_c => null()
private

pointer to the third solver, if given

Definition at line 50 of file sll_m_linear_solver_kron.F90.

◆ verbose

logical verbose = .false.
privateinherited

details output for diagnostic if true

Definition at line 41 of file sll_m_linear_solver_abstract.F90.

    Report Typos and Errors