load bc realarray data from disk
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nBCtypes |
Number of boundary condition types |
||
character(len=*), | intent(in) | :: | propname |
Name of the property to load |
||
character(len=*), | intent(in) | :: | basename |
Name of the file, the data is stored in, will be appended with ".lua" for the header information and ".lsb" or ".msb" for the binary data. |
||
logical, | intent(out) | :: | flag_per_BC(nBCtypes) |
The flags to set for each boundary condition type |
||
integer, | intent(in) | :: | myPart |
Partition to load |
||
integer, | intent(in) | :: | comm |
Communicator to use |
subroutine load_tem_BC_logicalHeader( nBCtypes, propname, basename, &
& flag_per_BC, myPart, comm )
! ---------------------------------------------------------------------------
!> Number of boundary condition types
integer, intent(in) :: nBCtypes
!> Name of the property to load
character(len=*), intent(in) :: propname
!> Name of the file, the data is stored in, will be appended with
!! ".lua" for the header information and ".lsb" or ".msb" for the
!! binary data.
character(len=*), intent(in) :: basename
!> The flags to set for each boundary condition type
logical, intent(out) :: flag_per_BC(nBCtypes)
!> Partition to load
integer, intent(in) :: myPart
!> Communicator to use
integer, intent(in) :: comm
! ---------------------------------------------------------------------------
type( flu_State ) :: conf ! lua flu state to read lua file
integer :: i
integer :: iError
integer, parameter :: root = 0
character(len=256) :: headerfile
integer :: thandle
! ---------------------------------------------------------------------------
! set header file name
headerfile = trim(basename)//'.lua'
if (myPart == root) then
! Now read whether each boundary has q value
call open_config_file(L = conf, filename = headerfile)
call aot_table_open(L = conf, thandle = thandle, key = propName)
do i=1,nBCtypes
call aot_get_val( L = conf, &
& thandle = thandle, &
& pos = i, &
& val = flag_per_BC(i), &
& ErrCode = iError )
end do
call aot_table_close( L = conf, thandle = thandle )
call close_config( conf )
end if
call MPI_Bcast(flag_per_BC, nBCtypes, MPI_LOGICAL, root, comm, iError)
end subroutine load_tem_BC_logicalHeader