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

class for a linear solver_block More...

Inheritance diagram for sll_t_linear_solver_block:
Collaboration diagram for sll_t_linear_solver_block:

Private Member Functions

procedure create => create_linear_solver_block
 
procedure set => set_linear_solver_block
 
procedure read_from_file => read_from_file_linear_solver_block
 
procedure set_verbose => set_verbose_linear_solver_block
 
procedure solve_real => solve_real_linear_solver_block
 
procedure print_info => print_info_linear_solver_block
 
procedure free => free_linear_solver_block
 
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(:), allocatable arr_n_rows
 number of rows for every block More...
 
integer(kind=i32), dimension(:), allocatable arr_n_cols
 number of columns for every block More...
 
real(kind=f64), dimension(:,:), allocatable arr_coeffs
 coefficients for every block (default: 1) 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...
 
type(jrk_t_linear_solver_pointer), dimension(:,:), allocatable linear_solvers
 linear solvers 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 a linear solver_block

Definition at line 36 of file sll_m_linear_solver_block.F90.

Member Function/Subroutine Documentation

◆ create()

procedure create
private

Definition at line 50 of file sll_m_linear_solver_block.F90.

◆ free()

procedure free
private

Definition at line 56 of file sll_m_linear_solver_block.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 55 of file sll_m_linear_solver_block.F90.

◆ read_from_file()

procedure read_from_file
private

Definition at line 52 of file sll_m_linear_solver_block.F90.

◆ set()

procedure set
private

Definition at line 51 of file sll_m_linear_solver_block.F90.

◆ set_verbose()

procedure set_verbose
private

Definition at line 53 of file sll_m_linear_solver_block.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 54 of file sll_m_linear_solver_block.F90.

Member Data Documentation

◆ arr_coeffs

real(kind=f64), dimension(:,:), allocatable arr_coeffs
private

coefficients for every block (default: 1)

Definition at line 42 of file sll_m_linear_solver_block.F90.

◆ arr_n_cols

integer(kind=i32), dimension(:), allocatable arr_n_cols
private

number of columns for every block

Definition at line 39 of file sll_m_linear_solver_block.F90.

◆ arr_n_rows

integer(kind=i32), dimension(:), allocatable arr_n_rows
private

number of rows for every block

Definition at line 37 of file sll_m_linear_solver_block.F90.

◆ is_allocated

logical is_allocated = .false.
privateinherited

Definition at line 40 of file sll_m_linear_solver_abstract.F90.

◆ linear_solvers

type(jrk_t_linear_solver_pointer), dimension(:,:), allocatable linear_solvers
private

linear solvers

Definition at line 48 of file sll_m_linear_solver_block.F90.

◆ n_block_cols

integer(kind=i32) n_block_cols = 1
private

number of columns blocks

Definition at line 46 of file sll_m_linear_solver_block.F90.

◆ n_block_rows

integer(kind=i32) n_block_rows = 1
private

number of rows blocks

Definition at line 45 of file sll_m_linear_solver_block.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.

◆ 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