SC/TETRA メッシュクラス.
必要最低限の変数のみ保持. 変数名はフォーマットに準拠.
メッシュそのものを取り扱うのでメモリ圧迫する可能性大.
ソルバ内で使う場合はサブルーチンのローカル変数として扱う方が無難(自動開放されるはず)
格子ファイルがトポロジを含むか.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this |
ファイルがFLDか.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | unit |
SCTファイルを開き,データを取得する. 事実上のコンストラクタ. 既に別のファイルを開いていた場合,そのデータを破棄して開く.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(inout) | :: | this | |||
character(len=*), | intent(in) | :: | filename |
Sc/Tetraで出力されたセル-頂点関係の配列をそのまま出力する. セルの種類毎に並んでいないのが特徴. 頂点番号は1から始まる.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
integer, | intent(inout), | allocatable | :: | cell2vertices(:,:) |
頂点配列. 1st arg: vertex count, 2nd arg: cell number |
afdet solver との互換性のため, セルタイプごとの頂点配列を出力する. 頂点配列にはセル毎の頂点のインデックスが格納される. 頂点番号は1から始まる.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
integer, | intent(inout), | optional, | allocatable | :: | tetras(:,:) | |
integer, | intent(inout), | optional, | allocatable | :: | pyramids(:,:) | |
integer, | intent(inout), | optional, | allocatable | :: | wedges(:,:) | |
integer, | intent(inout), | optional, | allocatable | :: | hexas(:,:) |
セルの種類毎に並んだ格子全体の頂点配列を作成する. セルはtetra→pyramid→wedge→hexaの順に並べられる. 頂点番号は1から始まる.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
integer, | intent(inout), | allocatable | :: | cell2vertices(:,:) |
節点座標を2次元配列で出力する.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
real(kind=8), | intent(inout), | allocatable | :: | xyz(:,:) |
セルタイプ配列を出力する. extract_original_cell_verticesで出力したセル-節点配列に対して有効.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
integer, | intent(inout), | allocatable | :: | celltypes(:) |
セルタイプ配列 |
|
character(len=*), | intent(in), | optional | :: | conversion |
セルタイプ番号をvtk, xdmfいずれかに変換する. |
要素数を取得する.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this |
節点数を取得する.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this |
格子に含まれるテトラ格子数を取得する.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this |
格子に含まれるプリズム格子数を取得する.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this |
格子に含まれるピラミッド格子数を取得する.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this |
格子に含まれるヘキサ格子数を取得する.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this |
領域の個数.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
type(sct_data_name_list_t), | intent(inout), | allocatable | :: | name_list(:) |
任意のregionを構成する頂点配列を取得する. 体積領域は無視する. cell2verticesはoriginalの物でなければならない.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
integer, | intent(in) | :: | region_num |
region番号. |
||
integer, | intent(in), | allocatable | :: | cell2vertices(:,:) |
並べ替えのされていないセル-頂点配列. |
|
integer, | intent(inout), | allocatable | :: | face2vertices(:,:) |
regionを構成する面-頂点配列. |
.fldに含まれるスカラー場データを取得する. keyにタイトル名を入れて検索する. 該当しない場合含まれるデータ一覧を表示.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | key |
取り出したいデータのSC/TETRAでの名称. |
||
real(kind=8), | intent(inout), | allocatable | :: | scalar(:) |
.fldに含まれるベクトル場データを取得する. keyにタイトル名を入れて検索する. 該当しない場合含まれるデータ一覧を表示.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
character(len=*), | intent(in) | :: | key |
取り出したいデータのSC/TETRAでの名称. |
||
real(kind=8), | intent(inout), | allocatable | :: | vector(:,:) |
.fldに含まれるデータのタイトルを取得する.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(sct_grid_t), | intent(in) | :: | this | |||
type(sct_data_name_list_t), | intent(inout), | allocatable | :: | titles(:) | ||
character(len=*), | intent(in) | :: | data_type |