atl_maxwell_flux_2d Interface

public interface atl_maxwell_flux_2d

Interface for fluxes of pure Maxwell equations.


Module Procedures

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

Subroutine to calculate the flux for pure Maxwell equations without

Read more…

Arguments

Type IntentOptional 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.

private subroutine maxwell_flux_cube_vec_2d(nTotalFaces, nSides, nFaceDofs, faceRep, faceFlux, leftPos, rightPos, var, material_left, material_right)

calculate flux of pure maxwell equation directly on the face-vector

Read more…

Arguments

Type IntentOptional 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)

private subroutine maxwell_flux_nonconst_cube_vec_2d(nTotalFaces, nSides, nFaceDofs, faceRep, faceFlux, leftPos, rightPos, var, material_left, material_right, poly_proj, modalCoeffs, pntVal, nodalNumFlux, numFluxBuffer)

calculate flux of pure maxwell equation directly on the face-vector

Read more…

Arguments

Type IntentOptional 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.

Read more…
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