Module for routines and datatypes of MOdal Discontinuous Galerkin (MODG) scheme. This scheme is a spectral scheme for linear, purley hyperbolic partial differential equation systems.
Function for physical flux of the Maxwell equations in terms of D and B.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | intent(in) | :: | state(7) |
State to compute the fluxes from (D,B). |
||
real(kind=rk), | intent(in) | :: | material(3) |
Material parameters (mu, epsilon) the flux calculation |
The resulting flux in x direction
Calculate the numerical flux for Maxwell equation and MODG scheme
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation |
The equation you solve. |
||
type(atl_facedata_type), | intent(inout) | :: | facedata |
The face representation of the state. |
||
type(atl_modg_2d_scheme_type), | intent(inout) | :: | scheme |
Parameters of the modal dg scheme |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj |
Data for projection method |
||
type(atl_material_type), | intent(inout) | :: | material |
Material description for the faces on the current level |
Calculate the physical flux for the MODG scheme and Maxwell equation. used for both space P and Q
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation |
The equation you solve. |
||
real(kind=rk), | intent(inout) | :: | res(:,:) |
To store the resulting phy flux in modal form |
||
real(kind=rk), | intent(in), | optional | :: | state(:,:) |
The state of the equation |
|
integer, | intent(in) | :: | iElem |
The current Element |
||
integer, | intent(in) | :: | iDir |
The current Direction |
||
type(atl_penalizationData_type), | intent(inout) | :: | penalizationData |
The penalization data |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj |
Poly project |
||
type(atl_material_type), | intent(inout) | :: | material |
Material description for the faces on the current level |
||
real(kind=rk), | intent(in), | optional | :: | nodal_data(:,:) |
The state in nodal form |
|
real(kind=rk), | intent(in), | optional | :: | nodal_GradData(:,:,:) | ||
real(kind=rk), | intent(inout) | :: | nodal_res(:,:) | |||
real(kind=rk), | intent(in) | :: | ElemLength |
Length of the element |
||
type(atl_scheme_type), | intent(inout) | :: | scheme_min |
The scheme information |
||
type(atl_scheme_type), | intent(inout) | :: | scheme_current |
Calculate the physical flux for the MODG scheme and Maxwell equation. used for both space P and Q
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation |
The equation you solve. |
||
real(kind=rk), | intent(inout) | :: | res(:,:) |
To store the resulting phy flux in modal form |
||
real(kind=rk), | intent(in), | optional | :: | state(:,:) |
The state of the equation |
|
integer, | intent(in) | :: | iElem |
The current Element |
||
integer, | intent(in) | :: | iDir |
The current Direction |
||
type(atl_penalizationData_type), | intent(inout) | :: | penalizationData |
The penalization data |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj |
Poly project |
||
type(atl_material_type), | intent(inout) | :: | material |
Material description for the faces on the current level |
||
real(kind=rk), | intent(in), | optional | :: | nodal_data(:,:) |
The state in nodal form |
|
real(kind=rk), | intent(in), | optional | :: | nodal_GradData(:,:,:) | ||
real(kind=rk), | intent(inout) | :: | nodal_res(:,:) | |||
real(kind=rk), | intent(in) | :: | ElemLength |
Length of the element |
||
type(atl_scheme_type), | intent(inout) | :: | scheme_min |
The scheme information |
||
type(atl_scheme_type), | intent(inout) | :: | scheme_current |
PV 20150820 Get the correct penalization data here
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation |
The equation you solve. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj |
Poly project |
||
real(kind=rk), | intent(in), | optional | :: | nodal_data(:,:) |
The state in nodal form |
|
type(atl_scheme_type), | intent(inout) | :: | scheme_min |
The scheme information |
||
type(atl_penalizationData_type), | intent(inout) | :: | penalizationData |
The penalization data |
||
integer, | intent(in) | :: | iElem |
The current Element |
||
type(atl_material_type), | intent(inout) | :: | material |
Material description for the faces on the current level |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(atl_Equations_type), | intent(in) | :: | equation |
The equation you solve. |
||
type(ply_poly_project_type), | intent(inout) | :: | poly_proj |
Poly project |
||
real(kind=rk), | intent(in), | optional | :: | nodal_data(:,:) |
The state in nodal form |
|
type(atl_scheme_type), | intent(inout) | :: | scheme_min |
The scheme information |
||
type(atl_penalizationData_type), | intent(inout) | :: | penalizationData |
The penalization data |
||
integer, | intent(in) | :: | iElem |
The current Element |
||
type(atl_material_type), | intent(inout) | :: | material |
Material description for the faces on the current level |
Compute the physical flux in x direction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nDofs |
dimensions |
||
integer, | intent(in) | :: | nScalars |
dimensions |
||
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. |
||
real(kind=rk), | intent(in) | :: | inv_mu | |||
real(kind=rk), | intent(in) | :: | inv_epsi |
Compute the physical flux in x direction.
Type | Intent | Optional | 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. |