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  }