mod_bc_data Module

Module to set boundary conditions from user data


Uses

  • module~~mod_bc_data~~UsesGraph module~mod_bc_data mod_bc_data module~mod_global_parameters mod_global_parameters module~mod_bc_data->module~mod_global_parameters module~mod_lookup_table mod_lookup_table module~mod_bc_data->module~mod_lookup_table module~mod_basic_types mod_basic_types module~mod_global_parameters->module~mod_basic_types module~mod_connectivity mod_connectivity module~mod_global_parameters->module~mod_connectivity module~mod_constants mod_constants module~mod_global_parameters->module~mod_constants module~mod_physicaldata mod_physicaldata module~mod_global_parameters->module~mod_physicaldata module~mod_variables mod_variables module~mod_global_parameters->module~mod_variables mpi mpi module~mod_global_parameters->mpi module~mod_variables->module~mod_basic_types

Used by

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

Variables

Type Visibility Attributes Name Initial
integer, protected, allocatable :: bc_data_ix(:,:)

Integer array for indexing lookup tables per variable per direction

logical, protected :: bc_data_time_varying = .false.

Whether boundary condition data is time varying

logical, protected :: bc_phy_first_row = .false.
character(len=std_len), protected :: boundary_data_file_name

data file name

logical, protected :: boundary_data_primitive = .false.
logical, protected :: interp_phy_first_row = .true.
type(LT_t), private :: lt_1d(max_boundary_conds)
type(LT2_t), private :: lt_2d(max_boundary_conds)
type(LT3_t), private :: lt_3d(max_boundary_conds)
integer, private, parameter :: max_boundary_conds = 10

Derived Types

type, private ::  bc_data_t

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 bc_data_get_2d(n_bc, x1, qt) result(val)

Arguments

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

Return Value double precision

public elemental function bc_data_get_3d(n_bc, x1, x2, qt) result(val)

Arguments

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

Return Value double precision


Subroutines

public subroutine bc_data_init()

Arguments

None

public subroutine bc_data_set(qt, ixImin1, ixImin2, ixImin3, ixImax1, ixImax2, ixImax3, ixOmin1, ixOmin2, ixOmin3, ixOmax1, ixOmax2, ixOmax3, iB, w, x)

Set boundary conditions according to user data

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: qt
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
integer, intent(in) :: iB
double precision, intent(inout) :: w(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,1:nw)
double precision, intent(in) :: x(ixImin1:ixImax1,ixImin2:ixImax2,ixImin3:ixImax3,1:ndim)

private subroutine bc_read_params(files)

Read this module"s parameters from a file

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: files(:)

private subroutine read_vtk_structured_points(fname, bc)

Arguments

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