Subroutine to calculate the flux for pure Maxwell equations without any divergence cleaning on the reference cubic face.
This subroutine calculates the flux of the Maxwell equation on the reference cubic face. This implementation is based on the this article: A three-dimensional finite-volume solver for Maxwell equations with divergence cleaning on unstructured meshes, C.D. Munz, P. Ommes, R. Schneider, Computer Physiscs communications 130, 83-117, 1999. Additionally we splitted the correction technique from the Maxwell fluxes themself to be able to use the fluxes for Maxwell in combination with an arbitrary divergence correction technique. Please notice that this flux function assumes constant material parameters in both cells.
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. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private | :: | left_speedOfLight | ||||
real(kind=rk), | private | :: | right_speedOfLight | ||||
real(kind=rk), | private | :: | inv_denom_mu | ||||
real(kind=rk), | private | :: | inv_denom_epsi |