2 #include "sll_working_precision.h"
22 sll_int32 :: n_dofs(3)
23 sll_real64 :: delta_x(3)
41 sll_int32 :: n_dofs(3)
42 sll_real64 :: delta_x(3)
46 self%n_total = product(n_dofs)
47 self%delta_x = delta_x
49 self%n_rows = self%n_total
50 self%n_cols = self%n_total
52 self%n_global_rows = self%n_rows
53 self%n_global_cols = self%n_cols
66 sll_real64,
intent( in ) :: x(:)
67 sll_real64,
intent( out ) :: y(:)
69 sll_real64 :: scratch(3*self%n_total), scratch1(3*self%n_total)
72 call self%mass%dot(scratch, scratch1)
module for abstract linear operator
module for a block linear operator
subroutine dot_poisson_3d(self, x, y)
subroutine free_poisson_3d(self)
subroutine create_linear_operator_poisson_3d(self, mass, n_dofs, delta_x)
subroutine print_info_poisson_3d(self)
Utilites for Maxwell solver's with spline finite elements.
subroutine, public sll_s_multiply_g(n_dofs, delta_x, field_in, field_out)
Multiply by dicrete gradient matrix (3d version)
subroutine, public sll_s_multiply_gt(n_dofs, delta_x, field_in, field_out)
Multiply by transpose of dicrete gradient matrix (3d version)
class for abstract linear operator
class for a linear operator_block