9 #include "sll_working_precision.h"
29 sll_real64 :: delta_x(3)
31 sll_int32 :: n_cells(3)
32 sll_int32 :: n_dofs(3)
36 sll_int32 :: s_deg_0(3)
37 sll_int32 :: s_deg_1(3)
39 sll_real64 :: mass_solver_tolerance = 1d-12
40 sll_real64 :: poisson_solver_tolerance = 1d-12
41 sll_real64 :: solver_tolerance = 1d-12
54 procedure(compute_e_from_j_3d),
deferred :: &
61 compute_rhs_from_function
95 sll_real64,
intent( in ) :: delta_t
96 sll_real64,
intent( in ) :: field_in(:)
97 sll_real64,
intent( inout ) :: field_out(:)
110 sll_real64,
intent( in ) :: field_in(:)
111 sll_real64,
intent( out ) :: field_out(:)
122 sll_real64,
intent( in ) :: field_in(:)
123 sll_real64,
intent( inout ) :: field_out(:)
124 sll_real64,
intent( out ) :: efield_dofs(:)
131 subroutine compute_e_from_j_3d( self, current, E, component )
135 sll_real64,
intent( in ) :: current(:)
136 sll_real64,
intent( inout ) :: e(:)
137 sll_int32,
intent( in ),
optional :: component
139 end subroutine compute_e_from_j_3d
152 sll_real64,
intent(in) :: x(3)
163 sll_int32,
intent( in ) :: form
164 sll_int32,
intent( in ) :: component
165 sll_real64,
intent( out ) :: coefs_dofs(:)
181 sll_real64 :: coefs(:)
183 sll_int32 :: component
196 sll_real64 :: coefs1(:)
197 sll_real64 :: coefs2(:)
199 sll_int32,
optional :: component
224 sll_int32,
intent( in ) :: deg(:)
225 sll_real64,
intent( in ) :: coefs_in(:)
226 sll_real64,
intent( out ) :: coefs_out(:)
236 sll_int32,
intent( in ) :: form
237 sll_real64,
intent( in ) :: coefs_in(:)
238 sll_real64,
intent( out ) :: coefs_out(:)
247 sll_real64,
intent(in) :: delta_t
248 sll_real64,
intent(inout) :: efield(:)
249 sll_real64,
intent(inout) :: bfield(:)
250 sll_real64,
optional :: betar
253 call self%compute_B_from_E( &
254 delta_t, efield, bfield )
256 call self%compute_E_from_B(&
257 delta_t, bfield*betar , efield )
Module interface to solve Maxwell's equations in 3D.
subroutine compute_curl_part(self, delta_t, efield, bfield, betar)
functions for initial profile of the particle distribution function
Some common numerical utilities.
subroutine, public sll_s_int2string(istep, cstep)
Convert an integer < 9999 to a 4 characters string.
Module to select the kind parameter.