github.com/archlabjp/eeslism-go@v0.0.0-20231109122333-4bb7bfcdf292/eeslism/valinit.go (about) 1 package eeslism 2 3 /***** SIMCONTL の初期化 *****/ 4 func NewSIMCONTL() *SIMCONTL { 5 S := new(SIMCONTL) 6 S.Title = "" 7 S.File = "" 8 S.Wfname = "" 9 S.Ofname = "" 10 S.Unit = "" 11 S.Unitdy = "" 12 S.Fwdata = nil 13 S.Fwdata2 = nil 14 S.Ftsupw = nil 15 S.Timeid = []rune{' ', ' ', ' ', ' ', ' '} 16 S.Helmkey = ' ' 17 S.Wdtype = ' ' 18 S.Daystartx = 0 19 S.Daystart = 0 20 S.Dayend = 0 21 S.Dayntime = 0 22 S.Ntimedyprt = 0 23 S.Ntimehrprt = 0 24 S.Nhelmsfpri = 0 25 S.Nvcfile = 0 26 S.DTm = 0 27 S.Sttmm = 0 28 S.Vcfile = nil 29 S.Loc = nil 30 S.Wdpt.Ta = nil 31 S.Wdpt.Xa = nil 32 S.Wdpt.Rh = nil 33 S.Wdpt.Idn = nil 34 S.Wdpt.Isky = nil 35 S.Wdpt.Ihor = nil 36 S.Wdpt.Cc = nil 37 S.Wdpt.Rn = nil 38 S.Wdpt.Wv = nil 39 S.Wdpt.Wdre = nil 40 S.MaxIterate = 5 // 最大収束回数のデフォルト値 41 S.Daywk = make([]int, 366) 42 S.Dayprn = make([]int, 366) 43 44 for i := 0; i < 366; i++ { 45 S.Daywk[i] = 0 46 S.Dayprn[i] = 0 47 } 48 49 return S 50 } 51 52 /***** COMPNT の初期化 *****/ 53 func NewCOMPNT() *COMPNT { 54 C := new(COMPNT) 55 C.Name = "" 56 C.Roomname = "" 57 C.Eqptype = "" 58 C.Envname = "" 59 C.Exsname = "" 60 C.Hccname = "" 61 C.Idi = nil 62 C.Ido = nil 63 C.Tparm = "" 64 C.Wetparm = "" 65 C.Eqp = nil 66 C.Ivparm = nil 67 C.Elouts = nil 68 C.Elins = nil 69 C.Neqp, C.Ncat, C.Nivar = 0, 0, 0 70 C.Eqpeff = 0.0 71 C.Airpathcpy = true 72 C.Control = ' ' 73 C.Nout, C.Nin = 3, 3 74 C.Valvcmp = nil 75 C.Rdpnlname = "" 76 C.Omparm = "" 77 C.PVcap = -999.0 78 C.Ac, C.Area = -999.0, -999.0 79 // C.x = 1.0 80 // C.xinit = -999.0 81 // C.org = 'n' 82 // C.OMfanName = nil 83 C.MonPlistName = "" 84 C.MPCM = -999.0 85 return C 86 } 87 88 /***** ELOUT の初期化 *****/ 89 func NewEloutSlice(n int) []*ELOUT { 90 s := make([]*ELOUT, n) 91 for i := 0; i < n; i++ { 92 s[i] = NewElout() 93 } 94 return s 95 } 96 97 func NewElout() *ELOUT { 98 Eo := new(ELOUT) 99 Eo.Ni = 0 100 Eo.G = 0.0 101 Eo.Co = 0.0 102 Eo.Coeffo = 0.0 103 Eo.Control = ' ' 104 Eo.Id = ' ' 105 Eo.Fluid, Eo.Sysld = ' ', ' ' 106 Eo.Q, Eo.Sysv, Eo.Load = 0.0, 0.0, 0.0 107 Eo.Sv, Eo.Sld = 0, 0 108 109 Eo.Cmp = nil 110 Eo.Elins = nil 111 Eo.Eldobj, Eo.Emonitr = nil, nil 112 113 Eo.Coeffin = nil 114 Eo.Lpath = nil 115 Eo.Pelmoid = 'x' 116 117 return Eo 118 } 119 120 /***** ELIN の初期化 *****/ 121 func NewElinSlice(n int) []*ELIN { 122 s := make([]*ELIN, n) 123 for i := 0; i < n; i++ { 124 s[i] = NewElin() 125 } 126 return s 127 } 128 129 func NewElin() *ELIN { 130 Ei := new(ELIN) 131 Ei.Id = ' ' 132 Ei.Sysvin = 0.0 133 Ei.Upo, Ei.Upv = nil, nil 134 Ei.Lpath = nil 135 return Ei 136 } 137 138 func NewPLIST() *PLIST { 139 Pl := new(PLIST) 140 Pl.Name = "" 141 Pl.Type, Pl.Control = ' ', ' ' 142 Pl.Batch = false 143 Pl.Org = true 144 Pl.Plmvb, Pl.Pelm = nil, nil 145 Pl.Lpair = nil 146 Pl.Go = nil 147 Pl.G = -999.0 148 Pl.Lvc, Pl.Nvav, Pl.Nvalv = 0, 0, 0 149 // Pl.Npump = 0 150 Pl.N = -999 151 Pl.Valv = nil 152 Pl.Mpath = nil 153 Pl.Plistt, Pl.Plistx = nil, nil 154 Pl.Rate = nil 155 Pl.Upplist, Pl.Dnplist = nil, nil 156 Pl.NOMVAV = 0 157 // Pl.Pump = nil 158 Pl.OMvav = nil 159 Pl.UnknownFlow = 1 160 Pl.Plistname = "" 161 Pl.Gcalc = 0.0 162 return Pl 163 } 164 165 /***** PELM の初期化 ******/ 166 func NewPELM() *PELM { 167 return &PELM{ 168 Co: ELIO_SPACE, 169 Ci: ELIO_SPACE, 170 Cmp: nil, 171 Out: nil, 172 In: nil, 173 //Pelmx: nil, 174 } 175 } 176 177 /***** MPATH の初期化 *****/ 178 func NewMPATH() *MPATH { 179 return &MPATH{ 180 Name: "", 181 NGv: 0, 182 NGv2: 0, 183 Ncv: 0, 184 Lvcmx: 0, 185 Plist: nil, 186 Mpair: nil, 187 Sys: ' ', 188 Type: ' ', 189 Fluid: ' ', 190 Control: ' ', 191 Pl: nil, 192 Cbcmp: nil, 193 G0: nil, 194 Rate: false, 195 } 196 } 197 198 /***** EXSF の初期化 ******/ 199 func Exsfinit(e *EXSF) { 200 e.Name = "" 201 e.Typ = 'S' 202 e.Wa, e.Wb = 0.0, 0.0 203 e.Rg, e.Fs, e.Wz, e.Ww, e.Ws = 0.0, 0.0, 0.0, 0.0, 0.0 204 e.Swb, e.CbSa, e.CbCa, e.Cwa = 0.0, 0.0, 0.0, 0.0 205 e.Swa, e.Z, e.Erdff, e.Cinc = 0.0, 0.0, 0.0, 0.0 206 e.Tazm, e.Tprof, e.Idre, e.Idf = 0.0, 0.0, 0.0, 0.0 207 e.Iw, e.Rn, e.Tearth = 0.0, 0.0, 0.0 208 e.Erdff = 0.36e-6 209 e.Alo = CreateConstantValuePointer(0.0) 210 // e.alosch = nil 211 e.Alotype = Alotype_Fix 212 } 213 214 /***** SYSEQ の初期化 *****/ 215 func Syseqinit(S *SYSEQ) { 216 S.A = ' ' 217 } 218 219 /***** EQSYS の初期化 *****/ 220 func NewEQSYS() *EQSYS { 221 E := new(EQSYS) 222 E.Cnvrg = make([]*COMPNT, 0) 223 E.Hcc = make([]*HCC, 0) 224 E.Boi = make([]*BOI, 0) 225 E.Refa = make([]*REFA, 0) 226 E.Coll = make([]*COLL, 0) 227 E.Pipe = make([]*PIPE, 0) 228 E.Stank = make([]*STANK, 0) 229 E.Hex = make([]*HEX, 0) 230 E.Pump = make([]*PUMP, 0) 231 E.Flin = make([]*FLIN, 0) 232 E.Hcload = make([]*HCLOAD, 0) 233 E.Vav = make([]*VAV, 0) 234 E.Stheat = make([]*STHEAT, 0) 235 E.Thex = make([]*THEX, 0) 236 E.Valv = make([]*VALV, 0) 237 E.Qmeas = make([]*QMEAS, 0) 238 E.PVcmp = make([]*PV, 0) 239 E.OMvav = make([]*OMVAV, 0) 240 241 // 使用されていなかった: 242 //E.Ngload = 0 243 //E.Gload = nil 244 245 return E 246 } 247 248 /***** RMVLS の初期化 *****/ 249 func NewRMVLS() *RMVLS { 250 R := new(RMVLS) 251 R.Twallinit = 0.0 252 R.Emrk = nil 253 R.Wall = nil 254 R.Window = nil 255 R.Snbk = nil 256 R.Rdpnl = nil 257 R.Qrm, R.Qrmd = nil, nil 258 R.Trdav = nil 259 R.Sd = nil 260 R.PCM = nil 261 // R.airflow = nil 262 R.Pcmiterate = 'n' 263 264 R.Mw = nil 265 R.Room = nil 266 R.Qetotal.Name = "" 267 268 return R 269 } 270 271 func VPTRinit(v *VPTR) { 272 v.Type = ' ' 273 v.Ptr = nil 274 } 275 276 func TMDTinit(t *TMDT) { 277 for i := 0; i < 5; i++ { 278 t.Dat[i] = nil 279 } 280 281 t.CYear = "" 282 t.CMon = "" 283 t.CDay = "" 284 t.CWkday = "" 285 t.CTime = "" 286 t.Year, t.Mon, t.Day, t.Time = 0, 0, 0, 0 287 } 288 289 func NewLOCAT() *LOCAT { 290 L := new(LOCAT) 291 L.Name = "" 292 L.Lat, L.Lon, L.Ls, L.Tgrav, L.DTgr = -999.0, -999.0, -999.0, -999.0, -999.0 293 L.Daymxert = -999 294 295 matinitx(L.Twsup[:], 12, -999.0) 296 297 return L 298 } 299 300 func NewEQCAT() *EQCAT { 301 E := new(EQCAT) 302 E.Rfcmp = nil 303 E.Hccca = nil 304 E.Boica = nil 305 E.Refaca = nil 306 E.Collca = nil 307 E.Pipeca = nil 308 E.Stankca = nil 309 E.Hexca = nil 310 E.Pumpca = nil 311 E.Vavca = nil 312 E.Stheatca = nil 313 E.Thexca = nil 314 E.Pfcmp = nil 315 E.PVca = nil 316 E.OMvavca = nil 317 return E 318 } 319 320 func MtEdayinit(mtEday *[12][24]EDAY) { 321 for i := 0; i < 12; i++ { 322 for j := 0; j < 24; j++ { 323 mtEday[i][j].D = 0.0 324 mtEday[i][j].Hrs = 0 325 mtEday[i][j].Mx = 0.0 326 mtEday[i][j].Mxtime = 0 327 } 328 } 329 }