This subroutine assumes the Maxwell equations with D and B as input
variables. Furthermore, it is able to handle arbitray material parameters
by a pseudo-spectral technique.
! Get the material of the left and right element at the current
! face.
! ... left material
left_mu = material_left(iSide,iPoint,1)
left_epsi = material_left(iSide,iPoint,2)
left_gam = material_left(iSide,iPoint,3)
left_chi = material_left(iSide,iPoint,4)
! ... right material
right_mu = material_right(iSide,iPoint,1)
right_epsi = material_right(iSide,iPoint,2)
right_gam = material_right(iSide,iPoint,3)
right_chi = material_right(iSide,iPoint,4)
Data for projection method
!> Working array for the left and right modal coefficients
real(kind=rk), intent(inout) :: left_modalCoeffs((fpt%nQuadPoints)2,8)
real(kind=rk), intent(inout) :: right_modalCoeffs((fpt%nQuadPoints)2,8)
!> Working array for the left and right point values
real(kind=rk), intent(inout) :: left_pntVal((fpt%nQuadPoints)2,8)
real(kind=rk), intent(inout) :: right_pntVal((fpt%nQuadPoints)2,8)
!> Working array for the nodal flux
real(kind=rk), intent(inout) :: nodalNumFlux((fpt%nQuadPoints)2,8)
!> Working array for the modal numerical flux
real(kind=rk), intent(inout) :: numFluxBuffer((fpt%nQuadPoints)2,8)
real(kind=rk),
intent(inout),
allocatable
::
left_modalCoeffs(:,:)
Working array for the left and right modal coefficients
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.