Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Invert a circulant matrix based on diagonalization in Fourier space (3d version)
Derived types and interfaces | |
type | sll_t_preconditioner_curl_solver_fft |
Linear solver for FFT-based inversion of 3d tensor product of circulant matrices (extending the abstract linear solver class) More... | |
Functions/Subroutines | |
subroutine | create_preconditioner (self, n_dofs, delta_x, degree) |
subroutine | solve_real_preconditioner (self, rhs, unknown) |
subroutine | fft3d (self, array1d_x, array1d_y, array1d_z, inde, x, scratch1) |
Helper function. More... | |
subroutine | ifft3d (self, array1d_x, array1d_y, array1d_z, inde, scratch, y) |
Helper function. More... | |
subroutine | invert3d (mat, mat_inv) |
Helper function to invert 3x3 matrix. More... | |
subroutine | read_from_file_preconditioner (self, filename) |
subroutine | print_info_preconditioner (self) |
subroutine | set_verbose_preconditioner (self, verbose) |
subroutine | free_preconditioner (self) |
|
private |
[in,out] | self | Fourier solver |
n_dofs | number of degrees of freedom | |
delta_x | cell size |
Definition at line 70 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Helper function.
[in,out] | self | Fourier solver |
Definition at line 336 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
[in,out] | self | Fourier solver |
Definition at line 485 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Helper function.
[in,out] | self | Fourier solver |
Definition at line 387 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
Helper function to invert 3x3 matrix.
Definition at line 441 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
[in] | self | Fourier solver |
Definition at line 471 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
[in,out] | self | Fourier solver |
Definition at line 465 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
[in,out] | self | Fourier solver |
[in] | verbose | logical for convergence information |
Definition at line 476 of file sll_m_preconditioner_curl_solver_fft.F90.
|
private |
[in,out] | self | Fourier solver |
[in] | rhs | given right-hand side |
[out] | unknown | unknown-left hand side |
Definition at line 187 of file sll_m_preconditioner_curl_solver_fft.F90.