(formulation is based on TE mode formulation for 2D).
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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nTotalFaces | |||
integer, | intent(in) | :: | nSides | |||
integer, | intent(in) | :: | nFaceDofs | |||
real(kind=rk), | intent(in) | :: | faceRep(nTotalFaces,nFaceDofs,7,2) |
The modal representation on the faces, left and right trace. |
||
real(kind=rk), | intent(inout) | :: | faceFlux(nTotalFaces,nFaceDofs,7,2) |
The fluxes for all faces, for left and right elements. |
||
integer, | intent(in) | :: | leftPos(nSides) |
Positions for the left and right elements of all faces |
||
integer, | intent(in) | :: | rightPos(nsides) |
Positions for the left and right elements of all faces |
||
integer, | intent(in) | :: | var(7) |
Variable rotation indices |
||
real(kind=rk), | intent(in) | :: | material_left(nSides,nFaceDofs,3) |
Material parameters for the left faces. |
||
real(kind=rk), | intent(in) | :: | material_right(nSides,nFaceDofs,3) |
Material parameters for the right faces.
|
||
type(ply_poly_project_type) | :: | poly_proj |
Data for projection method |
|||
real(kind=rk), | intent(inout) | :: | modalCoeffs(:,:,:) |
Working array for the left and right modal coefficients |
||
real(kind=rk), | intent(inout) | :: | pntVal(:,:,:) |
Working array for the left and right point values |
||
real(kind=rk), | intent(inout) | :: | nodalNumFlux(:,:) |
Working array for the nodal flux |
||
real(kind=rk), | intent(inout) | :: | numFluxBuffer(:,:) |
Working array for the modal numerical flux |