Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Linear solver for FFT-based inversion of 3d tensor product of circulant matrices (extending the abstract linear solver class) More...
Private Member Functions | |
procedure | read_from_file => read_from_file_preconditioner |
procedure | set_verbose => set_verbose_preconditioner |
procedure | solve_real => solve_real_preconditioner |
procedure | print_info => print_info_preconditioner |
procedure | create => create_preconditioner |
procedure | free => free_preconditioner |
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) | n_total |
product of number of degrees of freedom More... | |
integer(kind=i32), dimension(3) | n_dofs |
number of degrees of freedom More... | |
real(kind=f64) | factor = 1._f64 |
complex(kind=f64), dimension(:), allocatable | eig_values_d1 |
complex(kind=f64), dimension(:), allocatable | eig_values_d1t |
complex(kind=f64), dimension(:), allocatable | eig_values_d2 |
complex(kind=f64), dimension(:), allocatable | eig_values_d2t |
complex(kind=f64), dimension(:), allocatable | eig_values_d3 |
complex(kind=f64), dimension(:), allocatable | eig_values_d3t |
real(kind=f64), dimension(:), allocatable | eig_values_mass_0_1 |
real(kind=f64), dimension(:), allocatable | eig_values_mass_0_2 |
real(kind=f64), dimension(:), allocatable | eig_values_mass_0_3 |
real(kind=f64), dimension(:), allocatable | eig_values_mass_1_1 |
real(kind=f64), dimension(:), allocatable | eig_values_mass_1_2 |
real(kind=f64), dimension(:), allocatable | eig_values_mass_1_3 |
type(sll_t_fft) | fft1 |
data type for fft along dimension 1 More... | |
type(sll_t_fft) | fft2 |
data type for fft along dimension 2 More... | |
type(sll_t_fft) | fft3 |
data type for fft along dimension 3 More... | |
type(sll_t_fft) | ifft1 |
data type for inverse fft along dimension 1 More... | |
type(sll_t_fft) | ifft2 |
data type for inverse fft along dimension 2 More... | |
type(sll_t_fft) | ifft3 |
data type for inverse fft along dimension 3 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... | |
Linear solver for FFT-based inversion of 3d tensor product of circulant matrices (extending the abstract linear solver class)
Definition at line 30 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 63 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 64 of file sll_m_preconditioner_curl_solver_fft.F90.
|
privateinherited |
Definition at line 47 of file sll_m_linear_solver_abstract.F90.
|
private |
Definition at line 62 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 59 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 60 of file sll_m_preconditioner_curl_solver_fft.F90.
|
privateinherited |
Definition at line 48 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
Definition at line 45 of file sll_m_linear_solver_abstract.F90.
|
private |
Definition at line 61 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 36 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 37 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 38 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 39 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 40 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 41 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 42 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 43 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 44 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 45 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 46 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 47 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Definition at line 33 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
data type for fft along dimension 1
Definition at line 50 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
data type for fft along dimension 2
Definition at line 51 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
data type for fft along dimension 3
Definition at line 52 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
data type for inverse fft along dimension 1
Definition at line 53 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
data type for inverse fft along dimension 2
Definition at line 54 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
data type for inverse fft along dimension 3
Definition at line 55 of file sll_m_preconditioner_curl_solver_fft.F90.
|
privateinherited |
Definition at line 40 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
number of columns
Definition at line 32 of file sll_m_linear_solver_abstract.F90.
|
private |
number of degrees of freedom
Definition at line 32 of file sll_m_preconditioner_curl_solver_fft.F90.
|
privateinherited |
number of columns different from n_cols for linear operator
Definition at line 35 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
number of rows different from n_rows for distributed linear operator
Definition at line 34 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
number of rows
Definition at line 31 of file sll_m_linear_solver_abstract.F90.
|
private |
product of number of degrees of freedom
Definition at line 31 of file sll_m_preconditioner_curl_solver_fft.F90.
|
privateinherited |
n_global_cols * n_block_cols
Definition at line 38 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
n_global_rows * n_block_rows
Definition at line 37 of file sll_m_linear_solver_abstract.F90.
|
privateinherited |
details output for diagnostic if true
Definition at line 41 of file sll_m_linear_solver_abstract.F90.