vtkOpenFOAMReaderについて
Class Reference
https://vtk.org/doc/release/7.1/html/classvtkOpenFOAMReader.html
pythonで実際に動かした場合の挙動を少しづつまとめていきます
環境
python 3.7
vtk 8.1.2
確認方法
import Vtk
print(vtk.vtkVersion.GetVTKSourceVersion())
>> vtk version 8.1.2
初期化
import vtk
filename = "a.foam"
reader = vtk.vtkOpenFOAMReader()
reader.SetFileName(filename)
reader.Update()
print(reader)
printの出力例
vtkOpenFOAMReader (0x7fedd2c95be0)
Debug: Off
Modified Time: 105700
Reference Count: 2
Registered Events: (none)
Executive: 0x7fedd2caf9b0
ErrorCode: Undefined error: 0
Information: 0x7fedd2cd3f90
AbortExecute: Off
Progress: 1
Progress Text: (None)
File Name: a.foam
Refresh: 0
CreateCellToPoint: 1
CacheMesh: 1
DecomposePolyhedra: 1
PositionsIsIn13Format: 1
ReadZones: 0
SkipZeroTime: 0
ListTimeStepsByControlDict: 0
AddDimensionsToArrayNames: 0
Reader instance 0x7fedd2cbeb70:
Debug: Off
Modified Time: 106395
Reference Count: 1
Registered Events: (none)
DisableAllCellArrays() / EnableAllCellArrays()
CellArrayのオンオフ
GetNumberOfCellArrays()
オブジェクトに含まれている物理変数の種類の数を返す
例:U,p を変数に含む -> 2
reader.GetNumberOfCellArrays()
>> 2
GetCellArrayStatus(name:string)
指定した文字列に該当するCellArrayが存在するかを返す
reader.GetCellArrayStatus("hoge")
>> 0
reader.GetCellArrayStatus("p")
>> 1
GetCellArrayName(index:int)
indexの番号に対応する物理変数の名前を返す
reader.GetCellArrayName(0)
>> 'U'
reader.GetCellArrayName(1)
>> 'p'
reader.GetCellArrayName(1000)
>> None
オブジェクトに含まれている物理変数(CellArray)の一覧を表示
for index in range(reader.GetNumberOfCellArrays()):
nname = reader.GetCellArrayName(index)
print(nname)
>> U p ...
GetNumberOfPatchArrays()
OpenFOAMのパッチの数+1を返す
+1はinternalMeshを含むため
reader.GetNumberOfPatchArrays()
>> e.g. 5
GetPatchArrayName(index:int)
パッチ名とinternalMeshを返す
reader.GetPatchArrayName(0)
>> 'internalMesh'
reader.GetPatchArrayName(1)
>> e.g. 'walls'