module that holds all routines to calculate the flux for hyperbolic Maxwell equations (2d, transverse electric mode formulation -TE).
Interface for fluxes of pure Maxwell equations.
Subroutine to calculate the flux for pure Maxwell equations without
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | left(7) | Left state vector (as conservative variables). The order of this vector has to be \f$ (D_x, D_y, B_3) \f$ where E and B denoted electric field vetor and magnetic field (also called magnetic induction) vector. |
||
real(kind=rk), | intent(in) | :: | right(7) | Right state vector (as conservative variables). The order of this vector has to be (D_x, D_y, B_3) where E and B denoted the electric field vetor and magnetic field (also called magnetic induction) vector. |
||
real(kind=rk), | intent(in) | :: | left_mu | The magnetic permeability of the left element. |
||
real(kind=rk), | intent(in) | :: | left_epsi | The electric permitivity of the left element. |
||
real(kind=rk), | intent(in) | :: | right_mu | The magnetic permeability of the right element. |
||
real(kind=rk), | intent(in) | :: | right_epsi | The electric permitivity of the right element. |
||
real(kind=rk), | intent(out) | :: | flux(7) | The flux between left and right cell. The order of this vector is the same as the input arguments. |
calculate flux of pure maxwell equation directly on the face-vector
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) | |||
real(kind=rk), | intent(inout) | :: | faceFlux(nTotalFaces,nFaceDofs,7,2) | |||
integer, | intent(in) | :: | leftPos(nSides) | |||
integer, | intent(in) | :: | rightPos(nsides) | |||
integer, | intent(in) | :: | var(7) | |||
real(kind=rk), | intent(in) | :: | material_left(nSides,1,3) | |||
real(kind=rk), | intent(in) | :: | material_right(nSides,1,3) |
calculate flux of pure maxwell equation directly on the face-vector
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 |
Subroutine to calculate the flux for pure Maxwell equations without
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | left(7) | Left state vector (as conservative variables). The order of this vector has to be \f$ (D_x, D_y, B_3) \f$ where E and B denoted electric field vetor and magnetic field (also called magnetic induction) vector. |
||
real(kind=rk), | intent(in) | :: | right(7) | Right state vector (as conservative variables). The order of this vector has to be (D_x, D_y, B_3) where E and B denoted the electric field vetor and magnetic field (also called magnetic induction) vector. |
||
real(kind=rk), | intent(in) | :: | left_mu | The magnetic permeability of the left element. |
||
real(kind=rk), | intent(in) | :: | left_epsi | The electric permitivity of the left element. |
||
real(kind=rk), | intent(in) | :: | right_mu | The magnetic permeability of the right element. |
||
real(kind=rk), | intent(in) | :: | right_epsi | The electric permitivity of the right element. |
||
real(kind=rk), | intent(out) | :: | flux(7) | The flux between left and right cell. The order of this vector is the same as the input arguments. |
calculate flux of pure maxwell equation directly on the face-vector
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 |
calculate flux of pure maxwell equation directly on the face-vector
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) | |||
real(kind=rk), | intent(inout) | :: | faceFlux(nTotalFaces,nFaceDofs,7,2) | |||
integer, | intent(in) | :: | leftPos(nSides) | |||
integer, | intent(in) | :: | rightPos(nsides) | |||
integer, | intent(in) | :: | var(7) | |||
real(kind=rk), | intent(in) | :: | material_left(nSides,1,3) | |||
real(kind=rk), | intent(in) | :: | material_right(nSides,1,3) |