cauchy_convergence_test Module

This MODULE collects PROCEDURES used in the PROGRAM convergence_test

FT 22.09.2022



Uses

  • module~~cauchy_convergence_test~~UsesGraph module~cauchy_convergence_test cauchy_convergence_test module~standard_tpo_formulation standard_tpo_formulation module~cauchy_convergence_test->module~standard_tpo_formulation module~utility utility module~cauchy_convergence_test->module~utility module~standard_tpo_formulation->module~utility mesh_refinement mesh_refinement module~standard_tpo_formulation->mesh_refinement module~id_base id_base module~standard_tpo_formulation->module~id_base module~sph_particles sph_particles module~standard_tpo_formulation->module~sph_particles timing timing module~standard_tpo_formulation->timing constants constants module~utility->constants matrix matrix module~utility->matrix module~id_base->module~utility module~id_base->timing module~sph_particles->module~utility module~sph_particles->module~id_base module~sph_particles->timing

Used by

  • module~~cauchy_convergence_test~~UsedByGraph module~cauchy_convergence_test cauchy_convergence_test module~perform_test perform_test module~perform_test->module~cauchy_convergence_test module~shared_grid shared_grid module~shared_grid->module~cauchy_convergence_test program~convergence_test convergence_test program~convergence_test->module~cauchy_convergence_test

Contents


Variables

Type Visibility Attributes Name Initial
double precision, public, parameter :: tol = 1.D-10

Tolerance used as an upper bound for the relative difference between the coordinates of 2 grid points, to consider them the same point

integer, public, parameter :: use_constraints_on_mesh = 1

Parameter that identifies the case where the Cauchy convergence test is performed using the constraints computed using ID read on the refined mesh. Neither the particle ID nor the mapping are used.

integer, public, parameter :: use_constraints_with_mapped_hydro = 2

Parameter that identifies the case where the Cauchy convergence test is performed using the constraints computed using the hydro ID mapped from the particles to the refined mesh.


Interfaces

public interface find_shared_grid

Generic PROCEDURE to compute the grid points shared by all the grids used to perform a Cauchy convergence test

  • public module subroutine find_shared_grid_known_sol(tpo_coarse, tpo_fine, num, den, ref_lev, shared_grid)

    Find the grid points shared by the 2 grids used in the Cauchy convergence test, when the exact solution is known. The ratio between the grid spacings is num/den

    Arguments

    Type IntentOptional Attributes Name
    class(tpo), intent(inout) :: tpo_coarse
    class(tpo), intent(inout) :: tpo_fine
    double precision, intent(in) :: num
    double precision, intent(in) :: den
    integer, intent(in) :: ref_lev
    double precision, intent(out), DIMENSION(:,:,:,:), ALLOCATABLE :: shared_grid
  • public module subroutine find_shared_grid_unknown_sol(tpo_coarse, tpo_medium, tpo_fine, num, den, ref_lev, shared_grid)

    Find the grid points shared by the 3 grids used in the Cauchy convergence test, when the exact solution is not known. The ratio between the grid spacings is num/den

    Arguments

    Type IntentOptional Attributes Name
    class(tpo), intent(inout) :: tpo_coarse
    class(tpo), intent(inout) :: tpo_medium
    class(tpo), intent(inout) :: tpo_fine
    double precision, intent(in) :: num
    double precision, intent(in) :: den
    integer, intent(in) :: ref_lev
    double precision, intent(out), DIMENSION(:,:,:,:), ALLOCATABLE :: shared_grid

Generic PROCEDURE to perform the Cauchy convergence test

  • public module subroutine perform_cauchy_convergence_test_known_sol(tpo_coarse, tpo_fine, use_constraints, num, den, ref_lev)

    Perform the Cauchy convergence test when the exact solution is known. The ratio between the grid spacings is num/den.

    Arguments

    Type IntentOptional Attributes Name
    class(tpo), intent(inout) :: tpo_coarse
    class(tpo), intent(inout) :: tpo_fine
    integer, intent(in) :: use_constraints
    double precision, intent(in) :: num
    double precision, intent(in) :: den
    integer, intent(in) :: ref_lev
  • public module subroutine perform_cauchy_convergence_test_unknown_sol(tpo_coarse, tpo_medium, tpo_fine, use_constraints, num, den, ref_lev)

    Perform the Cauchy convergence test when the exact solution is not known. The ratio between the grid spacings is num/den.

    Arguments

    Type IntentOptional Attributes Name
    class(tpo), intent(inout) :: tpo_coarse
    class(tpo), intent(inout) :: tpo_medium
    class(tpo), intent(inout) :: tpo_fine
    integer, intent(in) :: use_constraints
    double precision, intent(in) :: num
    double precision, intent(in) :: den
    integer, intent(in) :: ref_lev