Report Typos and Errors
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
linear_solvers
sll_m_linear_operator_base.F90
Go to the documentation of this file.
1
module
sll_m_linear_operator_base
2
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3
#include "sll_assert.h"
4
5
use
sll_m_vector_space_base
,
only
:
sll_c_vector_space
6
7
implicit none
8
9
public
::
sll_c_linear_operator
10
11
private
12
!+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
13
14
type
,
abstract
::
sll_c_linear_operator
15
16
contains
17
18
! Deferred procedures
19
procedure
(
i_fun_get_shape
),
deferred
:: get_shape
20
procedure
(
i_sub_dot
),
deferred
:: dot
21
procedure
(
i_sub_free
),
deferred
:: free
22
23
end type
sll_c_linear_operator
24
25
! Interfaces for deferred procedures
26
abstract
interface
27
28
function
i_fun_get_shape
(self)
result
(s)
29
import
sll_c_linear_operator
30
class
(
sll_c_linear_operator
),
intent(in)
:: self
31
integer
:: s(2)
32
end function
i_fun_get_shape
33
34
subroutine
i_sub_dot
(self, x, y)
35
import
sll_c_linear_operator
,
sll_c_vector_space
36
class
(
sll_c_linear_operator
),
intent(in)
:: self
37
class
(
sll_c_vector_space
),
intent(in)
:: x
38
class
(
sll_c_vector_space
),
intent(inout)
:: y
39
end subroutine
i_sub_dot
40
41
subroutine
i_sub_free
(self)
42
import
sll_c_linear_operator
43
class
(
sll_c_linear_operator
),
intent(inout)
:: self
44
end subroutine
i_sub_free
45
46
end interface
47
48
end module
sll_m_linear_operator_base
sll_m_linear_operator_base::i_fun_get_shape
Definition:
sll_m_linear_operator_base.F90:28
sll_m_linear_operator_base::i_sub_dot
Definition:
sll_m_linear_operator_base.F90:34
sll_m_linear_operator_base::i_sub_free
Definition:
sll_m_linear_operator_base.F90:41
sll_m_linear_operator_base
Definition:
sll_m_linear_operator_base.F90:1
sll_m_vector_space_base
Abstract type implementing a generic vector space.
Definition:
sll_m_vector_space_base.F90:7
sll_m_linear_operator_base::sll_c_linear_operator
Definition:
sll_m_linear_operator_base.F90:14
sll_m_vector_space_base::sll_c_vector_space
Abstract base class for all vector spaces.
Definition:
sll_m_vector_space_base.F90:28
Report Typos and Errors
Generated on Mon Oct 23 2023 19:15:40 for Semi-Lagrangian Library by
1.9.1