get_lfac Subroutine

public pure subroutine get_lfac(u, lfac)

Uses

  • proc~~get_lfac~~UsesGraph proc~get_lfac get_lfac module~mod_global_parameters mod_global_parameters proc~get_lfac->module~mod_global_parameters module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_variables->module~mod_basic_types

Get Lorentz factor from relativistic momentum

Arguments

Type IntentOptional Attributes Name
double precision, intent(in), dimension(3) :: u
double precision, intent(out) :: lfac

Called by

proc~~get_lfac~~CalledByGraph proc~get_lfac get_lfac proc~lorentz_get_particle_dt Lorentz_get_particle_dt proc~lorentz_get_particle_dt->proc~get_lfac proc~lorentz_integrate_particles Lorentz_integrate_particles proc~lorentz_integrate_particles->proc~get_lfac proc~lorentz_integrate_particles->proc~lorentz_get_particle_dt proc~lorentz_kick Lorentz_kick proc~lorentz_integrate_particles->proc~lorentz_kick proc~lorentz_update_payload Lorentz_update_payload proc~lorentz_integrate_particles->proc~lorentz_update_payload proc~lorentz_kick->proc~get_lfac proc~lorentz_update_payload->proc~get_lfac proc~lorentz_create_particles Lorentz_create_particles proc~lorentz_create_particles->proc~lorentz_update_payload proc~particles_create particles_create proc~particles_create->proc~lorentz_create_particles proc~main main proc~main->proc~particles_create program~agile agile program~agile->proc~main

Source Code

  pure subroutine get_lfac(u,lfac)
    use mod_global_parameters, only: ndir, c_norm
    double precision,dimension(3), intent(in)       :: u
    double precision, intent(out)                      :: lfac

    if (relativistic) then
       lfac = sqrt(1.0d0 + sum(u(:)**2)/c_norm**2)
    else
       lfac = 1.0d0
    end if

  end subroutine get_lfac