mod_init_datafromfile Module

Module to set (or derive) initial conditions from user data We read in a vtk file that provides values on grid


Uses

  • module~~mod_init_datafromfile~~UsesGraph module~mod_init_datafromfile mod_init_datafromfile module~mod_lookup_table mod_lookup_table module~mod_init_datafromfile->module~mod_lookup_table

Used by

  • module~~mod_init_datafromfile~~UsedByGraph module~mod_init_datafromfile mod_init_datafromfile proc~initialize_amrvac initialize_amrvac proc~initialize_amrvac->module~mod_init_datafromfile

Variables

Type Visibility Attributes Name Initial
type(LT_t), private :: lt_1d(max_valuesfromfile)
type(LT2_t), private :: lt_2d(max_valuesfromfile)
type(LT3_t), private :: lt_3d(max_valuesfromfile)
integer, private, parameter :: max_valuesfromfile = 10

Derived Types

type, private ::  read_data_values

Components

Type Visibility Attributes Name Initial
double precision, public :: dx(3)
integer, public :: n_points(3)
integer, public :: n_variables
character(len=40), public, allocatable :: names(:)
double precision, public :: origin(3)
double precision, public, allocatable :: values(:,:,:,:)

Functions

public elemental function read_data_get_1d(ivar, x1) result(val)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ivar
double precision, intent(in) :: x1

Return Value double precision

public elemental function read_data_get_2d(ivar, x1, x2) result(val)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ivar
double precision, intent(in) :: x1
double precision, intent(in) :: x2

Return Value double precision

public elemental function read_data_get_3d(ivar, x1, x2, x3) result(val)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ivar
double precision, intent(in) :: x1
double precision, intent(in) :: x2
double precision, intent(in) :: x3

Return Value double precision


Subroutines

public subroutine read_data_init()

Arguments

None

public subroutine read_data_set(ixImin1, ixImin2, ixImin3, ixImax1, ixImax2, ixImax3, ixOmin1, ixOmin2, ixOmin3, ixOmax1, ixOmax2, ixOmax3, x, val, nval)

Set values according to user data

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ixImin1
integer, intent(in) :: ixImin2
integer, intent(in) :: ixImin3
integer, intent(in) :: ixImax1
integer, intent(in) :: ixImax2
integer, intent(in) :: ixImax3
integer, intent(in) :: ixOmin1
integer, intent(in) :: ixOmin2
integer, intent(in) :: ixOmin3
integer, intent(in) :: ixOmax1
integer, intent(in) :: ixOmax2
integer, intent(in) :: ixOmax3
double precision, intent(in) :: x(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,1:ndim)
double precision, intent(out) :: val(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,1:nval)
integer, intent(in) :: nval

private subroutine read_vtk_structured_points(fname, bc)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: fname
type(read_data_values), intent(out) :: bc