SCF_file_reader_m Module


Contents


Variables

Type Visibility Attributes Name Initial
real(kind=8), public, parameter :: MissingValueSize = 1.0d20
character(len=10), public, parameter :: EC_Scalar_HeadName = 'EC_Scalar:'
character(len=10), public, parameter :: EC_Vector_HeadName = 'EC_Vector:'
character(len=10), public, parameter :: FC_Scalar_HeadName = 'FC_Scalar:'
character(len=10), public, parameter :: FC_Vector_HeadName = 'FC_Vector:'
character(len=32), public, parameter :: OverlapEndLabel = 'OverlapEnd'
integer, public, parameter :: EC_Scalar_DataSize = 50
integer, public, parameter :: EC_Vector_DataSize = 50
integer, public, parameter :: FC_Scalar_DataSize = 50
integer, public, parameter :: FC_Vector_DataSize = 50

Derived Types

type, public ::  EC_Scalar_t

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name
character(len=:), public, allocatable :: abbreviated_name
integer(kind=4), public :: ndata
real(kind=4), public, allocatable :: data(:)

type, public ::  EC_Vector_t

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name
character(len=:), public, allocatable :: abbreviated_name
integer(kind=4), public :: ndata
real(kind=4), public, allocatable :: x(:)
real(kind=4), public, allocatable :: y(:)
real(kind=4), public, allocatable :: z(:)

type, public ::  FC_Scalar_t

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name
character(len=:), public, allocatable :: abbreviated_name
integer(kind=4), public :: ndata
integer(kind=4), public, allocatable :: face_num(:)
integer(kind=4), public, allocatable :: face_flag(:)
real(kind=4), public, allocatable :: data(:)

type, public ::  FC_Vector_t

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name
character(len=:), public, allocatable :: abbreviated_name
integer(kind=4), public :: ndata
integer(kind=4), public, allocatable :: face_num(:)
integer(kind=4), public, allocatable :: face_flag(:)
real(kind=4), public, allocatable :: x(:)
real(kind=4), public, allocatable :: y(:)
real(kind=4), public, allocatable :: z(:)

type, public ::  data_name_list_t

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name
character(len=:), public, allocatable :: abbreviated_name

type, public ::  content_t

Components

Type Visibility Attributes Name Initial
integer, public, allocatable :: vertexIDs(:)
integer, public, allocatable :: faceIDs(:)

dummy (-99) を含む配列

integer, public, allocatable :: boundFaceID(:)

dummy (-99) を含む配列

integer, public, allocatable :: adjacentCellIDs(:)

dummy (-99) を含む配列

real(kind=4), public :: center(3)
real(kind=4), public :: coordinate(3)

type, public ::  scf_grid_t

Components

Type Visibility Attributes Name Initial
type(content_t), public, allocatable :: node(:)
type(content_t), public, allocatable :: face(:)

Type-Bound Procedures

procedure , public :: read_SCF_file Subroutine
procedure , public :: get_fph_element_count Function
procedure , public :: get_fph_vertex_count Function
procedure , public :: get_fph_face_count Function
procedure , public :: set_node_coords Subroutine
procedure , public :: get_fph_2d_array_of_point_coords Subroutine
procedure , public :: get_fph_2d_array_of_cell_coords Subroutine
procedure , public :: get_face2vertices Subroutine
procedure , public :: get_face2cells Subroutine
procedure , public :: set_cell2faces Subroutine
procedure , public :: get_cell2faces Function
procedure , public :: get_cell_offsets Subroutine
procedure , public :: get_fph_bound_faceIDs Subroutine
procedure , public :: get_fph_face_center Subroutine
procedure , public :: get_fph_bound_face_center Subroutine
procedure , public :: output_fph_cell2face Subroutine
procedure , public :: read_cell2face Subroutine
procedure , public :: output_fph_bound_face Subroutine
procedure , public :: output_fph_vtk Subroutine
procedure , public :: get_cell2bound_face Subroutine
procedure , public :: get_fph_adjacentCellIDs Subroutine
procedure , public :: output_fph_adjacentCell Subroutine
procedure , public :: search_fph_vector_data Subroutine

Functions

public function open_binary_sequential_(unit, filename) result(is_opened)

バイナリファイルをシーケンシャル形式で開く. 開けない場合.false.

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: unit

装置番号.

character(len=*), intent(in) :: filename

Return Value logical

public function get_fph_element_count(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(in) :: this

Return Value integer

public function get_fph_vertex_count(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(in) :: this

Return Value integer

public function get_fph_face_count(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(in) :: this

Return Value integer

public function get_cell2faces(this) result(cell2face)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(in) :: this

Return Value integer, allocatable, (:,:)


Subroutines

public subroutine read_SCF_file(this, filename)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this
character(len=*), intent(in) :: filename

public subroutine read_FPH_Header_data(unit, NCYC, TIME)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit
integer(kind=4), intent(inout) :: NCYC
real(kind=4), intent(inout) :: TIME

public subroutine read_FPH_Main_data(unit, CAN_X, CAN_Y, CAN_Z, CCE_X, CCE_Y, CCE_Z, EC_Scalars, EC_Vectors, FC_Scalars, FC_Vectors, EC_Scalar_cnt, EC_Vector_cnt, FC_Scalar_cnt, FC_Vector_cnt, NODES, NFACE, NELEM, NDTOT, IE1, IE2, NDNUM, IDNO)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit
real(kind=4), intent(inout), allocatable :: CAN_X(:)
real(kind=4), intent(inout), allocatable :: CAN_Y(:)
real(kind=4), intent(inout), allocatable :: CAN_Z(:)
real(kind=4), intent(inout), allocatable :: CCE_X(:)
real(kind=4), intent(inout), allocatable :: CCE_Y(:)
real(kind=4), intent(inout), allocatable :: CCE_Z(:)
type(EC_Scalar_t), intent(inout), allocatable :: EC_Scalars(:)
type(EC_Vector_t), intent(inout), allocatable :: EC_Vectors(:)
type(FC_Scalar_t), intent(inout), allocatable :: FC_Scalars(:)
type(FC_Vector_t), intent(inout), allocatable :: FC_Vectors(:)
integer, intent(inout) :: EC_Scalar_cnt
integer, intent(inout) :: EC_Vector_cnt
integer, intent(inout) :: FC_Scalar_cnt
integer, intent(inout) :: FC_Vector_cnt
integer, intent(inout) :: NODES
integer, intent(inout) :: NFACE
integer, intent(inout) :: NELEM
integer, intent(inout) :: NDTOT
integer, intent(inout), allocatable :: IE1(:)
integer, intent(inout), allocatable :: IE2(:)
integer, intent(inout), allocatable :: NDNUM(:)
integer, intent(inout), allocatable :: IDNO(:)

public subroutine EC_Scalar_reader(scalar, unit, is_end)

Arguments

Type IntentOptional Attributes Name
type(EC_Scalar_t) :: scalar
integer(kind=4), intent(in) :: unit
logical, intent(out) :: is_end

public subroutine EC_Vector_reader(vector, unit, is_end)

Arguments

Type IntentOptional Attributes Name
type(EC_Vector_t) :: vector
integer(kind=4), intent(in) :: unit
logical, intent(out) :: is_end

public subroutine FC_Scalar_reader(scalar, unit, is_end)

Arguments

Type IntentOptional Attributes Name
type(FC_Scalar_t) :: scalar
integer(kind=4), intent(in) :: unit
logical, intent(out) :: is_end

public subroutine FC_Vector_reader(vector, unit, is_end)

Arguments

Type IntentOptional Attributes Name
type(FC_Vector_t) :: vector
integer(kind=4), intent(in) :: unit
logical, intent(out) :: is_end

public subroutine get_data_int32_(unit, retval)

Arguments

Type IntentOptional Attributes Name
integer(kind=4), intent(in) :: unit
integer(kind=4), intent(inout) :: retval

public subroutine get_data_float64_(unit, retval)

Arguments

Type IntentOptional Attributes Name
integer(kind=4), intent(in) :: unit
real(kind=4), intent(inout) :: retval

public subroutine get_data_array_int32_(unit, ret_array, ret_array_size)

整数型配列の読み込み

Arguments

Type IntentOptional Attributes Name
integer(kind=4), intent(in) :: unit
integer(kind=4), intent(out), allocatable :: ret_array(:)
integer(kind=4), intent(in) :: ret_array_size

public subroutine get_data_array_float64_(unit, ret_array, ret_array_size)

倍精度実数型配列の読み込み

Arguments

Type IntentOptional Attributes Name
integer(kind=4), intent(in) :: unit
real(kind=4), intent(out), allocatable :: ret_array(:)
integer(kind=4), intent(in) :: ret_array_size

public subroutine ignore_data_(unit)

データを読み飛ばす処理

Arguments

Type IntentOptional Attributes Name
integer(kind=4), intent(in) :: unit

public subroutine get_data_char_(unit, byte, ret_char)

文字列(バイト数指定)

Arguments

Type IntentOptional Attributes Name
integer(kind=4), intent(in) :: unit
integer(kind=4), intent(in) :: byte
character(len=:), intent(inout), allocatable :: ret_char

public subroutine destructor(this)

Arguments

Type IntentOptional Attributes Name
type(scf_grid_t), intent(inout) :: this

public subroutine get_fph_2d_array_of_point_coords(this, points)

節点座標を2次元配列で出力する.

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this
real(kind=4), intent(inout), allocatable :: points(:,:)

public subroutine get_fph_2d_array_of_cell_coords(this, cells)

要素中心座標を2次元配列で出力する.

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this
real(kind=4), intent(inout), allocatable :: cells(:,:)

public subroutine set_node_coords(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this

public subroutine get_face2vertices(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this

public subroutine get_face2cells(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this

public subroutine get_fph_face_center(this, face_center)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this
real(kind=4), intent(out), allocatable :: face_center(:,:)

public subroutine get_fph_bound_faceIDs(this, num_boundFaces)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this
integer, intent(out) :: num_boundFaces

public subroutine get_fph_bound_face_center(this, bound_center)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(in) :: this
real(kind=4), intent(inout), allocatable :: bound_center(:,:)

public subroutine set_cell2faces(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this

public subroutine output_fph_cell2face(this, dir)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(in) :: this
character(len=*), intent(in) :: dir

public subroutine read_cell2face(this, dir)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this
character(len=*), intent(in) :: dir

public subroutine get_cell_offsets(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this

public subroutine get_cell2bound_face(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this

public subroutine get_fph_adjacentCellIDs(this)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this

public subroutine output_fph_bound_face(this, dir)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this
character(len=*), intent(in) :: dir

public subroutine output_fph_adjacentCell(this, dir)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(inout) :: this
character(len=*), intent(in) :: dir

public subroutine output_fph_vtk(this, dir)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(in) :: this
character(len=*), intent(in) :: dir

public subroutine search_fph_vector_data(this, key, vector)

Arguments

Type IntentOptional Attributes Name
class(scf_grid_t), intent(in) :: this
character(len=*), intent(in) :: key
real(kind=4), intent(inout), allocatable :: vector(:,:)

public subroutine packing_vector_into_2Darray_(array, x, y, z)

実数のベクトル配列を2次元配列に詰め直す

Arguments

Type IntentOptional Attributes Name
real(kind=4), intent(out), allocatable :: array(:,:)
real(kind=4), intent(in) :: x(:)
real(kind=4), intent(in) :: y(:)
real(kind=4), intent(in) :: z(:)

public subroutine check_range_of_array(allocID, alloc_max, array_name)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: allocID
integer, intent(in) :: alloc_max
character(len=*), intent(in) :: array_name