SolarDesignerの部位の設定について、悩む方が多いようなのでちょっと書いてみました。
まず、材料2層を選択します。
ここで設定する材料は、熱的に影響の大きい部材(断熱や蓄熱)です。
部位(床・壁・天井)の構成に合わせて、厚さと材料を設定します。
これとは別にもう一つ、設定項目があります。
日射吸収率です。
ここでは、仕上げ材の日射吸収率を入力します。
木造 壁の入力例
室内側の日射吸収率:クロスの日射吸収率0.4
室外側の日射吸収率:サイディングの日射吸収率0.6
室内側の材料 せっこうボード 厚さ0.0125m
室外側の材料 グラスウール16K 厚さ0.1000m
てな具合です。
日射吸収率は、SolarDesignerに限らず、TRNSYSや他のシミュレーションツールでも使います。
以下、日射吸収率の値を抜粋してみました。
白色プラスター 0.08
白色塗装膜 0.2
クリーム色塗装膜 0.35
黄色塗装膜 0.3
黒色塗装膜 0.93
白い紙 0.28
磨いた鉄板 0.45
磨いたアルミニウム 0.3
アルミニウムホイル 0.05~0.15
明色コンクリート 0.6
暗色コンクリート 0.9
赤レンガ 0.7
アスファルト 0.93
白大理石 0.47
亜鉛鉄板 0.66~0.89
透明ガラス(3mm) 0.09
low-Eガラス(6mm) 0.22
氷 0.3
雪 0.34
(数値計算で学ぶ光と熱の建築環境学より)
黒色非金属面(アスファルト・スレート・ペイント・紙) 0.85~0.98
赤レンガ・タイル・コンクリート・石・錆びた鉄板暗色ペイント(赤・褐・緑など)0.65~0.80
黄および鈍黄色れんが・石・耐火れんが・耐火粘土 0.50~0.70
白または淡クリームれんが・タイル・ペイント・紙・プラスター・塗料 0.30~0.50
窓ガラス 大部分は透過
光沢アルミニウムペイント・金色またはブロンズペイント 0.30~0.50
鈍色黄銅・銅・アルミニウム・トタン板・磨き鉄板 0.40~0.65
磨き黄銅・銅・モネルメタル 0.30~0.50
よく磨いたアルミニウム・ブリキ板・ニッケル・クローム 0.10~0.40
(最新建築環境工学より)
素材感もあるけど、黒っぽいものほど1に近く、白っぽいものほど0に近い値ってことですねー。
以上、Over !!
2013/01/30
2013/01/29
TRNSYSコンポーネント 後から変数を追加(OUTPUT編)
INPUTと同様に、Outputを追加したい場合。
図のようにコンポーネントのOutputにout2を追加。
以下、ソースコードの中にあるコメント文で探してね。
(1)!Do All of the "Very First Call of the Simulation Manipulations" Here
Call SetNumberofOutputs(1)の数字を変更します。
数はOutputsの総数を設定します。
例:
Call SetNumberofOutputs(2)
(2)!Do All of the First Timestep Manipulations Hereの箇所にある
!Set the Initial Values of the Outputs (#,Value)
プロフォルマのアウトプット#番目に、初期値Valueを設定します。
例:
Call SetOutputValue(1, 0) ! Out1
Call SetOutputValue(2, 0) ! Out2 ! ←追加
(3)!Set the Outputs from this Model (#,Value)
(2)と同じものをひとまず追加しておけばOK
例:
Call SetOutputValue(1, 0) ! Out1
Call SetOutputValue(2, 0) ! Out2 ! ←追加
ちなみに、デフォルトでOutputは宣言されません。
Outputの値を自分で宣言して引き渡してあげたほうが式を組み立てやすいです。
例: ! INPUTS
DOUBLE PRECISION Inp1
DOUBLE PRECISION Inp2
DOUBLE PRECISION Out1 ! ←追加
DOUBLE PRECISION Out2 ! ←追加
・・・
out1=inp1+inp2
out2=inp1*inp2
Call SetOutputValue(1, Out1) ! Out1
Call SetOutputValue(2, Out2) ! Out2
こんな感じー。
以上、Over !!
図のようにコンポーネントのOutputにout2を追加。
以下、ソースコードの中にあるコメント文で探してね。
(1)!Do All of the "Very First Call of the Simulation Manipulations" Here
Call SetNumberofOutputs(1)の数字を変更します。
数はOutputsの総数を設定します。
例:
Call SetNumberofOutputs(2)
(2)!Do All of the First Timestep Manipulations Hereの箇所にある
!Set the Initial Values of the Outputs (#,Value)
プロフォルマのアウトプット#番目に、初期値Valueを設定します。
例:
Call SetOutputValue(1, 0) ! Out1
Call SetOutputValue(2, 0) ! Out2 ! ←追加
(3)!Set the Outputs from this Model (#,Value)
(2)と同じものをひとまず追加しておけばOK
例:
Call SetOutputValue(1, 0) ! Out1
Call SetOutputValue(2, 0) ! Out2 ! ←追加
ちなみに、デフォルトでOutputは宣言されません。
Outputの値を自分で宣言して引き渡してあげたほうが式を組み立てやすいです。
例: ! INPUTS
DOUBLE PRECISION Inp1
DOUBLE PRECISION Inp2
DOUBLE PRECISION Out1 ! ←追加
DOUBLE PRECISION Out2 ! ←追加
・・・
out1=inp1+inp2
out2=inp1*inp2
Call SetOutputValue(1, Out1) ! Out1
Call SetOutputValue(2, Out2) ! Out2
こんな感じー。
以上、Over !!
2013/01/24
TRNSYSコンポーネント 後から変数を追加(INPUT編)
自分でTRNSYSのコンポーネントを作成する場合、まず プロフォルマ(コンポーネントのGUIとなるもの)を作ってソースコードを書き出します。
その際、ソースコードには、PARAMETERS, INPUTS, OUTPUTSの項目の基本設定も一緒に書き出されます。
でも実際、結構気をつけて作ってても、後から、あ、この変数作るの忘れてらー。とか、この出力追加したーい。となることがほとんど。
そんなに作りこんでいないときなら、一から書き直しでもいっかーと思いますが、結構作りこんだあとに、変数追加となると、ちょっと面倒くさい。
そんなときは、プロフォルマだけ上書き保存してソースコードに直接書き加えればOk。
図のようにコンポーネントのInputにVi, Voを追加したい場合。
以下、ソースコードの中にあるコメント文で探してね。
(1)! INPUTS
型の宣言をします。
変数はすべて、DOUBLE PRECISION で宣言します。
例:
DOUBLE PRECISION Vi
DOUBLE PRECISION Vo
(2)!Do All of the "Very First Call of the Simulation Manipulations" Here
Call SetNumberofInputs(2)の数字を変更します。
数はInputsの総数を設定します。
例:
Call SetNumberofInputs(4)
(3)!Do All of the First Timestep Manipulations Here
(1)で宣言した変数がINPUTSの何番目にあたるかを設定します。
例:
Vi = GetInputValue(3)
Vo = GetInputValue(4)
(4)!Read the Inputs
(3)と同じ内容を書く。
例:
Vi = GetInputValue(3)
Vo = GetInputValue(4)
これでInputsの変数として使えるようになります。
ちなみに、変数名をabsなど予約語をつけないように注意~♪
以上、Over !!
その際、ソースコードには、PARAMETERS, INPUTS, OUTPUTSの項目の基本設定も一緒に書き出されます。
でも実際、結構気をつけて作ってても、後から、あ、この変数作るの忘れてらー。とか、この出力追加したーい。となることがほとんど。
そんなに作りこんでいないときなら、一から書き直しでもいっかーと思いますが、結構作りこんだあとに、変数追加となると、ちょっと面倒くさい。
そんなときは、プロフォルマだけ上書き保存してソースコードに直接書き加えればOk。
図のようにコンポーネントのInputにVi, Voを追加したい場合。
以下、ソースコードの中にあるコメント文で探してね。
(1)! INPUTS
型の宣言をします。
変数はすべて、DOUBLE PRECISION で宣言します。
例:
DOUBLE PRECISION Vi
DOUBLE PRECISION Vo
(2)!Do All of the "Very First Call of the Simulation Manipulations" Here
Call SetNumberofInputs(2)の数字を変更します。
数はInputsの総数を設定します。
例:
Call SetNumberofInputs(4)
(3)!Do All of the First Timestep Manipulations Here
(1)で宣言した変数がINPUTSの何番目にあたるかを設定します。
例:
Vi = GetInputValue(3)
Vo = GetInputValue(4)
(4)!Read the Inputs
(3)と同じ内容を書く。
例:
Vi = GetInputValue(3)
Vo = GetInputValue(4)
これでInputsの変数として使えるようになります。
ちなみに、変数名をabsなど予約語をつけないように注意~♪
以上、Over !!
2013/01/23
TRNSYS3Dで上下階をうまく認識できないの巻。
TRNSYSのモデルをスケッチアップのプラグインでつくってると、うまく上下階が認識できない場合があります。
図のようなモデルをスケッチアップのプラグインで作成。
SurfaceMatchingしてTRNBuildでimport.
エラーも出ることなく読み込めた。よしよし。
って、ちょっとまって。右みて左みて。
何事もなく読み込んじゃってるけど1F,2FのMatchingができていません。
1Fの天井、2Fの床のCategoryがExternalと認識されています。
先ほどつくったモデルをスケッチアップのプラグインで開きなおすと、エラーが表示されています。
1Fの天井、2Fの床を確認してみます。
隣室関係はとれている。
この場合、2Fの床CeilingをFloorにします。
これで保存すればOK.
SurfaceMatchingでMatch/Unmatchを繰り返しても隣室関係をうまくひろってくれない(Adjacentになってくれない)場合にお試しあれ。
どのみち、細やかに保存しながらIDFファイルを開いたり閉じたりしつつエラーがないか確認するしかない。。。。
いろいろ試してみたけど、再現性がいまいちつかめない。。。
TRNBuildでエラーがでなくても、スケッチアップでモデルを作った際はちょっと気を付けてチェックしたほうがよさそう。
以上、Over!!
図のようなモデルをスケッチアップのプラグインで作成。
SurfaceMatchingしてTRNBuildでimport.
エラーも出ることなく読み込めた。よしよし。
って、ちょっとまって。右みて左みて。
何事もなく読み込んじゃってるけど1F,2FのMatchingができていません。
1Fの天井、2Fの床のCategoryがExternalと認識されています。
先ほどつくったモデルをスケッチアップのプラグインで開きなおすと、エラーが表示されています。
1Fの天井、2Fの床を確認してみます。
隣室関係はとれている。
この場合、2Fの床CeilingをFloorにします。
これで保存すればOK.
SurfaceMatchingでMatch/Unmatchを繰り返しても隣室関係をうまくひろってくれない(Adjacentになってくれない)場合にお試しあれ。
どのみち、細やかに保存しながらIDFファイルを開いたり閉じたりしつつエラーがないか確認するしかない。。。。
いろいろ試してみたけど、再現性がいまいちつかめない。。。
TRNBuildでエラーがでなくても、スケッチアップでモデルを作った際はちょっと気を付けてチェックしたほうがよさそう。
以上、Over!!
登録:
投稿 (Atom)