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_operator_block Module Reference

Description

module for a block linear operator

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

Maintainer ARA Modified by Benedikt Perse Stability stable

Derived types and interfaces

type  jrk_t_linear_operator_pointer
 class that contains a pointer to a linear operator More...
 
type  sll_t_linear_operator_block
 class for a linear operator_block More...
 

Functions/Subroutines

subroutine create_linear_operator_block (self, n_block_rows, n_block_cols)
 creates a linear operator_block you must sets the linop using set More...
 
subroutine free_linear_operator_block (self)
 destroys the current object More...
 
subroutine set_linear_operator_block (self, i_block_row, i_block_col, linop, r_coeff)
 sets a linear operator More...
 
subroutine print_info_linear_operator_block (self)
 prints the current object More...
 
subroutine dot_linear_operator_block (self, x, y)
 apply the dot operation More...
 

Function/Subroutine Documentation

◆ create_linear_operator_block()

subroutine sll_m_linear_operator_block::create_linear_operator_block ( class(sll_t_linear_operator_block), intent(inout)  self,
integer(kind=i32), intent(in)  n_block_rows,
integer(kind=i32), intent(in)  n_block_cols 
)
private

creates a linear operator_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 62 of file sll_m_linear_operator_block.F90.

◆ dot_linear_operator_block()

subroutine sll_m_linear_operator_block::dot_linear_operator_block ( class(sll_t_linear_operator_block), intent(in)  self,
real(kind=f64), dimension(:), intent(in)  x,
real(kind=f64), dimension(:), intent(out)  y 
)
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 192 of file sll_m_linear_operator_block.F90.

◆ free_linear_operator_block()

subroutine sll_m_linear_operator_block::free_linear_operator_block ( class(sll_t_linear_operator_block), intent(inout)  self)
private

destroys the current object

Parameters
[in,out]selfthe current object

Definition at line 108 of file sll_m_linear_operator_block.F90.

◆ print_info_linear_operator_block()

subroutine sll_m_linear_operator_block::print_info_linear_operator_block ( class(sll_t_linear_operator_block), intent(in)  self)
private

prints the current object

Parameters
[in]selfthe current object

Definition at line 171 of file sll_m_linear_operator_block.F90.

◆ set_linear_operator_block()

subroutine sll_m_linear_operator_block::set_linear_operator_block ( class(sll_t_linear_operator_block), intent(inout)  self,
integer(kind=i32), intent(in)  i_block_row,
integer(kind=i32), intent(in)  i_block_col,
class(sll_t_linear_operator_abstract), intent(in), target  linop,
real(kind=f64), intent(in), optional  r_coeff 
)
private

sets a linear operator

Parameters
[in,out]selfthe current object
[in]i_block_rowthe block row identifier
[in]i_block_colthe block col identifier
[in]linopthe associated linear operator
[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 131 of file sll_m_linear_operator_block.F90.

    Report Typos and Errors