maxwell_flux_cube Subroutine

private subroutine maxwell_flux_cube(left, right, left_mu, left_epsi, right_mu, right_epsi, flux)

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.

Arguments

TypeIntentOptionalAttributesName
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.


Called by

proc~~maxwell_flux_cube~~CalledByGraph proc~maxwell_flux_cube maxwell_flux_cube interface~atl_maxwell_flux atl_maxwell_flux interface~atl_maxwell_flux->proc~maxwell_flux_cube proc~maxwell_flux_nonconst_cube_vec maxwell_flux_nonconst_cube_vec interface~atl_maxwell_flux->proc~maxwell_flux_nonconst_cube_vec proc~maxwell_flux_nonconst_cube_vec->proc~maxwell_flux_cube proc~atl_modg_maxwell_numflux atl_modg_maxwell_numFlux proc~atl_modg_maxwell_numflux->interface~atl_maxwell_flux proc~compute_rhs_cubes_modg compute_rhs_cubes_modg proc~compute_rhs_cubes_modg->proc~atl_modg_maxwell_numflux proc~compute_rhs_cubes compute_rhs_cubes proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg

Contents


Variables

TypeVisibilityAttributesNameInitial
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