LoginSignup
1
0

More than 3 years have passed since last update.

vtkOpenFOAMReaderまとめ(随時更新)

Last updated at Posted at 2020-04-24

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'
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0