SCT_file_reader_m Module

  • SC/TETRA 出力のファイルを読み取り,データを取り出す.
  • 今までのconverterと異なり, 本モジュールで独立して扱えるようになっている.
  • 並列化には対応していない.


Contents


Variables

Type Visibility Attributes Name Initial
real(kind=8), public, parameter :: MissingValueSize = 1.0d20

SC/TETRAで規定された欠測値の大きさ.


Derived Types

type, public ::  sct_data_name_list_t

スカラーorベクトルデータの名前だけを取り出す. 構造体の配列にして使用する. region用に使うことも出来る. その場合abbreviatedは使わない. 異なる文字長の配列が実装できなかったのでこれで代用する.

Components

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

type, public ::  sct_grid_t

SC/TETRA メッシュクラス. 必要最低限の変数のみ保持. 変数名はフォーマットに準拠.
メッシュそのものを取り扱うのでメモリ圧迫する可能性大. ソルバ内で使う場合はサブルーチンのローカル変数として扱う方が無難(自動開放されるはず)

Type-Bound Procedures

procedure , public :: includes_topology Function
procedure , public :: is_fld_file Function
procedure , public :: print_self Subroutine
procedure , public :: read_SCT_file Subroutine
procedure , public :: extract_original_cell_vertices Subroutine
procedure , public :: extract_cell_vertices Subroutine
procedure , public :: extract_ordered_cell_vertices Subroutine
procedure , public :: get_2d_array_of_point_coords Subroutine
procedure , public :: get_cell_types Subroutine
procedure , public :: get_element_count Function
procedure , public :: get_vertex_count Function
procedure , public :: get_tetrahedron_count Function
procedure , public :: get_wedge_count Function
procedure , public :: get_pyramid_count Function
procedure , public :: get_hexahedron_count Function
procedure , public :: get_region_count Function
procedure , public :: get_region_namelist Subroutine
procedure , public :: extract_face2vertices_on_region Subroutine
procedure , public :: search_scalar_data Subroutine
procedure , public :: search_vector_data Subroutine
procedure , public :: get_data_titles Subroutine

Subroutines

public subroutine get_cell_data_from_cellvertices(cell_data, cell2vertices, point_data)

各セル毎の頂点配列に関連する節点中心データからセル中心データを構築する. 値はセルを構成する節点データの算術平均として計算する.

Arguments

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

出力されるセル中心データ.

integer, intent(in) :: cell2vertices(:,:)

頂点配列.

integer, intent(in) :: point_data(:)

任意の節点データ.