atl_covolume_boundary_module Module

Module provides routines to set boundary values for the co-volume stabilization.


Uses

Used by

  • module~~atl_covolume_boundary_module~~UsedByGraph module~atl_covolume_boundary_module atl_covolume_boundary_module module~atl_stabilize_module atl_stabilize_module module~atl_stabilize_module->module~atl_covolume_boundary_module module~atl_ssprk2_module atl_ssprk2_module module~atl_ssprk2_module->module~atl_stabilize_module module~atl_rktaylor_module atl_rktaylor_module module~atl_rktaylor_module->module~atl_stabilize_module module~atl_imexrk_module atl_imexrk_module module~atl_imexrk_module->module~atl_stabilize_module module~atl_fwdeuler_module atl_fwdEuler_module module~atl_fwdeuler_module->module~atl_stabilize_module program~atl_harvesting atl_harvesting program~atl_harvesting->module~atl_stabilize_module module~atl_rk4_module atl_rk4_module module~atl_rk4_module->module~atl_stabilize_module module~atl_global_time_integration_module atl_global_time_integration_module module~atl_global_time_integration_module->module~atl_ssprk2_module module~atl_global_time_integration_module->module~atl_rktaylor_module module~atl_global_time_integration_module->module~atl_imexrk_module module~atl_global_time_integration_module->module~atl_fwdeuler_module module~atl_global_time_integration_module->module~atl_rk4_module module~atl_container_module atl_container_module module~atl_container_module->module~atl_global_time_integration_module module~atl_program_module atl_program_module module~atl_program_module->module~atl_global_time_integration_module

Contents


Functions

private function atl_extend_covol_face(faceState, iDir, maxPolyDeg, nScalars) result(volState)

Lift face data to volume data.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: faceState(:,:)
integer, intent(in) :: iDir

The spatial direction: 1 -> x direction. 2 -> y direction. 3 -> z direction.

integer, intent(in) :: maxPolyDeg
integer, intent(in) :: nScalars

Return Value real(kind=rk)((maxPolyDeg+1)**3,nScalars)

private function atl_extend_covol_face_2d(faceState, iDir, maxPolyDeg, nScalars) result(volState)

Lift face data to volume data.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: faceState(:,:)
integer, intent(in) :: iDir

The spatial direction: 1 -> x direction. 2 -> y direction. 3 -> z direction.

integer, intent(in) :: maxPolyDeg
integer, intent(in) :: nScalars

Return Value real(kind=rk)((maxPolyDeg+1)**2,nScalars)

private function atl_extend_covol_face_1d(faceState, maxPolyDeg, nScalars) result(volState)

Lift face data to volume data.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: faceState(:,:)
integer, intent(in) :: maxPolyDeg
integer, intent(in) :: nScalars

Return Value real(kind=rk)((maxPolyDeg+1),nScalars)

private function atl_volToFace(state, iDir, iAlign, maxPolyDeg, nDofsFace, nScalars) result(face)

Project elemental state to a particular face.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: state(:,:)
integer, intent(in) :: iDir
integer, intent(in) :: iAlign
integer, intent(in) :: maxPolyDeg
integer, intent(in) :: nDofsFace
integer, intent(in) :: nScalars

Return Value real(kind=rk)(nDofsFace,nScalars)

private function atl_volToFace_2d(state, iDir, iAlign, maxPolyDeg, nDofsFace, nScalars) result(face)

Project elemental state to a particular face.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: state(:,:)
integer, intent(in) :: iDir
integer, intent(in) :: iAlign
integer, intent(in) :: maxPolyDeg
integer, intent(in) :: nDofsFace
integer, intent(in) :: nScalars

Return Value real(kind=rk)(nDofsFace,nScalars)

private function atl_volToFace_1d(state, iAlign, maxPolyDeg, nDofsFace, nScalars) result(face)

Project elemental state to a particular face.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: state(:,:)
integer, intent(in) :: iAlign

The face alignment. 1 -> left face (ref. element at -1) 2 -> right face (ref. element at +1)

integer, intent(in) :: maxPolyDeg
integer, intent(in) :: nDofsFace
integer, intent(in) :: nScalars

Return Value real(kind=rk)(nDofsFace,nScalars)


Subroutines

public subroutine atl_set_covolume_bnd(bc, boundary, state, scheme, equation, tree, time, mesh, poly_proj, nodalBnd, iDir, iLevel)

Routine to set boundary values for the covolume filter.

Read more…

Arguments

TypeIntentOptionalAttributesName
type(atl_boundary_type), intent(in) :: bc(:)

The global description of the boundaries.

type(atl_level_boundary_type), intent(in) :: boundary

The levelwise collection of boundary elements and boundary faces.

type(atl_statedata_type), intent(inout) :: state

The face data on the current level

type(atl_scheme_type), intent(inout) :: scheme

The parameters of th the modg scheme.

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

The underlying equation system

type(treelmesh_type), intent(in) :: tree

treelm mesh

type(tem_time_type), intent(in) :: time

The absolute time point.

type(atl_cube_elem_type), intent(in) :: mesh

The description of the mesh on the current level.

type(ply_poly_project_type), intent(inout) :: poly_proj

Data for the projection methods

logical, intent(in) :: nodalBnd

Set boundaries in nodal fashion by default? If set to false, the boundaries may still be set in nodal way whenever necessary (e.g. boundaries which have space-time dependence, etc.)

integer, intent(in) :: iDir

The spatial direction to set

integer, intent(in) :: iLevel

current Level working on