Interface for fluxes of pure Maxwell equations.
Subroutine to calculate the flux for pure Maxwell equations without any divergence cleaning on the reference cubic face.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | left(6) |
Left state vector (as conservative variables). The order of this vector has to be \f$ (D_x, D_y, D_z, B_1, B_2, 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(6) |
Right state vector (as conservative variables). The order of this vector has to be (D_x, D_y, D_z, B_1, B_2, 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(6) |
The flux between left and right cell. The order of this vector is the same as the input arguments. |
c a l c u l a t e
f l u x
o f
p u r e
m a x w e l l
e q u a t i o n
d i r e c t l y
o n
t h e
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,6,2) | |||
real(kind=rk), | intent(inout) | :: | faceFlux(nTotalFaces,nFaceDofs,6,2) | |||
integer, | intent(in) | :: | leftPos(nSides) | |||
integer, | intent(in) | :: | rightPos(nsides) | |||
integer, | intent(in) | :: | var(6) | |||
real(kind=rk), | intent(in) | :: | material_left(nSides,1,2) | |||
real(kind=rk), | intent(in) | :: | material_right(nSides,1,2) |
c a l c u l a t e
f l u x
o f
p u r e
m a x w e l l
e q u a t i o n
d i r e c t l y
o n
t h e
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,6,2) |
The modal representation on the faces, left and right trace. |
||
real(kind=rk), | intent(inout) | :: | faceFlux(nTotalFaces,nFaceDofs,6,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(6) |
Variable rotation indices |
||
real(kind=rk), | intent(in) | :: | material_left(nSides,nFaceDofs,2) |
Material parameters for the left faces. |
||
real(kind=rk), | intent(in) | :: | material_right(nSides,nFaceDofs,2) |
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 |