5D相関図。付いて来れるかな♪
長い間、空手形のままで気になっていた5D表示の1つの答えが出たので、紹介しよう。
3D表示からの進歩をおさらいすると、
COP = f ( 負荷率・冷却水温度 ) のような相関式を表示するには、特性値および説明係数2つ、都合3つの数値を表示する必要があるため、3D空間に表示することになる。
描画はDirectX でもよかったが、4角ポリゴンの方が考え方が楽だしポリゴン数も少ないだろうとOpenGLを使用させてもらった。
数値読み取りは、目盛りを付けたとしてもパースペクティブにより最早不可能なので、pickにて相関曲面、データとも読み取れるようにした。
これにより暫く実機の効率関係データを眺めつつ、その内在するポテンシャルに我ながら驚いていた。
ある時、監視装置メーカーさんに得意気に3D相関図をプレゼン?している最中にしゃべりながらふと閃いたのが、離散的で良ければもう1次元増やせるということであった。
これによりCOP = f ( 負荷率・冷却水温度・冷却水流量 ) やCOP = f ( 冷水入口温度・冷水流量・冷却水温度 ) のような相関式を表示出来るようになった。
表示はあくまで3D空間内であるが、離散相関曲面軸を重ね見ることにより、その数値によりCOPなどの特性値がどう動くのか判るようになった。
また、「3D空間に1次元増やして表示するから4D相関図だ」と牽強付会をやったので、出来るだけ突込みされないように各説明係数の扱いは等価にした。即ちどの説明係数でも直ちに相関曲面軸を初めとした各軸に貼り付け変更可能とした。
これにより更に利用価値が上がった。
人間の欲望は限りなく、そうすると今度は冷却塔電力 = f ( 湿球温度・湿球冷却水温度差・冷却水往還り温度差・冷却水流量 ) やCOP = f ( 冷水入口温度・冷水流量・冷却水温度・冷却水流量 ) のような相関式を扱いたくなり、今までの云いで行けば5D相関図だということになるが、なかなか手が付かなかった。
もう一つの軸も離散表示が許されるならば、理屈上は更に離散相関曲面軸群を重ねても良いはずだが、どの様な色彩表示を多用するにしても、最早識別は不可能だろう。
今物理学で4次元と言う場合、空間3次元+時間1次元となる。それならば離散相関曲面軸による4D相関図を時間方向で振らせ、これを時間軸と呼べば何とかもう1次元増やせるのではないか。又もや離散表示にならざるを得ないが。
ということでやってみたのが、下図である。
時間軸は表示がこれだけで図と同時に見なければならないので大きめにして、色調も変化するが、自動でトラッキングしてくれるし、手動で自由に変えられる。
勿論、各説明係数の各軸への貼り付け設定は等価である。
最初時間軸に張り付ける係数を決めると、残る3つが相関曲面軸コンボボックスに表示されるから選択すると、残り2つがXおよびZ軸に割り振られる。
ちょっと懇切に説明しようと (あるいは、こんな事もやってるんだぞと威張ろうと) すると直ぐこんな図になるが、実際に動かしてみれば直ぐわかる。
4D図が出来た時は、かなりヘビーでラジカルな気がしたが、時間軸で5Dをやってみて係数落ち (計算で相関を拾ってくれなくて式に入ってこない) などで4D図に戻るとホント寒々とした印象になる。だって動かないんだもの。
配列も野放図に使っているので、パソコンのリソースがパンクするかも知れない。
描画の途中でポリゴンを作ると時間が掛かるので、データ粒の大きさを変える時以外、各軸区分数が決まったら一気に作ってしまう。従って殆どのポリゴンは時間軸数値が自分の出番になるまで、描画されずに隠れているわけだが、配列は使用されている。
相関曲面は1辺が60区分としてポリゴンで約3600個、これが8面あるとして3万個。また時間軸方向に10区分として30万個になってしまう。これの4隅のポイントはベクトルで120万個である。
データが3000個あるとしてポリゴンは18000個。ポイントで7万個のベクトルである。
ポイントについてはベクトルだけ格納すればよいが、ポリゴンは4隅のポイントNO、描画するか否か、法線ベクトル、pickされたか否か、離散曲面軸のどのグループかなど種々の数値を保持しておく配列が必要になる。
おっと、相関曲面裏側の光の当たり方も表現することにしたが配列の合理化努力をしてないから、表裏でその2倍だ。 (データキューブの6面については、裏から見られることは無いから1方だけ作ればよいが)
更に説明係数が増えたことから、共線性のある係数でも何でも取り込んで、「寄与度が高い」と悦に入る危険性があるが、貼り付け軸を変えながら観察すれば何れ気付くし、Excel で2者の相関を見ればよい。
それよりもやはり、必要な係数を取り込めることから、より正確な分析が可能となるメリットのほうが勝る。
例えば今まで吸収式の冷水出口温度高でCOPが高くなるというデータを確認出来ないでいた。「annoying result.」 など参照。
これは吸収式の「冷水入口温度が上がったら定格付近で運転していて余裕が無ければ、冷水出口温度もなかなか下がってくれない」という運転状況を考えても、冷水出口温度には冷水入口温度と強い共線性があると想定され、cop = f ( 冷水出口温度 ・ 冷水流量 ・ 冷却水入口温度 ) などとしても、相関を拾えないか逆の傾向さえ出てくる有様であった。
ふり返れば、これが相関図の次元を上げていったモチベーションの1つでもあったから、それはそれで「機会や機械が薫陶してくれる」と有難く受け止めて置けばよいが。
冷水出口温度が単独で上がるのならCOPも高くなるかもしれないが (理論的にはそうなることを確認済み「3Dデューリング線図の試作」参照) 、冷水入口温度上昇による冷水出口温度高である場合、前者が上がることは負荷率が上がることになり、COPは低下するから、冷水出口温度高がCOPの低下に結びつく。
これはちょっと考えれば気付くことで予想はしていたが、5D相関図でその点がクリアーに把握できた。
実は上図がそれで、COP = f ( 冷水出口温度 ・ 冷水流量 ・ 冷却水流量 ・ 冷却水入口温度 ) である。但し同一冷水入口温度14℃~15℃の範囲で括ってデータ数240個である。
相関曲面軸に冷水出口温度CSTmpが設定されており、温度が高い方が高COPであることが判る。6.28℃~8.08℃30%の変動幅でこれだけの差である。
右手冷水流量CSFlow大で低COPであることは、負荷率大だから当然であり、奥行き冷却水入口温度CWTmp高で低COPであることも既知である。
図は固定だが、時間軸冷却水流量のスイープによりデータおよび曲面は上に向かって繰り返し動いており、736[m3/h]~699[m3/h]のたった5%の変動幅であるが、その間の冷却水流量の影響も拾ってくれた。
それでは導入説明はこのくらいにして、実際に動かしてみよう。
プログラムはダウンロード 5D.exe (978.0K)である。glut32.dllが要る。
データが3組メモに書き込んである。
COP = f ( 冷水出口温度 ・ 冷水流量 ・ 冷却水流量 ・ 冷却水入口温度 ) と、COP = f ( 冷水入口温度 ・ 冷水流量 ・ 冷却水流量 ・ 冷却水入口温度 ) および冷却塔電力 = f ( 湿球温度・湿球冷却水温度差・冷却水往還り温度差・冷却水流量 ) である。同じ冷凍機である点は作為は無い。当所の低効率機でついつい注目したくなるから今回も見ているに過ぎない。
データを選択して「② clipbrdCopy」ボタンを押せば、文字通り clipbrd 経由で表に取り込む。
後は③④と押し進むだけである。
直ちに5Dが描画される。
時間軸区分が8、曲面枚数が4だから、ポリゴン数は20万を超えるが、相関計算を含めて描画まで1瞬である。
マシン語 ( 昔Vtune と言うインテルアーキテクチュアー内でマシン語コードベースでパイプラインの最適化など高速化を支援してくれるツールがあった ) はもとよりパスカルソースでも、高速化努力は全然しないで頭に浮かんだコードを書き連ねるだけでこれである。やればやるほど Delphi に惚れ直す。
シェープアップはこれからゆっくりやろう。法線ベクトル配列不要の可能性もあるし、ポリゴンピッチ可変のアルゴリズムだってあるだろう。
時間軸に冷水出口温度が張り付いていて、自動でスイープしている。これに伴い、COPは高めに動いていく。
相関曲面の動きに惑わされず、データの動きだけ見たい時は、「曲面表示」のチェックを外せばよい。近づいて見たい場合は縦のスライダーを前進させる。Ctrl パネル表示が off の時は、「↑PgUp 」でも良い。
続いて相関曲面軸を「冷却水流量」にして見る。非常に幅が狭いが、冷却水流量が大きい方が高COPである。この号機では5%の変動幅しかないからこの表示だが、他号機でも冷却水流量がCOPに影響することは「You've told me that a thousand times already.」「You've told me that a million times already.」などに確認済みである。
時間軸に冷却水流量にして見ても、これの動きに伴いCOPが上がって行く。高い冷却水温度、低い冷却水流量の時の方が効きが大きいようだ。
いろいろ動かしてみて納得したら、続いて相関Ⅰに戻り、「AR4_CrTmp」を選択して同様に②③④と進む。
今度は冷水入り温度が時間軸に張り付いていいて、自動でスイープしている。これに伴い、COPは下がって行く。さっきとは逆方向の動きである。これは負荷率大によるCOP低下だが、冷水入口温度高→冷水出口温度高になりやすく、ここをしっかり峻別しておかないと、冷水出口温度だけの影響がつかみにくかったわけである。
続いて相関Ⅱに戻り、「CT_kwh」を選択して同様に⑥⑦⑧と進む。②③④と全く同一機能だが、3D対比は基本スペックだから2つ目のプラットフォームとして残してある。
これは冷却塔電力 = f ( 湿球温度・湿球冷却水温度差・冷却水往還り温度差・冷却水流量 ) だが、技術的に何か意味があるかというより、どちらかと言えば、5D図のチェックのために入れてある。
描画したばかりでは、冷却水流量が時間軸、冷却水往還り温度差が曲面軸に張り付いている。上にどんどん伸びていくがこれは何だ?
右下の「limit」にチェックを入れるとギザキザの曲面が出てくるようになった。これは4隅の点の値が、垂直軸特性値の2倍を超えるポリゴンを描画しなくする機能だが、冷却塔電力は湿球冷却水温度差が小さいと急激に大きくなるから、0.5℃などの描画点で実際の特性値の最大をはるかに超える計算結果になったものである。
そこの調整を正攻法で行わず、小手先で大きなものは描画しないとしたから、ギザキザになったものであるが、何れにせよ成功したとはいえない。ポリゴン作製範囲から考慮しなければならない。
ただギザキザで判るように、「相関曲面の1辺が60区分と言うのは多すぎないか」と思った人が居るとすれば、これが1つの答えである。
また、冷却水流量の大きい方が、冷却水往還り温度差の大きい方が、冷却塔電力が大きいというのは、冷却塔入熱だから良いだろう。
しかし湿球温度の効きが「当然高い方が、電力も高くなるだろう」という期待と逆になったのはどう考えるか。
湿球温度は当然湿球冷却水温度差と共線性がある他、冷却水流量とも共線性がある。また、冷却水流量は冷却水往還り温度差にも効いてくる。従って寄与率が0.88となっているのは兎も角、ここで湿球温度を説明係数に入れるのは間違いであった。
湿球温度の上昇に伴って、冷却水流量が増え、冷却水往還り温度差も大きくなるからそちらの係数の高い方に移る。当然湿球冷却水温度差は下がるから、低い方に移る。何れも冷却塔電力増加方向で、3つともそちらに動こうとするからバランスによっては湿球温度だけを取り出してみれば下がるように見えるのかも知れない。
更に、湿球温度が高い時は夏季ピークの最中であり、当所では冷却塔電力も恣意的に抑制しているから、その影響もある可能性があり、まだ充分吟味出来てない。
出来栄えは兎も角、新酒が出来たお祝いのボージョレー・ヌーボーのように、5D相関図が出来たお祝いにとにかく乗せてみたと言うレベルにとどめておこう。
今後展開するであろう未知の可能性に期待して。
コピー元データ選択を「手動コピー」にすれば、Excel で下図の様式で作成したデータを丸々コピーした後②を押せば表に自動的に貼り付け、計算に供する事が出来る。
データのカウント以外何のチェックもしていないので、様式を間違えずデータを作成して下さい。
気楽に作っているが、シェアーウェアーにするならこの辺からちゃんと作るんだね。
| コメント (0) | トラックバック (0)



















