eeslism

package
v0.0.0-...-4bb7bfc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2023 License: GPL-2.0 Imports: 14 Imported by: 0

Documentation

Overview

LPとOPの位置をCGで確認するための入力ファイルを作成する
FILE=LPOP_placement.c
Create Date=2006.11.4

  binit.c

  binit.c

 rmdata.c

 rmresid.c

rmvent.c

 room.c

rzone.c

  bl_wall.c

Package eeslism は C言語による Open EESLISM をGo言語に移植したものです。

es_cntlsch_s.c

Index

Constants

View Source
const (
	Alidmy  = 9.3
	ALITOLE = 1.e-5
)
View Source
const (
	NOP       = -1
	FNOP      = -999.9
	TEMPLIMIT = -273.16
	ERRFMT    = "xxxxx %s xxxxx : "
	ERRFMTA   = "xxx %s xxx %s\n"
)
View Source
const (
	ALO = 23.0

	UNIT = "SI"
	PI   = 3.141592654
)
View Source
const (
	COLLECTOR_PDT  = 'w'
	ACOLLECTOR_PDT = 'a'
)
View Source
const (
	// ---- Satoh Debug VAV  2000/10/30 ----
	VAV_PDT VAVType = 'A' // 空気
	VWV_PDT VAVType = 'W' // 温水

	PIPEDUCT_TYPE EqpType = "PIPE"
	DUCT_TYPE     EqpType = "DUCT"
	PIPE_PDT              = 'P'
	DUCT_PDT              = 'D'

	PUMP_TYPE EqpType = "PUMP"

	FAN_TYPE EqpType = "FAN"
	PUMP_PF          = 'P'
	FAN_PF           = 'F'

	PUMP_C  = "C"
	PUMP_Vv = "Vv"
	PUMP_Vr = "Vr"

	FAN_C  = "C"
	FAN_Vd = "Vd"
	FAN_Vs = "Vs"
	FAN_Vp = "Vp"
	FAN_Vr = "Vr"

	PV_TYPE = "PV"

	DIVERG_TYPE   = "B"  // 通過流体が水の分岐要素
	CONVRG_TYPE   = "C"  // 通過流体が水の合流要素
	DIVGAIR_TYPE  = "BA" // 通過流体が空気の分岐要素
	CVRGAIR_TYPE  = "CA" // 通過流体が空気の合流要素
	DIVERGCA_TYPE = "_B"
	CONVRGCA_TYPE = "_C"

	FLIN_TYPE  = "FLI" // 流入境界条件(システム経路への流入条件)
	GLOAD_TYPE = "GLD"

	HCLOAD_TYPE  = "HCLD"  // 仮想空調機コイル(直膨コイル)
	HCLOADW_TYPE = "HCLDW" // 仮想空調機コイル(冷・温水コイル)
	RMAC_TYPE    = "RMAC"  // ルームエアコン
	RMACD_TYPE   = "RMACD"

	QMEAS_TYPE = "QMEAS" // カロリーメータ
	VALV_TYPE  = "V"     // 弁およびダンパー
	TVALV_TYPE = "VT"    // 温調弁(水系統のみ)

	OMVAV_TYPE = "OMVAV"
	OAVAV_TYPE = "OAVAV"

	OUTDRAIR_NAME = "_OA"
	OUTDRAIR_PARM = "t=Ta x=xa *"

	CITYWATER_NAME = "_CW"
	CITYWATER_PARM = "t=Twsup *"
)
View Source
const (
	AIR_FLD   FliudType = 'A' // 空気??
	AIRt_FLD  FliudType = 't' // 空気(温度)
	AIRa_FLD  FliudType = 'a' // 空気(温度)
	AIRx_FLD  FliudType = 'x' // 空気(湿度)
	WATER_FLD FliudType = 'W' // 水

	HEATING_SYS = 'a'
	HVAC_SYS    = 'A'
	DHW_SYS     = 'W'

	THR_PTYP PathType = 'T'
	CIR_PTYP PathType = 'C'
	BRC_PTYP PathType = 'B'

	DIVERG_LPTP PathType = 'b' // 水または空気の*分岐*
	CONVRG_LPTP PathType = 'c' // 水または空気の*合流*
	IN_LPTP     PathType = 'i' // 経路の先頭が流入境界条件
	OUT_LPTP    PathType = 'o' // 最後尾要素が水または空気の分岐または合流である場合

	OFF_SW   ControlSWType = 'x' // 経路が停止中
	ON_SW    ControlSWType = '-' // 経路が動作中
	LOAD_SW  ControlSWType = 'F'
	FLWIN_SW ControlSWType = 'I'
	BATCH_SW ControlSWType = 'B'

	COOLING_LOAD  ControlSWType = 'C'
	HEATING_LOAD  ControlSWType = 'H'
	HEATCOOL_LOAD ControlSWType = 'L'

	COOLING_SW ControlSWType = 'C'
	HEATING_SW ControlSWType = 'H'

	TANK_FULL                 = 'F'
	TANK_EMPTY                = 'E'
	TANK_EMPTMP               = -777.0
	BTFILL      ControlSWType = 'F'
	BTDRAW      ControlSWType = 'D'

	SYSV_EQV = 'v'
	LOAD_EQV = 'L'
)
View Source
const (
	EXIT_BDATA  = 2
	EXIT_WFILE  = 3
	EXIT_SUPW   = 4
	EXIT_DAYWEK = 5 // 曜日設定ファイルが開けない
	EXIT_SCHTB  = 6 // スケジュ-ル表が開けない
	EXIT_SCHNM  = 7 // 季節、曜日によるスケジュ-ル表の組み合わせが開けない
	EXIT_WBMLST = 8
	EXIT_PFLOW  = 9
	EXIT_VCFILE = 10
	EXIT_FLIN   = 11
	EXIT_WEEK   = 12
	EXIT_REFA   = 13
	EXIT_ALLOC  = 14
	EXIT_MATINV = 15
	EXIT_MOND   = 16
	EXIT_GTSUPW = 17
	EXIT_INPUT  = 18
	EXIT_NONSPT = 19
	EXIT_ZPRI   = 20
)
View Source
const CATNMMAX = 50
View Source
const EEVERSION = "ES4.6"
View Source
const MAXINT_DAY = -999.0
View Source
const MININT_DAY = 999.0
View Source
const SIMUL_BUILDG = true
View Source
const TSTOLE = 0.04
View Source
const VTYPEMAX = 50
View Source
const WPTOLE = 1.0e-10

Variables

View Source
var (
	Sgm = 5.67e-8
	Ca  = 1005.0
	Cv  = 1846.0
	Roa = 1.29
	Cw  = 4186.0

	Row = 1000.0
	Ro  = 2501000.0

	G           = 9.8
	DTM         = 0.0 // Assign the value of dTM here
	Cff_kWh     = 0.0 // Assign the value of cff_kWh here
	VAVCountMAX = 0   // Assign the value of VAV_Count_MAX here

	Fbmlist = "" // 壁材料リストファイル名 ref: wbmlist.md

	DEBUG = false

	DAYweek = [8]string{"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Hol"}

	Ferr = os.Stderr // Assuming you want to write errors to standard error
	//DISPLAY_DELAY = 0 // Assign the value of DISPLAY_DELAY here
	SETprint = false //  SET(体感温度)を出力する場合は true
)
View Source
var (
	Lat, Slat, Clat, Tlat, Lon, Ls, Isc float64
)

気象デ-タの入力

Functions

func Aichschdlr

func Aichschdlr(val []float64, rooms []*ROOM)

func Appldata

func Appldata(fi *EeTokens, schdl *SCHDL, rooms []*ROOM, simc *SIMCONTL)

func BARUKO

func BARUKO(fi *EeTokens, sb *sunblk)

func Balloc

func Balloc(Sd []*RMSRF, Wall []*WALL, Mwall *[]*MWALL)

func Boicfv

func Boicfv(Boi []*BOI)
+-----+

[IN 1] ---> | BOI | ---> [OUT 1] 出口温度??

+-----+

func Boidata

func Boidata(s string, boica *BOICA) int

func Boiene

func Boiene(Boi []*BOI, BOIreset *int)

供給熱量、エネルギーの計算

func CAT

func CAT(a, b, c *float64)

func CINC

func CINC(op P_MENN, ls, ms, ns float64, co *float64)

func CalcCollTe

func CalcCollTe(Coll []*COLL)

集熱器の相当外気温度を計算する(制御用)

func CalcControlStatus

func CalcControlStatus(Eqsys *EQSYS, Rmvls *RMVLS, Wd *WDAT, Exsfs *EXSFS)

func CalcPowerOutput

func CalcPowerOutput(Sd []*RMSRF, Wd *WDAT, Exsfs *EXSFS)

func CalcSolarWallTe

func CalcSolarWallTe(Rmvls *RMVLS, Wd *WDAT, Exsfs *EXSFS)

建材一体型空気集熱器の相当外気温度を計算する

func Cnvrgcfv

func Cnvrgcfv(Cnvrg []*COMPNT)

合流要素 Cnvrg の 出口の係数 Coeffo, Co と入口の係数 Coeffin を計算

func CollTout

func CollTout(Tcin, G float64, Sd *RMSRF) float64

func Collcfv

func Collcfv(Coll []*COLL)

+------+ ---> [OUT 1] | COLL | +------+ ---> [OUT 2] ACOLLECTOR_PDTのみ

func Colldata

func Colldata(typeStr EqpType, s string, Collca *COLLCA) int

func Collene

func Collene(Coll []*COLL)

func Collint

func Collint(Coll []*COLL, Exs []*EXSF, Wd *WDAT)

func Compca

func Compca(e, d *[4]float64, EGex float64, Teo [2]float64, Ta float64, Ho, He *float64)

func Compha

func Compha(e, d *[4]float64, EGex float64, Tco [2]float64, Ta float64, Ho, He *float64)

func Compodata

func Compodata(f *EeTokens, Rmvls *RMVLS, Eqcat *EQCAT, Cmp *[]*COMPNT, Eqsys *EQSYS)

システム要素の入力

- SYSCMPを`f`から読み込み、`Cmp`に使用機器情報を登録する.同時に、 `Eqsys`にメモリを確保する。 - `Cmp`に使用機器情報を登録する際に `Eqcat`のカタログデータを参照する。 - `Rmvls`に含まれる室および放射パネルは `Cmp`に使用機器として自動登録される。

TODO: - この関数内で Eqsysにメモリを確保すると関数の責務を超えるので、分離独立させたほうが良い。

func Compoday

func Compoday(Mon, Day, Nday, ttmm int, Eqsys *EQSYS, SimDayend int)

func Compodyprt

func Compodyprt(fo io.Writer, mrk string, Simc *SIMCONTL, mon, day int, Eqsys *EQSYS, Rdpnl []*RDPNL)

func Compomonprt

func Compomonprt(fo io.Writer, mrk string, Simc *SIMCONTL, mon, day int, Eqsys *EQSYS, Rdpnl []*RDPNL)

func Compomtprt

func Compomtprt(fo io.Writer, mrk string, Simc *SIMCONTL, Eqsys *EQSYS, Rdpnl []*RDPNL)

func Contlschdlr

func Contlschdlr(_Contl []*CONTL, Mpath []*MPATH, _Compnt []*COMPNT)

func ContrlCount

func ContrlCount(fi *EeTokens) (Nif, N int)

func Contrldata

func Contrldata(fi *EeTokens, Ct *[]*CONTL, Ci *[]*CTLIF,
	Cs *[]*CTLST,
	Simc *SIMCONTL, Compnt []*COMPNT,
	Mpath []*MPATH, Wd *WDAT, Exsf *EXSFS, Schdl *SCHDL)

func ConvertHour

func ConvertHour(ttmm int) int

ttmmから1時間間隔の時刻へ変換する関数 0:01~1:00を1時(ここでは配列番号として0~23にしている)とする

func CreateConstantValuePointer

func CreateConstantValuePointer(constValue float64) *float64

定数ポインタの作成する。初期値は constValue とする。

func DAINYUU_GP

func DAINYUU_GP(p *XYZ, O XYZ, E XYZ, ls float64, ms float64, ns float64)

-------------------------------------------------------------------------

func DAINYUU_MP

func DAINYUU_MP(mp *[]P_MENN, op []P_MENN, opn int, mpn int)

---------------------------------------------------------------------

func DAINYUU_SMO

func DAINYUU_SMO(opn int, mpn int, op []P_MENN, mp []P_MENN)

-----------------------------------------------------------------------

func DAINYUU_SMO2

func DAINYUU_SMO2(opn int, mpn int, op []P_MENN, mp []P_MENN, Sdstr []SHADSTR, dcnt int, tm int)

-----------------------------------------------------------------------

func Dayweek

func Dayweek(fi string, week string, daywk []int, key int)

func Desiccantdata

func Desiccantdata(s string, desica *DESICA) int

---- Satoh追加 2013/10/20 ----

func Desicfv

func Desicfv(Desi []*DESI)

温度 [IN 1] --> +------+ --> [OUT 1] 出口温度

| DESI |

湿度 [IN 2] --> +------+ --> [OUT 2] 出口湿度

func Desiday

func Desiday(Mon, Day, ttmm int, Desi []*DESI, Nday, SimDayend int)

func Desidyint

func Desidyint(Desi []*DESI)

/* --------------------------- */

/* 日積算値に関する処理 */

/*******************/

func Desidyprt

func Desidyprt(fo io.Writer, id int, Desi []*DESI)

func Desielm

func Desielm(Desi []*DESI)

要素方程式の変数のためのメモリの割り当て

func Desiene

func Desiene(Desi []*DESI)

/* --------------------------- */

/* 取得熱量の計算 */

func Desiint

func Desiint(Desi []*DESI, Simc *SIMCONTL, Compnt []*COMPNT, Wd *WDAT)

func Desiprint

func Desiprint(fo io.Writer, id int, Desi []*DESI)

/* ---------------------------*/

func Dnsky

func Dnsky(Io float64, Ihol float64, Sh float64, Idn *float64, Isky *float64)

func Dyqrmprint

func Dyqrmprint(fo io.Writer, title string, Mon int, Day int, Room []*ROOM, Trdav []float64, Qrmd []*QRM)

func Dysfprint

func Dysfprint(fo io.Writer, title string, Mon, Day int, Room []*ROOM)

func EOP

func EOP(u int, p []*P_MENN)

func EarthSrfTempInit

func EarthSrfTempInit(Simc *SIMCONTL, Loc *LOCAT, Wd *WDAT)

func Eeflclose

func Eeflclose(Flout []*FLOUT)

func Eeinput

func Eeinput(Ipath string, efl_path string, bdata, week, schtba, schnma string, Simc *SIMCONTL,
	Exsf *EXSFS, Rmvls *RMVLS, Eqcat *EQCAT, Eqsys *EQSYS,
	Compnt *[]*COMPNT,
	Elout *[]*ELOUT,
	Elin *[]*ELIN,
	Mpath *[]*MPATH,
	Plist *[]*PLIST,
	Pelm *[]*PELM,
	Contl *[]*CONTL,
	Ctlif *[]*CTLIF,
	Ctlst *[]*CTLST,
	Wd *WDAT, Daytm *DAYTM, key int,
	bdpn *int, obsn *int, treen *int, shadn *int, polyn *int,
	bp *[]BBDP, obs *[]OBS, tree *[]TREE, shadtb *[]SHADTB, poly *[]POLYGN, monten *int, gpn *int, DE *float64, Noplpmp *NOPLPMP) (*SCHDL, []*FLOUT)

建築・設備システムデータ入力

func Eeprintd

func Eeprintd(Daytm *DAYTM, Simc *SIMCONTL, flout []*FLOUT, Rmvls *RMVLS, Exs []*EXSF, Soldy []float64, Eqsys *EQSYS, Wdd *WDAT)

func Eeprinth

func Eeprinth(Daytm *DAYTM, Simc *SIMCONTL, flout []*FLOUT, Rmvls *RMVLS, Exsfst *EXSFS, Mpath []*MPATH, Eqsys *EQSYS, Wd *WDAT)

func Eeprintm

func Eeprintm(daytm *DAYTM, simc *SIMCONTL, flout []*FLOUT, rmvls *RMVLS, exs []*EXSF, solmon []float64, eqsys *EQSYS, wdm *WDAT)

func Eeprintmt

func Eeprintmt(simc *SIMCONTL, flout []*FLOUT, eqsys *EQSYS, rdpnl []*RDPNL)

func Eeschdlr

func Eeschdlr(day, ttmm int, Schdl *SCHDL, Rmvls *RMVLS)

func Eespre

func Eespre(bdata0 string, Ipath string, key *int) (string, string, string, string)

Eespre creates a schedule data file. 入力:

bdata0: コメント除去済みの入力テキスト

出力:

(1) %s または %sn から始まる論理行を除いた入力テキスト -> bdata.ewk
(2) %sから始まる論理行のみを収録したテキスト -> schtba.ewk
(3) %snから始まる論理行のみを収録したテキスト -> schenma.ewk
(4) WEEKデータセット -> week.ewk

func Eesprera

func Eesprera(file string) string

Eesprera removes comments from the input file.

func Elcount

func Elcount(C []*COMPNT) (int, int)

func Elmalloc

func Elmalloc(
	_Compnt []*COMPNT,
	Eqcat *EQCAT,
	Eqsys *EQSYS,
	Elo *[]*ELOUT,
	Eli *[]*ELIN,
)

機器使用データの割り付けおよびシステム要素から入力、出力要素の割り付け

func Entry

func Entry(InFile string, efl_path string)

func Eprint

func Eprint(key string, s string)

func Eqcadata

func Eqcadata(f *EeTokens, Eqcat *EQCAT)

機器仕様入力

func Ercalloc

func Ercalloc(n int, errkey string)

データの記憶域確保時のエラー出力

func Errprint

func Errprint(err int, key string, s string)

入力データエラーの出力

func EvacNu

func EvacNu(AR, Re float64) float64

通気部のヌセルト数を計算する

func Evaccfv

func Evaccfv(Evac []*EVAC)

要素方程式の係数計算

func Evacdata

func Evacdata(s string, Evacca *EVACCA) int

func Evacelm

func Evacelm(Evac []*EVAC)

気化冷却器出口空気温湿度に関する変数割当

func Evacene

func Evacene(Evac []*EVAC, Evacreset *int)

内部温度、熱量の計算

func Evachcc

func Evachcc(de, L, T, H, W float64, N, G, Flg int) float64

通気部の対流熱伝達率の計算(プログラムを解読したため詳細は不明)

func Evacint

func Evacint(Evac []*EVAC)
------------------------------------------------------

初期設定(入力漏れのチェック、変数用メモリの確保)

func Evacprint

func Evacprint(fo io.Writer, id int, Evac []*EVAC)

代表日の計算結果出力

func Evacu

func Evacu(G, T, H, W float64, N int) float64

風速の計算

func ExsfCount

func ExsfCount(section *EeTokens) int

func Exsfdata

func Exsfdata(section *EeTokens, dsn string, Exsf *EXSFS, Schdl *SCHDL, Simc *SIMCONTL)

外表面方位デ-タの入力

func Exsfinit

func Exsfinit(e *EXSF)

**** EXSF の初期化 *****

func Exsfter

func Exsfter(day int, daymx int, Tgrav float64, DTgr float64, Exs []*EXSF, Wd *WDAT, tt int)

func FFACTOR_LP

func FFACTOR_LP(lpn int, mpn int, NUM int, LP []P_MENN, MP []P_MENN)

---------障害物LPから見た天空に対する形態係数-----------

func FNAsdw1

func FNAsdw1(Da, Dp, Wr, Hr, Wi1, Hi, Wi2 float64) float64

func FNAsdw2

func FNAsdw2(Dp, Hr, Wr, Hi float64) float64

func FNAsdw3

func FNAsdw3(Da, Dp, Wr, Hr, Wi1, Hi1, Wi2, Hi2 float64) float64

func FNBoundarySolarWall

func FNBoundarySolarWall(Sd *RMSRF, ECG, ECt, CFc *float64)

建材一体型空気集熱パネルの境界条件計算

func FNCNu

func FNCNu(dblC, dblm, dblPrGr float64) float64

各種定数を入力するとヌセルト数が計算される。

Nu = C * (Pr Gr)^m

func FNDbrh

func FNDbrh(Rh, H float64) float64

func FNDbrp

func FNDbrp(Rh, Pw float64) float64

相対湿度φ [%]と水蒸気分圧Pwから 乾球温度 Tを求める。

func FNDbrw

func FNDbrw(Rh, Twb float64) float64

func FNDbxh

func FNDbxh(X, H float64) float64

func FNDbxr

func FNDbxr(X, Rh float64) float64

func FNDbxw

func FNDbxw(X, Twb float64) float64

func FNDecl

func FNDecl(N int) float64

func FNDp

func FNDp(Pw float64) float64

水蒸気分圧 Pw [kPa] から露点温度を求める NOTE: - 611.2 Paは、水の飽和蒸気圧に関連する値であり、これはおおよそ0℃の飽和蒸気圧に相当します。

See: パソコンによる空気調和計算法 P.28

func FNE

func FNE(N int) float64

func FNFd

func FNFd(Wa, Ww, KA float64) float64

func FNFsdw

func FNFsdw(Ksdw, Ksi int, Xazm, Xprf, D, Wr, Hr, Wi1, Hi1, Wi2, Hi2 float64) float64

入力:

出力:

日よけの影面積率 Fsdw [-]

func FNGr

func FNGr(strF byte, dblTs, dblTa, dblx float64) float64

グラスホフ数の計算

dblTs:表面温度[℃]
dblTa:主流温度[℃]
dblx :代表長さ[m]

func FNH

func FNH(T, X float64) float64

乾燥空気の温度 t [C] と絶対湿度 x kg/kg から、湿り空気のエンタルピ h J/kg を求める。 ここで、Tは乾燥空気の温度、Xは水蒸気の質量分率(乾燥空気に対する水蒸気の質量比)である。 エンタルピーは、乾燥空気の比熱を用いた温度の項と、水蒸気の比熱及び蒸発熱を用いた温度と絶対湿度の項の和として計算される。 See: パソコンによる空気調和計算法 P.29

func FNHc

func FNHc(Twb float64) float64

func FNJurgesac

func FNJurgesac(Sd *RMSRF, dblV, a, b float64) float64

通気層の強制対流熱伝達率(ユルゲスの式)

func FNKPT

func FNKPT(TPV, apmax float64) float64

太陽電池の温度補正係数計算式

func FNKc

func FNKc(Wd *WDAT, Exsfs *EXSFS, Sd *RMSRF)

屋根一体型空気集熱器の熱伝達率、熱貫流率の計算

func FNNday

func FNNday(Mo int, Nd int) int

Mo月No日が1月1日から数えて何日目か(通日)を返す 1月1日は1である。

func FNPCMState

func FNPCMState(Ctype int, Ss, Sl, Ql, Ts, Tl, Tp, T float64, PCMp *PCMPARAM) float64

固相、液相物性値と潜熱量からPCM温度の物性値を計算する(比熱、熱伝導率共通) 熱伝導率の計算時はQl=0とする

func FNPCMStatefun

func FNPCMStatefun(Ctype int, Ss, Sl, Ql, Ts, Tl, Tp, oldT, T float64, DivTemp int, PCMp *PCMPARAM) float64

func FNPCMenthalpy_table_lib

func FNPCMenthalpy_table_lib(ct *CHARTABLE, T float64) float64

func FNPCMstate_table

func FNPCMstate_table(ct *CHARTABLE, Told, T float64, Ndiv int) float64

PCMの温度から見かけの比熱を求める(テーブル形式) Told:前時刻のPCM温度、T:暫定現在時刻PCM温度

func FNPo

func FNPo() float64

func FNPr

func FNPr(strF byte, dblT float64) float64

プラントル数の計算

func FNPws

func FNPws(T float64) float64

湿り空気を冷却していくと、やがて飽和空気となる。このときの温度を露点温度という。 飽和空気にはこれ以上水分を含むことができず、これ以上冷却すると結露が生じる。 飽和空気の全圧のうち、水蒸気が占める圧力(水蒸気分圧)である飽和水蒸気圧 Pws [kPa] を求める。 計算にはウェククスラー・ハイランド(Wexler-Hyland)による式を用いる。 See: パソコンによる空気調和計算法 P.27

func FNPwtr

func FNPwtr(T, Rh float64) float64

温度 T [C] および 相対湿度 Rh [%] から 湿り空気の水蒸気分圧 Pw [kPa] を求める。 See: パソコンによる空気調和計算法 P.29

func FNPwx

func FNPwx(X float64) float64

絶対湿度 x kg/kg から 水蒸気分圧 Pw [kPa] を求める。 See: パソコンによる空気調和計算法 P.29

func FNRhtp

func FNRhtp(T, Pw float64) float64

温度 T [C] および 湿り空気の水蒸気分圧 Pw [kPa] から 相対湿度 φ [%] を求める。 相対湿度は水蒸気分圧を飽和水蒸気圧の百分率である。 See: パソコンによる空気調和計算法 P.29

func FNRhtx

func FNRhtx(T, X float64) float64

温度 T [C] および 湿り空気の水蒸気分圧 Pw [kPa] から 相対湿度 φ [%] を求める。

func FNScol

func FNScol(ta, I, EffPV, Ku, ao, Eo, Fs, RN float64) float64

集熱器の放射取得熱量

func FNSolarWallao

func FNSolarWallao(Wd *WDAT, Sd *RMSRF, Exsfs *EXSFS) float64

外表面の総合熱伝達率の計算

func FNSro

func FNSro(N int) float64

func FNTPV

func FNTPV(Sd *RMSRF, Wd *WDAT, Exsfs *EXSFS) float64

太陽電池温度の計算

func FNTcndc

func FNTcndc(Tco, Qc, Ec, cao, Go float64) float64

冷房時凝縮温度の計算

func FNTcndh

func FNTcndh(Tci, Qc, cai, Gi float64) float64

暖房時凝縮温度の計算

func FNTcoleContrl

func FNTcoleContrl(Sd *RMSRF, Wd *WDAT, Exsfs *EXSFS) float64

集熱器相当外気温度の計算(制御用) 集熱器裏面温度は前時刻の値を使用する

func FNTevpc

func FNTevpc(Tci, Qc, cai, Gi, xci float64) float64

冷房時蒸発温度の計算

func FNTevph

func FNTevph(Tco, Qc, Eh, cao, Go, xco float64) float64

暖房時蒸発温度の計算

func FNTf

func FNTf(Tcin, Tcole, ECG float64) float64

熱媒平均温度の計算

func FNTsuTsd

func FNTsuTsd(Sd *RMSRF, Wd *WDAT, Exsfs *EXSFS)

空気集熱器の通気層上面、下面表面温度の計算

func FNTt

func FNTt(Ttas float64, E float64) float64

func FNTtas

func FNTtas(Tt float64, E float64) float64

func FNTtd

func FNTtd(Decl float64) float64

func FNVWVG

func FNVWVG(VWV *VAV) float64

VWVシステムの流量計算

func FNVentAirLayerac

func FNVentAirLayerac(Tsu, Tsd, air_layer_t, Wb float64) float64

通気層の集熱停止時の熱コンダクタンス[W/m2K]

func FNWbtx

func FNWbtx(T float64, X float64) float64

func FNXp

func FNXp(Pw float64) float64

湿り空気の水蒸気分圧 Pw [kPa] から絶対湿度 x [kg/kg]を求める。 絶対湿度とは、湿り空気の水蒸気と乾き空気の質量の比である。 See: パソコンによる空気調和計算法 P.29

func FNXs

func FNXs(T float64) float64

湿り空気の飽和絶対湿度の計算

func FNXth

func FNXth(T, h float64) float64

乾燥空気の温度 t [C]とエンタルピー h [J/kg]から

func FNXtr

func FNXtr(T, Rh float64) float64

温度 T [C] および 相対湿度 Rh [%] から絶対湿度 x kg/kg を求める

func FNXtw

func FNXtw(T, Twb float64) float64

func FNaa

func FNaa(dblT float64) float64

空気の熱拡散率  dblT[℃]、出力[m2/s]

func FNabeta

func FNabeta(dblT float64) float64

空気の膨張率  dblT[℃]、出力[1/K]

func FNac

func FNac() float64

空気の比熱  dblT[℃]、出力[J/kgK]

func FNalam

func FNalam(dblT float64) float64

空気の熱伝導率  dblT[℃]、出力[W/mK]

func FNamew

func FNamew(dblT float64) float64

空気の粘性係数  dblT[℃]、出力[Pa s]

func FNanew

func FNanew(dblT float64) float64

空気の動粘性係数  dblT[℃]、出力[m2/s]

func FNarow

func FNarow(dblT float64) float64

空気の密度  dblT[℃]、出力[kg/m3]

func FNeffthc

func FNeffthc(Tco, Tci, xci, Qc, Ec, Go, Gi, cai, cao float64) float64

冷房時の理論COPを計算する

func FNeffthh

func FNeffthh(Tco, Tci, xco, Qc, Eh, Go, Gi, cai, cao float64) float64

暖房時の理論COPを計算する

func FNhccet

func FNhccet(Wa, Ww, KA float64) float64

温水コイルの温度効率計算関数 計算モデルは向流コイル

func FNhinpipe

func FNhinpipe(dbld, dblL, dblv, dblT float64) float64

管内の強制対流熱伝達率の計算(流体は水のみ) dbld:配管内径[m] dblL:管長[m] dblv:管内流速[m/s] dblT:流体と壁面の平均温度[℃]

func FNhoutpipe

func FNhoutpipe(dbld, dblTs, dblTa float64) float64

円管外部の自然対流熱伝達率の計算(流体は水のみ) dbld:配管内径[m] dblT:流体と壁面の平均温度[℃]

func FNwa

func FNwa(dblT float64) float64

水の熱拡散率  dblT[℃]、出力[m2/s]

func FNwbeta

func FNwbeta(dblT float64) float64

水の膨張率  dblT[℃]、出力[1/K]

func FNwc

func FNwc(dblT float64) float64

水の比熱  dblT[℃]、出力[J/kgK]

func FNwlam

func FNwlam(dblT float64) float64

水の熱伝導率  dblT[℃]、出力[W/mK]

func FNwmew

func FNwmew(dblT float64) float64

水の粘性係数  dblT[℃]、出力[Pa s]

func FNwnew

func FNwnew(dblT float64) float64

水の動粘性係数  dblT[℃]、出力[m2/s]

func FNwrow

func FNwrow(dblT float64) float64

水の密度  dblT[℃]、出力[kg/m3]

func FindComponentRef

func FindComponentRef(target *COMPNT, Compnt []*COMPNT) (int, error)

func FindELIN

func FindELIN(elins []*ELIN, elin *ELIN) (int, error)

func FindELOUT

func FindELOUT(elouts []*ELOUT, elout *ELOUT) (int, error)

func FindPELM

func FindPELM(pl []*PELM, p *PELM) (int, error)

func FindSaturatedVaporPressureTorr

func FindSaturatedVaporPressureTorr(T float64) float64

func Flinint

func Flinint(Flin []*FLIN, Simc *SIMCONTL, Compnt []*COMPNT, Wd *WDAT)

func Flinprt

func Flinprt(Fl []*FLIN)

func Fotf

func Fotf(Room *ROOM)

--------------------------------------

func Fotinit

func Fotinit(_Room []*ROOM)

func FunCoeff

func FunCoeff(Room *ROOM)

家具内蔵PCMの係数計算

func GDATA

func GDATA(OP *P_MENN, G *XYZ)

func GRGPOINT

func GRGPOINT(mp []P_MENN, mpn int)

func GR_MONTE_CARLO

func GR_MONTE_CARLO(mp []P_MENN, mpn int, lp []P_MENN, lpn int, monten int, day int)

-----------地面から見た天空に対する形態係数-----------------------

func Gausei

func Gausei(A, C []float64, m, n int, B []float64)

参考文献:C言語による科学技術計算サブルーチンライブラリ pp.104-106 ----------------------------------------------------- */

func Gauss

func Gauss(A, C, B []float64, m, n int)
  /* -----------------------------------------------------
  連立1次方程式の解法
  ガウスの消去法

   [A]{B}={C}
   [A]:係数行列
   {B}:解
   {C}:定数行列

	m :未知数の数
	n :配列の定義数

	 参考文献:C言語による科学技術計算サブルーチンライブラリ
	 pp.104-106
  ----------------------------------------------------- */

func Gdata

func Gdata(section *EeTokens, File string, wfname *string,
	ofname *string, dtm *int, sttmm *int, dayxs *int, days *int, daye *int,
	Tini *float64, pday []int, wdpri *int, revpri *int, pmvpri *int,
	helmkey *rune, MaxIterate *int, Daytm *DAYTM, Wd *WDAT, perio *rune)

FILE

-skyrd
-intgtsupw
-w
-out

RUN

(mm/dd) => dayys   助走期間
mm/dd-mm/dd => days, daye, dayxs     計算開始 計算終了
Tinit => Tini   初期温度 (15[deg])
dTime => dtm    計算時間間隔 [s](指定しないとき3600 [s]となる)
Stime => sttmm   計算開始時刻
MaxIterate => MaxIterate
RepeatDays => daye    周期定常計算の繰り返し日数の取得
-periodic => perio, days, dayxs

PRINT

mm/dd-mm/ddまたはmm/dd => pday
*wd => wdpri
*rev => revpri
*pmv => pmvpri
*helm => helmkey
*log => グローバル変数 Ferr の設定
*debug => グローバル変数 DEBUGの設定

func Glasstga

func Glasstga(Ag, tgtn, Bn, cinc, Fsdw, Idr, Idf float64, Cidtype string, Profile, Gamma float64) (Qgt, Qga float64)

ガラス日射熱取得の計算 入力:

面積 Ag [m2]
日射総合取得率 tgtn [-]
吸収日射取得率 Bn [-]
入射角のcos cinc [-]
********** Fsdw
直逹日射 Idr [W/m2]
拡散日射 Idf [W/m2]

出力:

透過日射熱取得 Qgt [W]
吸収日射熱取得 Qga [W]

func Glscid

func Glscid(cinc float64) float64

ガラスの直達日射透過率標準特性 入力:

入射角のcos cinc [-]

出力:

ガラスの直達日射透過率標準特性 Cid [-]

func GlscidDG

func GlscidDG(cinc float64) float64

ガラスの直達日射透過率標準特性(普通複層ガラス用) 入力:

入射角のcos cinc [-]

出力:

ガラスの直達日射透過率標準特性 Cid [-]

func HISASHI

func HISASHI(fi *EeTokens, sb *sunblk)

func HOUSEN

func HOUSEN(w int, LP []P_MENN)

func HOUSEN2

func HOUSEN2(p0, p1, p2, e *XYZ)

func HOUSING_PLACE

func HOUSING_PLACE(lpn, mpn int, lp, mp []P_MENN, RET string)

func Hcccfv

func Hcccfv(_hcc []*HCC)

[IN 1] ----> +-----+ ----> [OUT 1] 空気の温度 [IN 2] ----> | HCC | ----> [OUT 2] 空気の絶対湿度 [IN 3] ----> +-----+ ----> [OUT 3] 水の温度

func Hccdata

func Hccdata(s string, Hccca *HCCCA) int

冷温水コイルの機器仕様入力 See: ../format/EQPCAT.md#HCC

func Hccdwint

func Hccdwint(_hcc []*HCC)

------------------------------------------

func Hccdwreset

func Hccdwreset(Hcc []*HCC, DWreset *int)

供給熱量の計算

func Hccene

func Hccene(Hcc []*HCC)

冷温水コイルHccの供給熱量 Qs, Ql, Qt の計算を行う。

func Hcldcfv

func Hcldcfv(_Hcload []*HCLOAD)

+--------+ ---> [OUT 1] | HCLOAD | ---> [OUT 2] +--------+ ---> [OUT 3] 冷温水コイル想定時のみ

func Hcldene

func Hcldene(_Hcload []*HCLOAD, LDrest *int, Wd *WDAT)

空調負荷の計算

func Hclelm

func Hclelm(Hcload []*HCLOAD)

func Hcmpprint

func Hcmpprint(fo io.Writer, mrk string, Simc *SIMCONTL, mon, day int, time float64, Eqsys *EQSYS, Rdpnl []*RDPNL)

func Helmdy

func Helmdy(day int, Room []*ROOM, Qetotal *QETOTAL)

func Helmdyprint

func Helmdyprint(fo io.Writer, mrk string, Simc *SIMCONTL, mon, day int, Room []*ROOM, Qetotal *QETOTAL)

func Helminit

func Helminit(errkey string, helmkey rune, _Room []*ROOM, Qetotal *QETOTAL)

func Helmprint

func Helmprint(fo io.Writer, mrk string, Simc *SIMCONTL, mon, day int, time float64,
	Room []*ROOM, Qetotal *QETOTAL)

func Helmroom

func Helmroom(Room []*ROOM, Qrm []*QRM, Qetotal *QETOTAL, Ta, xa float64)

要素別熱損失・熱取得(計算) 入力値:

外気温度 Ta [C]
絶対湿度 xa [kg/kg]

func Helmsurfprint

func Helmsurfprint(fo io.Writer, mrk string, Simc *SIMCONTL, mon, day int, time float64, Room []*ROOM)

func Hexcfv

func Hexcfv(Hex []*HEX)

func Hexdata

func Hexdata(s string, Hexca *HEXCA) int

func Hexene

func Hexene(Hex []*HEX)

func Hstkprint

func Hstkprint(fo io.Writer, title string, mon int, day int, time float64, Eqsys *EQSYS)

func Htrcf

func Htrcf(alc, alo *float64, alotype AloType, Exs []*EXSF, Tr float64, N int, alr []float64, _Sd []*RMSRF, RMmrk *rune, Wd *WDAT)

func INOROUT

func INOROUT(Px, Py, Pz float64, P0, P1, P2 XYZ, S, T *float64)

func InputCount

func InputCount(fi *EeTokens, key string) int

func Intgtsup

func Intgtsup(Nday int, Tsupw []float64) float64

func IsEndDay

func IsEndDay(Mon, Day, Dayend, SimDayend int) bool

月の末日かどうかをチェックする

func KAUNT

func KAUNT(
	mlpn int,
	ls float64,
	ms float64,
	ns float64,
	suma *float64,
	sumg *float64,
	sumwall []float64,
	s float64,
	mlp []P_MENN,
	p []XYZ,
	O XYZ,
	E XYZ,
	wa float64,
	wb float64,
	G XYZ,
	gpn int,
	nday int,
	gcnt *int,
	startday int,
	wlflg int,
)

func KOUTEN

func KOUTEN(Qx, Qy, Qz, ls, ms, ns float64, Px, Py, Pz *float64, lp, E XYZ)

func LP_COORDNT

func LP_COORDNT(
	lpn *int,
	bdpn int,
	obsn int,
	treen int,
	polyn int,
	poly []POLYGN,
	tree []TREE,
	obs []OBS,
	BDP []BBDP,
	lp []P_MENN,
)

func LPcount

func LPcount(Nbdp int, _Bdp []BBDP, Nobs int, _Obs []OBS, Ntree int, Npoly int, _poly []POLYGN) int

func LinearSatx

func LinearSatx(Ts float64) (a, b float64)

飽和絶対湿度の線形近似(Ts℃付近で線形回帰式を作成)

func Lineardiv

func Lineardiv(A, B, dt float64) float64

func MATINIT

func MATINIT(q []*P_MENN, n int)

func MATINIT_sdstr

func MATINIT_sdstr(mpn, mtb int, Sdstr []SHADSTR)

func MATINIT_sum

func MATINIT_sum(opn int, op []P_MENN)

func MONTE_CARLO

func MONTE_CARLO(
	mpn int,
	lpn int,
	NUM int,
	MP []P_MENN,
	LP []P_MENN,
	GP [][]XYZ,
	gpn int,
	nday int,
	startday int,
)

func Matfiprint

func Matfiprint(f io.Writer, fmtStr string, N int, a []float64)

/* -----------------------------------------------------

正方行列のファイル出力 */

func Matfprint

func Matfprint(fmtStr string, N int, a []float64)

/* -----------------------------------------------------

正方行列の出力 (単精度) */

func Matinv

func Matinv(a []float64, n, m int, s string)

func Matmalv

func Matmalv(A []float64, V []float64, N int, n int, T []float64)

/* ---------------------------------------------- */

/* 行列の掛け算

(T)=[A](V) N:宣言寸法  n:使用寸法 */

func Matprint

func Matprint(format string, N int, a []float64)

/* -----------------------------------------------------

正方行列の出力 */

func Mpathcount

func Mpathcount(fi *EeTokens, Pl *int) int

func MtEdayinit

func MtEdayinit(mtEday *[12][24]EDAY)

func OMVAVdata

func OMVAVdata(s string, OMvavca *OMVAVCA) int

---- Satoh OMVAV 2010/12/16 ----

func OMflowcalc

func OMflowcalc(OMvav *OMVAV, Wd *WDAT) float64

func OMvavControl

func OMvavControl(OMvav *OMVAV, Compnt []*COMPNT)

func OPIhor

func OPIhor(
	fp io.Writer,
	fp1 io.Writer,
	lpn int,
	mpn int,
	mp []P_MENN,
	lp []P_MENN,
	Wd *WDAT,
	ullp *bekt,
	ulmp *bekt,
	gp [][]XYZ,
	nday int,
	monten int,
)

func OP_COORDNT

func OP_COORDNT(opn *int, bdpn int, BDP []BBDP, op []P_MENN, polyn int, poly []POLYGN)

----------------------

受照面OPに変換する関数 1999.5.22 ------------------------

func OPcount

func OPcount(Nbdp int, _Bdp []BBDP, Npoly int, _poly []POLYGN) int

func PCMcount

func PCMcount(fi *EeTokens) int

func PCMdata

func PCMdata(fi *EeTokens, dsn string, pcm *[]*PCM, pcmiterate *rune)

func PCMfunchk

func PCMfunchk(Room []*ROOM, Wd *WDAT, LDreset *int)

PCM内蔵家具のPCM温度収束判定

func PCMprint

func PCMprint(fo io.Writer, title string, Mon, Day int, time float64, Sd []*RMSRF)

func PCMwlchk

func PCMwlchk(counter int, Rmvls *RMVLS, Exsfs *EXSFS, Wd *WDAT, LDreset *int)

PCM内蔵壁体の収束判定

func PRA

func PRA(U *float64, ls, ms, ns, x, y, z float64)

func PVcadata

func PVcadata(s string, PVca *PVCA) int

func PVday

func PVday(Mon int, Day int, ttmm int, PV []*PV, Nday int, SimDayend int)

func PVdyint

func PVdyint(PV []*PV)

func PVdyprt

func PVdyprt(fo io.Writer, id int, PV []*PV)

func PVene

func PVene(PV []*PV)

func PVint

func PVint(PV []*PV, Exs []*EXSF, Wd *WDAT)

func PVmonint

func PVmonint(PV []*PV)

func PVmonprt

func PVmonprt(fo io.Writer, id int, PV []*PV)

func PVmtprt

func PVmtprt(fo io.Writer, id int, PV []*PV, Mo int, tt int)

func PVprint

func PVprint(fo io.Writer, id int, PV []*PV)

func PVwallPreCalc

func PVwallPreCalc(PVwallcat *PVWALLCAT)

温度補正係数以外は時々刻々変化しないので、最初に1度計算しておく

func PVwallcatinit

func PVwallcatinit(PVwallcat *PVWALLCAT)

太陽電池パラメータの初期化

func P_MENNinit

func P_MENNinit(_pm []P_MENN, N int)

func Panelce

func Panelce(rdpnl *RDPNL) float64

func Panelcf

func Panelcf(rdpnl *RDPNL)

func Pathdata

func Pathdata(
	f *EeTokens,
	Simc *SIMCONTL,
	Wd *WDAT,
	Compnt []*COMPNT,
	Schdl *SCHDL,
	M *[]*MPATH,
	Plst *[]*PLIST,
	Plm *[]*PELM,
	Eqsys *EQSYS,
	Elout *[]*ELOUT,
	Elin *[]*ELIN,
)

func Pathheat

func Pathheat(Mpath []*MPATH)

func Pathprint

func Pathprint(fo io.Writer, title string, mon int, day int, time float64, _Mpath []*MPATH)

経路に沿ったシステム要素の出力

func Pelmcount

func Pelmcount(fi *EeTokens) int

末端経路のシステム要素数を数える。 流体が空気であって温・湿度の両方を計算する場合には、経路を複製して1経路を2経路分としてカウントする

func Pflow

func Pflow(_Mpath []*MPATH, Wd *WDAT)

func Pipecfv

func Pipecfv(Pipe []*PIPE)

[IN 1] ---> +------+ ---> [OUT 1] 空気 or 温水温度

| PIPE |

[IN 2] ---> +------+ ---> [OUT 2] 湿度 (DUCT_PDTのみ)

func Pipedata

func Pipedata(cattype EqpType, s string, Pipeca *PIPECA) int

func Pipeene

func Pipeene(Pipe []*PIPE)

func Pipeint

func Pipeint(Pipe []*PIPE, Simc *SIMCONTL, Compnt []*COMPNT, Wd *WDAT)

func Plcount

func Plcount(fi *EeTokens, N []int)

func Pmv0

func Pmv0(met, Icl, Tr, xr, Tmrt, v float64) float64

func Pmvprint

func Pmvprint(fpout io.Writer, title string, Room []*ROOM, Mon, Day int, time float64)

func Poset

func Poset(Po float64)

func Preexit

func Preexit()

func Psyint

func Psyint()

func PumpFanPLC

func PumpFanPLC(XQ float64, Pump *PUMP) float64

func Pumpcfv

func Pumpcfv(Pump []*PUMP)

+------+ ---> [OUT 1] 空気 or 温水温度 ? | PUMP | +------+ ---> [OUT 2] 湿度? (FAN_PFのみ)

func Pumpdata

func Pumpdata(cattype EqpType, s string, Pumpca *PUMPCA, pfcmp []*PFCMP) int

func Pumpene

func Pumpene(Pump []*PUMP)

func Pumpint

func Pumpint(Pump []*PUMP, Exs []*EXSF)

func Qcoill

func Qcoill(Ex ACS, Tai float64, xai float64, Twi float64) float64

func Qcoils

func Qcoils(Et ACS, Tai float64, xai float64, Twi float64) float64

func Qmeasday

func Qmeasday(Mon, Day, ttmm int, Qmeas []*QMEAS, Nday, SimDayend int)

func Qmeasdyint

func Qmeasdyint(Qmeas []*QMEAS)

func Qmeasdyprt

func Qmeasdyprt(fo io.Writer, id int, Qmeas []*QMEAS)

func Qmeaselm

func Qmeaselm(Qmeas []*QMEAS)

func Qmeasene

func Qmeasene(Qmeas []*QMEAS)

func Qmeasmonint

func Qmeasmonint(Qmeas []*QMEAS)

func Qmeasmonprt

func Qmeasmonprt(fo io.Writer, id int, Qmeas []*QMEAS)

func Qmeasprint

func Qmeasprint(fo io.Writer, id int, Qmeas []*QMEAS)

func Qrmprint

func Qrmprint(fo io.Writer, title string, Mon, Day int, time float64, Room []*ROOM, Qrm []*QRM)

func Qrmsim

func Qrmsim(Room []*ROOM, Wd *WDAT, Qrm []*QRM)

室の熱取得要素の計算

func Qrmsum

func Qrmsum(Day int, _Room []*ROOM, Qrm []*QRM, Trdav []float64, Qrmd []*QRM)

func RAND

func RAND(a, v *float64)

func RMPCount

func RMPCount(fi *EeTokens) int

func RMcf

func RMcf(Room *ROOM)

func RMrc

func RMrc(Room *ROOM)

func RMsrt

func RMsrt(Room *ROOM)
-----------------------------------------------------

室Roomの壁体の表面温度の計算 -- RooM's SuRface Temperature

func RMwlc

func RMwlc(Mw []*MWALL, Exsfs *EXSFS, Wd *WDAT)

重量壁(後退差分)の係数行列の作成

func RMwlt

func RMwlt(Mw []*MWALL)

壁体内部温度の計算

func RMwltd

func RMwltd(Mw []*MWALL)

壁体内部温度の仮計算

func RTsav

func RTsav(N int, Sd []*RMSRF) float64

室内表面 Sd における平均表面温度の計算 (Room's Temperature of Surface - AVerage)

func R_ZAHYOU

func R_ZAHYOU(Op, G XYZ, op *XYZ, wa, wb float64)

func Radcf0

func Radcf0(Tsav float64, alrbold *float64, N int, Sd []*RMSRF, W, alr []float64)

func Radshfc

func Radshfc(N int, FArea, Aroom float64, Sd0 []*RMSRF, tfsol, eqcv float64, Rmname string, fsolm *float64)

func ReadCatalogData

func ReadCatalogData(f *EeTokens, reader func(string) int, s string, E string)

func Refacfv

func Refacfv(Refa []*REFA)
+------+

[IN 1] ---> | REFA | --> [OUT 1]

+------+

func Refadata

func Refadata(s string, Refaca *REFACA, Rfcmp []*RFCMP) int

func Refaene

func Refaene(Refa []*REFA, LDreset *int)

冷却熱量/加熱量、エネルギーの計算

func Refaene2

func Refaene2(Refa []*REFA)

func Refaint

func Refaint(Refa []*REFA, Wd *WDAT, Compnt []*COMPNT)

func Refpow

func Refpow(Rf *REFA, QP float64) float64

func Residata

func Residata(fi *EeTokens, schdl *SCHDL, rooms []*ROOM, pmvpri *int, simc *SIMCONTL)

func Rmcomfrt

func Rmcomfrt(_Room []*ROOM)

func Rmdyprint

func Rmdyprint(fo io.Writer, mrk string, Simc *SIMCONTL, mon, day int, Rm []*ROOM)

func Rmevprint

func Rmevprint(fpout io.Writer, title string, Room []*ROOM, Mon, Day int, time float64)

func Rmexct

func Rmexct(Room []*ROOM, Sd []*RMSRF, Wd *WDAT, Exs []*EXSF, Snbk []*SNBK, Qrm []*QRM, nday, mt int)
-----------------------------------------------------------------

透過日射、相当外気温度の計算

func Rmhtrcf

func Rmhtrcf(exs *EXSFS, emrk []rune, rooms []*ROOM, sds []*RMSRF, wd *WDAT)

func Rmhtrsmcf

func Rmhtrsmcf(_Sd []*RMSRF)

-----------------------------------------------------------------

func Rmmonprint

func Rmmonprint(fo io.Writer, mrk string, Simc *SIMCONTL, mon, day int, Rm []*ROOM)

func Rmotset

func Rmotset(_Room []*ROOM)

func Rmpnlprint

func Rmpnlprint(fo io.Writer, mrk string, Simc *SIMCONTL, mon, day int, time float64, Room []*ROOM)

func Rmrdshfc

func Rmrdshfc(_Room []*ROOM, Sd []*RMSRF)

func Rmsfaprint

func Rmsfaprint(fo io.Writer, title string, Mon, Day int, time float64, Room []*ROOM, Sd []*RMSRF)

func Rmsfprint

func Rmsfprint(fo io.Writer, title string, Mon, Day int, time float64, Room []*ROOM, Sd []*RMSRF)

func Rmsfqprint

func Rmsfqprint(fo io.Writer, title string, Mon, Day int, time float64, Room []*ROOM, Sd []*RMSRF)

func Rmsrfcount

func Rmsrfcount(tokens *EeTokens) int

func Rmsurft

func Rmsurft(rooms []*ROOM, sd []*RMSRF)
-----------------------------------------------------------------

前時刻の室温の入れ替え、OT、MRTの計算

func Rmsurftd

func Rmsurftd(_Room []*ROOM, Sd []*RMSRF)
-----------------------------------------------------------------

PCM収束計算過程における部位表面温度の計算

func Roomcf

func Roomcf(mw []*MWALL, rooms []*ROOM, rdpnl []*RDPNL, wd *WDAT, exsf *EXSFS)

室の係数、定数項の計算

func Roomcount

func Roomcount(tokens *EeTokens) int

func Roomdata

func Roomdata(tokens *EeTokens, Exs []*EXSF, dfwl *DFWL, Rmvls *RMVLS, Schdl *SCHDL, Simc *SIMCONTL)

func Roomday

func Roomday(Mon int, Day int, Nday int, ttmm int, Rm []*ROOM, Rdp []*RDPNL, Simdayend int)

func Roomelm

func Roomelm(Room []*ROOM, _Rdpnl []*RDPNL)

func Roomene

func Roomene(Rmvls *RMVLS, Room []*ROOM, Rdpnl []*RDPNL, Exsfs *EXSFS, Wd *WDAT)

室温・湿度計算結果代入、室供給熱量計算 およびパネル入口温度代入、パネル供給熱量計算

func Roominit

func Roominit(N int, Room []*ROOM)

func Roomload

func Roomload(Room []*ROOM, LDreset *int)

室負荷の計算

func Roomvar

func Roomvar(_Room []*ROOM, _Rdpnl []*RDPNL)

func Rzonedata

func Rzonedata(fi io.Reader, dsn string, Nroom int, Room []*ROOM, Nrzone *int, _Rzone []*RZONE)

func Rzonetotal

func Rzonetotal(Nrzone int, Rzone *RZONE)

func SBLKCount

func SBLKCount(fi *EeTokens) int

func SCREEN

func SCREEN(fi *EeTokens, sb *sunblk)

func SET_star

func SET_star(TA, TR, VEL, RH, MET, CLO, WME, PATM float64) float64

SET*の計算

func SHADOW

func SHADOW(
	g int,
	DE float64,
	opn int,
	lpn int,
	ls float64,
	ms float64,
	ns float64,
	s *bekt,
	t *bekt,
	op *P_MENN,
	OP []P_MENN,
	LP []P_MENN,
	wap *float64,
	wip []float64,
	nday int,
)

func SHADOWlp

func SHADOWlp(
	g int,
	DE float64,
	lpn int,
	mpn int,
	ls float64,
	ms float64,
	ns float64,
	s *bekt,
	t *bekt,
	lp *P_MENN,
	LP []P_MENN,
	MP []P_MENN,
)

----------------------------------------------------------------------

func SODEK

func SODEK(fi *EeTokens, sb *sunblk)

func STRCUT

func STRCUT(DATA string, a string) string

DATAの中にあるaを後ろから探して、先頭からaまでの文字列を返す

func Schdata

func Schdata(schnma string, dsn string, daywk []int, Schdl *SCHDL)

SCHNMデータセットの読み取り SCHNMデータセット = 季節、曜日によるスケジュ-ル表の組み合わせ 入力文字列`schenma`を読み取って、[eeslism.SCHDL]に書き込む

func Schname

func Schname(schdl *SCHDL)

func Schtable

func Schtable(schtba string, Schdl *SCHDL)

SCHTBデータセットの読み取り SCHTBデータセット=一日の設定値、切換スケジュールおよび季節、曜日の指定 入力文字列`schtba`を読み取って、 [eeslism.SCHDL]に書き込む NOTE: SCHTBデータセットと %s の両方を読み取るために無理が出ている

func Seqprint

func Seqprint(fmt1 string, N int, a []float64, fmt2 string, c []float64)

/* -----------------------------------------------------

連立一次方程式の係数行列及び右辺の出力

*/

func Shdprint

func Shdprint(fo io.Writer, title string, Mon, Day int, time float64, Sd []*RMSRF)

func Snbkdata

func Snbkdata(section *EeTokens, dsn string, Snbk *[]*SNBK)

func Solpos

func Solpos(Ttas float64, Decl float64) (Sh float64, Sw float64, Ss float64, solh float64, solA float64)

func Spcheat

func Spcheat(fluid FliudType) float64

水、空気の比熱

func Srdclr

func Srdclr(Io float64, P float64, Sh float64, Idn *float64, Isky *float64)

func Stankcfv

func Stankcfv(Stank []*STANK)

+-------+ ---> [OUT 1] | STANK | ---> .... +-------+ ---> [OUT N]

func Stankdata

func Stankdata(f *EeTokens, s string, Stankca *STANKCA) int

func Stankene

func Stankene(Stank []*STANK)

func Stankint

func Stankint(Stank []*STANK, Simc *SIMCONTL, Compnt []*COMPNT, Wd *WDAT)

func Stankmemloc

func Stankmemloc(errkey string, Stank *STANK)

func Stanktss

func Stanktss(Stank []*STANK, TKreset *int)

槽内水温、水温分布逆転の検討

func Stheatcfv

func Stheatcfv(_stheat []*STHEAT)

func Stheatdata

func Stheatdata(s string, stheatca *STHEATCA) int

---- Satoh Debug 電気蓄熱式暖房器 2001/1/21 ----

func Stheatene

func Stheatene(_stheat []*STHEAT)

func Stheatint

func Stheatint(_stheat []*STHEAT, Simc *SIMCONTL, Compnt []*COMPNT, Wd *WDAT, _PCM []*PCM)

func Sunint

func Sunint()

func Syscheck

func Syscheck(fi io.ReadSeeker, syspth *int, syscmp *int)

func Syseqinit

func Syseqinit(S *SYSEQ)

**** SYSEQ の初期化 ****

func Syseqv

func Syseqv(_Elout []*ELOUT, Syseq *SYSEQ)

システム方程式の作成およびシステム変数の計算

func Sysupv

func Sysupv(Mpath []*MPATH, Rmvls *RMVLS)

Upo, Upv の書き換え NOTE: おそらく、 Upoは経路要素における上流の要素を指す。

Upvは計算時に参照すべき上流要素を指す。多くの場合は Upo == Upv だと考えらえる。

func Sysvar

func Sysvar(Compnt []*COMPNT)

func TMDTinit

func TMDTinit(t *TMDT)

func TableRead

func TableRead(ct *CHARTABLE)

PCMの物性値テーブルの読み込み

func Tearth

func Tearth(Z float64, n int, nmx int, Tgro float64, DTg float64, a float64) float64

func Thexcfv

func Thexcfv(Thex []*THEX)

[IN 1] --(E)--> +------+ --(E)--> [OUT 1] 排気系統(温度) [IN 2] --(e)--> | | --(e)--> [OUT 2] 排気系統(エンタルピー)

| THEX |

[IN 3] --(O)--> | | --(O)--> [OUT 3] 給気系統(温度) [IN 4] --(o)--> +------+ --(o)--> [OUT 4] 給気系統(エンタルピー)

func Thexdata

func Thexdata(s string, Thexca *THEXCA) int

func Thexday

func Thexday(Mon, Day, ttmm int, Thex []*THEX, Nday, SimDayend int)

func Thexdyint

func Thexdyint(Thex []*THEX)

func Thexdyprt

func Thexdyprt(fo io.Writer, id int, Thex []*THEX)

func Thexelm

func Thexelm(Thex []*THEX)

全熱交換器出口空気温湿度に関する変数割当

func Thexene

func Thexene(Thex []*THEX)

func Thexint

func Thexint(Thex []*THEX)

func Thexmonint

func Thexmonint(Thex []*THEX)

func Thexmonprt

func Thexmonprt(fo io.Writer, id int, Thex []*THEX)

func Thexprint

func Thexprint(fo io.Writer, id int, Thex []*THEX)

func Twall

func Twall(M, mp int, UX []float64, uo, um, Pc, Ti, To, WpT float64, Told, Tw []float64, Sd *RMSRF, pcm []*PCM)

後退差分による壁体表面、内部温度の計算

func Twalld

func Twalld(M, mp int, UX []float64, uo, um, Pc, Ti, To, WpT float64, Told, Twd []float64, Sd *RMSRF)

func URA

func URA(u, w int, LP []P_MENN, t []bekt, OP []P_MENN)

---------------------------------------------------------

func URA_M

func URA_M(ls, ms, ns float64, s *float64, wb float64)

func VAVcfv

func VAVcfv(vav []*VAV)
+-----+ ---> [OUT 1] 空気 or 温水温度

/ | VAV |

+-----+ ---> [OUT 2] 湿度 (VAV_PDTのみ)

func VAVdata

func VAVdata(cattype EqpType, s string, vavca *VAVCA) int

func VAVene

func VAVene(vav []*VAV, VAVrest *int)
VAVコントローラ再熱部分の計算

---- Satoh Debug VAV 2000/11/27 ---- *****************

func VCFcount

func VCFcount(fi *EeTokens) int

func VPTRinit

func VPTRinit(v *VPTR)

func VWVint

func VWVint(VAVs []*VAV, Compn []*COMPNT)

func ValvControl

func ValvControl(fi *EeTokens, Compnt []*COMPNT, Schdl *SCHDL, Simc *SIMCONTL, Wd *WDAT, vptr *VPTR)

func Valvene

func Valvene(Valv []*VALV, Valvreset *int)

func Valvinit

func Valvinit(Valv []*VALV, Mpath []*MPATH)

通常はバルブの上流の流量に比率を乗じるが、基準となるOMvavが指定されている場合には、この流量に対する比率とする OMvavが指定されているときだけの対応

func Vcfdata

func Vcfdata(fi *EeTokens, simcon *SIMCONTL)

func Vcfinput

func Vcfinput(Daytm *DAYTM, Nvcfile int, Vcfile []VCFILE, perio rune)

func VentAirLayerar

func VentAirLayerar(dblEsu, dblEsd, dblTsu, dblTsd float64) float64

通気層の放射熱伝達率の計算

func Ventdata

func Ventdata(fi *EeTokens, Schdl *SCHDL, Room []*ROOM, Simc *SIMCONTL)

VENTデータセット

func Vtschdlr

func Vtschdlr(rooms []*ROOM)

func WDCount

func WDCount(fi *EeTokens) int

func Wallcount

func Wallcount(scanner *bufio.Scanner) []string

func Walldata

func Walldata(section *EeTokens, fbmlist string, Wall *[]*WALL, dfwl *DFWL, pcm []*PCM)

WALLデータセットの読み取り

func Wallfdc

func Wallfdc(M int, mp int, res []float64, cap []float64,
	Wp float64, UX []float64,
	uo *float64, um *float64, Pc *float64, WallType WALLType,
	Sd *RMSRF, Wd *WDAT,
	Exsf *EXSFS, Wall *WALL, Told []float64, Twd []float64, _pcmstate []*PCMSTATE)

func Walli

func Walli(Nbm int, W []BMLST, Wl *WALL, pcm []*PCM)

func Wallprint

func Wallprint(fo io.Writer, title string, Mon, Day int, time float64, Sd []*RMSRF)

func WdLineardiv

func WdLineardiv(Wd *WDAT, WdL *WDAT, WdF *WDAT, dt float64)

func Wdflinput

func Wdflinput(wp *WDPT, Wd *WDAT)

func Wdtdprint

func Wdtdprint(fo io.Writer, title string, Mon int, Day int, Wdd *WDAT, Exs []*EXSF, Soldy []float64)

気象データ日集計値出力

func Wdtmprint

func Wdtmprint(fo io.Writer, title string, Mon, Day int, Wdm *WDAT, Exs []*EXSF, Solmon []float64)

気象データの出力

func Wdtprint

func Wdtprint(fo io.Writer, title string, Mon, Day int, time float64, Wd *WDAT, Exsfst *EXSFS)

気象データの出力

func Wdtsum

func Wdtsum(Mon int, Day int, Nday int, ttmm int, Wd *WDAT, Exs []*EXSF,
	Wdd *WDAT, Wdm *WDAT, Soldy []float64, Solmon []float64, Simc *SIMCONTL)

気象データ等の日集計、月集計を行います。 気象データの日集計データは Wdd に、月集ケーデータは Wdm に反映されます。 外表面ごとの日集計データは Soldy に、月集計データは Solmon に反映されます。

func Weatherdt

func Weatherdt(Simc *SIMCONTL, Daytm *DAYTM, Loc *LOCAT, Wd *WDAT, Exs []*EXSF, EarthSrfFlg bool)

func Windowdata

func Windowdata(section *EeTokens, Window *[]*WINDOW)

WINDOWデータセットの読み取り

func Windowschdlr

func Windowschdlr(isw []ControlSWType, windows []*WINDOW, ds []*RMSRF)

func YOGEN

func YOGEN(Qx, Qy, Qz, Px, Py, Pz float64, S *float64, e XYZ)

func ZAHYOU

func ZAHYOU(Op, G XYZ, op *XYZ, wa, wb float64)

func ZPRINT

func ZPRINT(lp []P_MENN, op []P_MENN, lpn, opn int, name string)

Types

type ACHIR

type ACHIR struct {
	Gvr float64 // 室間相互換気量
	// contains filtered or unexported fields
}

室間相互換気

type ACS

type ACS struct {
	W, T, X, C float64
}

type AIRSUP

type AIRSUP struct {
	Qs   float64
	Ql   float64
	Qt   float64
	G    float64
	Tin  float64
	Xin  float64
	Qdys QDAY // 日積算暖冷房
	Qdyl QDAY
	Qdyt QDAY
	// contains filtered or unexported fields
}

室への冷温風供給熱量

type AloType

type AloType rune

外表面熱伝達率の設定方法

const (
	Alotype_None     AloType = 0
	Alotype_V        AloType = 'V' // 外表面熱伝達率の設定方法: 風速から計算
	Alotype_Fix      AloType = 'F' // 外表面熱伝達率の設定方法: 23.0固定
	Alotype_Schedule AloType = 'S' // 外表面熱伝達率の設定方法: スケジュール
)

type BBDP

type BBDP struct {
	Wa, Wb float64 /*--方位角、傾斜角--*/

	RMP  []RRMP   /*RMP*/
	SBLK []sunblk /*SBLK*/
	// contains filtered or unexported fields
}

---BDP---

type BHELM

type BHELM struct {
	// contains filtered or unexported fields
}

type BLEType

type BLEType rune
const (
	BLE_None         BLEType = 0
	BLE_ExternalWall BLEType = 'E' // 外壁
	BLE_Roof         BLEType = 'R' // 屋根
	BLE_Floor        BLEType = 'F' // 外部に接する床
	BLE_InnerWall    BLEType = 'i' // 内壁
	BLE_Ceil         BLEType = 'c' // 天井(内部)
	BLE_InnerFloor   BLEType = 'f' // 床(内部)
	BLE_d            BLEType = 'd'
	BLE_Window       BLEType = 'W' // 窓
)

type BMLST

type BMLST struct {
	Mcode string  // 材料名
	Cond  float64 // 熱伝導率 [W/mK]
	Cro   float64 // 容積比熱 [kJ/m3K]
}

壁体の材料定義 wbmlist.efl から読み取った材料定義リストの要素

type BOI

type BOI struct {
	Name string
	Mode rune /* 負荷制御以外での運転モード
	最大能力:M
	最小能力:m        */
	HCmode ControlSWType // 冷房モート゛、暖房モード
	Load   *ControlSWType
	Cat    *BOICA
	Cmp    *COMPNT
	Do, D1 float64

	Tin       float64
	Toset     float64
	Q, E, Ph  float64
	Tidy      SVDAY
	Qdy       QDAY
	Edy, Phdy EDAY
	MtEdy     [12][24]EDAY
	MtPhdy    [12][24]EDAY
	// contains filtered or unexported fields
}

システム使用ボイラ-

func NewBOI

func NewBOI() *BOI

type BOICA

type BOICA struct {

	//mode rune		// 温熱源の時は 'H'、冷熱源の時は 'C'
	Qostr string   // 定格能力条件
	Qo    *float64 /*定格加熱能力      */
	// Qo<0 の場合は冷水チラー
	Qmin float64

	Ph float64 /*温水ポンプ動力 [W] */
	// contains filtered or unexported fields
}

type CATNM

type CATNM struct {
	Name   string
	N      int /* 機器数 */
	Ncdata int /* 全データ項目数 = 機器数 x 機器データ項目数 */
}

type CATType

type CATType string

type CHARTABLE

type CHARTABLE struct {
	PCMchar rune      // E:エンタルピー、C:熱伝導率
	T       []float64 // PCM温度[℃]
	Chara   []float64 // 特性値(エンタルピー、熱伝導率)
	// contains filtered or unexported fields
}

type COLL

type COLL struct {
	Name string

	Cat *COLLCA

	Cmp    *COMPNT
	Ta     *float64
	Do, D1 float64

	Te  float64 // 相当外気温度
	Tcb float64 // 集熱板温度
	//Ko float64					// 総合熱損失係数[W/(m2・K)]
	//Fd float64					// 集熱器効率係数(=Kc / Ko)
	Tin   float64 // 入口温度
	Q     float64 // 集熱量[W]
	Ac    float64 // 集熱器面積
	Sol   float64 // 集熱面日射量[W](短波のみ)
	Tidy  SVDAY
	Qdy   QDAY
	Soldy EDAY
	// contains filtered or unexported fields
}

システム使用太陽熱集熱器

func NewCOLL

func NewCOLL() *COLL

type COLLCA

type COLLCA struct {
	Type rune // 水熱源:w、空気熱源:a

	Fd float64 // 集熱器効率係数(=Kc / Ko)
	Ko float64 // 総合熱損失係数[W/(m2・K)]
	Ac float64
	Ag float64
	// contains filtered or unexported fields
}

type COMPNT

type COMPNT struct {
	Name       string     // 機器名称
	Roomname   string     // 機器の設置室名称(-room)
	Eqptype    EqpType    // 機器タイプ("PIPE"など)
	Envname    string     // 配管等の周囲条件名称(-env)
	Exsname    string     // 方位名称
	Hccname    string     // VWV制御するときの制御対象熱交換器名称
	Rdpnlname  string     // VWV制御するときの制御対象床暖房(未完成)
	Idi        []ELIOType // 入口の識別記号 (len(Idi) == Nin)
	Ido        []ELIOType // 出口の識別記号(熱交換器の'C'、'H'や全熱交換器の'E'、'O'など)(len(Ido) == Nout)
	Tparm      string     // SYSCMPで定義された"-S"や"-V"以降の文字列を収録する
	Wetparm    string     // 湿りコイルの除湿時出口相対湿度の文字列を収録
	Omparm     string     // 集熱器が直列接続の場合に流れ方向に記載する
	Airpathcpy bool       // 空気経路の場合はtrue(湿度経路用にpathをコピーする)
	Control    ControlSWType
	Eqp        interface{} // 機器特有の構造体へのポインタ
	Neqp       int
	Ncat       int
	Nout       int // 出口の数
	Nin        int // 入口の数
	Nivar      int
	Ac         float64 // 集熱器面積[m2]
	PVcap      float64 // 太陽電池容量[W]
	Area       float64 // 太陽電池アレイ面積[m2]
	Ivparm     *float64
	Eqpeff     float64  // ボイラ室内置き時の室内供給熱量率 [-]
	Elouts     []*ELOUT // 機器出口の構造体へのポインタ(Nout個)
	Elins      []*ELIN  // 機器入口の構造体へのポインタ(Nin個)

	Valvcmp *COMPNT // 三方弁の対となるValvのComptへのポインタ
	//	x,			/* バルブ開度 */
	//	xinit ;
	//	char	org ;		/* CONTRLで指定されているとき'y' それ以外は'n' */
	//	char	*OMfanName ;	// Valvが参照するファン風量
	MonPlistName string  // VALVで分岐などを流量比率で行う場合の観測対象のPlist名称
	MPCM         float64 // 電気蓄熱暖房器内臓PCMの容量[m3]
}

func Compntptr

func Compntptr(name string, Compnt []*COMPNT) *COMPNT

func FindCOMPNTByName

func FindCOMPNTByName(s string, Compnt []*COMPNT) *COMPNT

func FindComponent

func FindComponent(name string, Compnt []*COMPNT) (int, *COMPNT, error)

func NewCOMPNT

func NewCOMPNT() *COMPNT

**** COMPNT の初期化 ****

type CONTL

type CONTL struct {
	Type      byte // 条件付き 'c', 無条件 ' '
	Lgv       int  // True:1、False:0
	Cif       *CTLIF
	AndCif    *CTLIF
	AndAndCif *CTLIF
	OrCif     *CTLIF
	Cst       *CTLST
}

func NewCONTL

func NewCONTL() *CONTL

type CTLIF

type CTLIF struct {
	// 演算対象の変数の型
	Type VPtrType // 'v' or 's'

	// 演算の種類
	Op byte // 比較演算の種類: 'g' for  ">",  'G' for ">=", 'l' for "<",  'L' for "<=", '=' for "==" and 'N' for "!="

	// 演算対象の変数
	Nlft int    // 演算対象の左変数の数 1 or 2. 1の場合はLft1のみ使用し、2の場合はLft1とLft2の使用する。
	Lft1 CTLTYP // 左辺その1
	Lft2 CTLTYP // 左辺その2
	Rgt  CTLTYP // 右辺
}

ControlIf

func NewCTLIF

func NewCTLIF() *CTLIF

type CTLST

type CTLST struct {
	Type     VPtrType
	PathType VPtrType // 'M', 'L'
	Path     interface{}
	Lft      CTLTYP
	Rgt      CTLTYP
}

func NewCTLST

func NewCTLST() *CTLST

type CTLTYP

type CTLTYP struct {
	V *float64
	S *ControlSWType
}

union V or S alternative

type ControlSWType

type ControlSWType rune

type DAYTM

type DAYTM struct {
	DayOfYear int     // 通日 (day)
	Year      int     // 年
	Mon       int     // 月
	Day       int     // 日
	Ddpri     int     // 日積算値出力
	Time      float64 // 時刻??
	Ttmm      int     // 時刻??
	Tt        int     // 時刻??
}

type DESI

type DESI struct {
	Name        string
	Cat         *DESICA
	Cmp         *COMPNT
	Tain, Taout float64 // 空気の出入口温度[℃]
	Xain, Xaout float64 // 空気の出入口絶対湿度[kg/kg']
	UA          float64 // デシカント槽の熱損失係数[W/K]
	Asa         float64 // シリカゲルと槽内空気の熱伝達面積[m2]
	//Ts float64				// シリカゲル温度[℃]
	//Xs float64				// シリカゲル表面の絶対湿度[kg/kg']
	Tsold, Xsold            float64 // 前時刻の状態値
	Ta                      float64 // デシカント槽内空気温度[℃]
	Xa                      float64 // デシカント槽内絶対湿度[kg/kg']
	RHold                   float64 // 前時刻の相対湿度状態値
	Pold                    float64 // 前時刻の吸湿量[kg(water)/kg(silica gel)]
	CG                      float64
	Qloss                   float64  // デシカント槽表面からの熱損失[W]
	Qs, Ql, Qt              float64  // 顕熱、潜熱、全熱[W]
	Tenv                    *float64 // 周囲温度のポインタ[℃]
	UX                      []float64
	UXC                     []float64
	Room                    *ROOM // デシカント槽設置室構造体
	Tidy                    SVDAY // 入口温度日集計
	Tody                    SVDAY // 出口温度日集計
	Tsdy                    SVDAY // 蓄熱体温度日集計
	Qsdy, Qldy, Qtdy, Qlsdy QDAY  // 熱量日集計
	// contains filtered or unexported fields
}

func NewDESI

func NewDESI() *DESI

type DESICA

type DESICA struct {
	Uad float64 // シリカゲル槽壁面の熱貫流率[W/m2K]
	A   float64 // シリカゲル槽表面積[m2]
	Vm  float64 // モル容量[cm3/mol]

	P0 float64 // シリカゲルの飽和吸湿量[kg(water)/kg(silica gel)]
	// contains filtered or unexported fields
}

Satoh追加 バッチ式デシカント空調機 2013/10/20

type DFWL

type DFWL struct {
	E int // 外壁(壁体定義番号既定値)
	R int // 屋根(壁体定義番号既定値)
	F int // 外部に接する床(壁体定義番号既定値)
	// contains filtered or unexported fields
}

壁体定義番号既定値

type DSCH

type DSCH struct {
	N int // stime, etimeの配列の長さ
	// contains filtered or unexported fields
}

一日の設定値スケジュ-ル

type DSCW

type DSCW struct {
	N int // 切替時間帯の数(stime,mode,etimeのスライスの長さ)

	Nmod int // 切替モードの種類の数 (modeの重複を除いた数)
	// contains filtered or unexported fields
}

一日の切り替えスケジュ-ル

type EDAY

type EDAY struct {
	D      float64 // 積算値
	Mx     float64 // 最大値
	Hrs    int64   // 運転時間回数
	Mxtime int64
}

type ELIN

type ELIN struct {
	Id     ELIOType // 入口の識別番号(熱交換器の'C'、'H'や全熱交換器の'E'、'O'など)
	Sysvin float64  // 連立方程式の答え
	Upo    *ELOUT   // 上流の機器の出口
	Upv    *ELOUT   // 上流の機器の出口(停止している場合はnil)
	Lpath  *PLIST   // 機器入口が属する末端経路
}

func NewElin

func NewElin() *ELIN

func NewElinSlice

func NewElinSlice(n int) []*ELIN

**** ELIN の初期化 ****

type ELIOType

type ELIOType rune

経路識別子

const (
	ELIO_None  ELIOType = 0
	ELIO_G     ELIOType = 'G'
	ELIO_C     ELIOType = 'C' // 冷風?
	ELIO_H     ELIOType = 'H' // 温風?
	ELIO_D     ELIOType = 'D' // Tdry
	ELIO_d     ELIOType = 'd' // xdry
	ELIO_V     ELIOType = 'V' // Twet
	ELIO_v     ELIOType = 'v' // xwet
	ELIO_e     ELIOType = 'e' // 排気系統(エンタルピー) ?
	ELIO_E     ELIOType = 'E' // 排気系統(温度)?
	ELIO_O     ELIOType = 'O' // 給気系統(温度) ?
	ELIO_o     ELIOType = 'o' // 給気系統(エンタルピー) ?
	ELIO_x     ELIOType = 'x' // 空気湿度
	ELIO_f     ELIOType = 'f'
	ELIO_r     ELIOType = 'r'
	ELIO_W     ELIOType = 'W' // 温水温度
	ELIO_w     ELIOType = 'w'
	ELIO_t     ELIOType = 't' // 空気温度
	ELIO_i     ELIOType = 'i'
	ELIO_ASTER ELIOType = '*' // 流入経路
	ELIO_SPACE ELIOType = ' '
	ELIO_IN    ELIOType = '>'
)

type ELOUT

type ELOUT struct {
	Id      ELIOType      // 出口の識別番号(熱交換器の'C'、'H'や全熱交換器の'E'、'O'など)
	Pelmoid rune          // 終端の割り当てが完了していれば '-', そうでなければ 'x'
	Fluid   FliudType     // 通過する流体の種類(a:空気(温度)、x:空気(湿度)、W:水))
	Control ControlSWType // 経路の制御
	Sysld   rune          // 負荷を計算する場合は'y'、成り行きの場合は'n'
	G       float64       // 流量
	Q       float64       // 熱量
	Sysv    float64       // 連立方程式の答え
	Load    float64
	Co      float64   // 連立方程式の定数
	Coeffo  float64   // 出口の係数
	Coeffin []float64 // 入口の係数(入口複数の場合はそれぞれの係数)
	Ni      int       // 入口の数
	Sv      int
	Sld     int
	Cmp     *COMPNT // 機器出口の構造体が属する機器(逆参照)
	Elins   []*ELIN // 機器出口の構造体が関連する機器入口
	Lpath   *PLIST  // 機器出口が属する末端経路
	Eldobj  *ELOUT
	Emonitr *ELOUT
}

func NewElout

func NewElout() *ELOUT

func NewEloutSlice

func NewEloutSlice(n int) []*ELOUT

**** ELOUT の初期化 ****

type EQCAT

type EQCAT struct {
	Hccca    []*HCCCA    // <カタログ>冷温水コイル
	Boica    []*BOICA    // <カタログ>ボイラー
	Refaca   []*REFACA   // <カタログ>冷温水方式の圧縮式電動ヒートポンプ,仮想熱源
	Rfcmp    []*RFCMP    // <カタログ>標準圧縮機特性 (for REFACA)
	Pfcmp    []*PFCMP    // <カタログ>ポンプ・ファンの部分負荷特性の近似式係数  (for REFACA)
	Collca   []*COLLCA   // <カタログ>架台設置型太陽熱集熱器
	Pipeca   []*PIPECA   // <カタログ>配管
	Stankca  []*STANKCA  // <カタログ>蓄熱槽(熱交換型内蔵型含む)
	Hexca    []*HEXCA    // <カタログ>熱交換器
	Pumpca   []*PUMPCA   // <カタログ>ポンプ
	Vavca    []*VAVCA    // <カタログ>VAVユニット
	Stheatca []*STHEATCA // <カタログ>電気蓄熱式暖房器
	Thexca   []*THEXCA   // <カタログ>全熱交換器
	PVca     []*PVCA     // <カタログ>架台設置型太陽電池
	OMvavca  []*OMVAVCA  // <カタログ>OMVAV
	Desica   []*DESICA   // <カタログ>デシカント槽
	Evacca   []*EVACCA   // <カタログ>気化冷却器
}

カタログデータ(機器仕様データ一覧)

func NewEQCAT

func NewEQCAT() *EQCAT

func (*EQCAT) Boicaint

func (eqcat *EQCAT) Boicaint(Simc *SIMCONTL, Compnt []*COMPNT, Wd *WDAT, Exsf *EXSFS, Schdl *SCHDL)

type EQSYS

type EQSYS struct {
	Cnvrg []*COMPNT // 機器

	Hcc    []*HCC    // システム使用冷温水コイル
	Boi    []*BOI    // システム使用ボイラ-
	Refa   []*REFA   // システム使用ヒートポンプ
	Coll   []*COLL   // システム使用太陽熱集熱器
	Pipe   []*PIPE   // システム使用配管・ダクト
	Stank  []*STANK  // システム使用蓄熱槽
	Hex    []*HEX    // システム使用熱交換器
	Pump   []*PUMP   // システム使用ポンプ・ファン
	Flin   []*FLIN   // 境界条件設定用仮想機器
	Hcload []*HCLOAD // 空調機負荷仮想機器
	Vav    []*VAV    // VAVユニット
	Stheat []*STHEAT // 電気蓄熱式暖房器
	Thex   []*THEX   // 全熱交換器
	Valv   []*VALV   // VAV
	Qmeas  []*QMEAS  // カロリーメータ
	PVcmp  []*PV     // 太陽電池
	OMvav  []*OMVAV  // OMVAV
	Desi   []*DESI   // デシカント槽
	Evac   []*EVAC   // 気化冷却器

}

「実際に」システムを構成する機器(システム使用機器データ一覧)

func NewEQSYS

func NewEQSYS() *EQSYS

**** EQSYS の初期化 ****

func (*EQSYS) Evaccountreset

func (eqsys *EQSYS) Evaccountreset()

カウンタのリセット

func (*EQSYS) Mecscf

func (Eqsys *EQSYS) Mecscf()

システム使用機器特性式係数の計算

func (*EQSYS) Mecsene

func (Eqsys *EQSYS) Mecsene()

システム使用機器の供給熱量、エネルギーの計算

func (*EQSYS) Mecsinit

func (Eqsys *EQSYS) Mecsinit(Simc *SIMCONTL, Compnt []*COMPNT, Exsf []*EXSF, Wd *WDAT, Rmvls *RMVLS)

システム使用機器の初期設定

func (*EQSYS) Pumpflow

func (eqsys *EQSYS) Pumpflow()

ポンプ流量設定(太陽電池ポンプのみ

func (*EQSYS) VAVcountinc

func (eqsys *EQSYS) VAVcountinc()

func (*EQSYS) VAVcountreset

func (eqsys *EQSYS) VAVcountreset()

func (*EQSYS) Valvcountinc

func (eqsys *EQSYS) Valvcountinc()

func (*EQSYS) Valvcountreset

func (eqsys *EQSYS) Valvcountreset()

type ESTL

type ESTL struct {
	Flid     string /* ファイル種別記号 */
	Title    string /* 標題 */
	Wdatfile string /* 気象データファイル名 */
	Tid      rune   /* 入力データ種別  h:時刻別  d:日別 */
	/* M:月別  ****/
	Unit   []string
	Timeid string /* 時刻データ表示  [Y]MD[W]T  *******/
	Wdloc  string /* 地域情報 地名 緯度 経度など */
	Catnm  []CATNM

	Ntimeid int /* 時刻データ表示字数 */
	Ntime   int /* 項目ごとの全データ数 */

	Nunit          int
	Nrqlist, Nvreq int
	Npreq, Npprd   int
	Ndata          int

	Rq   []RQLIST
	Prq  []PRQLIST
	Vreq []rune
	// contains filtered or unexported fields
}

type EVAC

type EVAC struct {
	Name                string  // 機器名称
	Cat                 *EVACCA // 機器仕様
	Cmp                 *COMPNT
	Tdryi, Tdryo        float64   // Dry側出入口温度[℃]
	Tweti, Tweto        float64   // Wet側出入口温度[℃]
	Xdryi, Xdryo        float64   // Dry側出入口絶対湿度[kg/kg']
	Xweti, Xweto        float64   // Wet側出入口絶対湿度[kg/kg']
	RHdryi, RHdryo      float64   // Dri側出入口相対湿度[%]
	RHweti, RHweto      float64   // Wet側出入口相対湿度[%]
	Gdry, Gwet          float64   // Dry側、Wet側風量[kg/s]
	M, Kx               []float64 // i層蒸発量[kg/m2 s]、物質移動係数[kg/m2 s (kg/kg')]
	Tdry, Twet          []float64 // Dry側、Wet側の空気温度[℃]
	Xdry, Xwet          []float64 // Dry側、Wet側の空気絶対湿度[kg/kg']
	Xs                  []float64 // 濡れ面近傍の絶対湿度(境界面温度における飽和絶対湿度)[kg/kg']
	Ts                  []float64 // 境界面の表面温度[℃](Wet側、Dry側は同じ温度)
	RHwet, RHdry        []float64 // Dry側、Wet側の相対湿度[%]
	Qsdry, Qldry, Qtdry float64   // Dry側顕熱、潜熱、全熱[W]
	Qswet, Qlwet, Qtwet float64   // Wet側顕熱、潜熱、全熱[W]
	UX, UXC             []float64
	Count               int // 計算回数。1ステップで最低2回は計算する
	//UXdry, UXwet, UXC []float64 // 状態値計算用行列
	Tdryidy, Tdryody, Twetidy, Twetody                   SVDAY
	Qsdrydy, Qldrydy, Qtdrydy, Qswetdy, Qlwetdy, Qtwetdy QDAY
}

func NewEVAC

func NewEVAC() *EVAC

type EVACCA

type EVACCA struct {
	Name       string  // カタログ名
	N          int     // 気化冷却器分割数
	Awet, Adry float64 // Wet側、Dry側の境界壁接触面積[m2]

	Nlayer int // 積層数
	// contains filtered or unexported fields
}

type EXSF

type EXSF struct {
	Name    string
	Alotype AloType  // 外表面熱伝達率の設定方法 V:風速から計算、F:23.0固定、S:スケジュール
	Typ     EXSFType // 一般外表面'S',地下'E', 地表面'e'

	Wa    float64  // 方位角 [deg]
	Wb    float64  // 傾斜角 [deg]
	Rg    float64  // 前面の日射反射率 [-]
	Fs    float64  // 天空を見る形態係数 [-]
	Wz    float64  // 傾斜角Wbのcos
	Ww    float64  // 傾斜角Wbのsin ×  方位角Waのsin
	Ws    float64  // 傾斜角Wbのsin ×  方位角Waのcos
	Swb   float64  // 傾斜角Wbのsin
	CbSa  float64  // 傾斜角Wbのcos ×  方位角Waのsin
	CbCa  float64  // 傾斜角Wbのcos ×  方位角Wbのsin
	Cwa   float64  // 方位角Waのcos
	Swa   float64  // 方位角Wbのsin
	Alo   *float64 // 外表面総合熱伝達率 [-] (Alotype が Sの場合のみ)
	Z     float64  // 地中深さ
	Erdff float64  // 土の熱拡散率 [m2/s]

	Cinc   float64 // 入射角のcos
	Tazm   float64 // 見掛けの方位角のtan
	Tprof  float64 // プロファイル角のtan
	Gamma  float64 // 見かけの方位角 [rad]
	Prof   float64 // プロファイル角 [rad]
	Idre   float64 // 直逹日射  [W/m2]
	Idf    float64 // 拡散日射  [W/m2]
	Iw     float64 // 全日射    [W/m2]
	Rn     float64 // 夜間輻射  [W/m2]
	Tearth float64 // 地中温度
}

外表面方位デ-タ

type EXSFS

type EXSFS struct {
	Exs []*EXSF // 外表面方位デ-タ

	Alotype AloType  // 外表面熱伝達率の設定方法 'V':風速から計算、'F':23.0固定、'S':スケジュール
	Alosch  *float64 // 外表面熱伝達率 [-]  (Alotype が Sの場合のみ)

	// 地表面境界
	EarthSrfFlg bool // 地表面境界がある場合はtrue
}

外表面方位デ-タ

func (*EXSFS) Exsfsol

func (exsf *EXSFS) Exsfsol(Wd *WDAT)

外表面入射日射量の計算

type EXSFType

type EXSFType rune

外表面種別

const (
	EXSFType_None EXSFType = 0
	EXSFType_S    EXSFType = 'S' // 外表面種別: 一般外表面
	EXSFType_E    EXSFType = 'E' // 外表面種別: 地下
	EXSFType_e    EXSFType = 'e' // 外表面種別: 地表面
)

type EeTokens

type EeTokens struct {
	// contains filtered or unexported fields
}

func NewEeTokens

func NewEeTokens(s string) *EeTokens

Create EeTokes from string

func (*EeTokens) GetFloat

func (t *EeTokens) GetFloat() float64

Get next token as float64 value

func (*EeTokens) GetInt

func (t *EeTokens) GetInt() int

Get next token as int value

func (*EeTokens) GetLine

func (t *EeTokens) GetLine() []string

Return tokens from current position to `\n`

func (*EeTokens) GetLogicalLine

func (t *EeTokens) GetLogicalLine() []string

Return tokens from current position to `;`

func (*EeTokens) GetPos

func (t *EeTokens) GetPos() int

Get position

func (*EeTokens) GetSection

func (t *EeTokens) GetSection() *EeTokens

Return tokens from current position to `*`

func (*EeTokens) GetToken

func (t *EeTokens) GetToken() string

Get next token

func (*EeTokens) IsEnd

func (t *EeTokens) IsEnd() bool

Check if pos is at the end of tokens

func (*EeTokens) Len

func (t *EeTokens) Len() int

Get length

func (*EeTokens) PeekToken

func (t *EeTokens) PeekToken() string

Peek next token

func (*EeTokens) Reset

func (t *EeTokens) Reset()

Reset position

func (*EeTokens) RestorePos

func (t *EeTokens) RestorePos(pos int)

Restore position

func (*EeTokens) SkipToEndOfLine

func (t *EeTokens) SkipToEndOfLine()

Skip `;` or `\n`

type EqpType

type EqpType string
const (
	ROOM_TYPE       EqpType = "ROOM"       // 室
	RDPANEL_TYPE    EqpType = "RPNL"       // 放射パネル
	HCCOIL_TYPE     EqpType = "HCC"        // 冷温水コイル
	BOILER_TYPE     EqpType = "BOI"        // ボイラ-
	COLLECTOR_TYPE  EqpType = "COL"        // 太陽熱集熱器
	ACOLLECTOR_TYPE EqpType = "ACOL"       // 太陽熱集熱器
	REFACOMP_TYPE   EqpType = "REFA"       // ヒートポンプ(圧縮式冷凍機)
	STANK_TYPE      EqpType = "STANK"      // 蓄熱槽
	HEXCHANGR_TYPE  EqpType = "HEX"        // 熱交換器
	STHEAT_TYPE     EqpType = "STHEAT"     // 電気蓄熱暖房器
	THEX_TYPE       EqpType = "THEX"       // 全熱交換器
	DESI_TYPE       EqpType = "DESICCANT"  // デシカント槽
	EVAC_TYPE       EqpType = "EVPCOOLING" // 気化冷却器
	VAV_TYPE        EqpType = "VAV"
	VWV_TYPE        EqpType = "VWV"
)

type FLIN

type FLIN struct {
	Name   string
	Namet  string   /* 変数名(温度、顕熱) */
	Namex  string   /* 変数名(湿度、潜熱) */
	Awtype rune     /* 'W':1変数のとき(nametの変数名のみ使用)、 'A':2変数のとき(namexの変数も使用) */
	Vart   *float64 /* nametで示された変数の値 */
	Varx   *float64 /* namexで示された変数の値 */

	Cmp *COMPNT
}

境界条件設定用仮想機器

func NewFLIN

func NewFLIN() *FLIN

type FLOUT

type FLOUT struct {
	Fname string    // 出力ファイル名
	F     io.Writer // 出力ファイルのファイルポインタ
	Idn   PrintType // 出力ファイルの種類
}

出力ファイルの設定情報

type FliudType

type FliudType rune

通過する流体の種類(a:空気(温度)、x:空気(湿度)、W:水))

type HCC

type HCC struct {
	Name  string
	Wet   rune   // w:湿りコイル, d:乾きコイル
	Etype rune   // 温度効率の入力方法 e:et (定格(温度効率固定タイプ)) k:KA (変動タイプ)
	Cat   *HCCCA // 冷温水コイル機器仕様
	Cmp   *COMPNT

	Et ACS // 処理熱量(温度?)
	Ex ACS // 処理熱量(湿度?)
	Ew ACS // 処理熱量(水?)

	Ga float64 // 排気量

	Gw               float64 // 排水量
	Tain             float64 // <給気>空気温度 [C]
	Taout            float64 // <排気>空気温度 [C]
	Xain             float64 // <給気>絶対湿度 [kg/kg]
	Twin             float64 // <給水>温水の温度 [C]
	Twout            float64 // <排水>温水の温度 [C]
	Qs               float64 // 空気温度としての供給熱量
	Ql               float64 // 空気湿気としての供給熱量
	Qt               float64 // 温水温度としての供給熱量
	Taidy, Twidy     SVDAY
	Qdys, Qdyl, Qdyt QDAY
	// contains filtered or unexported fields
}

システム使用冷温水コイル

func NewHCC

func NewHCC() *HCC

type HCCCA

type HCCCA struct {
	KA float64 // コイルの熱通過率と伝熱面積の積 [W/K]
	// contains filtered or unexported fields
}

冷温水コイル機器仕様

type HCLOAD

type HCLOAD struct {
	Name    string
	Loadt   *ControlSWType
	Loadx   *ControlSWType
	RMACFlg rune          // 'Y': ルームエアコン(RMAC), 'y':ルームエアコン(RMACD) ←ほぼ同じだが Hcldene 関数での負荷計算処理が違う
	Chmode  ControlSWType // スケジュール等によって設定されている運転モード
	//		opmode rune			// 実際の運転時のモード
	Type    HCLoadType /* 'D':直膨コイル想定 'W':冷温水コイル想定 */
	Wetmode bool       /* 実際のコイル状態 */
	Wet     bool       /*true: wet coil  false:dry coil */

	CGa   float64
	Ga    float64
	Tain  float64
	Xain  float64
	Toset float64
	Xoset float64

	/*---- Roh Debug for a constant outlet humidity model of wet coil  2003/4/25 ----*/
	RHout float64

	CGw   float64
	Gw    float64
	Twin  float64
	Twout float64

	Qfusoku float64
	Ele     float64
	COP     float64

	Qs                                 float64
	Ql                                 float64
	Qt                                 float64
	Qcmax, Qhmax, Qc, Qh, Qcmin, Qhmin float64
	COPc, COPh                         float64 // COP(定格)
	Ec, Eh, Ecmax, Ecmin               float64 // 消費電力[W]
	COPcmax, COPcmin                   float64 // COP(最大能力時、最小能力時
	Gi, Go                             float64 // 室内機、室外機風量[kg/s]
	COPhmax, COPhmin, Ehmin, Ehmax     float64
	Rc, Rh                             [3]float64 // 理論COPと実働COPの比の2次式回帰係数
	Pcc, Pch                           float64    // ファン等消費電力[W]
	BFi, BFo                           float64    // 室内機、室外機のバイパスファクタ

	Taidy            SVDAY
	Qdys, Qdyl, Qdyt QDAY
	Qdyfusoku, Edy   QDAY

	Cmp *COMPNT
	// contains filtered or unexported fields
}

空調機負荷仮想機器

func NewHCLOAD

func NewHCLOAD() *HCLOAD

type HCLoadType

type HCLoadType rune
const (
	HCLoadType_D HCLoadType = 'D' // 直膨コイル想定
	HCLoadType_W HCLoadType = 'W' // 冷温水コイル想定
)

type HEX

type HEX struct {
	Id    int
	Name  string
	Etype rune /* 温度効率の入力方法
	  e:et
		k:KA	*/
	Cat            *HEXCA
	Cmp            *COMPNT
	Eff            float64
	ECGmin         float64
	CGc, CGh       float64
	Tcin           float64 // 流入温度?
	Thin           float64 // 流入温度?
	Qci, Qhi       float64 // 交換熱量
	Tcidy, Thidy   SVDAY
	Qcidy, Qhidy   QDAY
	MTcidy, MThidy SVDAY
	MQcidy, MQhidy QDAY
}

システム使用熱交換器

func NewHEX

func NewHEX() *HEX

type HEXCA

type HEXCA struct {
	Name string

	KA float64
	// contains filtered or unexported fields
}

type HPCH

type HPCH struct {
	Qo  float64 /*定格冷却能力(加熱能力)*/
	Go  float64 /*定格冷(温)水量、風量   */
	Two float64 /*定格冷(温)水出口温度(チラ-)*/

	Qex float64 /*定格排出(採取)熱量  */
	Gex float64 /*定格冷却風量、水量     */
	Tex float64 /*定格外気温(冷却水入口水温)*/

	Wo float64 /*定格軸動力       */
	// contains filtered or unexported fields
}

type LOCAT

type LOCAT struct {
	Name string  // 地名
	Lat  float64 // 緯度[deg]
	Lon  float64 // 経度[deg]
	Ls   float64 // 標準子午線[deg]

	// 地中温度計算用
	Daymxert int
	Tgrav    float64
	DTgr     float64

	// 月毎の給水温度
	Twsup [12]float64
}

func NewLOCAT

func NewLOCAT() *LOCAT

type MADO

type MADO struct {
	Ww, Wh float64 /*--巾、高さ--*/
	// contains filtered or unexported fields
}

---窓---

type MPATH

type MPATH struct {
	Name    string        // 経路名称
	Sys     byte          // 系統番号
	Type    PathType      // 貫流経路か循環経路かの判定
	Fluid   FliudType     // 流体種別
	Control ControlSWType // 経路の制御情報
	NGv     int           // ガス導管数
	NGv2    int           // 開口率が2%未満のガス導管数
	Ncv     int           // 制御弁数
	Lvcmx   int           // 制御弁の接続数の最大値
	Plist   []*PLIST      // 末端経路
	Pl      []*PLIST      // 末端経路を格納する配列へのポインタ
	Rate    bool          // 流量比率(Plist[x].Rate)が入力されている経路ならtrue
	G0      *float64      // 流量比率設定時の既知流量へのポインタ
	Mpair   *MPATH        // 温度経路から湿度経路への参照
	Cbcmp   []*COMPNT     // 流量連立方程式を解くときに使用する分岐・合流機器
}

SYSPTHにおける';'で区切られる経路 SYSPTH (1)--(N) MPATH (1)--(N) PLIST (1) -- (N) PELM

func NewMPATH

func NewMPATH() *MPATH

**** MPATH の初期化 ****

type MWALL

type MWALL struct {
	UX []float64 // [UX]の先頭位置

	M int

	Pc    float64   // 床パネル用係数
	Tw    []float64 // 壁体温度
	Told  []float64 // 以前の壁体温度
	Twd   []float64 // 現ステップの壁体内部温度
	Toldd []float64 // PCM温度に関する収束計算過程における前ステップの壁体内温度
	// contains filtered or unexported fields
}

重量壁体デ-タ

type NOPLPMP

type NOPLPMP struct {
	Nop, Nlp, Nmp int
}

type OBS

type OBS struct {
	H, D, W float64 /*--巾、奥行き、高さ--*/
	Wa      float64 /*--方位角--*/
	Wb      float64 /*--傾斜角--*/
	// contains filtered or unexported fields
}

---OBS 外部障害物---

type OMVAV

type OMVAV struct {
	Name   string
	Cat    *OMVAVCA
	Omwall *RMSRF // 制御対象とする集熱屋根
	Cmp    *COMPNT
	Plist  *PLIST // 接続している末端経路への参照
	G      float64
	Rdpnl  [4]*RDPNL
	Nrdpnl int
}

Satoh OMVAV 2010/12/16

func NewOMVAV

func NewOMVAV() *OMVAV

type OMVAVCA

type OMVAVCA struct {
	Name string
	Gmax float64 // 最大風量[kg/s]
	Gmin float64 // 最小風量[kg/s]
}

type PCM

type PCM struct {
	Name         string       // PCM名称
	Spctype      rune         // 見かけの比熱 m:モデルで設定、t:テーブル形式
	Condtype     rune         // 熱伝導率 m:モデルで設定、t:テーブル形式
	Ql           float64      // 潜熱量[J/m3]
	Condl        float64      // 液相の熱伝導率[W/mK]
	Conds        float64      // 固相の熱伝導率[W/mK]
	Crol         float64      // 液相の容積比熱[J/m3K]
	Cros         float64      // 固相の容積比熱[J/m3K]
	Ts           float64      // 固体から融解が始まる温度[℃]
	Tl           float64      // 液体から凝固が始まる温度[℃]
	Tp           float64      // 見かけの比熱のピーク温度
	Iterate      bool         // PCM状態値を収束計算させるかどうか
	IterateTemp  bool         // 収束条件に温度も加えるかどうか(通常は比熱のみ)
	DivTemp      int          // 比熱の数値積分時の温度分割数
	Ctype        int          // 比熱
	PCMp         PCMPARAM     // 見かけの比熱計算用パラメータ
	AveTemp      rune         // PCM温度を両側の節点温度の平均で計算する場合は'y'(デフォルト)
	NWeight      float64      // 収束計算時の現在ステップの重み係数
	IterateJudge float64      // 収束計算時の前ステップ見かけの比熱の収束判定[%]
	Chartable    [2]CHARTABLE // 0:見かけの比熱またはエンタルピー、1:熱伝導率
}

潜熱蓄熱材

type PCMPARAM

type PCMPARAM struct {
	T float64
	B float64
	// contains filtered or unexported fields
}

PCM見かけの比熱計算用パラメータ

type PCMSTATE

type PCMSTATE struct {
	Name         *string // name
	TempPCMNodeL float64 // PCM温度(左側節点)
	TempPCMNodeR float64 // 同(右)
	TempPCMave   float64 // PCM温度(平均温度)
	//capm       float64 // PCM比熱[J/kgK]
	//lamda      float64 // PCM熱伝導率[W/mK]
	CapmL     float64 // PCM見かけの比熱(左側)[J/kgK]
	CapmR     float64 // PCM見かけの比熱(右側)[J/kgK]
	LamdaL    float64 // PCM熱伝導率(左側)[W/mK]
	LamdaR    float64 // PCM熱伝導率(右側)[W/mK]
	OldCapmL  float64 // 前時刻PCM見かけの比熱(左側)
	OldCapmR  float64 // 前時刻PCM見かけの比熱(右側)
	OldLamdaL float64 // 前時刻PCM熱伝導率(左側)
	OldLamdaR float64 // 前時刻PCM熱伝導率(右側)
}

type PELM

type PELM struct {
	Co  ELIOType // SYSPTHに記載の機器の出口の識別番号(熱交換器の'C'、'H'や全熱交換器の'E'、'O'など)
	Ci  ELIOType // SYSPTHに記載の機器の入口の識別番号(熱交換器の'C'、'H'や全熱交換器の'E'、'O'など)
	Cmp *COMPNT  // SYSPTH記載の機器の構造体
	//  Pelmx *PELM      // PELM構造体へのポインタ(コメントアウトされているため、Goのコードでは除外)
	Out *ELOUT // 機器の出口
	In  *ELIN  // 機器の入口
}

SYSPTHに記載の機器

func NewPELM

func NewPELM() *PELM

**** PELM の初期化 *****

type PFCMP

type PFCMP struct {
	Type string /* ポンプ・ファンのタイプ */
	// contains filtered or unexported fields
}

func NewPFCMP

func NewPFCMP() *PFCMP

func PFcmpdata

func PFcmpdata() []*PFCMP

type PIPE

type PIPE struct {
	Name  string
	Loadt *ControlSWType
	Loadx *ControlSWType
	//Type rune
	Cat    *PIPECA
	Cmp    *COMPNT
	Room   *ROOM
	L      float64
	Ko     float64
	Tenv   *float64
	Ep     float64
	Do, D1 float64
	Tin    float64
	Q      float64
	Tout   float64
	Hout   float64
	Xout   float64
	RHout  float64

	Toset float64
	Xoset float64
	Tidy  SVDAY
	Qdy   QDAY
	MTidy SVDAY
	MQdy  QDAY
}

システム使用配管・ダクト

func NewPIPE

func NewPIPE() *PIPE

type PIPECA

type PIPECA struct {
	Type rune /*配管のとき P、ダクトのときD */
	Ko   float64
	// contains filtered or unexported fields
}

type PLIST

type PLIST struct {
	UnknownFlow int           // 末端経路が流量未知なら1、既知なら0
	Name        string        // 末端経路の名前
	Type        PathType      // 貫流経路か循環経路かの判定
	Control     ControlSWType // 経路の制御情報
	Batch       bool          // バッチ運転を行う蓄熱槽のあるときtrue
	Org         bool          // 入力された経路のときtrue、複写された経路(空気系統の湿度経路)のとき false
	Plistname   string        // 末端経路の名前
	Lvc         int
	Nvalv       int      // 経路中のバルブ数
	Nvav        int      // 経路中のVAVユニットの数
	NOMVAV      int      // OM用変風量制御ユニット数
	N           int      // 流量計算の時の番号
	Go          *float64 // 流量の計算に使用される係数
	Gcalc       float64  // 温調弁によって計算された流量を記憶する変数
	G           float64  // 流量
	Rate        *float64 // 流量分配比
	Pelm        []*PELM  // 末端経路内の機器(バルブ、カロリーメータを除く) OMVAVも除くべき?
	Plmvb       *PELM    // ??
	Lpair       *PLIST
	Plistt      *PLIST // 空気系当時の温度系統
	Plistx      *PLIST // 空気系当時の湿度系統
	Valv        *VALV  // 弁・ダンパーへの参照 (V,VT用)
	Mpath       *MPATH // システム経路 MPATH への逆参照
	Upplist     *PLIST
	Dnplist     *PLIST
	OMvav       *OMVAV // OMVAVへの参照 (OMVAV用)
}

末端経路(主経路・または部分経路)

func NewPLIST

func NewPLIST() *PLIST

type POLYGN

type POLYGN struct {
	P []XYZ /*--頂点--*/
	// contains filtered or unexported fields
}

--LP(ポリゴン)直接入力用--

type PRQLIST

type PRQLIST struct {
	Mark         rune
	Prname       []string
	Prid         []string
	Npname, Npid int
}

type PUMP

type PUMP struct {
	Name string
	Cat  *PUMPCA
	Cmp  *COMPNT
	//pfcmp *PFCMP
	Sol              *EXSF
	Q                float64
	G                float64
	CG               float64
	Tin              float64
	E                float64
	PLC              float64 // 部分負荷特性を考慮した入力率
	Qdy, Gdy, Edy    EDAY
	MtEdy            [12][24]EDAY
	MQdy, MGdy, MEdy EDAY
}

システム使用ポンプ・ファン

func NewPUMP

func NewPUMP() *PUMP

type PUMPCA

type PUMPCA struct {
	Type string /* 'C' 定流量  'P' 太陽電池駆動 */

	Wo float64 /* モーター入力 */
	Go float64 /* 定格流量 */
	// contains filtered or unexported fields
}

type PV

type PV struct {
	Name     string //名称
	Cmp      *COMPNT
	Cat      *PVCA    // カタログデータ
	KTotal   float64  // 太陽電池の総合設計係数[-]
	KConst   float64  // 温度補正係数以外の補正係数の積(温度補正係数以外は時々刻々変化しない)
	KPT      float64  // 温度補正係数[-]
	TPV      float64  // 太陽電池温度[℃]
	Power    float64  // 発電量[W]
	Eff      float64  // 発電効率[-]
	Iarea    float64  // 太陽電池入射日射量[W]
	PVcap    float64  // 太陽電池設置容量[W]
	Area     float64  // アレイ面積[m2]
	Ta, V, I *float64 // 外気温、風速、日射量[W/m2]
	Sol      *EXSF    // 設置方位
	Edy      QDAY     // 日積算発電量[kWh]
	Soldy    EDAY
	// contains filtered or unexported fields
}

太陽電池

func NewPV

func NewPV() *PV

type PVCA

type PVCA struct {
	Name  string  // 名称
	PVcap float64 // 太陽電池容量[W]
	Area  float64 // アレイ面積[m2]
	KHD   float64 // 日射量年変動補正係数[-]
	KPD   float64 // 経時変化補正係数[-]
	KPM   float64 // アレイ負荷整合補正係数[-]
	KPA   float64 // アレイ回路補正係数[-]

	Type        rune    // 結晶系:'C'  アモルファス系:'A'
	A, B        float64 // 設置方式別の太陽電池アレイ温度計算係数
	InstallType rune    // 太陽電池パネル設置方法 'A':架台設置形、'B':屋根置き形、'C':屋根材形(裏面通風構造があるタイプ)
	// contains filtered or unexported fields
}

太陽電池のカタログデータ

type PVWALL

type PVWALL struct {
	KTotal float64 // 太陽電池の総合設計係数[-]
	KPT    float64 // 温度補正係数[-]
	TPV    float64 // 太陽電池温度[℃]
	Power  float64 // 発電量[W]
	Eff    float64 // 発電効率[-]
	PVcap  float64 // 太陽電池設置容量[W]
}

type PVWALLCAT

type PVWALLCAT struct {
	// PVcap float64 // 太陽電池容量[W]
	KHD     float64 // 日射量年変動補正係数(安全率) [-]
	KPD     float64 // 経時変化補正係数[-]
	KPM     float64 // アレイ負荷整合補正係数[-]
	KPA     float64 // アレイ回路補正係数[-]
	KConst  float64 // 温度補正係数以外の補正係数の積(温度補正係数以外は時々刻々変化しない)
	EffINO  float64 // インバータ実行効率[-]
	Apmax   float64 // 最大出力温度係数[-]
	Ap      float64 // 太陽電池裏面の熱伝達率[W/m2K]
	Type    byte    // 結晶系:'C' アモルファス系:'A'
	Rcoloff float64 // 集熱ファン停止時の太陽電池から集熱器裏面までの熱抵抗[m2K/W]
	Kcoloff float64
}

type P_MENN

type P_MENN struct {
	Ihor, Idre, Idf, Iw float64 /*--日射量--*/
	Reff                float64 /*--大気放射量、夜間放射量--*/
	Te, Teg             float64 /*--面の表面温度、前面地面の表面温度--*/

	Eo   float64 /*--外表面総合熱伝達率、日射吸収率、放射率--*/
	Nopw int

	P []XYZ /*--頂点座標--*/
	G XYZ   /*--法線ベクトル、中心点、前面地面代表点--*/
	// contains filtered or unexported fields
}

--OP(受照面),LP(被受照面),MP(OP+OPW)--

type PathType

type PathType rune

type PrintType

type PrintType string

出力種別

const (
	PRTHWD     PrintType = "_wd"  // 時間別計算値(気象データ出力)
	PRTREV     PrintType = "_re"  // 時間別計算値(毎時室温、MRTの出力)
	PRTHROOM   PrintType = "_rm"  // 時間別計算値(放射パネルの出力)
	PRTHELM    PrintType = "_rqe" // 時間別計算値(要素別熱損失・熱取得)
	PRTHELMSF  PrintType = "_sfe" // 時間別計算値(要素別熱損失・熱取得) 表面?
	PRTPATH    PrintType = "_sp"  // 時間別計算値(システム経路の温湿度出力)
	PRTCOMP    PrintType = "_sc"  // 時間別計算値(機器の出力)
	PRTHRSTANK PrintType = "_tk"  // 時間別計算値(蓄熱槽内温度分布の出力)

	PRTPMV PrintType = "_pm"  // 時間別計算値(PMV計算)
	PRTQRM PrintType = "_rq"  // 時間別計算値(日射、室内熱取得の出力)
	PRTRSF PrintType = "_sf"  // 時間別計算値(室内表面温度の出力)
	PRTSFQ PrintType = "_sfq" // 時間別計算値(室内表面熱流の出力)
	PRTSFA PrintType = "_sfa" // 時間別計算値(室内表面熱伝達率の出力)
	PRTWAL PrintType = "_wl"  // 時間別計算値(壁体内部温度の出力)
	PRTSHD PrintType = "_shd" // 時間別計算値(日よけの影面積の出力)
	PRTPCM PrintType = "_pcm" // 時間別計算値(潜熱蓄熱材の状態値の出力)

	PRTWK     PrintType = "_wk"  // 計算年月日出力
	PRTDYRM   PrintType = "_dr"  // 日別計算値(部屋ごとの熱集計結果出力)
	PRTDYHELM PrintType = "_dqe" // 日別計算値(要素別熱損失・熱取得)
	PRTDQR    PrintType = "_dqr" // 日別計算値(日射、室内熱取得の出力)
	PRTDYSF   PrintType = "_dsf" // 日別計算値(日積算壁体貫流熱取得の出力)
	PRTDYCOMP PrintType = "_dc"  // 日別計算値(システム要素機器の日集計結果出力)
	PRTDWD    PrintType = "_dwd" // 日別計算値(気象データ日集計値出力)

	PRTMNRM   PrintType = "_mr"  // 月別計算値(部屋ごとの熱集計結果出力)
	PRTMNCOMP PrintType = "_mc"  // 月別計算値(システム要素機器の月集計結果出力)
	PRTMWD    PrintType = "_mwd" // 月別計算値(気象データ月集計値出力)

	PRTMTCOMP PrintType = "_mt" // 月-時刻計算値(部屋ごとの熱集計結果出力)

)

type QDAY

type QDAY struct {
	H       float64 // 加熱積算値
	C       float64 // 冷却積算値
	Hmx     float64 // 加熱最大値
	Cmx     float64 // 冷却最大値
	Hhr     int64   // 加熱時間回数
	Chr     int64   // 冷却時間回数
	Hmxtime int64
	Cmxtime int64
}

type QETOTAL

type QETOTAL struct {
	Name   string
	Qelm   QHELM // 空調負荷
	Qelmdy QHELM // 空調負荷
}

合計空調負荷

type QHELM

type QHELM struct {
	// contains filtered or unexported fields
}

type QMEAS

type QMEAS struct {
	Fluid   FliudType // 流体種別
	Id      int
	Name    string
	Cmp     *COMPNT
	Th      *float64
	Tc      *float64
	G       *float64
	Xh      *float64
	Xc      *float64
	PlistG  *PLIST // 接続している末端経路への参照 for `G`
	PlistTh *PLIST // 接続している末端経路への参照 for `H`
	Nelmh   int    // 接続している末端経路への参照時のインデックス番号 for `H`
	PlistTc *PLIST // 接続している末端経路への参照 for `C`
	Nelmc   int    // 接続している末端経路への参照時のインデックス番号 for `C`
	Plistxh *PLIST
	Plistxc *PLIST
	Qs      float64
	Ql      float64
	Qt      float64
	Thdy    SVDAY
	Tcdy    SVDAY

	Qdys QDAY
	Qdyl QDAY
	Qdyt QDAY
	// contains filtered or unexported fields
}

func NewQMEAS

func NewQMEAS() QMEAS

type QRM

type QRM struct {
	Tsol float64 // 透過日射 [W]
	Asol float64 // 外表面吸収日射室内熱取得 [W]
	Arn  float64 // 外表面吸収長波長輻射熱損失 [W]

	Hums  float64 // 人体顕熱 [W]
	Light float64 // 照明 [W]
	Apls  float64 // 機器顕熱 [W]
	Hgins float64 //  室内発熱(顕熱)の合計 [W]

	Huml float64 // 人体潜熱 [W]
	Apll float64 // 機器潜熱 [W]

	Qinfs float64 // 換気顕熱負荷[W]
	Qinfl float64 // 換気潜熱負荷[W]

	Qsto  float64 // 室内の顕熱蓄熱量[W]
	Qstol float64 // 室内の潜熱蓄熱量[W]

	Qeqp float64 // 室内設置の配管、ボイラからの熱取得[W]

	Solo float64 //  外壁面入射日射量[W]
	Solw float64 //  窓面入射日射量[W]
	Asl  float64 // 外表面吸収日射[W]

	AE float64 // 消費電力[W]
	AG float64 // 消費ガス[W]
}

日射、室内発熱熱取得

type RDPNL

type RDPNL struct {
	Name  string
	Loadt *ControlSWType
	Type  rune // 建材一体型空気集熱器の場合:'C', それ以外:'P'

	MC   int // 専用壁のとき MC=1, 共用壁のとき MC=2
	Ntrm [2]int
	Nrp  [2]int

	Toset float64
	Wp    float64
	Wpold float64
	Tpi   float64
	Tpo   float64
	FIp   [2]float64
	FOp   [2]float64
	FPp   float64
	Epw   float64
	EPt   [2]float64
	EPR   [2][]float64
	EPW   [2][]float64
	EPC   float64
	Q     float64

	Ec, FI, FO, FP float64
	Ew             float64

	/* 日集計 */
	Tpody  SVDAY
	Tpidy  SVDAY
	Qdy    QDAY
	Scoldy QDAY
	PVdy   QDAY
	TPVdy  SVDAY

	OMvav *OMVAV // 吹出を制御する変風量ユニット
	// contains filtered or unexported fields
}

輻射パネル

type REFA

type REFA struct {
	Name   string /*名称          */
	Load   *ControlSWType
	Chmode ControlSWType /*冷房運転: C、暖房運転時: H */
	Cat    *REFACA
	Cmp    *COMPNT
	Room   *ROOM

	Ho, He float64  /*運転時能力特性式係数  */
	Ta     *float64 /*外気温度 */
	Do, D1 float64

	Te float64 /*運転時蒸発温度     */
	Tc float64 /*運転時凝縮温度     */

	Tin       float64
	Toset     float64
	Q         float64
	Qmax      float64
	E         float64
	Ph        float64 /*冷温水ポンプ動力 [W] */
	Tidy      SVDAY
	Qdy       QDAY
	Edy, Phdy EDAY
	// contains filtered or unexported fields
}

システム使用ヒートポンプ

func NewREFA

func NewREFA() *REFA

type REFACA

type REFACA struct {
	Nmode int /*mode[]の数。1 のとき冷房専用または暖房専用 */

	Ph float64 /*定格冷温水ポンプ動力 [W] */
	// contains filtered or unexported fields
}

type RFCMP

type RFCMP struct {
	Teo  [2]float64 /*蒸発温度範囲      */
	Tco  [2]float64 /*凝縮温度範囲      */
	Meff float64    /*モ-タ-効率      */
	// contains filtered or unexported fields
}

func NewRFCMP

func NewRFCMP() *RFCMP

func Refcmpdat

func Refcmpdat() []*RFCMP

圧縮式冷凍機定格特性入力 reflist.efl ファイルから読み取ります。

type RMLOAD

type RMLOAD struct {
	Tset float64
	Xset float64
	Qs   float64
	Ql   float64
	Qt   float64

	FOTr float64
	FOTN []float64
	FOPL []float64
	FOC  float64

	Qdys QDAY /* 日積算暖冷房 */
	Qdyl QDAY
	Qdyt QDAY
	// contains filtered or unexported fields
}

室負荷

type RMQELM

type RMQELM struct {
	WSCwk []*BHELM
	// contains filtered or unexported fields
}

type RMSB

type RMSB struct {
	Type RMSBType // 'E':外気に接する面、'G':地面に接する面、'i':内壁
	Ts   BHELM
	Tw   []*BHELM
	Told []*BHELM
}

type RMSBType

type RMSBType rune
const (
	RMSBType_None RMSBType = 0
	RMSBType_E    RMSBType = 'E' // 外気に接する面
	RMSBType_G    RMSBType = 'G' // 地面に接する面
	RMSBType_i    RMSBType = 'i' // 内壁
)

type RMSRF

type RMSRF struct {
	Name  string // 壁体名
	Sname string //RMP名 higuchi 070918

	PCMflg bool // PCMの有無の判定フラグ 毎時係数行列を計算するかどうかを決める

	//falsewin *WINDOW	// Falseの時の窓
	Ctlif       *CTLIF // 動的窓の制御
	DynamicCode string // 動的窓 ex) "A > B" のような評価式

	Nfn int // 窓種類数

	A  float64 // 面積 [m2]
	Eo float64 // 外表面輻射率 [-]

	Bn float64 // 吸収日射取得率 [-]

	Qc      float64 // 対流による熱取得 [W]
	Qr      float64 // 放射による熱取得 [W]
	Qi      float64 // 壁体貫流熱取得 [W]
	Qgt     float64 // 透過日射熱取得 [W]
	Qga     float64 // 吸収日射熱取得 [W]
	Qrn     float64 // 夜間放射熱取得 [W]
	K       float64 // 熱伝達率 [W/m2K] K = 1/(1/alo + Rwall + 1/ali)
	Rwall   float64 // 熱抵抗 [m2K/W] 表面熱伝達抵抗(1/alo+1/ali)は除く
	CAPwall float64 // 単位面積当たり熱容量[J/m2K]

	FI      float64
	FO      float64
	FP      float64
	CF      float64
	WSR     float64
	WSRN    []float64
	WSPL    []float64
	WSC     float64
	Fsdworg float64 // SUNBRKで定義した日よけの影面積率
	Fsdw    float64 /* 影面積  higuchi 070918 */ // KAGE-SUN用
	Ihor    float64 /*higuchi 070918 */
	Idre    float64 /*higuchi 070918 */
	Idf     float64 /*higuchi 070918 */
	Iw      float64 /*higuchi 070918 */

	RS     float64 // 室内表面に吸収される短波長輻射 [W/m2]
	RSsol  float64 // 室内表面に吸収される日射(短波長)[W/m2]
	RSsold float64 // 室内表面に入射する日射(短波長)(隣接室への透過を考慮する前)
	RSli   float64 // 室内表面に吸収される照明(短波長)[W/m2]
	RSin   float64 // 室内表面に吸収される人体・照明・設備・設備機器(短波長) [W/m2]

	TeEsol float64
	TeErn  float64
	Te     float64 // 外表面の相当外気温 [C]
	Tmrt   float64 // 室内表面の平均輻射温度 [C]
	Ei     float64
	Ts     float64 // 室内表面の温度 ????

	//ColTe  float64		// 建材一体型空気集熱器の相当外気温度[℃]
	Tcole          float64 // 建材一体型空気集熱器の相当外気温度[℃] 記号変更
	Tcoleu, Tcoled float64
	Tf             float64 // 建材一体型空気集熱器の熱媒平均温度[℃]
	SQi            QDAY    // 日積算壁体貫流熱取得
	Tsdy           SVDAY
	PVwall         PVWALL // 太陽電池一体型壁体

	Ndiv     int //  空気式集熱器のときの流れ方向(入口から出口)の分割数
	ColCoeff float64
	// 建材一体型集熱器計算時の後退差分要素URM
	Tc []float64

	// 太陽電池一体型
	Iwall     float64
	PVwallFlg bool // 太陽電池一体型の場合はtrue

	Tg float64

	Npcm int // PCM設置レイヤー数

	RStrans bool // 室内透過日射が窓室内側への入射日射を屋外に透過する場合はtrue
	// contains filtered or unexported fields
}

壁体 固定デ-タ

func Rmsrfinit

func Rmsrfinit() *RMSRF

type RMSRFMwSideType

type RMSRFMwSideType rune
const (
	RMSRFMwSideType_None RMSRFMwSideType = 0
	RMSRFMwSideType_i    RMSRFMwSideType = 'i' // 壁体0側
	RMSRFMwSideType_M    RMSRFMwSideType = 'M' // 壁体M側
)

type RMSRFMwType

type RMSRFMwType rune
const (
	RMSRFMwType_None RMSRFMwType = 0
	RMSRFMwType_I    RMSRFMwType = 'I' // 専用壁
	RMSRFMwType_C    RMSRFMwType = 'C' // 共同壁
)

type RMSRFType

type RMSRFType rune
const (
	RMSRFType_None RMSRFType = 0
	RMSRFType_H    RMSRFType = 'H' // 壁
	RMSRFType_E    RMSRFType = 'E' // 地中壁
	RMSRFType_W    RMSRFType = 'W' // 窓
	RMSRFType_e    RMSRFType = 'e' // 地表面境界
)

type RMVLS

type RMVLS struct {
	Twallinit  float64   // 初期温度 (GDAT.RUN.Tinit)
	Emrk       []rune    // '!' or '*' ????
	Wall       []*WALL   // 壁
	Window     []*WINDOW // 窓
	Snbk       []*SNBK   // 日よけ
	PCM        []*PCM    // 潜熱蓄熱材
	Sd         []*RMSRF  // 壁体
	Mw         []*MWALL  // 重量壁体
	Room       []*ROOM   // 室
	Rdpnl      []*RDPNL  // 輻射パネル
	Qrm, Qrmd  []*QRM    // 日射、室内発熱熱取得
	Qetotal    QETOTAL   // 合計空調負荷
	Trdav      []float64
	Pcmiterate rune // PCM建材を使用し、かつ収束計算を行う場合は'y'
}

func NewRMVLS

func NewRMVLS() *RMVLS

**** RMVLS の初期化 ****

func (*RMVLS) Tinit

func (Rmvls *RMVLS) Tinit()

壁体内部温度の初期値設定

type ROOM

type ROOM struct {
	Name string //室名
	N    int    //周壁数
	Brs  int    //Sd[],S[]の先頭位置
	MCAP *float64
	CM   *float64
	TM   float64

	HM float64
	QM float64

	Srgm2       float64 // 家具の最終的な日射吸収割合
	Qsolm       float64 // 家具の日射吸収量[W]
	PCMfurnname string  // PCM内臓家具の部材名称
	PCM         *PCM    // PCM内臓家具の場合

	PCMQl   float64 // PCM内臓家具の見かけの比熱[J/m3K]
	FunHcap float64 // 家具の熱容量(顕熱とPCM内臓家具の合計)
	// 室空気に加算したものは除く
	FMT, FMC float64

	Qgt         float64 // 透過日射熱取得 [W]
	Nachr       int     //`achr`の数
	Ntr         int     //内壁を共有する隣室数
	Nrp         int     //輻射パネル数
	Nflr        int     //床の部位数
	Nfsolfix    int     //短波長放射吸収比率が定義されている面数
	Nisidermpnl int
	Nasup       int

	//rairflow []RAIRFLOW
	Arsp []*AIRSUP // 室への冷温風供給熱量

	F []float64

	XA    []float64
	Wradx []float64

	VRM   float64 //室容積 [m3]
	GRM   float64 //室内空気質量
	MRM   float64 //室空気熱容量
	Area  float64 //室内表面総面積
	FArea float64 //床面積

	Hcap  float64 // 室内熱容量   J/K
	Mxcap float64 // 室内湿気容量 kg/(kg/kg)

	Ltyp     rune     // 照明器具形式
	Nhm      float64  // 人数
	Light    float64  // 照明器具容量
	Apsc     float64  // 機器対流放熱容量
	Apsr     float64  // 機器輻射放熱容量
	Apl      float64  // 機器潜熱放熱容量
	Gve      float64  // 換気量
	Gvi      float64  // 隙間風量
	AE       float64  // 消費電力容量[W]
	AG       float64  // 消費ガス容量[W]
	AEsch    *float64 // 消費電力スケジュール (未設定時はnil)
	AGsch    *float64 // 消費ガススケジュール (未設定時はnil)
	Lightsch *float64 // 照明スケジュール (未設定時はnil)
	Assch    *float64 // 機器顕熱スケジュール (未設定時はnil)
	Alsch    *float64 // 機器潜熱スケジュール (未設定時はnil)
	Hmsch    *float64 // 在室人数スケジュール (未設定時はnil)
	Metsch   *float64 // Met値スケジュール (未設定時はnil)
	Closch   *float64 // Clo値スケジュール (未設定時はnil)
	Wvsch    *float64 // 室内風速設定値名 (未設定時はnil)
	Hmwksch  *float64 // 作業強度設定値名 (未設定時はnil)
	Vesc     *float64 // 換気スケジュール (未設定時はnil)
	Visc     *float64 // 隙間風スケジュール (未設定時はnil)

	Hc float64 //人体よりの対流  [W]
	Hr float64 //人体よりの輻射  [W]
	HL float64 //人体よりの潜熱 [W]
	Lc float64 //照明よりの対流  [W]
	Lr float64 //照明よりの輻射  [W]
	Ac float64 //機器よりの対流  [W]
	Ar float64 //機器よりの輻射  [W]
	AL float64 //機器よりの潜熱  [W]

	Qeqp  float64 //設備機器からの発熱[W]
	Gvent float64

	RMt  float64
	ARN  []float64
	RMP  []float64
	RMC  float64
	RMx  float64
	RMXC float64

	Tr    float64 //室内温度
	Trold float64 //室内温度

	RH   float64
	Tsav float64 // 平均表面温度
	Tot  float64 // 作用温度

	PMV float64
	SET float64 // SET(体感温度)

	Trdy SVDAY

	RHdy   SVDAY
	Tsavdy SVDAY

	VAVcontrl *VAV
	OTsetCwgt *float64 // 作用温度設定時の対流成分重み係数
	// デフォルトは0.5
	HGc, CA, AR float64
	Qsab        float64 // 吸収日射熱取得 [W]
	Qrnab       float64 // 夜間放射による熱損失 [W]
	// contains filtered or unexported fields
}

室デ-タ

func (*ROOM) Qischdlr

func (Room *ROOM) Qischdlr()

室内発熱の計算

type RPANEL

type RPANEL struct {
	// contains filtered or unexported fields
}

室についての輻射パネル

type RQLIST

type RQLIST struct {
	Rname string
	Name  string
	Id    string
}

type RRMP

type RRMP struct {
	Rw, Rh float64 /*--巾、高さ--*/

	WD []MADO
	// contains filtered or unexported fields
}

---RMP---

type RZONE

type RZONE struct {
	Nroom int // ゾーンに属する室の数

	Afloor float64
	Tr     float64

	RH   float64
	Tsav float64
	Qhs  float64
	Qhl  float64
	Qht  float64
	Qcs  float64
	Qcl  float64
	Qct  float64
	Trdy SVDAY

	RHdy   SVDAY
	Tsavdy SVDAY
	Qsdy   QDAY
	Qldy   QDAY
	Qtdy   QDAY
	// contains filtered or unexported fields
}

ゾーン集計

type SCH

type SCH struct {
	Type rune
	// contains filtered or unexported fields
}

type SCHDL

type SCHDL struct {
	Seasn []SEASN // SCHTBデータセット:季節設定 (-wkd or WKD)
	Wkdy  []WKDY  // SCHTBデータセット:曜日設定 (-wkd)
	Dsch  []DSCH  // SCHTBデータセット:1日の設定値スケジュール定義(-v or VL)
	Dscw  []DSCW  // SCHTBデータセット:1日の切替設定スケジュール定義(-s or SW)

	Sch []SCH // SCHNMデータセット: 年間の設定値スケジュール
	Scw []SCH // SCHNMデータセット: 年間の切替スケジュール

	Val []float64       // 設定値? (`Sch`の要素数と同数)
	Isw []ControlSWType // 切替状態? (`Scw`の要素数と同数)
}

一日の設定値、切換スケジュールおよび季節、曜日の指定 See: [eeslism.]

type SEASN

type SEASN struct {
	N int // sday, edayの配列の長さ
	// contains filtered or unexported fields
}

季節設定

type SHADSTR

type SHADSTR struct {
	// contains filtered or unexported fields
}

---Sdstr 影面積のストア 110413 higuchi add---

type SHADTB

type SHADTB struct {
	// contains filtered or unexported fields
}

---日射遮蔽率---

type SIMCONTL

type SIMCONTL struct {
	File       string        // 入力ファイル名
	Title      string        // 題目、注釈
	Wfname     string        // 気象データファイル名 (GDAT.FILE.w)
	Ofname     string        // 出力ファイル名	(GDAT.FILE.out)
	Unit       string        // 単位系
	Unitdy     string        //
	Timeid     []rune        // 時間別計算値出力識別子 ?
	Helmkey    rune          // 要素別熱取得、熱損失計算 'y'
	Wdtype     rune          // 気象データファイル種別 'H':HASP標準形式 'E':VCFILE入力形式 */
	Perio      rune          // 周期定常計算の時'y'
	Fwdata     io.ReadSeeker // 気象データファイルのファイルポインタ
	Fwdata2    io.ReadSeeker // 気象データファイルのファイルポインタ(なぜ2つあるのか?)
	Ftsupw     []byte        // 給水温度データのファイル(バイナリ)
	Daystartx  int           // 助走計算開始日
	Daystart   int           // 本計算開始日
	Dayend     int           // 計算終了日
	Daywk      []int         // 計算日 ??
	Dayprn     []int         // データ出力日
	Dayntime   int           // 1日あたりの計算回数
	Ntimehrprt int           // 時間別計算値出力回数
	Ntimedyprt int           // 日別計算値出力回数
	Nhelmsfpri int           // 要素別壁体表面温度出力回数
	Nvcfile    int           // 境界条件、負荷入力用ファイルの数
	Vcfile     []VCFILE      // 境界条件、負荷入力用ファイル等々???
	Loc        *LOCAT        // 地域データ
	Wdpt       WDPT          // 気象データ
	DTm        int           // 計算時間間隔 [s] (GDAT.RUN.dTime)
	Sttmm      int           // 計算開始時刻 (GDAT.RUN.Stime)
	MaxIterate int           // 最大収束回数 (GDAT.RUN.MaxIterate)
}

func NewSIMCONTL

func NewSIMCONTL() *SIMCONTL

**** SIMCONTL の初期化 ****

type SNBK

type SNBK struct {
	Name string  // 名称
	Type int     // 日除けタイプ 1: 一般の庇(H), 2: 袖壁(HL), 5: 長い庇(S), 6: 長い袖壁(SL), 9: 格子ルーバー(K)
	Ksi  int     // 日影部分と日照部分の反転 0: 反転なし, 1: 反転あり
	W    float64 // 開口部の高さ (W=Width)
	H    float64 // 開口部の幅 (H=Height)
	D    float64 // 庇の付け根から先端までの長さ (D=Depth)
	W1   float64 // 開口部の左端から壁の左端までの距離 (L=Left)
	W2   float64 // 開口部の右端から壁の右端までの距離 (R=Right)
	H1   float64 // 開口部の上端から壁の上端までの距離 (T=Top)
	H2   float64 // 地面から開口部の下端までの高さ (B=Bottom)
}

日除け

func NewSNBK

func NewSNBK() *SNBK

type STANK

type STANK struct {
	Name      string
	Batchop   ControlSWType /* バッチ操作有 給水:'F'  排出:'D'  停止:'-'  バッチ操作無:'n' */
	Cat       *STANKCA
	Cmp       *COMPNT
	Ndiv      int /* 分割層数 */
	Nin       int /* 流入口、流出口数 */
	Jin       []int
	Jout      []int
	Jva       int
	Jvb       int
	Ncalcihex int // 内径と長さから計算される内蔵熱交のモデルの数
	Pthcon    []ELIOType
	Batchcon  []ControlSWType /* バッチ給水、排出スケジュール 'F':給水 'D':排出 */
	Ihex      []rune          /* 内蔵熱交換器のある経路のとき ihex[i]='y' */
	Cfcalc    rune            /* cfcalc = 'y':要素モデル係数の計算する。
							'n':要素モデル係数の計算しない。
	(温度分布の逆転時再計算指定のときに使用*/
	B   []float64
	R   []float64
	D   []float64
	Fg  []float64 /* Fg 要素機器の係数 [Ndiv x Nin] */
	Tss []float64

	DtankF []rune /* 分割した槽内の状態 'F':満水 'E':空 */

	// 内蔵熱交換器の温度効率が入力されていたら'N'
	// KAが入力されていたら'Y'
	// 内径と長さが入力されていたら'C'
	KAinput []rune

	Dbld0  float64 // 内蔵熱交の内径[m]
	DblL   float64 // 内蔵熱交の長さ[m]
	DblTw  float64 // 熱伝達率計算用の配管内温度[℃]
	DblTa  float64 // 熱伝達率計算用タンク温度[℃]
	Tssold []float64
	Dvol   []float64
	Mdt    []float64
	KS     []float64

	KA     []float64 // 内蔵熱交換器のKA[W/K]
	Ihxeff []float64 /* 内蔵熱交換器の熱交換器有効率 サイズは[Nin] */
	CGwin  []float64 /* cGwin, *EGwin, Twin, Q のサイズは[Nin] */
	EGwin  []float64 /* EGwin = eff * cGwin  */
	Twin   []float64
	Q      []float64

	Qloss float64 /* 槽熱損失 */
	Qsto  float64 /*  槽蓄熱量 */

	Tenv     *float64 /* 周囲温度のアドレス */
	Stkdy    []STKDAY
	Mstkdy   []STKDAY
	Qlossdy  float64
	Qstody   float64
	MQlossdy float64
	MQstody  float64
}

システム使用蓄熱槽

func NewSTANK

func NewSTANK() *STANK

type STANKCA

type STANKCA struct {
	Type rune /* 形状  既定値 'C': 縦型 */

	Vol    float64
	KAside float64
	KAtop  float64
	KAbtm  float64
	// contains filtered or unexported fields
}

type STHEAT

type STHEAT struct {
	Name    string
	Cat     *STHEATCA
	Cmp     *COMPNT
	Pcm     *PCM     // 電気蓄熱暖房器内臓PCMのスペック構造体
	CG      float64  /* 熱容量流量 [W/K] */
	Ts      float64  /* 蓄熱体温度 [℃] */
	Tsold   float64  /* 前時間砕石温度 [℃] */
	Tin     float64  /* 入口(吸込)温度 [℃] */
	Tout    float64  /* 出口(吹出)温度 [℃] */
	Tenv    *float64 /* 周囲温度 [℃] */
	Xin     float64  /* 入口絶対湿度 [kg/kg'] */
	Xout    float64  /* 出口絶対湿度 [kg/kg'] */
	Q       float64  /* 供給熱量 [W] */
	E       float64  /* 電気ヒーター消費電力 [W] */
	Qls     float64  /* 熱損失 [W] */
	Qsto    float64  /* 蓄熱量 [W] */
	Qlossdy float64  /* 日積算熱損失 [kWh] */
	Qstody  float64  /* 日積算蓄熱量 [kWh] */
	MPCM    float64  // 電気蓄熱暖房器内臓PCMの容量[m3]
	Hcap    float64  // 熱容量(PCM潜熱も含む)
	Room    *ROOM    /* 蓄熱暖房器設置室構造体 */
	Tidy    SVDAY    /* 入口温度日集計 */
	Tody    SVDAY    /* 出口温度日集計 */
	Tsdy    SVDAY    /* 蓄熱体温度日集計 */
	Qdy     QDAY     /* 室供給熱量日集計 */
	Edy     EDAY
	//mtEdy [12][24]EDAY
	MTidy    SVDAY /* 入口温度日集計 */
	MTody    SVDAY /* 出口温度日集計 */
	MTsdy    SVDAY /* 蓄熱体温度日集計 */
	MQdy     QDAY  /* 室供給熱量日集計 */
	MEdy     EDAY
	MQlossdy float64      /* 日積算熱損失 [kWh] */
	MQstody  float64      /* 日積算蓄熱量 [kWh] */
	MtEdy    [12][24]EDAY // 月別時刻別消費電力[kWh]
}

func NewSTHEAT

func NewSTHEAT() *STHEAT

type STHEATCA

type STHEATCA struct {
	Name    string  // 機器名
	Q       float64 // 電気ヒーター容量 [W]
	Hcap    float64 // 熱容量 [J/K]
	KA      float64 // 熱損失係数 [W/K]
	Eff     float64 // 温風吹出温度効率 [-]
	PCMName string  // 電気蓄熱暖房器内臓PCMのスペック名称
}

type STKDAY

type STKDAY struct {
	Tidy, Tsdy SVDAY
	Qdy        QDAY
}

type SVDAY

type SVDAY struct {
	M      float64 // 平均
	Mn     float64 // 最高
	Mx     float64 // 最低
	Hrs    int64   // 平均値の母数
	Mntime int64   // 最高値発生時刻
	Mxtime int64   // 最低値発生時刻
}

type SYSEQ

type SYSEQ struct {
	A byte
}

type THEX

type THEX struct {
	Name     string // 機器名称
	Type     rune   // t:顕熱交換型 h:全熱交換型
	Cat      *THEXCA
	Cmp      *COMPNT
	ET       float64 // 温度効率
	EH       float64 // エンタルピ効率
	CGe      float64 // 還気側熱容量流量 [W/K]
	Ge       float64 // 還気側流量 [kg/s]
	CGo      float64 // 外気側熱容量流量 [W/K]
	Go       float64 // 外気側流量 [kg/s]
	Tein     float64 // 還気側入口温度 [℃]
	Teout    float64 // 還気側出口温度 [℃]
	Toin     float64 // 外気側入口温度 [℃]
	Toout    float64 // 外気側出口温度 [℃]
	Xein     float64 // 還気側入口絶対湿度 [kg/kg']
	Xeout    float64 // 還気側出口絶対湿度 [kg/kg']
	Xoin     float64 // 外気側入口絶対湿度 [kg/kg']
	Xoout    float64 // 外気側出口絶対湿度 [kg/kg']
	Hein     float64 // 還気側入口エンタルピー [J/kg]
	Heout    float64 // 還気側出口エンタルピー [J/kg]
	Hoin     float64 // 外気側入口エンタルピー [J/kg]
	Hoout    float64 // 外気側出口エンタルピー [J/kg]
	Xeinold  float64
	Xeoutold float64
	Xoinold  float64
	Xooutold float64
	Qes      float64 // 交換顕熱 [W]
	Qel      float64 // 交換潜熱 [W]
	Qet      float64 // 交換全熱 [W]
	Qos      float64 // 交換顕熱 [W]
	Qol      float64 // 交換潜熱 [W]
	Qot      float64 // 交換全熱 [W]
	Teidy    SVDAY   // 還気側入口温度日集計
	Teody    SVDAY   // 還気側出口温度日集計
	Xeidy    SVDAY
	Xeody    SVDAY
	Toidy    SVDAY
	Toody    SVDAY
	Xoidy    SVDAY
	Xoody    SVDAY
	Heidy    SVDAY
	Heody    SVDAY
	Hoidy    SVDAY
	Hoody    SVDAY
	Qdyes    QDAY
	Qdyel    QDAY
	Qdyet    QDAY
	Qdyos    QDAY
	Qdyol    QDAY
	Qdyot    QDAY
	MTeidy   SVDAY // 還気側入口温度日集計
	MTeody   SVDAY // 還気側出口温度日集計
	MXeidy   SVDAY
	MXeody   SVDAY
	MToidy   SVDAY
	MToody   SVDAY
	MXoidy   SVDAY
	MXoody   SVDAY
	MHeidy   SVDAY
	MHeody   SVDAY
	MHoidy   SVDAY
	MHoody   SVDAY
	MQdyes   QDAY
	MQdyel   QDAY
	MQdyet   QDAY
	MQdyos   QDAY
	MQdyol   QDAY
	MQdyot   QDAY
}

func NewTHEX

func NewTHEX() *THEX

type THEXCA

type THEXCA struct {
	Name string // カタログ名
	// contains filtered or unexported fields
}

type TLIST

type TLIST struct {
	Cname string
	Name  string
	Id    string
	Unit  string
	Vtype rune /* データ種別
					 t:温度  x:絶対湿度  r:相対湿度
					 T:平均温度  X:平均絶対湿度  R:平均相対湿度
					 h:発生時刻  H:積算時間
	q:熱量      Q:積算熱量   e:エネルギー E:積算エネルギー量 */
	Stype rune /* データ処理種別
	t:積算値  a:平均値  n:最小値  m;最大値  */

	Ptype rune /* データ型  c:文字型  d:整数型  f:実数型 */
	Req   rune

	Fval, Fstat []float64
	Ival, Istat []int
	Cval, Cstat []rune
	Fmt         string

	Pair *TLIST
}

type TMDT

type TMDT struct {
	CYear  string     // 年(文字列)
	CMon   string     // 月(文字列)
	CDay   string     // 日(文字列)
	CWkday string     // 曜日(文字列)
	CTime  string     // 時刻(文字列)
	Dat    [5]*string /* 年、月、日、曜日、時刻のポインター */

	Year int // 年(数値)
	Mon  int // 月(数値)
	Day  int // 日(数値)
	Time int // 時刻(数値)
}

type TREE

type TREE struct {
	W1, W2, W3, W4 float64 /*--W1=幹太さ,W2=葉部下面巾,W3=葉部中央巾,W4=葉部上面巾--*/
	H1, H2, H3     float64 /*--H1=幹高さ,H2=葉部下側高さ,H3=葉部上側高さ--*/
	// contains filtered or unexported fields
}

---樹木---

type TRNX

type TRNX struct {
	// contains filtered or unexported fields
}

隣室

type VALV

type VALV struct {
	Name     string
	Count    int
	X        float64  // バルブ開度
	Xinit    *float64 // バルブ開度の初期値
	Org      byte     // CONTRLで指定されているとき'y' それ以外は'n'
	Cmp      *COMPNT
	Cmb      *COMPNT
	Mon      *COMPNT
	Tin      *float64
	Tset     *float64
	Tout     *float64
	MGo      *float64
	Plist    *PLIST // 接続している末端経路への参照
	MonPlist *PLIST
}

func NewVALV

func NewVALV() *VALV

type VAV

type VAV struct {
	Chmode ControlSWType /* 冷房用、暖房用の設定 */
	Name   string        /* 機器名 */
	Mon    rune          /* 制御対象が
	  コイルの時:c
	  仮想空調機の時:h
	  床暖房の時:f
	**************************/
	Cat   *VAVCA  /* VAVカタログ構造体 */
	Hcc   *HCC    /* VWVの時の制御対象コイル */
	Hcld  *HCLOAD /* VWVの時の制御対象仮想空調機 */
	Rdpnl *RDPNL  /* VWVの時の制御対象放射パネル */
	//room []ROOM			/* 制御室構造体 */
	G         float64 /* 風量 [kg/s] */
	CG        float64 /* 熱容量流量 [W/K] */
	Q         float64 /* 再熱計算時の熱量 [W] */
	Qrld      float64
	Tin, Tout float64 /* 入口、出口空気温度 */
	Count     int     /* 計算回数 */
	Cmp       *COMPNT
}

---- Satoh Debug VAV 2000/10/30 ----

func NewVAV

func NewVAV() *VAV

type VAVCA

type VAVCA struct {
	Name string  // カタログ名
	Type VAVType // A:VAV  W:VWV
	Gmax float64 // 最大風量 [kg/s]
	Gmin float64 // 最小風量 [kg/s]
	// contains filtered or unexported fields
}

type VAVType

type VAVType rune

type VCFILE

type VCFILE struct {
	Fi    io.ReadSeeker // ファイルポインタ
	Ad    int64         // ファイルの先頭アドレス
	Ic    int           // ファイルの種類??
	Name  string        // ファイル名
	Fname string        // ファイル名
	Estl  ESTL          // 要素データ??
	Tlist []TLIST       // 時刻データ??
}

type VPTR

type VPTR struct {
	Type VPtrType
	Ptr  interface{}
}

func Desivptr

func Desivptr(key []string, Desi *DESI) (VPTR, error)

制御で使用する内部変数

type VPtrType

type VPtrType rune
const (
	VAL_CTYPE    VPtrType = 'v' // 設定値 (float64)
	SW_CTYPE     VPtrType = 's' // 切替状態(ControlSWType)
	MAIN_CPTYPE  VPtrType = 'M' // For *MPATH ?
	LOCAL_CPTYPE VPtrType = 'L' // For *PLIST ?
)

type WALL

type WALL struct {
	PCMflg bool // 部材構成にPCMが含まれる場合は毎時係数行列を作成するので

	N  int /*材料層数≠節点数        */
	Ip int /*発熱面のある層の番号  */
	//	code [12][5]rune; /*各層の材料コ-ド      */
	L []float64 /*節点間の材料厚さ        */
	//	ND []int;      /*各層の内部分割数      */
	Ei float64 // <入力値> 室内表面放射率
	Eo float64 // <入力値> 外表面輻射率

	Rwall   float64   // <内部計算値> 壁体熱抵抗(表面熱伝達抵抗(1/alo+1/ali)は除く) [m2K/W]
	CAPwall float64   // <内部計算値> 単位面積当たりの熱容量[J/m2K]
	CAP, R  []float64 // <入力値> 登録された材料(≠節点)ごとの熱容量、熱抵抗

	M int // 節点数

	Ko  float64 // <内部計算値> Ksu + Ksd
	Ksu float64 // <入力値> 通気層上部から屋外までの熱貫流率[W/m2K]
	Ksd float64 // <入力値> 通気層下部から集熱器裏面までの熱貫流率[W/m2K]

	Ru  float64 // <入力値> 通気層上部から屋外までの熱抵抗 [m2K/W]
	Rd  float64 // <入力値> 通気層下部から集熱器裏面までの熱抵抗 [m2K/W]
	Kc  float64 // <入力値> Kcu + Kcd
	Kcu float64 // <入力値> 通気層内上側から屋外までの熱貫流率 [W/m2K]
	Kcd float64 // <入力値> 通気層内下側から裏面までの熱貫流率 [W/m2K]

	Eg float64 // <入力値> 透過体の中空層側表面の放射率
	Eb float64 // <入力値> 集熱版の中空層側表面の放射率

	WallType WALLType // <内部判定値> 建材一体型空気集熱器の場合:'C', 床暖房等放射パネルの場合:'P', 一般壁体の場合:'N'

	//char	PVwall ;
	// 太陽電池一体型建材(裏面通気):'Y'
	ColType string // <入力値> 集熱器のタイプ: 'A1'=ガラス付集熱器, 'A2'=ガラス無し集熱器 or 'A2P'=太陽電池一体型集熱器

	// 集熱器タイプ JSES2009大会論文(宇田川先生発表)のタイプ
	PVwallcat  PVWALLCAT
	PCM        []*PCM
	PCMLyr     []*PCM    // 潜熱蓄熱材
	PCMrate    []float64 // PCM含有率(Vol)
	PCMrateLyr []float64 // PCM体積含有率
	// contains filtered or unexported fields
}

壁体 定義デ-タ

func NewWall

func NewWall() *WALL

type WALLType

type WALLType rune
const (
	WallType_None WALLType = 0
	WallType_C    WALLType = 'C' // 建材一体型空気集熱器
	WallType_P    WALLType = 'P' // 床暖房等放射パネル(通常の床暖房パネル)
	WallType_N    WALLType = 'N' // 一般壁体
)

type WDAT

type WDAT struct {
	T    float64 // 気温
	X    float64 // 絶対湿度  [kg/kg]
	RH   float64 // 相対湿度 [%]
	H    float64 // エンタルピ [J/kg]
	Idn  float64 // 法線面直逹日射 [W/m2]
	Isky float64 // 水平面天空日射 [W/m2]
	Ihor float64 // 水平面全日射   [W/m2]

	Sh, Sw, Ss float64 // 太陽光線の方向余弦
	Solh, SolA float64 // 太陽位置
	CC         float64 // 雲量
	RN         float64 // 夜間輻射 [W/m2]
	Rsky       float64 // 大気放射量[W/m2] higuchi 070918
	Wv         float64 // 風速 [m/s]
	Wdre       float64 // 風向 16方位

	RNtype rune // 気象データ項目  C:雲量 R:夜間放射量[W/m2]

	Intgtsupw    rune      // 給水温度を補完する場合は'Y'、しない場合は'N'  デフォルトは'N'
	Twsup        float64   // 給水温度
	EarthSurface []float64 // 地表面温度[℃]
	// contains filtered or unexported fields
}

気象デ-タ

type WDPT

type WDPT struct {
	Ta   []float64 //気温
	Xa   []float64 //絶対湿度
	Rh   []float64 //相対湿度
	Idn  []float64 //法線面直逹日射
	Isky []float64 //水平面天空日射
	Ihor []float64 //水平面全日射
	Cc   []float64 //雲量
	Rn   []float64 //夜間輻射
	Wv   []float64 //風速
	Wdre []float64 //風向
}

気象データ項目のポインター VCFILEからの入力時

type WD_MENN

type WD_MENN struct {
	P []XYZ /*--頂点--*/
	// contains filtered or unexported fields
}

--OPW:受照窓面--

type WELM

type WELM struct {
	Code string  // <入力値> 材料コード
	L    float64 // <入力値> 各層の材料厚さ[m](分割前)
	ND   int     // <入力値> 各層の内部分割数
	Cond float64 // <材料定義リストから読み取り> 熱伝導率  [W/mK]
	Cro  float64 // <材料定義リストから読み取り> 容積比熱  [J/m3K]
}

壁体各層の熱抵抗と熱容量

func NewWelm

func NewWelm() *WELM

type WINDOW

type WINDOW struct {
	Name    string  // 名称
	Cidtype string  // 入射角特性のタイプ。 'N':一般ガラス
	K       float64 // !入力されてる?!
	Rwall   float64 // 窓部材熱抵抗 [m2K/W]
	Ei      float64 // 室内表面放射率(0.9) [-]
	Eo      float64 // 外表面放射率(0.9)(ドアのみ) [-]

	Bn      float64 // 吸収日射取得率 [-]
	As      float64 // 日射吸収率(ドアのみ)[-]
	Ag      float64 // 窓ガラス面積 !入力されてる?!
	Ao      float64 // 開口面積 !入力されてる?!
	W       float64 // 巾 !入力されてる?!
	H       float64 // 高さ !入力されてる?!
	RStrans bool    // 室内透過日射が窓室内側への入射日射を屋外に透過する場合はtrue
	// contains filtered or unexported fields
}

窓およびドア定義デ-タ

func NewWINDOW

func NewWINDOW() *WINDOW

type WKDY

type WKDY struct {
	// contains filtered or unexported fields
}

曜日設定

type XYZ

type XYZ struct {
	X, Y, Z float64
}

--多角形の頂点座標--

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL