get_Thomson_parameters Subroutine

public subroutine get_Thomson_parameters(Rl, A, B, C, D)

Uses

  • proc~~get_thomson_parameters~~UsesGraph proc~get_thomson_parameters get_Thomson_parameters module~mod_constants mod_constants proc~get_thomson_parameters->module~mod_constants

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: Rl
double precision, intent(inout) :: A
double precision, intent(inout) :: B
double precision, intent(inout) :: C
double precision, intent(inout) :: D

Called by

proc~~get_thomson_parameters~~CalledByGraph proc~get_thomson_parameters get_Thomson_parameters proc~integrate_whitelight_spherical integrate_whitelight_spherical proc~integrate_whitelight_spherical->proc~get_thomson_parameters proc~get_image get_image proc~get_image->proc~integrate_whitelight_spherical proc~get_euv_image get_EUV_image proc~get_euv_image->proc~get_image proc~get_sxr_image get_SXR_image proc~get_sxr_image->proc~get_image proc~get_whitelight_image get_whitelight_image proc~get_whitelight_image->proc~get_image

Source Code

    subroutine get_Thomson_parameters(Rl,A,B,C,D)
      ! parameters given in Billings 1968
      use mod_constants
      double precision, intent(in) :: Rl
      double precision, intent(inout) :: A,B,C,D

      double precision :: sinO,cosO,sinO2,cosO2,tmp

      sinO=const_Rsun/(Rl*unit_length)
      sinO2=sinO**2
      cosO2=1.d0-sinO2
      cosO=abs(dsqrt(cosO2))
      tmp=log((1.d0+sinO)/cosO)
      A=cosO*sinO2
      B=-(1.d0-3.d0*sinO2-(cosO2/sinO)*(1.d0+3.d0*sinO2)*tmp)/8.d0
      C=4.d0/3.d0-cosO-cosO*cosO2/3.d0
      D=(5.d0+sinO2-(cosO2/sinO)*(5.d0-sinO2)*tmp)/8.d0

    end subroutine get_Thomson_parameters