atl_elemental_time_integration_module Module

Module keeping interfaces


Uses

  • module~~atl_elemental_time_integration_module~~UsesGraph module~atl_elemental_time_integration_module atl_elemental_time_integration_module module~atl_kerneldata_module atl_kerneldata_module module~atl_elemental_time_integration_module->module~atl_kerneldata_module module~atl_scheme_module atl_scheme_module module~atl_elemental_time_integration_module->module~atl_scheme_module module~env_module env_module module~atl_elemental_time_integration_module->module~env_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_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~tem_logging_module tem_logging_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~atl_modg_1d_scheme_module atl_modg_1d_scheme_module module~atl_scheme_module->module~atl_modg_1d_scheme_module module~ply_modg_basis_module ply_modg_basis_module module~atl_scheme_module->module~ply_modg_basis_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~ply_dof_module->module~env_module module~atl_modg_scheme_module->module~env_module module~atl_modg_scheme_module->module~aotus_module module~atl_modg_scheme_module->module~tem_logging_module module~atl_modg_scheme_module->module~aot_table_module module~atl_modg_scheme_module->module~ply_dof_module module~atl_modg_scheme_module->module~tem_aux_module module~atl_modg_scheme_module->module~tem_tools_module module~aot_top_module aot_top_module module~atl_modg_scheme_module->module~aot_top_module module~atl_modg_2d_scheme_module->module~env_module module~atl_modg_2d_scheme_module->module~aotus_module module~atl_modg_2d_scheme_module->module~tem_logging_module module~atl_modg_2d_scheme_module->module~aot_table_module module~atl_modg_2d_scheme_module->module~ply_dof_module module~atl_modg_2d_scheme_module->module~tem_aux_module module~atl_modg_2d_scheme_module->module~tem_tools_module module~atl_modg_2d_scheme_module->module~aot_top_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~atl_modg_1d_scheme_module->module~tem_aux_module module~atl_modg_1d_scheme_module->module~tem_tools_module module~atl_modg_1d_scheme_module->module~aot_top_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 module~atl_stabilization_module->module~aotus_module module~atl_stabilization_module->module~tem_logging_module module~atl_stabilization_module->module~aot_table_module module~atl_stabilization_module->module~tem_aux_module module~atl_spectral_viscosity_module atl_spectral_viscosity_module module~atl_stabilization_module->module~atl_spectral_viscosity_module module~atl_positivity_preserv_module atl_positivity_preserv_module module~atl_stabilization_module->module~atl_positivity_preserv_module module~atl_cons_positivity_preserv_module atl_cons_positivity_preserv_module module~atl_stabilization_module->module~atl_cons_positivity_preserv_module module~atl_covolume_module atl_covolume_module module~atl_stabilization_module->module~atl_covolume_module module~atl_spectral_viscosity_module->module~env_module module~atl_spectral_viscosity_module->module~aotus_module module~atl_spectral_viscosity_module->module~tem_logging_module module~atl_spectral_viscosity_module->module~tem_aux_module module~atl_spectral_viscosity_module->module~tem_tools_module module~atl_positivity_preserv_module->module~env_module module~atl_positivity_preserv_module->module~aotus_module module~atl_positivity_preserv_module->module~tem_logging_module module~atl_positivity_preserv_module->module~tem_aux_module module~atl_positivity_preserv_module->module~tem_tools_module module~atl_cons_positivity_preserv_module->module~env_module module~atl_cons_positivity_preserv_module->module~aotus_module module~atl_cons_positivity_preserv_module->module~tem_logging_module module~atl_cons_positivity_preserv_module->module~tem_aux_module module~atl_cons_positivity_preserv_module->module~tem_tools_module module~ply_space_integration_module->module~env_module module~tem_param_module tem_param_module module~ply_space_integration_module->module~tem_param_module module~atl_covolume_module->module~env_module module~atl_covolume_module->module~aotus_module module~atl_covolume_module->module~tem_logging_module module~atl_covolume_module->module~tem_aux_module module~atl_covolume_module->module~tem_tools_module module~atl_covolume_module->module~atl_spectral_viscosity_module

Used by

  • module~~atl_elemental_time_integration_module~~UsedByGraph module~atl_elemental_time_integration_module atl_elemental_time_integration_module module~atl_modg_kernel_module atl_modg_kernel_module module~atl_modg_kernel_module->module~atl_elemental_time_integration_module module~atl_rktaylor_module atl_rktaylor_module module~atl_rktaylor_module->module~atl_elemental_time_integration_module module~atl_time_integration_module atl_time_integration_module module~atl_rktaylor_module->module~atl_time_integration_module module~atl_fwdeuler_module atl_fwdEuler_module module~atl_fwdeuler_module->module~atl_elemental_time_integration_module module~atl_fwdeuler_module->module~atl_time_integration_module module~atl_global_time_integration_module atl_global_time_integration_module module~atl_global_time_integration_module->module~atl_elemental_time_integration_module module~atl_global_time_integration_module->module~atl_rktaylor_module module~atl_global_time_integration_module->module~atl_fwdeuler_module module~atl_global_time_integration_module->module~atl_time_integration_module module~atl_imexrk_module atl_imexrk_module module~atl_global_time_integration_module->module~atl_imexrk_module module~atl_predcor_cerk4_module atl_predcor_cerk4_module module~atl_global_time_integration_module->module~atl_predcor_cerk4_module module~atl_ssprk2_module atl_ssprk2_module module~atl_global_time_integration_module->module~atl_ssprk2_module module~atl_rk4_module atl_rk4_module module~atl_global_time_integration_module->module~atl_rk4_module proc~compute_rhs_cubes_modg_1d compute_rhs_cubes_modg_1d proc~compute_rhs_cubes_modg_1d->module~atl_elemental_time_integration_module module~atl_modg_1d_kernel_module atl_modg_1d_kernel_module proc~compute_rhs_cubes_modg_1d->module~atl_modg_1d_kernel_module module~atl_calc_time_module atl_calc_time_module module~atl_calc_time_module->module~atl_elemental_time_integration_module module~atl_calc_time_module->module~atl_time_integration_module module~atl_modg_2d_kernel_module atl_modg_2d_kernel_module module~atl_modg_2d_kernel_module->module~atl_elemental_time_integration_module proc~compute_rhs_cubes compute_rhs_cubes proc~compute_rhs_cubes->module~atl_elemental_time_integration_module module~atl_time_integration_module->module~atl_elemental_time_integration_module proc~compute_rhs_cubes_modg_2d compute_rhs_cubes_modg_2d proc~compute_rhs_cubes_modg_2d->module~atl_elemental_time_integration_module proc~compute_rhs_cubes_modg_2d->module~atl_modg_2d_kernel_module module~atl_imexrk_module->module~atl_elemental_time_integration_module module~atl_imexrk_module->module~atl_time_integration_module module~atl_predcor_cerk4_module->module~atl_elemental_time_integration_module module~atl_predcor_cerk4_module->module~atl_time_integration_module module~atl_compute_local_module atl_compute_local_module module~atl_predcor_cerk4_module->module~atl_compute_local_module module~atl_ssprk2_module->module~atl_elemental_time_integration_module module~atl_ssprk2_module->module~atl_time_integration_module proc~compute_rhs_cubes_modg compute_rhs_cubes_modg proc~compute_rhs_cubes_modg->module~atl_elemental_time_integration_module proc~compute_rhs_cubes_modg->module~atl_modg_kernel_module proc~preprocess_rhs_cubes preprocess_rhs_cubes proc~preprocess_rhs_cubes->module~atl_elemental_time_integration_module proc~preprocess_rhs_cubes->module~atl_modg_kernel_module proc~preprocess_rhs_cubes->module~atl_modg_2d_kernel_module proc~preprocess_rhs_cubes->module~atl_modg_1d_kernel_module module~atl_rk4_module->module~atl_elemental_time_integration_module module~atl_rk4_module->module~atl_time_integration_module proc~modg_1d_compute_project_physflux modg_1d_compute_project_physFlux proc~modg_1d_compute_project_physflux->module~atl_elemental_time_integration_module proc~modg_1d_compute_project_physflux->module~atl_modg_1d_kernel_module module~atl_modg_1d_kernel_module->module~atl_elemental_time_integration_module proc~postprocess_rhs_cubes postprocess_rhs_cubes proc~postprocess_rhs_cubes->module~atl_elemental_time_integration_module proc~postprocess_rhs_cubes->module~atl_modg_kernel_module proc~postprocess_rhs_cubes->module~atl_modg_2d_kernel_module proc~postprocess_rhs_cubes->module~atl_modg_1d_kernel_module module~atl_container_module atl_container_module module~atl_container_module->module~atl_modg_kernel_module module~atl_container_module->module~atl_global_time_integration_module module~atl_container_module->module~atl_modg_2d_kernel_module module~atl_container_module->module~atl_time_integration_module module~atl_container_module->module~atl_modg_1d_kernel_module module~atl_physcheck_module atl_physCheck_module module~atl_container_module->module~atl_physcheck_module module~atl_program_module atl_program_module module~atl_program_module->module~atl_global_time_integration_module module~atl_program_module->module~atl_calc_time_module module~atl_program_module->module~atl_container_module module~atl_program_module->module~atl_physcheck_module module~atl_initialize_module atl_initialize_module module~atl_program_module->module~atl_initialize_module module~atl_physcheck_module->module~atl_time_integration_module module~atl_compute_local_module->module~atl_modg_kernel_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_program_module program~atl_harvesting->module~atl_initialize_module module~atl_initialize_module->module~atl_container_module

Contents


Abstract Interfaces

abstract interface

Interface definition for elementwise timestepping routine.

  • public subroutine atl_elemental_timestep(me, state, cell, dof, sideFlux)

    Arguments

    TypeIntentOptionalAttributesName
    class(atl_timestep_type), intent(inout) :: me

    The type of your timestepping.

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

    The state of all cells on this level. This field will be updated ad the cell position. See kerneldata type for more explanations.

    integer, intent(in) :: cell

    Position of the cell to update in the state vector.

    integer, intent(in) :: dof

    The degree of freedom to update

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

    The flux for one of the sides of this cell. The length of this array is the number of conservative variables of your equation.

abstract interface

Interface definition for vectorized elementwise timestepping routine.

  • public subroutine atl_elemental_timestep_vec(me, state, kerneldata)

    Arguments

    TypeIntentOptionalAttributesName
    class(atl_timestep_type), intent(inout) :: me

    The type of your timestepping.

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

    The state of all cells on this level. This field will be updated ad the cell position. See kerneldata type for more explanations.

    type(atl_kerneldata_type), intent(in) :: kerneldata

    Complete kerneldata to get the flux from with additional information.

abstract interface

Interface definition for updating the timestep width.

  • public subroutine atl_update_timestep(me, timestepInfo)

    Arguments

    TypeIntentOptionalAttributesName
    class(atl_timestep_type), intent(inout) :: me

    The type of your timestepping.

    type(atl_local_timestep_type), intent(in) :: timestepInfo

    Local timestepping information for that part of the mesh


Derived Types

type, public :: atl_timestep_type

Components

TypeVisibilityAttributesNameInitial
type(atl_statedata_type), private, allocatable:: timestepData(:)

Additional storage for timestepping algorithm. The usage is optional and some solvers do not use is, while others have to use it (e.g. multistep/multistage methods). This field is always passed as an argument to elementwise timestepping rotine (specified above as a pointer). The dimension of this array and its usage is left to the stepping algorithm and is therefore different for different timestepping schemes.

type(atl_eulerTimestep_type), private :: euler

Information about the propagation speeds of the 3D Euler equation.

type(atl_eulerTimestep_type), private :: euler_2d

Information about the propagation speeds of the 2D Euler equation.

type(atl_eulerTimestep_type), private :: euler_1d

Information about the propagation speeds of the 1D Euler equation.

type(atl_LoclinEulerTimestep_type), private :: LoclinEuler

Information about the propagation speed of the local linear Euler equation

procedure(atl_elemental_timestep), private, pointer, nopass:: elemStep=> null()

Pointer to a subroutine implementing the elemental procedure of a timestepping algorithm.

procedure(atl_elemental_timestep_vec), private, pointer, nopass:: elemStep_vec=> null()
integer, private, allocatable:: timestepInfoInteger(:)

Storage for additional information of the timestepping method.

Read more…
real(kind=rk), private, allocatable:: timestepInfoReal(:)
procedure(atl_update_timestep), private, pointer, nopass:: updateStep=> null()

Pointer to bring information from timestep information to the timestepping scheme itself.

type, private :: atl_eulerTimestep_type

Timestep information for Euler equation.

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private, allocatable:: maxVel(:)

Modulus of the maximum velocity (for all elements on the current level).

real(kind=rk), private, allocatable:: speedOfSound(:)

Maximum speed of sound (for all elements on the current level).

Timestep information for local linear Euler equation

Components

TypeVisibilityAttributesNameInitial
real(kind=rk), private, allocatable:: meanVel(:)

mean velocity for all elements

real(kind=rk), private, allocatable:: speedOfSound(:)

mean speed of sound for all elements