private subroutine maxwell_hc_flux_nonconst_cube_vec(nTotalFaces, nSides, nFaceDofs, faceRep, faceFlux, leftPos, rightPos, var, material_left, material_right, poly_proj, left_modalCoeffs, right_modalCoeffs, left_pntVal, right_pntVal, nodalNumFlux, numFluxBuffer)
cleaning directly on the face-vector
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.
! Get the material of the left and right element at the current
! face.
! ... left material
left_mu = material_left(iSide,iPoint,1)
left_epsi = material_left(iSide,iPoint,2)
left_gam = material_left(iSide,iPoint,3)
left_chi = material_left(iSide,iPoint,4)
! ... right material
right_mu = material_right(iSide,iPoint,1)
right_epsi = material_right(iSide,iPoint,2)
right_gam = material_right(iSide,iPoint,3)
right_chi = material_right(iSide,iPoint,4)
& left_mu = left_mu, &
& left_epsi = left_epsi, &
& left_gam = left_gam, &
& left_chi = left_chi, &
& right_mu = right_mu, &
& right_epsi = right_epsi, &
& right_gam = right_gam, &
& right_chi = right_chi, &
Arguments
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,8,2)
The modal representation on the faces, left and right trace.
real(kind=rk),
intent(inout)
::
faceFlux (nTotalFaces,nFaceDofs,8,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 (8)
Variable rotation indices
real(kind=rk),
intent(in)
::
material_left (nSides,nFaceDofs,4)
Material parameters for the left faces.
real(kind=rk),
intent(in)
::
material_right (nSides,nFaceDofs,4)
Material parameters for the right faces.
type(ply_poly_project_type )
::
poly_proj
Data for projection method
!> Working array for the left and right modal coefficients
real(kind=rk), intent(inout) :: left_modalCoeffs((fpt%nQuadPoints)2,8)
real(kind=rk), intent(inout) :: right_modalCoeffs((fpt%nQuadPoints) 2,8)
!> Working array for the left and right point values
real(kind=rk), intent(inout) :: left_pntVal((fpt%nQuadPoints)2,8)
real(kind=rk), intent(inout) :: right_pntVal((fpt%nQuadPoints) 2,8)
!> Working array for the nodal flux
real(kind=rk), intent(inout) :: nodalNumFlux((fpt%nQuadPoints)2,8)
!> Working array for the modal numerical flux
real(kind=rk), intent(inout) :: numFluxBuffer((fpt%nQuadPoints) 2,8)
real(kind=rk),
intent(inout),
allocatable
::
left_modalCoeffs (:,:)
Working array for the left and right modal coefficients
real(kind=rk),
intent(inout),
allocatable
::
right_modalCoeffs (:,:)
real(kind=rk),
intent(inout),
allocatable
::
left_pntVal (:,:)
Working array for the left and right point values
real(kind=rk),
intent(inout),
allocatable
::
right_pntVal (:,:)
real(kind=rk),
intent(inout),
allocatable
::
nodalNumFlux (:,:)
Working array for the nodal flux
real(kind=rk),
intent(inout),
allocatable
::
numFluxBuffer (:,:)
Working array for the modal numerical flux
proc~~maxwell_hc_flux_nonconst_cube_vec~~CallsGraph
proc~maxwell_hc_flux_nonconst_cube_vec
maxwell_hc_flux_nonconst_cube_vec
interface~ply_poly_project_m2n
ply_poly_project_m2n
proc~maxwell_hc_flux_nonconst_cube_vec->interface~ply_poly_project_m2n
interface~ply_poly_project_n2m
ply_poly_project_n2m
proc~maxwell_hc_flux_nonconst_cube_vec->interface~ply_poly_project_n2m
proc~maxwell_hc_flux_cube
maxwell_hc_flux_cube
proc~maxwell_hc_flux_nonconst_cube_vec->proc~maxwell_hc_flux_cube
proc~ply_convert2oversample
ply_convert2oversample
proc~maxwell_hc_flux_nonconst_cube_vec->proc~ply_convert2oversample
proc~ply_convertfromoversample
ply_convertFromOversample
proc~maxwell_hc_flux_nonconst_cube_vec->proc~ply_convertfromoversample
proc~ply_poly_project_m2n_multivar
ply_poly_project_m2n_multiVar
interface~ply_poly_project_m2n->proc~ply_poly_project_m2n_multivar
proc~ply_poly_project_n2m_multivar
ply_poly_project_n2m_multiVar
interface~ply_poly_project_n2m->proc~ply_poly_project_n2m_multivar
proc~atl_physfluxmaxwelldivcor
atl_physFluxMaxwellDivCor
proc~maxwell_hc_flux_cube->proc~atl_physfluxmaxwelldivcor
proc~ply_convert2oversample_1d
ply_convert2oversample_1d
proc~ply_convert2oversample->proc~ply_convert2oversample_1d
proc~ply_convert2oversample_2d
ply_convert2oversample_2d
proc~ply_convert2oversample->proc~ply_convert2oversample_2d
proc~ply_convert2oversample_3d
ply_convert2oversample_3d
proc~ply_convert2oversample->proc~ply_convert2oversample_3d
proc~ply_convertfromoversample_1d
ply_convertFromOversample_1d
proc~ply_convertfromoversample->proc~ply_convertfromoversample_1d
proc~ply_convertfromoversample_2d
ply_convertFromOversample_2d
proc~ply_convertfromoversample->proc~ply_convertfromoversample_2d
proc~ply_convertfromoversample_3d
ply_convertFromOversample_3d
proc~ply_convertfromoversample->proc~ply_convertfromoversample_3d
interface~ply_legtopnt_2d
ply_legToPnt_2D
proc~ply_poly_project_m2n_multivar->interface~ply_legtopnt_2d
interface~ply_legtopnt_3d
ply_LegTopnt_3D
proc~ply_poly_project_m2n_multivar->interface~ply_legtopnt_3d
proc~ply_fxt_m2n_1d
ply_fxt_m2n_1D
proc~ply_poly_project_m2n_multivar->proc~ply_fxt_m2n_1d
proc~ply_fxt_m2n_2d
ply_fxt_m2n_2D
proc~ply_poly_project_m2n_multivar->proc~ply_fxt_m2n_2d
proc~ply_fxt_m2n_3d
ply_fxt_m2n_3D
proc~ply_poly_project_m2n_multivar->proc~ply_fxt_m2n_3d
proc~ply_l2p_trafo_1d
ply_l2p_trafo_1D
proc~ply_poly_project_m2n_multivar->proc~ply_l2p_trafo_1d
proc~ply_l2p_trafo_2d
ply_l2p_trafo_2D
proc~ply_poly_project_m2n_multivar->proc~ply_l2p_trafo_2d
proc~ply_l2p_trafo_3d
ply_l2p_trafo_3D
proc~ply_poly_project_m2n_multivar->proc~ply_l2p_trafo_3d
interface~ply_pnttoleg_2d
ply_pntToLeg_2D
proc~ply_poly_project_n2m_multivar->interface~ply_pnttoleg_2d
interface~ply_pnttoleg_3d
ply_pntToLeg_3D
proc~ply_poly_project_n2m_multivar->interface~ply_pnttoleg_3d
proc~ply_fxt_n2m_1d
ply_fxt_n2m_1D
proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_1d
proc~ply_fxt_n2m_2d
ply_fxt_n2m_2D
proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_2d
proc~ply_fxt_n2m_3d
ply_fxt_n2m_3D
proc~ply_poly_project_n2m_multivar->proc~ply_fxt_n2m_3d
proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_1d
proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_2d
proc~ply_poly_project_n2m_multivar->proc~ply_l2p_trafo_3d
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
proc~~maxwell_hc_flux_nonconst_cube_vec~~CalledByGraph
proc~maxwell_hc_flux_nonconst_cube_vec
maxwell_hc_flux_nonconst_cube_vec
interface~atl_maxwell_hc_flux
atl_maxwell_hc_flux
interface~atl_maxwell_hc_flux->proc~maxwell_hc_flux_nonconst_cube_vec
proc~atl_modg_maxwelldivcor_numflux
atl_modg_maxwellDivCor_numFlux
proc~atl_modg_maxwelldivcor_numflux->interface~atl_maxwell_hc_flux
proc~compute_rhs_cubes_modg
compute_rhs_cubes_modg
proc~compute_rhs_cubes_modg->proc~atl_modg_maxwelldivcor_numflux
proc~compute_rhs_cubes
compute_rhs_cubes
proc~compute_rhs_cubes->proc~compute_rhs_cubes_modg
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.