TRNSYS16とTRNSYS17ではコンポーネントの書き方(Fortranのソースコード)が変わりました。
出力Out(i)で表現していたところは、Call SetOutputValue(i,value)とか。
あとParameterで指定していたところもTRNSYS17ではなくなっています。
ずいぶん書きやすくなった気がするのは私だけかな?
SetOutputValueで引き渡すValueはDOUBLE PRECISIONで定義されていることに注意ー。
φ(..)メモメモ
以上、Over!!
2012/02/27
2012/02/23
鏡開きの儀。
鏡開きをわすれてたー!
ということで、今日鏡開きをします。
まず ふたをとります。
そしてとじこめます。んんっ??
勢いよく、包丁で切っちゃいます。
お皿に盛りつけます。きなことうぐいす味です。
黒蜜を味見します。若干、高級路線です。
黒蜜をかけて、ありがたく食します。
飾りつけも無駄なく利用して終了です。
おいしゅうございました。
以上、Over!!
ということで、今日鏡開きをします。
まず ふたをとります。
そしてとじこめます。んんっ??
勢いよく、包丁で切っちゃいます。
お皿に盛りつけます。きなことうぐいす味です。
黒蜜を味見します。若干、高級路線です。
黒蜜をかけて、ありがたく食します。
飾りつけも無駄なく利用して終了です。
おいしゅうございました。
以上、Over!!
2012/02/22
TRNSYS OutputのFormat指定
TRNSYSでの計算結果出力のお話。
ファイルフォーマットを指定せずに出力すると、指数で書き出される。
結果を確認するのに読みづらいったらありゃしない。
桁数等のフォーマットを整えたいときはコンポーネントの[Special Cards]で指定すればOK。
アウトプットのコンポーネント → Output/Printer/Formatted/No Units/Type25f
Formattedのコンポーネントのみ指定可能。
UnFormattedのコンポーネントで出力する場合でも、ParameterのDelimiter=2と設定すればカンマ区切りで出力できる。
ちなみに、Formattedの時、このDelimiterはタイトル行にのみ反映される。
[Parameter]
[Special Cards]
出力する個数分の指定をしてマルカッコで閉じる。
必ずTimeStepが出力されるのでTimestep分をお忘れなく。出力数+1こです。
ファイルフォーマットの指定の仕方はFortranと一緒。
X スペース
',' カンマ
ただし、integerの指定はできない。
例: 一つずつ指定、スペース区切り
(F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,)
一つずつカンマ区切り
(F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',)
タイムステップは小数点以下なし、10個分まとめて指定
(F8.0,',',10(F8.2:','))
タイムステップは小数点以下なし、5個分と5個分まとめて指定 (F8.0,',',5(F8.1:','),5(F8.3:','))
仕上げは、[External Files] 出力ファイルをcsvファイルにしておけばエクセルでも開けて見やすいよ。
以上、Over!!
ファイルフォーマットを指定せずに出力すると、指数で書き出される。
結果を確認するのに読みづらいったらありゃしない。
桁数等のフォーマットを整えたいときはコンポーネントの[Special Cards]で指定すればOK。
アウトプットのコンポーネント → Output/Printer/Formatted/No Units/Type25f
Formattedのコンポーネントのみ指定可能。
UnFormattedのコンポーネントで出力する場合でも、ParameterのDelimiter=2と設定すればカンマ区切りで出力できる。
ちなみに、Formattedの時、このDelimiterはタイトル行にのみ反映される。
[Parameter]
[Special Cards]
出力する個数分の指定をしてマルカッコで閉じる。
必ずTimeStepが出力されるのでTimestep分をお忘れなく。出力数+1こです。
ファイルフォーマットの指定の仕方はFortranと一緒。
X スペース
',' カンマ
ただし、integerの指定はできない。
例: 一つずつ指定、スペース区切り
(F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,F8.2,1X,)
一つずつカンマ区切り
(F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',F8.2,',',)
タイムステップは小数点以下なし、10個分まとめて指定
(F8.0,',',10(F8.2:','))
タイムステップは小数点以下なし、5個分と5個分まとめて指定 (F8.0,',',5(F8.1:','),5(F8.3:','))
仕上げは、[External Files] 出力ファイルをcsvファイルにしておけばエクセルでも開けて見やすいよ。
以上、Over!!
2012/02/21
TRNSYS コンポーネント作成入門 Proforma編
TRNSYSでコンポーネントを作成する際、まず、データをやりとりするプロフォルマという入れ物を作る必要がある。
ようはこれ↓を作成する。
ファイルの読み書きをするコンポーネントを作成する際には、LogicalUnitという形で装置番号を定義し、データを読み込むようになっている。
ようはFortranでいう、Read(LogicalUnit, *) abc ってかんじ。余計にわからん?
ところで、図をみると、このLogicalUnit、自分では変更できないようになっている。
ほかのコンポーネントでも同じようになっている。
LogicalUnitがきちんと定義されているコンポーネントは複数配置したときに、番号がきちんとインクリメントされる。
実際つくってみると、自分でLogicalUnit書き換えられちゃうし、番号もインクリメントされない。
コンポーネントを作成するとき、disableにする項目とかなかったよなー。。。
うんうんうなってわかったことは、Parameterで名前を定義するときに、
LogicalUnit ではなく Logical Unit
なんと、スペースがないことが原因でした。
えええー。そこーーーー。おいおい、キャラクタでチェックするなよぉ。
てか、マニュアルにかいてくれ。。。。orz
そもそもLocigal Unitじゃなくて、なんでもいいのかと思ってたし。。。orz
まったくびっくりしたですよ。
以上, Over!!
ようはこれ↓を作成する。
ファイルの読み書きをするコンポーネントを作成する際には、LogicalUnitという形で装置番号を定義し、データを読み込むようになっている。
ようはFortranでいう、Read(LogicalUnit, *) abc ってかんじ。余計にわからん?
ところで、図をみると、このLogicalUnit、自分では変更できないようになっている。
ほかのコンポーネントでも同じようになっている。
LogicalUnitがきちんと定義されているコンポーネントは複数配置したときに、番号がきちんとインクリメントされる。
実際つくってみると、自分でLogicalUnit書き換えられちゃうし、番号もインクリメントされない。
コンポーネントを作成するとき、disableにする項目とかなかったよなー。。。
うんうんうなってわかったことは、Parameterで名前を定義するときに、
LogicalUnit ではなく Logical Unit
なんと、スペースがないことが原因でした。
えええー。そこーーーー。おいおい、キャラクタでチェックするなよぉ。
てか、マニュアルにかいてくれ。。。。orz
そもそもLocigal Unitじゃなくて、なんでもいいのかと思ってたし。。。orz
まったくびっくりしたですよ。
以上, Over!!
2012/02/07
MSどす。
MS-DOS のコマンドでも、パイプ使える。
プログラムの出力を次のプログラムの入力として使いたいとき。
たとえば、画面1ページごとに表示。
Yoheko>dir c:\ | more
何回でも使用可。ディレクトリの中からSDを含むサブディレクトリを画面1ページごとに表示。
Yoheko>dir c:\ | more | find "SD"
ほかにも、 カウントのコマンドも使えるよ。
yoheko>cnt 5
0
1
2
3
4
以上 Over !
プログラムの出力を次のプログラムの入力として使いたいとき。
たとえば、画面1ページごとに表示。
Yoheko>dir c:\ | more
何回でも使用可。ディレクトリの中からSDを含むサブディレクトリを画面1ページごとに表示。
Yoheko>dir c:\ | more | find "SD"
ほかにも、 カウントのコマンドも使えるよ。
yoheko>cnt 5
0
1
2
3
4
以上 Over !
2012/02/03
2012/02/02
エクセルのマクロ。その1
エクセルのデータ形式について。
エクセルでマクロを組もうと思っていたのだがそもそもいつからxlsxになったんだっけか・・・。
以下、φ(..)メモメモ
EXCEL 2007以降、データ構造がバイナリデータからOpenXML形式に変更に。
通常のデータ保存だと.xlsx, マクロが入ったものの保存がxlsm。
マクロが入ったデータを通常のエクセルブック(.xlsx)で保存すると作ったマクロはなくなっちゃうので注意が必要。
マクロ有効ブック(.xlsm)のアイコンはびっくりマークがついたアイコンになりました。
2003までの.xlsb バイナリブックデータは、マクロを含むデータかどうかを気にせず保存できる。
じゃこれでやればいいじゃんと一瞬思ったけど、2007でデータ形式そのものがそもそも変わっているのでおそらく今後は徐々に対応されなくなるものだと思われる。
マクロを含んだデータを作成する場合は、xlsmで保存したほうが無難のようだ。
そうはいっても、このxlsm形式のファイル、Microsoft Office Excel 2007以前のバージョンでは開くことができない。
古いバージョンのエクセルで開きたい場合は、互換パックをダウンロードしてインストールすると使えるようになるらしい。
http://www.microsoft.com/downloads/ja-jp/details.aspx?displaylang=ja&FamilyID=941B3470-3AE9-4AEE-8F43-C6BB74CD1466
以上、OVER !!
エクセルでマクロを組もうと思っていたのだがそもそもいつからxlsxになったんだっけか・・・。
以下、φ(..)メモメモ
EXCEL 2007以降、データ構造がバイナリデータからOpenXML形式に変更に。
通常のデータ保存だと.xlsx, マクロが入ったものの保存がxlsm。
マクロが入ったデータを通常のエクセルブック(.xlsx)で保存すると作ったマクロはなくなっちゃうので注意が必要。
マクロ有効ブック(.xlsm)のアイコンはびっくりマークがついたアイコンになりました。
2003までの.xlsb バイナリブックデータは、マクロを含むデータかどうかを気にせず保存できる。
じゃこれでやればいいじゃんと一瞬思ったけど、2007でデータ形式そのものがそもそも変わっているのでおそらく今後は徐々に対応されなくなるものだと思われる。
マクロを含んだデータを作成する場合は、xlsmで保存したほうが無難のようだ。
そうはいっても、このxlsm形式のファイル、Microsoft Office Excel 2007以前のバージョンでは開くことができない。
古いバージョンのエクセルで開きたい場合は、互換パックをダウンロードしてインストールすると使えるようになるらしい。
http://www.microsoft.com/downloads/ja-jp/details.aspx?displaylang=ja&FamilyID=941B3470-3AE9-4AEE-8F43-C6BB74CD1466
以上、OVER !!
登録:
投稿 (Atom)