FlowFieldUnstructuredGrid Derived Type

type, public :: FlowFieldUnstructuredGrid

流れ場非構造格子クラス


Inherits

type~~flowfieldunstructuredgrid~~InheritsGraph type~flowfieldunstructuredgrid FlowFieldUnstructuredGrid type~boundarytriangle_t boundaryTriangle_t type~flowfieldunstructuredgrid->type~boundarytriangle_t BoundFACEs, FACEs type~cell_inflow_t cell_inFlow_t type~flowfieldunstructuredgrid->type~cell_inflow_t CELLs type~kdtree kdTree type~flowfieldunstructuredgrid->type~kdtree kd_tree type~node_t node_t type~flowfieldunstructuredgrid->type~node_t NODEs type~cell_t cell_t type~cell_inflow_t->type~cell_t type~node_in_kdtree_t node_in_kdTree_t type~kdtree->type~node_in_kdtree_t node

Inherited by

type~~flowfieldunstructuredgrid~~InheritedByGraph type~flowfieldunstructuredgrid FlowFieldUnstructuredGrid type~flowfield FlowField type~flowfield->type~flowfieldunstructuredgrid

Contents


Type-Bound Procedures

procedure, public :: nearcell_check

  • private function nearcell_check(self, X, NCN) result(isNear)

    近傍セル探索の結果が妥当かどうかをチェック

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    real, intent(in) :: X(3)

    探索対象座標

    integer, intent(in) :: NCN

    近傍探索結果セルID

    Return Value logical

procedure, public :: nearest_cell

  • private function nearest_cell(self, X) result(nearestCellID)

    最近傍セル探索

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self
    real, intent(in) :: X(3)

    探索対象座標

    Return Value integer

procedure, public :: nearest_search_kdTree

  • private function nearest_search_kdTree(self, X) result(nearestCellID)

    kdツリーによる最近傍セル探索

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self
    real, intent(in) :: X(3)

    探索対象座標

    Return Value integer

procedure, public :: nearest_search_exact

  • private function nearest_search_exact(self, X) result(nearestCellID)

    厳密最近傍セル探索

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self
    real, intent(in) :: X(3)

    探索対象座標

    Return Value integer

procedure, public :: get_movementVectorOfBoundarySurface

  • private function get_movementVectorOfBoundarySurface(self, ID) result(vector)

    指定IDにおける境界面の移動量ベクトルを返す

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self
    integer, intent(in) :: ID

    Return Value real, (3)

procedure, public :: get_flowVelocityInCELL

  • private function get_flowVelocityInCELL(self, ID) result(velocity)

    指定IDにおけるセルの流速を返す

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self
    integer, intent(in) :: ID

    Return Value real, (3)

procedure, public :: get_allOfCellCenters

  • private function get_allOfCellCenters(self) result(centers)

    全セルの重心座標を2次元配列で返す

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self

    Return Value real, allocatable, (:,:)

procedure, public :: get_cellCenterOf

  • private function get_cellCenterOf(self, ID) result(center)

    指定IDにおけるセル重心

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self
    integer, intent(in) :: ID

    Return Value real, (3)

procedure, public :: get_MinMaxOfGrid

  • private subroutine get_MinMaxOfGrid(self, MIN_CDN, MAX_CDN)

    節点群の座標最大最小を返す

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    real, intent(out) :: MIN_CDN(3)
    real, intent(out) :: MAX_CDN(3)

procedure, public :: get_cellVerticesOf

  • private function get_cellVerticesOf(self, ID) result(vertices)

    指定IDのセルにおける頂点座標配列を返す 2次元配列:(xyz、頂点)

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self
    integer, intent(in) :: ID

    Return Value real, allocatable, (:,:)

procedure, public :: get_info => get_gridInformation

  • private function get_gridInformation(self, name) result(info)

    節点数もしくはセル数を取得

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self
    character(len=*), intent(in) :: name

    'node' or 'cell'

    Return Value integer

procedure, public :: read_FPH

  • private subroutine read_FPH(self, FNAME, findTopology, findVelocity)

    FPHファイルから流れ場を取得する

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    character(len=*), intent(in) :: FNAME

    ファイル名

    logical, intent(in) :: findTopology

    トポロジー情報を取得するフラグ

    logical, intent(in) :: findVelocity

    流速情報を取得するフラグ

procedure, public :: read_FLD

  • private subroutine read_FLD(self, FNAME, findTopology, findVelocity)

    FLDファイルから流れ場を取得する

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    character(len=*), intent(in) :: FNAME

    ファイル名

    logical, intent(in) :: findTopology

    トポロジー情報を取得するフラグ

    logical, intent(in) :: findVelocity

    流速情報を取得するフラグ

procedure, public :: read_INP

  • private subroutine read_INP(self, FNAME)

    INPファイルを読み込み、節点データを要素データに変換する

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    character(len=*), intent(in) :: FNAME

procedure, public :: read_array => read_Array

  • private subroutine read_Array(self, FNAME)

    独自フォーマットArrayファイルから、流速を読み込む

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    character(len=*), intent(in) :: FNAME

procedure, public :: read_VTK

  • private subroutine read_VTK(self, FNAME, meshOnly)

    VTKファイルから流れ場を取得する

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    character(len=*), intent(in) :: FNAME

    ファイル名

    logical, intent(in) :: meshOnly

    メッシュだけ読み込み、流速などは無視するフラグ

procedure, public :: updateWithFlowFieldFile

  • private subroutine updateWithFlowFieldFile(self, FNAME)

    流れ場ファイルを読み込み、流れ場を更新する あくまで既存の流れ場の更新目的であり、セル数の異なるメッシュは想定していない セル重心の算出も行う

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    character(len=*), intent(in) :: FNAME

procedure, public :: setupWithFlowFieldFile

  • private subroutine setupWithFlowFieldFile(self, FNAME, meshFile)

    流れ場ファイルの読み込み VTK, INP, FLDに対応 独自フォーマットのArrayにも対応 セル重心の算出も行う

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    character(len=*), intent(in) :: FNAME
    character(len=*), intent(in), optional :: meshFile

procedure, public :: search_refCELL

  • private subroutine search_refCELL(self, X, reference_cell, stat)

    参照セル探索 主に近傍探索が呼ばれるが、探索が芳しくない場合は最近傍探索が呼ばれる

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self
    real, intent(in) :: X(3)

    探索対象座標

    integer, intent(inout) :: reference_cell

    参照セル

    logical, optional :: stat

procedure, public :: adhesionCheckOnBound

  • private subroutine adhesionCheckOnBound(self, position, radius, cellID, stat)

    境界面への飛沫付着判定

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid), intent(in) :: self
    double precision, intent(in) :: position(3)

    飛沫座標

    double precision, intent(in) :: radius

    飛沫半径

    integer, intent(in) :: cellID

    判定対象セルID

    integer, intent(out) :: stat

    付着が起こらなければゼロ、起これば付着面の境界面IDが返る

procedure, public :: get_nearerSearchFalseRate

  • private function get_nearerSearchFalseRate(self) result(num_nearerSearchFalseRate)

    近傍セル探索の結果が悪いと判断された比率を返す

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self

    Return Value real

procedure, public :: get_num_nearerSearchFalse

  • private function get_num_nearerSearchFalse(self) result(num_nearerSearchFalse)

    近傍セル探索の結果が悪いと判断された回数を返す

    Arguments

    Type IntentOptional Attributes Name
    class(FlowFieldUnstructuredGrid) :: self

    Return Value integer