github.com/archlabjp/eeslism-go@v0.0.0-20231109122333-4bb7bfcdf292/eeslism/MODEL.go (about)

     1  package eeslism
     2  
     3  type bekt struct {
     4  	ps [][]float64
     5  }
     6  
     7  /*--付設障害物--*/
     8  type sunblk struct {
     9  	sbfname    string /*HISASI or BARUKONI or SODEKABE or MADOHIYOKE*/
    10  	snbname    string
    11  	rgb        [3]float64 /*--色--*/
    12  	x, y       float64
    13  	D, W, H, h float64
    14  	WA         float64
    15  	ref        float64 /*--反射率--*/
    16  }
    17  
    18  /*---窓---*/
    19  type MADO struct {
    20  	winname string     /*--名前--*/
    21  	xr, yr  float64    /*--左下頂点座標--*/
    22  	Ww, Wh  float64    /*--巾、高さ--*/
    23  	ref     float64    /*--反射率--*/
    24  	grpx    float64    /*--前面地面の代表点までの距離 初期値=1---*/
    25  	rgb     [3]float64 /*--色--*/
    26  }
    27  
    28  /*---RMP---*/
    29  type RRMP struct {
    30  	rmpname  string /*--RMP名--*/
    31  	wallname string
    32  	sumWD    int        /*--窓の数--*/
    33  	ref      float64    /*--反射率--*/
    34  	xb0, yb0 float64    /*--左下頂点座標--*/
    35  	Rw, Rh   float64    /*--巾、高さ--*/
    36  	grpx     float64    /*--前面地面の代表点までの距離 初期値=1---*/
    37  	rgb      [3]float64 /*--色--*/
    38  	WD       []MADO
    39  }
    40  
    41  /*---BDP---*/
    42  type BBDP struct {
    43  	bdpname         string   /*--BDP名--*/
    44  	sumRMP, sumsblk int      /*--RMPの数、日よけの数--*/
    45  	x0, y0, z0      float64  /*--左下頂点座標--*/
    46  	Wa, Wb          float64  /*--方位角、傾斜角--*/
    47  	exh, exw        float64  /*--巾、高さ--*/
    48  	RMP             []RRMP   /*RMP*/
    49  	SBLK            []sunblk /*SBLK*/
    50  
    51  	// Satoh修正(2018/1/23)
    52  	exsfname string
    53  }
    54  
    55  /*---OBS 外部障害物---*/
    56  type OBS struct {
    57  	fname   string     /*--rect or cube or r_tri or i_tri--*/
    58  	obsname string     /*--名前--*/
    59  	x, y, z float64    /*--左下頂点座標--*/
    60  	H, D, W float64    /*--巾、奥行き、高さ--*/
    61  	Wa      float64    /*--方位角--*/
    62  	Wb      float64    /*--傾斜角--*/
    63  	ref     [4]float64 /*--反射率--*/
    64  	rgb     [3]float64 /*--色--*/
    65  }
    66  
    67  /*---樹木---*/
    68  type TREE struct {
    69  	treetype       string  /*--樹木の形A,B,C--*/
    70  	treename       string  /*--名前--*/
    71  	x, y, z        float64 /*--幹部下面の中心座標--*/
    72  	W1, W2, W3, W4 float64 /*--W1=幹太さ,W2=葉部下面巾,W3=葉部中央巾,W4=葉部上面巾--*/
    73  	H1, H2, H3     float64 /*--H1=幹高さ,H2=葉部下側高さ,H3=葉部上側高さ--*/
    74  }
    75  
    76  /*---日射遮蔽率---*/
    77  type SHADTB struct {
    78  	lpname       string      /*--対象LP名--*/
    79  	indatn       int         /*--入力データの数--*/
    80  	ndays, ndaye [12]int     /*--スケジュール開始日と終了日--*/
    81  	shad         [12]float64 /*--日射遮蔽率--*/
    82  }
    83  
    84  /*--多角形の頂点座標--*/
    85  type XYZ struct {
    86  	X, Y, Z float64
    87  }
    88  
    89  /*--OPW:受照窓面--*/
    90  type WD_MENN struct {
    91  	opwname string     /*--名前--*/
    92  	P       []XYZ      /*--頂点--*/
    93  	ref     float64    /*--反射率--*/
    94  	grpx    float64    /*--前面地面の代表点までの距離 初期値=1---*/
    95  	sumw    float64    /*--窓面の影面積の割合--*/
    96  	rgb     [3]float64 /*--色R,G,B--*/
    97  	polyd   int        /*--何角形か?--*/
    98  }
    99  
   100  /*--OP(受照面),LP(被受照面),MP(OP+OPW)--*/
   101  type P_MENN struct {
   102  	opname              string       /*--名前--*/
   103  	rgb                 [3]float64   /*--色--*/
   104  	wd, exs             int          /*--窓の数、方位番号--*/
   105  	grpx                float64      /*--前面地面の代表点までの距離 初期値=1---*/
   106  	faia                float64      /*--天空に対する形態係数--*/
   107  	faig                float64      /*--地面に対する形態係数--*/
   108  	faiwall             []float64    /*--外部障害物に対する形態係数--*/
   109  	grpfaia             float64      /*--前面地面代表点から見た天空の形態係数--*/
   110  	sum                 float64      /*--壁面の影面積--*/
   111  	ref, refg           float64      /*--反射率、前面地面の反射率--*/
   112  	wa                  float64      /*--面の方位角--*/
   113  	wb                  float64      /*--面の傾斜角--*/
   114  	Ihor, Idre, Idf, Iw float64      /*--日射量--*/
   115  	Reff, rn            float64      /*--大気放射量、夜間放射量--*/
   116  	Te, Teg             float64      /*--面の表面温度、前面地面の表面温度--*/
   117  	shad                [365]float64 /*--面の日射遮蔽率--*/
   118  	alo, as, Eo         float64      /*--外表面総合熱伝達率、日射吸収率、放射率--*/
   119  	Nopw                int
   120  	opw                 []WD_MENN
   121  	polyd               int   /*--何角形か--*/
   122  	P                   []XYZ /*--頂点座標--*/
   123  	e, G, grp           XYZ   /*--法線ベクトル、中心点、前面地面代表点--*/
   124  	sbflg               int   /*--付設障害物フラグ 付設障害物の場合:1、その他:0--*/
   125  	wlflg               int   /*--外表面の種類 窓:1 壁:0 --*/
   126  }
   127  
   128  /*--LP(ポリゴン)直接入力用--*/
   129  type POLYGN struct {
   130  	polyknd   string     /*--ポリゴン種類(RMP OBS WD)--*/
   131  	polyname  string     /*--名前--*/
   132  	wallname  string     /*--壁名称--*/
   133  	polyd     int        /*--何角形か? 3,4,5,6--*/
   134  	ref, refg float64    /*--反射率、前面地面の反射率--*/
   135  	P         []XYZ      /*--頂点--*/
   136  	grpx      float64    /*--前面地面の代表点までの距離 初期値=1---*/
   137  	rgb       [3]float64 /*--色--*/
   138  }
   139  
   140  /*---Sdstr 影面積のストア 110413 higuchi add---*/
   141  type SHADSTR struct {
   142  	sdsum []float64 /*--影面積--*/
   143  }
   144  
   145  /*--- 110413 higuchi end ----*/
   146  
   147  type NOPLPMP struct {
   148  	Nop, Nlp, Nmp int
   149  }