compute_physFlux_nonConst_2d Subroutine

private subroutine compute_physFlux_nonConst_2d(nDofs, nScalars, iElem, state_der, state, rot, nElems, elems, material, poly_proj, modalCoeffs, nodalPhysFlux)

Compute the physical flux in x direction.

For other directions a properly defined variable permutation can be used. This routine covers non-constant material parameters.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nDofs

dimensions

integer, intent(in) :: nScalars

dimensions

integer, intent(in) :: iElem
real(kind=rk), intent(inout) :: state_der(:,:)

Array to store the fluxes in.

real(kind=rk), intent(in) :: state(nDofs,nScalars)

State to compute the fluxes from.

integer, intent(in) :: rot(7)

Rotationing to index the variables.

integer, intent(in) :: nElems

Number of elements.

integer, intent(in) :: elems(nElems)

Element positions in the total state vector

real(kind=rk), intent(in) :: material(nElems,nDofs,3)

Material parameters (mu, epsilon) for all elements

type(ply_poly_project_type) :: poly_proj

Data for projection method

real(kind=rk), intent(inout) :: modalCoeffs(poly_proj%body_2D%oversamp_dofs,size(state,2),1)

Working array for modal coefficients of the current element in the loop.

real(kind=rk), intent(inout) :: nodalPhysFlux(poly_proj%body_2D%nquadpoints,size(state,2),2)

Working array for nodal representation of the physical flux along the 3 spatial directions.