github.com/archlabjp/eeslism-go@v0.0.0-20231109122333-4bb7bfcdf292/eeslism/simcon.go (about) 1 package eeslism 2 3 import ( 4 "io" 5 ) 6 7 const EEVERSION = "ES4.6" 8 9 // 出力種別 10 type PrintType string 11 12 const ( 13 // --- 時刻別計算値 --- 14 15 PRTHWD PrintType = "_wd" // 時間別計算値(気象データ出力) 16 PRTREV PrintType = "_re" // 時間別計算値(毎時室温、MRTの出力) 17 PRTHROOM PrintType = "_rm" // 時間別計算値(放射パネルの出力) 18 PRTHELM PrintType = "_rqe" // 時間別計算値(要素別熱損失・熱取得) 19 PRTHELMSF PrintType = "_sfe" // 時間別計算値(要素別熱損失・熱取得) 表面? 20 PRTPATH PrintType = "_sp" // 時間別計算値(システム経路の温湿度出力) 21 PRTCOMP PrintType = "_sc" // 時間別計算値(機器の出力) 22 PRTHRSTANK PrintType = "_tk" // 時間別計算値(蓄熱槽内温度分布の出力) 23 24 PRTPMV PrintType = "_pm" // 時間別計算値(PMV計算) 25 PRTQRM PrintType = "_rq" // 時間別計算値(日射、室内熱取得の出力) 26 PRTRSF PrintType = "_sf" // 時間別計算値(室内表面温度の出力) 27 PRTSFQ PrintType = "_sfq" // 時間別計算値(室内表面熱流の出力) 28 PRTSFA PrintType = "_sfa" // 時間別計算値(室内表面熱伝達率の出力) 29 PRTWAL PrintType = "_wl" // 時間別計算値(壁体内部温度の出力) 30 PRTSHD PrintType = "_shd" // 時間別計算値(日よけの影面積の出力) 31 PRTPCM PrintType = "_pcm" // 時間別計算値(潜熱蓄熱材の状態値の出力) 32 33 // --- 日別計算値 --- 34 35 PRTWK PrintType = "_wk" // 計算年月日出力 36 PRTDYRM PrintType = "_dr" // 日別計算値(部屋ごとの熱集計結果出力) 37 PRTDYHELM PrintType = "_dqe" // 日別計算値(要素別熱損失・熱取得) 38 PRTDQR PrintType = "_dqr" // 日別計算値(日射、室内熱取得の出力) 39 PRTDYSF PrintType = "_dsf" // 日別計算値(日積算壁体貫流熱取得の出力) 40 PRTDYCOMP PrintType = "_dc" // 日別計算値(システム要素機器の日集計結果出力) 41 PRTDWD PrintType = "_dwd" // 日別計算値(気象データ日集計値出力) 42 43 // --- 月別計算値 --- 44 45 PRTMNRM PrintType = "_mr" // 月別計算値(部屋ごとの熱集計結果出力) 46 PRTMNCOMP PrintType = "_mc" // 月別計算値(システム要素機器の月集計結果出力) 47 PRTMWD PrintType = "_mwd" // 月別計算値(気象データ月集計値出力) 48 49 // --- 月-時刻計算値 --- 50 51 PRTMTCOMP PrintType = "_mt" // 月-時刻計算値(部屋ごとの熱集計結果出力) 52 53 // SYSV_EQV = 'v' 54 // LOAD_EQV = 'L' 55 ) 56 57 type SIMCONTL struct { 58 File string // 入力ファイル名 59 Title string // 題目、注釈 60 Wfname string // 気象データファイル名 (GDAT.FILE.w) 61 Ofname string // 出力ファイル名 (GDAT.FILE.out) 62 Unit string // 単位系 63 Unitdy string // 64 Timeid []rune // 時間別計算値出力識別子 ? 65 Helmkey rune // 要素別熱取得、熱損失計算 'y' 66 Wdtype rune // 気象データファイル種別 'H':HASP標準形式 'E':VCFILE入力形式 */ 67 Perio rune // 周期定常計算の時'y' 68 Fwdata io.ReadSeeker // 気象データファイルのファイルポインタ 69 Fwdata2 io.ReadSeeker // 気象データファイルのファイルポインタ(なぜ2つあるのか?) 70 Ftsupw []byte // 給水温度データのファイル(バイナリ) 71 Daystartx int // 助走計算開始日 72 Daystart int // 本計算開始日 73 Dayend int // 計算終了日 74 Daywk []int // 計算日 ?? 75 Dayprn []int // データ出力日 76 Dayntime int // 1日あたりの計算回数 77 Ntimehrprt int // 時間別計算値出力回数 78 Ntimedyprt int // 日別計算値出力回数 79 Nhelmsfpri int // 要素別壁体表面温度出力回数 80 Nvcfile int // 境界条件、負荷入力用ファイルの数 81 Vcfile []VCFILE // 境界条件、負荷入力用ファイル等々??? 82 Loc *LOCAT // 地域データ 83 Wdpt WDPT // 気象データ 84 DTm int // 計算時間間隔 [s] (GDAT.RUN.dTime) 85 Sttmm int // 計算開始時刻 (GDAT.RUN.Stime) 86 MaxIterate int // 最大収束回数 (GDAT.RUN.MaxIterate) 87 } 88 89 // 出力ファイルの設定情報 90 type FLOUT struct { 91 Fname string // 出力ファイル名 92 F io.Writer // 出力ファイルのファイルポインタ 93 Idn PrintType // 出力ファイルの種類 94 } 95 96 type VCFILE struct { 97 Fi io.ReadSeeker // ファイルポインタ 98 Ad int64 // ファイルの先頭アドレス 99 Ic int // ファイルの種類?? 100 Name string // ファイル名 101 Fname string // ファイル名 102 Estl ESTL // 要素データ?? 103 Tlist []TLIST // 時刻データ?? 104 } 105 106 type DAYTM struct { 107 DayOfYear int // 通日 (day) 108 Year int // 年 109 Mon int // 月 110 Day int // 日 111 Ddpri int // 日積算値出力 112 Time float64 // 時刻?? 113 Ttmm int // 時刻?? 114 Tt int // 時刻?? 115 }