![]() |
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.
1.9.1