10 #include "sll_assert.h"
11 #include "sll_memory.h"
12 #include "sll_working_precision.h"
30 sll_real64,
allocatable :: jacobi_precond(:)
49 sll_int32,
intent( in ) :: n_dofs(3)
50 sll_int32,
intent( in ) :: degree(3)
51 sll_real64,
intent( in ) :: delta_x(3)
52 sll_real64,
intent( in ) :: jacobi_in(:)
54 call self%poisson_solver%init( n_dofs, degree, delta_x )
56 allocate( self%jacobi_precond( product(n_dofs)) )
57 self%jacobi_precond = jacobi_in
58 self%n_dofs = product(n_dofs)
65 call self%poisson_solver%free()
71 sll_real64,
intent(in ) :: rhs(:)
72 sll_real64,
intent( out) :: unknown(:)
74 sll_real64,
allocatable :: tmp(:)
76 allocate( tmp(self%n_dofs) )
77 unknown = self%jacobi_precond*rhs
79 call self%poisson_solver%compute_phi_from_rho( unknown, tmp )
80 unknown = self%jacobi_precond*tmp
87 character(len=*),
intent( in ) :: filename
93 logical,
intent( in ) :: verbose
95 self%verbose = verbose
module for abstract linear solver
This module is a wrapper around the spline FEM Poisson solver for the uniform grid with periodic boun...
subroutine print_info_poisson_fft(self)
subroutine set_verbose_poisson_fft(self, verbose)
subroutine solve_poisson_fft(self, rhs, unknown)
subroutine free_poisson_fft(self)
subroutine read_from_file_poisson_fft(self, filename)
subroutine create_poisson_fft(self, n_dofs, degree, delta_x, jacobi_in)
class for abstract linear solver