atl_volToFace_module Module

module routines to convert the data/gradient of data from volume to face and all related routines



Subroutines

public subroutine atl_modg_volToFace_Q(nScalars, volState, maxPolyDegree, faceDir, nElems, faceState)

Project modal representation of an element to one of its faces for Q space.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nScalars
real(kind=rk), intent(in) :: volState(:,:,:)

The modal representation in the volume. First dimension is the number of voluemtrix numbers of degrees of freedom and second dimension is the number of scalar variables in the equation system.

integer, intent(in) :: maxPolyDegree

The maximal polynomial degree per spatial direction.

integer, intent(in) :: faceDir

The face to project the modal representation to. Use one of the first six directions of \link tem_param_module \endlink, e.g. \link tem_param_module::q__e \endlink

integer, intent(in) :: nElems

The number of elements

real(kind=rk), intent(inout) :: faceState(:,:,:,:)

The modal representation on the face

public subroutine atl_modg_volToFace_grad_Q(nScalars, volState, maxPolyDegree, faceDir, nElems, elemLength, faceState)

Project modal representation of gradients of an element to one of its faces for Q space.

Read more…

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nScalars
real(kind=rk), intent(in) :: volState(:,:,:)

The modal representation in the volume. First dimension is the number of voluemtrix numbers of degrees of freedom and second dimension is the number of scalar variables in the equation system.

integer, intent(in) :: maxPolyDegree

The maximal polynomial degree per spatial direction.

integer, intent(in) :: faceDir

The face to project the modal representation to. Use one of the first six directions of \link tem_param_module \endlink, e.g. \link tem_param_module::q__e \endlink

integer, intent(in) :: nElems

The number of elements

real(kind=rk), intent(in) :: elemLength

The lenght of an element

real(kind=rk), intent(inout) :: faceState(:,:,:,:)

The modal representation on the face

public subroutine atl_modg_2d_volToFace_Q(volState, maxPolyDegree, faceDir, nScalars, nElems, faceState)

Project modal representation of an element to one of its faces for Q space.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: volState(:,:,:)

The modal representation in the volume. First dimension is the number of voluemtrix numbers of degrees of freedom and second dimension is the number of scalar variables in the equation system.

integer, intent(in) :: maxPolyDegree

The maximal polynomial degree per spatial direction.

integer, intent(in) :: faceDir

The face to project the modal representation to. Use one of the first six directions of \link tem_param_module \endlink, e.g. \link tem_param_module::q__e \endlink

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.

integer, intent(in) :: nElems

The number of elements

real(kind=rk), intent(inout) :: faceState(:,:,:,:)

The modal representation on the face

public subroutine atl_modg_2d_volToFace_grad_Q(volState, maxPolyDegree, faceDir, nScalars, nElems, elemLength, faceState)

Project modal representation of gradients of an element to one of its faces for Q space.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: volState(:,:,:)

The modal representation in the volume. First dimension is the number of voluemtrix numbers of degrees of freedom and second dimension is the number of scalar variables in the equation system.

integer, intent(in) :: maxPolyDegree

The maximal polynomial degree per spatial direction.

integer, intent(in) :: faceDir

The face to project the modal representation to. Use one of the first six directions of \link tem_param_module \endlink, e.g. \link tem_param_module::q__e \endlink

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.

integer, intent(in) :: nElems

The number of elements

real(kind=rk), intent(in) :: elemLength

The lenght of an element

real(kind=rk), intent(inout) :: faceState(:,:,:,:)

The modal representation on the face

public subroutine atl_modg_1d_volToFace_Q(volState, maxPolyDegree, faceDir, nScalars, nElems, faceState)

Project modal representation of an element to one of its faces for Q space.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: volState(:,:,:)

The modal representation in the volume. First dimension is the number of voluemtrix numbers of degrees of freedom and second dimension is the number of scalar variables in the equation system.

integer, intent(in) :: maxPolyDegree

The maximal polynomial degree per spatial direction.

integer, intent(in) :: faceDir

The face to project the modal representation to. Use one of the first six directions of \link tem_param_module \endlink, e.g. \link tem_param_module::q__e \endlink

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.

integer, intent(in) :: nElems

The number of elements

real(kind=rk), intent(inout) :: faceState(:,:,:,:)

The modal representation on the face

public subroutine atl_modg_1d_modalVolToModalFace(mesh, statedata, facedata, nScalars, maxPolyDegree, basisType, equation)

Projects modal representation of each cell to its faces, i.e. this subroutine creates a modal representation on the faces.

Arguments

Type IntentOptional Attributes Name
type(atl_cube_elem_type), intent(in) :: mesh

The elements we apply the projection for.

type(atl_statedata_type), intent(in) :: statedata

Volumetric, modal states for each element.

type(atl_facedata_type), intent(inout) :: facedata

Modal representation on the face (will be updated by this routine for all fluid elements in mesh).

integer, intent(in) :: nScalars

The number of scalars varaibales in your equation system.

integer, intent(in) :: maxPolyDegree

The parameters of your modg scheme.

integer, intent(in) :: basisType
type(atl_Equations_type) :: equation

The equation you solve.

public subroutine atl_modg_1d_VolToFace_grad_Q(volState, maxPolyDegree, faceDir, nScalars, nElems, elemLength, faceState)

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: volState(:,:,:)

The modal representation in the volume. First dimension is the number of voluemtrix numbers of degrees of freedom and second dimension is the number of scalar variables in the equation system.

integer, intent(in) :: maxPolyDegree

The maximal polynomial degree per spatial direction.

integer, intent(in) :: faceDir

The face to project the modal representation to. Use one of the first six directions of \link tem_param_module \endlink, e.g. \link tem_param_module::q__e \endlink

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.

integer, intent(in) :: nElems

The number of elements

real(kind=rk), intent(in) :: elemLength

Length of elements

real(kind=rk), intent(inout) :: faceState(:,:,:,:)

The modal representation on the face

public subroutine atl_modg_volToFace_P(nTotalElems, nTotalFaces, nDofs, nFaceDofs, nScalars, volState, maxPolyDegree, faceDir, nElems, faceState)

Project modal representation of an element to one of its faces for P space.

Read more…

Arguments

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

dimensions

integer, intent(in) :: nTotalFaces

dimensions

integer, intent(in) :: nDofs

dimensions

integer, intent(in) :: nFaceDofs

dimensions

integer, intent(in) :: nScalars

dimensions

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

The modal representation in the volume. First dimension is the number of voluemtrix numbers of degrees of freedom and second dimension is the number of scalar variables in the equation system.

integer, intent(in) :: maxPolyDegree

The maximal polynomial degree per spatial direction.

integer, intent(in) :: faceDir

The face to project the modal representation to. Use one of the first six directions of \link tem_param_module \endlink, e.g. \link tem_param_module::q__e \endlink

integer, intent(in) :: nElems

The number of elements

real(kind=rk), intent(inout) :: faceState(nTotalFaces,nFaceDofs,nScalars,2)

The modal representation on the face

public subroutine atl_modg_2d_volToFace_P(volState, maxPolyDegree, faceDir, nScalars, nElems, faceState)

Project modal representation of an element to one of its faces for P space.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: volState(:,:,:)

The modal representation in the volume. First dimension is the number of voluemtrix numbers of degrees of freedom and second dimension is the number of scalar variables in the equation system.

integer, intent(in) :: maxPolyDegree

The maximal polynomial degree per spatial direction.

integer, intent(in) :: faceDir

The face to project the modal representation to. Use one of the first six directions of \link tem_param_module \endlink, e.g. \link tem_param_module::q__e \endlink

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.

integer, intent(in) :: nElems

The number of elements

real(kind=rk), intent(inout) :: faceState(:,:,:,:)

The modal representation on the face