2 #include "sll_working_precision.h"
41 sll_int32,
intent(in) :: s_deg_0
42 sll_int32,
intent(in) :: n_dofs
43 sll_real64,
intent(in) :: delta_x
46 self%s_deg_0 = s_deg_0
48 self%delta_x = delta_x
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
67 sll_real64,
intent( in ) :: x(:)
68 sll_real64,
intent( out ) :: y(:)
70 sll_real64 :: scratch1(self%n_dofs-1), scratch2(self%n_dofs-1)
73 call self%mass%dot(scratch1, scratch2)
module for abstract linear operator
subroutine create_linear_operator_poisson_clamped_1d(self, mass, s_deg_0, n_dofs, delta_x)
subroutine dot_poisson_clamped_1d(self, x, y)
subroutine free_poisson_clamped_1d(self)
subroutine print_info_poisson_clamped_1d(self)
module for Compressed Sparse Row Matrix (CSR)
Utilites for Maxwell solver's with spline finite elements using sparse matrices.
subroutine, public sll_s_multiply_gt_clamped_1d(n_dofs, delta_x, s_deg_0, in, out)
Multiplication of the input vector in by the transposed clamped derivative matrix G^T.
subroutine, public sll_s_multiply_g_clamped_1d(n_dofs, delta_x, s_deg_0, in, out)
Multiplication of the input vector in by the clamped derivative matrix G.
class for abstract linear operator