atl_volToFace_module Module

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


Uses

Used by

  • module~~atl_voltoface_module~~UsedByGraph module~atl_voltoface_module atl_volToFace_module module~atl_modg_2d_kernel_module atl_modg_2d_kernel_module module~atl_modg_2d_kernel_module->module~atl_voltoface_module module~atl_modg_kernel_module atl_modg_kernel_module module~atl_modg_kernel_module->module~atl_voltoface_module proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->module~atl_voltoface_module proc~preprocess_rhs_cubes->module~atl_modg_2d_kernel_module proc~preprocess_rhs_cubes->module~atl_modg_kernel_module module~atl_compute_local_module atl_compute_local_module module~atl_compute_local_module->module~atl_modg_kernel_module module~atl_container_module atl_container_module module~atl_container_module->module~atl_modg_2d_kernel_module module~atl_container_module->module~atl_modg_kernel_module proc~compute_rhs_cubes_modg compute_rhs_cubes_modg proc~compute_rhs_cubes_modg->module~atl_modg_kernel_module proc~compute_rhs_cubes_modg_2d compute_rhs_cubes_modg_2d proc~compute_rhs_cubes_modg_2d->module~atl_modg_2d_kernel_module proc~postprocess_rhs_cubes postprocess_rhs_cubes proc~postprocess_rhs_cubes->module~atl_modg_2d_kernel_module proc~postprocess_rhs_cubes->module~atl_modg_kernel_module module~atl_initialize_module atl_initialize_module module~atl_initialize_module->module~atl_container_module module~atl_predcor_cerk4_module atl_predcor_cerk4_module module~atl_predcor_cerk4_module->module~atl_compute_local_module module~atl_program_module atl_program_module module~atl_program_module->module~atl_container_module module~atl_program_module->module~atl_initialize_module program~ateles ateles program~ateles->module~atl_container_module program~ateles->module~atl_program_module program~atl_harvesting atl_harvesting program~atl_harvesting->module~atl_container_module program~atl_harvesting->module~atl_initialize_module program~atl_harvesting->module~atl_program_module module~atl_global_time_integration_module atl_global_time_integration_module module~atl_global_time_integration_module->module~atl_predcor_cerk4_module

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