Reflect3DMod Module

3D ray reflection computations at boundaries with complex geometry and loss calculations


Uses

  • module~~reflect3dmod~~UsesGraph module~reflect3dmod Reflect3DMod module~bellhopmod bellhopMod module~reflect3dmod->module~bellhopmod module~cross_products cross_products module~reflect3dmod->module~cross_products module~raynormals RayNormals module~reflect3dmod->module~raynormals module~mathconstants MathConstants module~bellhopmod->module~mathconstants

Used by

  • module~~reflect3dmod~~UsedByGraph module~reflect3dmod Reflect3DMod proc~traceray3d TraceRay3D proc~traceray3d->module~reflect3dmod

Subroutines

public subroutine Reflect3D(is, HS, BotTop, nBdry, z_xx, z_xy, z_yy, kappa_xx, kappa_xy, kappa_yy, RefC, Npts)

! not sure if cn2 needs a sign flip also $ IF ( BotTop == 'TOP' ) THEN $ cn1jump = -cn1jump ! flip sign for top reflection $ cn2jump = -cn2jump ! flip sign for top reflection $ END IF

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: is
type(HSInfo), intent(in) :: HS
character(len=3), intent(in) :: BotTop
real(kind=8), intent(inout) :: nBdry(3)
real(kind=8), intent(in) :: z_xx
real(kind=8), intent(in) :: z_xy
real(kind=8), intent(in) :: z_yy
real(kind=8), intent(in) :: kappa_xx
real(kind=8), intent(in) :: kappa_xy
real(kind=8), intent(in) :: kappa_yy
type(ReflectionCoef), intent(in) :: RefC(NPts)
integer, intent(in) :: Npts