atl_modg_1d_multilevel_module Module

Collections of operations and datatypes related to multilevel simulations for the MODG scheme.


Uses

  • module~~atl_modg_1d_multilevel_module~~UsesGraph module~atl_modg_1d_multilevel_module atl_modg_1d_multilevel_module module~tem_topology_module tem_topology_module module~atl_modg_1d_multilevel_module->module~tem_topology_module module~atl_cube_elem_module atl_cube_elem_module module~atl_modg_1d_multilevel_module->module~atl_cube_elem_module module~atl_facedata_module atl_facedata_module module~atl_modg_1d_multilevel_module->module~atl_facedata_module module~atl_scheme_module atl_scheme_module module~atl_modg_1d_multilevel_module->module~atl_scheme_module module~tem_element_module tem_element_module module~atl_modg_1d_multilevel_module->module~tem_element_module module~atl_kerneldata_module atl_kerneldata_module module~atl_modg_1d_multilevel_module->module~atl_kerneldata_module module~atl_modg_1d_scheme_module atl_modg_1d_scheme_module module~atl_modg_1d_multilevel_module->module~atl_modg_1d_scheme_module module~ply_modg_basis_module ply_modg_basis_module module~atl_modg_1d_multilevel_module->module~ply_modg_basis_module module~tem_facedata_module tem_faceData_module module~atl_modg_1d_multilevel_module->module~tem_facedata_module module~env_module env_module module~atl_modg_1d_multilevel_module->module~env_module module~atl_cube_elem_module->module~tem_facedata_module module~atl_cube_elem_module->module~env_module module~tem_logging_module tem_logging_module module~atl_cube_elem_module->module~tem_logging_module module~tem_construction_module tem_construction_module module~atl_cube_elem_module->module~tem_construction_module module~treelmesh_module treelmesh_module module~atl_cube_elem_module->module~treelmesh_module module~tem_geometry_module tem_geometry_module module~atl_cube_elem_module->module~tem_geometry_module module~atl_facedata_module->module~tem_facedata_module module~atl_facedata_module->module~env_module module~atl_facedata_module->module~tem_construction_module module~atl_boundary_module atl_boundary_module module~atl_facedata_module->module~atl_boundary_module module~atl_scheme_module->module~atl_modg_1d_scheme_module module~atl_scheme_module->module~ply_modg_basis_module module~atl_scheme_module->module~env_module module~aotus_module aotus_module module~atl_scheme_module->module~aotus_module module~tem_stencil_module tem_stencil_module module~atl_scheme_module->module~tem_stencil_module module~atl_scheme_module->module~tem_logging_module module~aot_table_module aot_table_module module~atl_scheme_module->module~aot_table_module module~atl_modg_scheme_module atl_modg_scheme_module module~atl_scheme_module->module~atl_modg_scheme_module module~atl_modg_2d_scheme_module atl_modg_2d_scheme_module module~atl_scheme_module->module~atl_modg_2d_scheme_module module~tem_aux_module tem_aux_module module~atl_scheme_module->module~tem_aux_module module~tem_tools_module tem_tools_module module~atl_scheme_module->module~tem_tools_module module~atl_stabilization_module atl_stabilization_module module~atl_scheme_module->module~atl_stabilization_module module~atl_kerneldata_module->module~env_module module~ply_dof_module ply_dof_module module~atl_kerneldata_module->module~ply_dof_module module~tem_time_module tem_time_module module~atl_kerneldata_module->module~tem_time_module module~atl_modg_1d_scheme_module->module~env_module module~atl_modg_1d_scheme_module->module~aotus_module module~atl_modg_1d_scheme_module->module~tem_logging_module module~atl_modg_1d_scheme_module->module~aot_table_module module~atl_modg_1d_scheme_module->module~ply_dof_module module~aot_top_module aot_top_module module~atl_modg_1d_scheme_module->module~aot_top_module module~atl_modg_1d_scheme_module->module~tem_aux_module module~atl_modg_1d_scheme_module->module~tem_tools_module module~ply_modg_basis_module->module~env_module module~ply_modg_basis_module->module~ply_dof_module module~ply_space_integration_module ply_space_integration_module module~ply_modg_basis_module->module~ply_space_integration_module

Used by

  • module~~atl_modg_1d_multilevel_module~~UsedByGraph module~atl_modg_1d_multilevel_module atl_modg_1d_multilevel_module proc~modg_1d_compute_project_physflux modg_1d_compute_project_physFlux proc~modg_1d_compute_project_physflux->module~atl_modg_1d_multilevel_module module~atl_stabilize_module atl_stabilize_module module~atl_stabilize_module->module~atl_modg_1d_multilevel_module proc~compute_rhs_cubes_modg_1d compute_rhs_cubes_modg_1d proc~compute_rhs_cubes_modg_1d->module~atl_modg_1d_multilevel_module proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->module~atl_modg_1d_multilevel_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


Subroutines

public subroutine atl_modg_1d_coarseToFineFace(minLevel, maxLevel, currentLevel, mesh, facedata, nScalars)

\brief Interpolate modal face representation from coarse to next finer faces (level difference between coarser and finer faces has to be 1).

Read more…

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: minLevel

The minumum level of the mesh.

integer, intent(in) :: maxLevel

The maximum level of the mesh.

integer, intent(in) :: currentLevel

The current level (i.e. the coarse level).

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

The mesh representation.

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

The face representations (finer faces are interpolated from coarser ones).

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.

public subroutine atl_modg_1d_fineToCoarseFace(minLevel, maxLevel, currentLevel, mesh, facedata, nScalars)

Interpolate modal face representation from next finer faces to coarse level (level

Read more…

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: minLevel

The minumum level of the mesh.

integer, intent(in) :: maxLevel

The maximum level of the mesh.

integer, intent(in) :: currentLevel

The current level (i.e. the coarse level).

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

The mesh representation.

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

The face representations (finer faces are interpolated from coarser ones).

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.

public subroutine atl_modg_fineToCoarseElem_1d(minLevel, maxLevel, currentLevel, iDir, mesh, state_stab, scheme, nScalars)

Project data from 8 smaller elements to its parent element in terms of L2 projections.

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: minLevel

The minumum level of the mesh.

integer, intent(in) :: maxLevel

The maximum level of the mesh.

integer, intent(in) :: currentLevel

The current level (i.e. the coarse level).

integer, intent(in) :: iDir

The direction to interpolate.

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

The mesh representation.

type(atl_statedata_type), intent(inout) :: state_stab(minLevel:maxLevel,1:3)

The face representations (finer faces are interpolated from coarser ones).

type(atl_scheme_type), intent(in) :: scheme(minLevel:maxLevel)

The schemes on the different levels.

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.

public subroutine atl_modg_coarseToFineElem_1d(minLevel, maxLevel, currentLevel, iDir, mesh, state_stab, scheme, nScalars)

Project coarse parent element to its 8 finer child elements by a simple L2 projection.

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: minLevel

The minumum level of the mesh.

integer, intent(in) :: maxLevel

The maximum level of the mesh.

integer, intent(in) :: currentLevel

The current level (i.e. the coarse level).

integer, intent(in) :: iDir

The direction to project

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

The mesh representation.

type(atl_statedata_type), intent(inout) :: state_stab(minLevel:maxLevel,1:3)

The face representations (finer faces are interpolated from coarser ones).

type(atl_scheme_type), intent(in) :: scheme(minLevel:maxLevel)

The schemes on the different levels.

integer, intent(in) :: nScalars

The number of scalar variables in your equation system.

private subroutine modg_semiCoarseElem_1d(modalRepFace, modg_basis, schemeCoarse, schemeFine, fineElemShift, modalCoarsed)

Subroutine to semi-coarsen an element with modal polynomial representation to its semi-parent.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: modalRepFace(:,:)

Modal representation of a function on one of refined element. Which fine element is determined by fineFaceShift Dimensions are: (modg%maxPolyDegree+1)^3 for the first dimension and nScalars for the second dimension.

type(ply_modg_basis_type), intent(in) :: modg_basis

The polynomial basis for the current level of the modg scheme

type(atl_modg_1d_scheme_type), intent(in) :: schemeCoarse

The parameters of your MODG scheme on the coarse level.

type(atl_modg_1d_scheme_type), intent(in) :: schemeFine

The parameters of your MODG scheme on the fint level.

integer, intent(in) :: fineElemShift

The semi-refined element you want to obtain.

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

The modal representation of modalRepFace on the coarser element, restricted to the given fine element.

private subroutine modg_semiRefineElem_1d(modalRepFace, modg_basis, schemeCoarse, schemeFine, fineElemShift, modalRefined)

Subroutine to semi-refine an element with modal polynomial representation into its semi-children.

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(in) :: modalRepFace(:,:)

Modal representation of a function on the non-refined face. Dimensions are: (modg%maxPolyDegree+1)^2 for the first dimension and nScalars for the second dimension.

type(ply_modg_basis_type), intent(in) :: modg_basis

The polynomial basis for the current level of the modg scheme

type(atl_modg_1d_scheme_type), intent(in) :: schemeCoarse

The parameters of your MODG scheme on the coarse level.

type(atl_modg_1d_scheme_type), intent(in) :: schemeFine

The parameters of your MODG scheme on the fine level.

integer, intent(in) :: fineElemShift

The semi-refined element you want to obtain.

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

The modal representation of modalRepFace restricted to the semi-refined element.