Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines
sll_m_linear_solver_block Module Reference

Description

module for a block linear solver

Linear solvers that can be written as blocks of other linear solvers.

Maintainer ARA Modified by Benedikt Perse Stability stable

Derived types and interfaces

type  jrk_t_linear_solver_pointer
 class that contains a pointer to a linear solver More...
 
type  sll_t_linear_solver_block
 class for a linear solver_block More...
 

Functions/Subroutines

subroutine create_linear_solver_block (self, n_block_rows, n_block_cols)
 creates a linear solver_block you must sets the linop using set More...
 
subroutine set_linear_solver_block (self, i_block_row, i_block_col, linop, r_coeff)
 sets a linear solver More...
 
subroutine read_from_file_linear_solver_block (self, filename)
 
subroutine set_verbose_linear_solver_block (self, verbose)
 
subroutine solve_real_linear_solver_block (self, rhs, unknown)
 apply the dot operation More...
 
subroutine print_info_linear_solver_block (self)
 prints the current object More...
 
subroutine free_linear_solver_block (self)
 destroys the current object More...
 

Function/Subroutine Documentation

◆ create_linear_solver_block()

subroutine sll_m_linear_solver_block::create_linear_solver_block ( class(sll_t_linear_solver_block), intent(inout)  self,
integer(kind=i32), intent(in)  n_block_rows,
integer(kind=i32), intent(in)  n_block_cols 
)
private

creates a linear solver_block you must sets the linop using set

Parameters
[in,out]selfthe current object
[in]n_block_rowsnumber of row blocks
[in]n_block_colsnumber of col blocks

Definition at line 69 of file sll_m_linear_solver_block.F90.

◆ free_linear_solver_block()

subroutine sll_m_linear_solver_block::free_linear_solver_block ( class(sll_t_linear_solver_block), intent(inout)  self)
private

destroys the current object

Parameters
[in,out]selfthe current object

Definition at line 250 of file sll_m_linear_solver_block.F90.

◆ print_info_linear_solver_block()

subroutine sll_m_linear_solver_block::print_info_linear_solver_block ( class(sll_t_linear_solver_block), intent(in)  self)
private

prints the current object

Parameters
[in]selfthe current object

Definition at line 239 of file sll_m_linear_solver_block.F90.

◆ read_from_file_linear_solver_block()

subroutine sll_m_linear_solver_block::read_from_file_linear_solver_block ( class(sll_t_linear_solver_block), intent(inout)  self,
character(len=*), intent(in)  filename 
)
private

Definition at line 157 of file sll_m_linear_solver_block.F90.

◆ set_linear_solver_block()

subroutine sll_m_linear_solver_block::set_linear_solver_block ( class(sll_t_linear_solver_block), intent(inout)  self,
integer(kind=i32), intent(in)  i_block_row,
integer(kind=i32), intent(in)  i_block_col,
class(sll_t_linear_solver_abstract), intent(in), target  linop,
real(kind=f64), intent(in), optional  r_coeff 
)
private

sets a linear solver

Parameters
[in,out]selfthe current object
[in]i_block_rowthe block row identifier
[in]i_block_colthe block col identifier
[in]linopthe associated linear solver
[in]r_coeffa real coefficient to associate to the entry block [optional]
Todo:
use linop % n_rows/cols instead of n_global_rows/cols

Definition at line 121 of file sll_m_linear_solver_block.F90.

◆ set_verbose_linear_solver_block()

subroutine sll_m_linear_solver_block::set_verbose_linear_solver_block ( class(sll_t_linear_solver_block), intent(inout)  self,
logical, intent(in)  verbose 
)
private

Definition at line 163 of file sll_m_linear_solver_block.F90.

◆ solve_real_linear_solver_block()

subroutine sll_m_linear_solver_block::solve_real_linear_solver_block ( class(sll_t_linear_solver_block), intent(inout)  self,
real(kind=f64), dimension(:), intent(in)  rhs,
real(kind=f64), dimension(:), intent(out)  unknown 
)
private

apply the dot operation

Parameters
[in,out]selfthe current object
[in]xa real valued vector
[in,out]ya real valued vector

Definition at line 177 of file sll_m_linear_solver_block.F90.

    Report Typos and Errors