maxwell_flux_nonconst_cube_vec_2d Subroutine

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)

(formulation is based on TE mode formulation for 2D).

This subroutine assumes the Maxwell equations with D and B as input variables. Furthermore, it is able to handle arbitray material parameters by a pseudo-spectral technique.

Arguments

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

FPT to convert between nodes and modes.

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


Calls

proc~~maxwell_flux_nonconst_cube_vec_2d~~CallsGraph proc~maxwell_flux_nonconst_cube_vec_2d maxwell_flux_nonconst_cube_vec_2d interface~ply_poly_project_n2m ply_poly_project_n2m proc~maxwell_flux_nonconst_cube_vec_2d->interface~ply_poly_project_n2m interface~ply_poly_project_m2n ply_poly_project_m2n proc~maxwell_flux_nonconst_cube_vec_2d->interface~ply_poly_project_m2n proc~maxwell_flux_cube_2d maxwell_flux_cube_2d proc~maxwell_flux_nonconst_cube_vec_2d->proc~maxwell_flux_cube_2d proc~ply_poly_project_n2m_multivar ply_poly_project_n2m_multiVar interface~ply_poly_project_n2m->proc~ply_poly_project_n2m_multivar proc~ply_poly_project_m2n_multivar ply_poly_project_m2n_multiVar interface~ply_poly_project_m2n->proc~ply_poly_project_m2n_multivar proc~ply_fxt_m2n_3d ply_fxt_m2n_3D proc~ply_poly_project_m2n_multivar->proc~ply_fxt_m2n_3d interface~ply_legtopnt_2d ply_legToPnt_2D proc~ply_poly_project_m2n_multivar->interface~ply_legtopnt_2d proc~ply_fxt_m2n_1d ply_fxt_m2n_1D proc~ply_poly_project_m2n_multivar->proc~ply_fxt_m2n_1d proc~ply_l2p_trafo_2d ply_l2p_trafo_2D proc~ply_poly_project_m2n_multivar->proc~ply_l2p_trafo_2d proc~ply_fxt_m2n_2d ply_fxt_m2n_2D proc~ply_poly_project_m2n_multivar->proc~ply_fxt_m2n_2d proc~ply_l2p_trafo_1d ply_l2p_trafo_1D proc~ply_poly_project_m2n_multivar->proc~ply_l2p_trafo_1d proc~ply_l2p_trafo_3d ply_l2p_trafo_3D proc~ply_poly_project_m2n_multivar->proc~ply_l2p_trafo_3d interface~ply_legtopnt_3d ply_LegTopnt_3D proc~ply_poly_project_m2n_multivar->interface~ply_legtopnt_3d proc~ply_fxt_n2m_1d ply_fxt_n2m_1D proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_1d interface~ply_pnttoleg_2d ply_pntToLeg_2D proc~ply_poly_project_n2m_multivar->interface~ply_pnttoleg_2d proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_2d proc~ply_fxt_n2m_3d ply_fxt_n2m_3D proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_3d proc~ply_fxt_n2m_2d ply_fxt_n2m_2D proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_2d proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_1d proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_3d interface~ply_pnttoleg_3d ply_pntToLeg_3D proc~ply_poly_project_n2m_multivar->interface~ply_pnttoleg_3d fxtf_flptld_m2n fxtf_flptld_m2n proc~ply_fxt_m2n_3d->fxtf_flptld_m2n fxtf_flptld_n2m fxtf_flptld_n2m proc~ply_fxt_n2m_1d->fxtf_flptld_n2m proc~ply_legtopnt_2d_singvar ply_legToPnt_2D_singVar interface~ply_legtopnt_2d->proc~ply_legtopnt_2d_singvar proc~ply_legtopnt_2d_multvar ply_legToPnt_2D_multVar interface~ply_legtopnt_2d->proc~ply_legtopnt_2d_multvar proc~ply_fxt_m2n_1d->fxtf_flptld_m2n proc~ply_pnttoleg_2d_multvar ply_pntToLeg_2D_multVar interface~ply_pnttoleg_2d->proc~ply_pnttoleg_2d_multvar proc~ply_pnttoleg_2d_singvar ply_pntToLeg_2D_singVar interface~ply_pnttoleg_2d->proc~ply_pnttoleg_2d_singvar proc~ply_l2_projection ply_l2_projection proc~ply_l2p_trafo_2d->proc~ply_l2_projection proc~ply_fxt_n2m_3d->fxtf_flptld_n2m proc~ply_fxt_n2m_2d->fxtf_flptld_n2m proc~ply_fxt_m2n_2d->fxtf_flptld_m2n proc~ply_l2p_trafo_1d->proc~ply_l2_projection proc~ply_l2p_trafo_3d->proc~ply_l2_projection proc~ply_legtopnt_3d_multvar ply_legToPnt_3D_multVar interface~ply_legtopnt_3d->proc~ply_legtopnt_3d_multvar proc~ply_legtopnt_3d_singvar ply_legToPnt_3D_singvar interface~ply_legtopnt_3d->proc~ply_legtopnt_3d_singvar proc~ply_pnttoleg_3d_singvar ply_pntToLeg_3D_singVar interface~ply_pnttoleg_3d->proc~ply_pnttoleg_3d_singvar proc~ply_pnttoleg_3d_multvar ply_pntToLeg_3D_multVar interface~ply_pnttoleg_3d->proc~ply_pnttoleg_3d_multvar

Called by

proc~~maxwell_flux_nonconst_cube_vec_2d~~CalledByGraph proc~maxwell_flux_nonconst_cube_vec_2d maxwell_flux_nonconst_cube_vec_2d interface~atl_maxwell_flux_2d atl_maxwell_flux_2d interface~atl_maxwell_flux_2d->proc~maxwell_flux_nonconst_cube_vec_2d proc~atl_modg_maxwell_2d_numflux atl_modg_maxwell_2d_numFlux proc~atl_modg_maxwell_2d_numflux->interface~atl_maxwell_flux_2d proc~compute_rhs_cubes_modg_2d compute_rhs_cubes_modg_2d proc~compute_rhs_cubes_modg_2d->proc~atl_modg_maxwell_2d_numflux proc~compute_rhs_cubes compute_rhs_cubes proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg_2d

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iSide
integer, private :: left
integer, private :: right
integer, private :: iPoint
real(kind=rk), private :: left_mu
real(kind=rk), private :: right_mu
real(kind=rk), private :: left_epsi
real(kind=rk), private :: right_epsi
real(kind=rk), private :: flux(7)
integer, private :: nquadpoints
integer, private :: ndofs
integer, private :: maxPolyDegree
integer, private :: oversamp_degree
integer, private :: oversamp_dofs
integer, private :: iDegX