2 #include "sll_working_precision.h"
23 sll_real64 :: sign = 1.0_f64
41 sll_int32,
intent(in) :: n_dofs
42 sll_int32,
intent(in) :: degree
45 self%particle_mass => particle_mass
46 self%maxwell_solver => maxwell_solver
50 self%n_rows = self%n_dofs
51 self%n_cols = self%n_dofs
53 self%n_global_rows = self%n_rows
54 self%n_global_cols = self%n_cols
61 self%maxwell_solver => null()
62 self%particle_mass => null()
69 sll_real64,
intent( in ) :: x(:)
70 sll_real64,
intent( out ) :: y(:)
72 sll_real64 :: z(self%n_dofs)
75 call self%particle_mass%dot( x, z )
76 call self%maxwell_solver%multiply_mass( x, y, self%degree )
module for abstract linear operator
subroutine dot_schur_ev_1d(self, x, y)
subroutine create_linear_operator_schur_ev_1d(self, maxwell_solver, particle_mass, n_dofs, degree)
subroutine free_schur_ev_1d(self)
subroutine print_info_schur_ev_1d(self)
Module interface to solve Maxwell's equations in 1D.
class for abstract linear operator