三次元空間への六面体及び格子によるソリッド図形の描画


ソリッドデータの種類

PostPlot3D1.0ではソリッドデータとして以下の2種類のデータ形式が使用できます。
・多重三次元格子
・六面体要素
ソリッドデータでは以下の表現が可能です。
・ワイヤーフレーム表示
・陰線処理
・クライテリア表示
・等高線表示
・等値面表示
・断面表示
・Voxel表示(物理量を使用した任意のメッシュの抽出表示)



多重三次元格子

多重三次元格子は多重二次元格子ファイルフォーマットを三次元に拡張したもので、格子状三次元ソリッドデータを描画することが出来ます。使用するデータは、多重二次元格子と同様に格子数と座標のみで構成されます。



ファイル形式は以下のようになります。
#------------------------------------サンプル1

 

以上の格子データをM3DLatticeデータとして読み込みたい場合、以下の書式でテキストファイルを作成します。
 この書式では、Lは独立したオブジェクト数を示します。具体的には、サンプル1ではL=1、サンプル2ではL=2となります。格子数ix,iy,izはオブジェクト単位で設定します。また、物理量pはVelocity Magnitudeとして認識されますので、等高線表示等を行う場合はVelocity Magnitudeを指定して下さい。さらに多くの物理量(Pressure, Velocity, ViscosityおよびLocal shear)を割り当てたい場合はresファイルを読み込むことで対応することが出来ます。

#---------------------------------
L
ix1 iy1 iz1
x(1) y(1) z(1) p(1)
x(2) y(2) z(2) p(2)
x(3) y(3) z(3) p(3)
.
.
x(n1) y(n1) z(n1) p(n1)

ix2 iy2 iz2
x(n1+1) y(n1+1) z(n1+1) p(n1+1)
x(n1+2) y(n1+2) z(n1+2) p(n1+2)
x(n1+3) y(n1+3) z(n1+3) p(n1+3)
.
.
x(n1+n2) y(n1+n2) z(n1+n2) p(n1+n2)

#※但しn1=ix1*iy1*iz1, n2=ix2*iy2*iz2

#---------------------------------
具体的なデータを見るには、ここをクリックして下さい。

#---------------------------------
データを見る(サンプル1)
#---------------------------------

作成したファイルは「File〜Open Multi 3D lattice data」メニューで読み込みます。データ入力結果は以下のようになります。
#---------------------------------
結果

 


#---------------------------------サンプル2
複数のソリッド描画する場合のサンプルデータ(L=2)

データを見る(サンプル2)

#---------------------------------結果

 


#---------------------------------サンプル3
各節点に物理量を設定し、等高線およびVoxelで表示

データ作成プログラム
FORTRAN
PP Basic
"M3DLatSamp03"は"M3DLatSamp03.f"をコンパイルした実行プログラムです。
"M3DLatSamp03.bas"をPP Basicで実行するか、"M3DLatSamp03"を実行するとサンプルデータが作成出来ます。

#---------------------------------結果
 


等高線表示


Voxel表示

 


#---------------------------------サンプル4
多重三次元格子を曲面形状に適用した例

データ作成プログラム
FORTRAN
PP Basic
"M3DLatSamp04"は"M3DLatSamp04.f"をコンパイルした実行プログラムです。
"M3DLatSamp04.bas"をPP Basicで実行するか、"M3DLatSamp04"を実行するとサンプルデータが作成出来ます。

 

 

 

 

 


六面体要素

 

六面体要素は三角形及び四角形要素と同様に、有限要素法等で使用される格子形状で、体積を持つソリッド形状の解析を行う際に使用されます。
ファイル形式は、三角形要素及び四角形要素と同様、ユニバーサルファイルのID番号2411及び2412を使用し、2412のRecord1/Field6に六面体要素の節点数8を与えて作成します。
具体的なサンプルを以下に示します。

#--------------------------------------サンプル1

#--------------------------------------入力データ
-1
2411
1 0 0 0
0.0 0.0 0.0
2 0 0 0
0.0 1.0 0.0
3 0 0 0
1.0 0.0 0.0
4 0 0 0
1.0 1.0 0.0
5 0 0 0
0.0 0.0 1.0
6 0 0 0
0.0 1.0 1.0
7 0 0 0
1.0 0.0 1.0
8 0 0 0
1.0 1.0 1.0
-1

-1
2412
1 0 0 0 0 8
1 2 4 3 5 6 8 7
-1

#--------------------------------------結果

#--------------------------------------サンプル2


このメッシュの入力データは以下のようになります。
要素結合情報は、要素1に対しては1,2,4,3,5,6,8,7、要素2に対しては5,6,8,7,9,10,12,11というように書き込んでゆきます。

データを見る(サンプル2)

#---------------------------------結果
 

六面体要素に物理量を与えたい場合、別途resファイルから読み込みます。