Calculates the fields consistent with the passed distribution function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
procedure(invert_field_func) | :: | fields_func | ||||
complex, | intent(in), | dimension(:, :, :) | :: | g_in | ||
complex, | intent(out), | dimension (:,:,:) | :: | phi_out | ||
complex, | intent(out), | dimension (:,:,:) | :: | apar_out | ||
complex, | intent(out), | dimension (:,:,:) | :: | bpar_out |
subroutine calculate_fields(fields_func, g_in, phi_out, apar_out, bpar_out)
use nonlinear_terms, only: time_add_explicit_terms_field
use job_manage, only: time_message
procedure(invert_field_func) :: fields_func
complex, dimension(:, :, :), intent(in) :: g_in
complex, dimension (:,:,:), intent (out) :: phi_out, apar_out, bpar_out
call time_message(.false., time_add_explicit_terms_field, 'Explicit terms - field')
call fields_func(g_in, phi_out, apar_out, bpar_out, local_only = .true.)
call time_message(.false., time_add_explicit_terms_field, 'Explicit terms - field')
end subroutine calculate_fields