@open3cl/engine 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/10_besoin_fr.js +76 -0
  2. package/10_clim.js +45 -0
  3. package/11_besoin_ecs.js +25 -0
  4. package/11_ecs.js +95 -0
  5. package/11_nadeq.js +87 -0
  6. package/11_nadeq.spec.js +55 -0
  7. package/12.4_pac.js +54 -0
  8. package/13.2_generateur_combustion.js +295 -0
  9. package/13.2_generateur_combustion_bouilleur.js +173 -0
  10. package/13.2_generateur_combustion_ch.js +195 -0
  11. package/13.2_generateur_combustion_chaudiere.js +151 -0
  12. package/13.2_generateur_pac.js +36 -0
  13. package/13_rendement_distribution_ecs.js +12 -0
  14. package/14_generateur_ecs.js +388 -0
  15. package/15_conso_aux.js +257 -0
  16. package/16.2_production_enr.js +328 -0
  17. package/16.2_production_enr.spec.js +251 -0
  18. package/16_conso_eclairage.js +37 -0
  19. package/2021_04_13_confort_ete.js +61 -0
  20. package/2021_04_13_qualite_isolation.js +174 -0
  21. package/3.1_b.js +141 -0
  22. package/3.2.1_mur.js +331 -0
  23. package/3.2.1_mur.spec.js +46 -0
  24. package/3.2.2_plancher_bas.js +259 -0
  25. package/3.2.2_plancher_bas.spec.js +88 -0
  26. package/3.2.3_plancher_haut.js +158 -0
  27. package/3.3.1.4_porte.js +32 -0
  28. package/3.3_baie_vitree.js +308 -0
  29. package/3.3_baie_vitree.spec.js +333 -0
  30. package/3.4_pont_thermique.js +463 -0
  31. package/3_deperdition.js +258 -0
  32. package/4_ventilation.js +197 -0
  33. package/5_conso_ventilation.js +127 -0
  34. package/6.1_apport_gratuit.js +61 -0
  35. package/6.1_apport_gratuit.spec.js +181 -0
  36. package/6.2_surface_sud_equivalente.js +109 -0
  37. package/7_inertie.js +178 -0
  38. package/7_inertie.spec.js +263 -0
  39. package/8_intermittence.js +5 -0
  40. package/9_besoin_ch.js +198 -0
  41. package/9_chauffage.js +291 -0
  42. package/9_chauffage.spec.js +101 -0
  43. package/9_conso_ch.js +95 -0
  44. package/9_conso_ch.spec.js +255 -0
  45. package/9_emetteur_ch.js +122 -0
  46. package/9_generateur_ch.js +230 -0
  47. package/9_generateur_ch.spec.js +87 -0
  48. package/README.md +43 -0
  49. package/apport_et_besoin.js +55 -0
  50. package/conso.js +529 -0
  51. package/conso.spec.js +90 -0
  52. package/core/assets/domain/add-additionnal-ue-values-tables.js +57 -0
  53. package/core/assets/domain/synchronize-assets.js +29 -0
  54. package/core/assets/domain/synchronize-assets.spec.js +37 -0
  55. package/core/assets/domain/synchronize-c1-tables.js +61 -0
  56. package/core/assets/domain/synchronize-c1-tables.spec.js +35 -0
  57. package/core/assets/domain/synchronize-dpe-ges-limit-values-tables.js +73 -0
  58. package/core/assets/domain/synchronize-dpe-ges-limit-values-tables.spec.js +72 -0
  59. package/core/assets/domain/synchronize-enum-tables.js +77 -0
  60. package/core/assets/domain/synchronize-enum-tables.spec.js +31 -0
  61. package/core/assets/domain/synchronize-solicitations-tables.js +72 -0
  62. package/core/assets/domain/synchronize-solicitations-tables.spec.js +47 -0
  63. package/core/assets/domain/synchronize-valeur-tables.js +146 -0
  64. package/core/assets/domain/synchronize-valeur-tables.spec.js +54 -0
  65. package/core/conf/infrastructure/application.config.js +33 -0
  66. package/core/file/infrastructure/adapter/file.store.js +75 -0
  67. package/core/file/infrastructure/adapter/file.store.spec.js +30 -0
  68. package/core/tv/infrastructure/assets/additional-ue-values.js +69 -0
  69. package/core/tv/infrastructure/tvs.store.js +40 -0
  70. package/core/tv/infrastructure/tvs.store.spec.js +34 -0
  71. package/core/util/infrastructure/object-util.js +23 -0
  72. package/core/util/infrastructure/object-util.spec.js +25 -0
  73. package/engine.js +503 -0
  74. package/enums.js +1155 -0
  75. package/ficheTechnique.js +86 -0
  76. package/ficheTechnique.spec.js +181 -0
  77. package/index.js +4 -0
  78. package/package.json +87 -0
  79. package/tv/18.2_sollicitations_ext.ods +0 -0
  80. package/tv/18.5_c1.ods +0 -0
  81. package/tv/dpe_ges_limit_values.ods +0 -0
  82. package/tv.js +80811 -0
  83. package/tvs.d.ts +7 -0
  84. package/utils.js +500 -0
  85. package/utils.spec.js +36 -0
@@ -0,0 +1,333 @@
1
+ import calc_bv from './3.3_baie_vitree.js';
2
+ import { PRECISION } from '../test/constant.js';
3
+
4
+ describe('Recherche de bugs dans le calcul de déperdition des baies vitrées', () => {
5
+ test('calcul de déperdition pour les murs de 2187E0982013C baie 1', () => {
6
+ const zc = 3;
7
+ const bv = {
8
+ donnee_entree: {
9
+ description:
10
+ 'Fenêtre 1 Nord - Fenêtres battantes bois, orientées Nord, simple vitrage avec volets battants bois',
11
+ enum_type_adjacence_id: '1',
12
+ surface_totale_baie: 3.2,
13
+ nb_baie: 1,
14
+ tv_ug_id: 1,
15
+ enum_type_vitrage_id: '1',
16
+ enum_inclinaison_vitrage_id: '3',
17
+ enum_methode_saisie_perf_vitrage_id: '1',
18
+ tv_uw_id: 561,
19
+ enum_type_materiaux_menuiserie_id: '3',
20
+ enum_type_baie_id: '4',
21
+ double_fenetre: 0,
22
+ uw_1: 5.4,
23
+ sw_1: 0.52,
24
+ tv_deltar_id: 6,
25
+ tv_ujn_id: 224,
26
+ enum_type_fermeture_id: '7',
27
+ presence_retour_isolation: 0,
28
+ largeur_dormant: 5,
29
+ tv_sw_id: 89,
30
+ enum_type_pose_id: '3',
31
+ enum_orientation_id: '2',
32
+ tv_coef_masque_proche_id: 19,
33
+ masque_lointain_non_homogene_collection: '',
34
+ reference: 'baie_vitree_0',
35
+ tv_coef_reduction_deperdition_id: 1
36
+ },
37
+ donnee_intermediaire: {
38
+ b: 1,
39
+ sw: 0.52,
40
+ ug: 5.8,
41
+ uw: 5.4,
42
+ ujn: 3.8,
43
+ u_menuiserie: 3.8,
44
+ fe2: 1,
45
+ fe1: 1
46
+ }
47
+ };
48
+
49
+ calc_bv(bv, zc);
50
+
51
+ expect(bv.donnee_intermediaire.b).toBe(1);
52
+ expect(bv.donnee_intermediaire.ug).toBe(5.8);
53
+ expect(bv.donnee_intermediaire.uw).toBe(5.4);
54
+ expect(bv.donnee_intermediaire.ujn).toBe(3.8);
55
+ expect(bv.donnee_intermediaire.u_menuiserie).toBe(3.8);
56
+ expect(bv.donnee_intermediaire.sw).toBe(0.52);
57
+ expect(bv.donnee_intermediaire.fe1).toBe(1);
58
+ expect(bv.donnee_intermediaire.fe2).toBe(1);
59
+ });
60
+
61
+ test('calcul de déperdition pour les murs de 2187E0982013C baie 2', () => {
62
+ const zc = 3;
63
+ const bv = {
64
+ donnee_entree: {
65
+ description:
66
+ "Fenêtre 2 Est - Fenêtres battantes bois, orientées Est, double vitrage avec lame d'air 12 mm et volets battants bois",
67
+ enum_type_adjacence_id: '1',
68
+ surface_totale_baie: 2.6,
69
+ nb_baie: 2,
70
+ tv_ug_id: 5,
71
+ enum_type_vitrage_id: '2',
72
+ enum_inclinaison_vitrage_id: '3',
73
+ enum_type_gaz_lame_id: '1',
74
+ epaisseur_lame: 12,
75
+ vitrage_vir: 0,
76
+ enum_methode_saisie_perf_vitrage_id: '1',
77
+ tv_uw_id: 548,
78
+ enum_type_materiaux_menuiserie_id: '3',
79
+ enum_type_baie_id: '4',
80
+ double_fenetre: 0,
81
+ uw_1: 3,
82
+ sw_1: 0.47000000000000003,
83
+ tv_deltar_id: 6,
84
+ tv_ujn_id: 201,
85
+ enum_type_fermeture_id: '7',
86
+ presence_retour_isolation: 0,
87
+ largeur_dormant: 5,
88
+ tv_sw_id: 90,
89
+ enum_type_pose_id: '3',
90
+ enum_orientation_id: '3',
91
+ tv_coef_masque_proche_id: 19,
92
+ masque_lointain_non_homogene_collection: ''
93
+ },
94
+ donnee_intermediaire: {
95
+ b: 1,
96
+ ug: 2.8,
97
+ uw: 3,
98
+ ujn: 2.4,
99
+ u_menuiserie: 2.4,
100
+ sw: 0.47000000000000003,
101
+ fe1: 1,
102
+ fe2: 1
103
+ }
104
+ };
105
+
106
+ calc_bv(bv, zc);
107
+
108
+ expect(bv.donnee_intermediaire.b).toBe(1);
109
+ expect(bv.donnee_intermediaire.ug).toBe(2.8);
110
+ expect(bv.donnee_intermediaire.uw).toBe(3);
111
+ expect(bv.donnee_intermediaire.ujn).toBe(2.4);
112
+ expect(bv.donnee_intermediaire.u_menuiserie).toBe(2.4);
113
+ expect(bv.donnee_intermediaire.sw).toBeCloseTo(0.47000000000000003, PRECISION);
114
+ expect(bv.donnee_intermediaire.fe1).toBe(1);
115
+ expect(bv.donnee_intermediaire.fe2).toBe(1);
116
+ });
117
+
118
+ test('calcul de déperdition pour les murs de 2187E0982013C baie 3', () => {
119
+ const zc = 3;
120
+ const bv = {
121
+ donnee_entree: {
122
+ description:
123
+ "Fenêtre 3 Est - Fenêtres battantes bois, orientées Est, double vitrage avec lame d'air 12 mm et volets battants bois",
124
+ enum_type_adjacence_id: '1',
125
+ surface_totale_baie: 4.5,
126
+ nb_baie: 3,
127
+ tv_ug_id: 5,
128
+ enum_type_vitrage_id: '2',
129
+ enum_inclinaison_vitrage_id: '3',
130
+ enum_type_gaz_lame_id: '1',
131
+ epaisseur_lame: 12,
132
+ vitrage_vir: 0,
133
+ enum_methode_saisie_perf_vitrage_id: '1',
134
+ tv_uw_id: 548,
135
+ enum_type_materiaux_menuiserie_id: '3',
136
+ enum_type_baie_id: '4',
137
+ double_fenetre: 0,
138
+ uw_1: 3,
139
+ sw_1: 0.47000000000000003,
140
+ tv_deltar_id: 6,
141
+ tv_ujn_id: 201,
142
+ enum_type_fermeture_id: '7',
143
+ presence_retour_isolation: 0,
144
+ largeur_dormant: 5,
145
+ tv_sw_id: 90,
146
+ enum_type_pose_id: '3',
147
+ enum_orientation_id: '3',
148
+ tv_coef_masque_proche_id: 19,
149
+ masque_lointain_non_homogene_collection: ''
150
+ },
151
+ donnee_intermediaire: {
152
+ b: 1,
153
+ ug: 2.8,
154
+ uw: 3,
155
+ ujn: 2.4,
156
+ u_menuiserie: 2.4,
157
+ sw: 0.47000000000000003,
158
+ fe1: 1,
159
+ fe2: 1
160
+ }
161
+ };
162
+
163
+ calc_bv(bv, zc);
164
+
165
+ expect(bv.donnee_intermediaire.b).toBe(1);
166
+ expect(bv.donnee_intermediaire.ug).toBe(2.8);
167
+ expect(bv.donnee_intermediaire.uw).toBe(3);
168
+ expect(bv.donnee_intermediaire.ujn).toBe(2.4);
169
+ expect(bv.donnee_intermediaire.u_menuiserie).toBe(2.4);
170
+ expect(bv.donnee_intermediaire.sw).toBeCloseTo(0.47000000000000003, PRECISION);
171
+ expect(bv.donnee_intermediaire.fe1).toBe(1);
172
+ expect(bv.donnee_intermediaire.fe2).toBe(1);
173
+ });
174
+
175
+ test('calcul de déperdition pour les murs de 2187E0982013C baie 4', () => {
176
+ const zc = 3;
177
+ const bv = {
178
+ donnee_entree: {
179
+ description:
180
+ "Fenêtre 4 Ouest - Fenêtres battantes bois, orientées Ouest, double vitrage avec lame d'air 12 mm et volets battants bois",
181
+ enum_type_adjacence_id: '1',
182
+ surface_totale_baie: 3.84,
183
+ nb_baie: 4,
184
+ tv_ug_id: 5,
185
+ enum_type_vitrage_id: '2',
186
+ enum_inclinaison_vitrage_id: '3',
187
+ enum_type_gaz_lame_id: '1',
188
+ epaisseur_lame: 12,
189
+ vitrage_vir: 0,
190
+ enum_methode_saisie_perf_vitrage_id: '1',
191
+ tv_uw_id: 548,
192
+ enum_type_materiaux_menuiserie_id: '3',
193
+ enum_type_baie_id: '4',
194
+ double_fenetre: 0,
195
+ uw_1: 3,
196
+ sw_1: 0.47000000000000003,
197
+ tv_deltar_id: 6,
198
+ tv_ujn_id: 201,
199
+ enum_type_fermeture_id: '7',
200
+ presence_retour_isolation: 0,
201
+ largeur_dormant: 5,
202
+ tv_sw_id: 90,
203
+ enum_type_pose_id: '3',
204
+ enum_orientation_id: '4',
205
+ tv_coef_masque_proche_id: 19,
206
+ masque_lointain_non_homogene_collection: ''
207
+ },
208
+ donnee_intermediaire: {
209
+ b: 1,
210
+ ug: 2.8,
211
+ uw: 3,
212
+ ujn: 2.4,
213
+ u_menuiserie: 2.4,
214
+ sw: 0.47000000000000003,
215
+ fe1: 1,
216
+ fe2: 1
217
+ }
218
+ };
219
+
220
+ calc_bv(bv, zc);
221
+
222
+ expect(bv.donnee_intermediaire.b).toBe(1);
223
+ expect(bv.donnee_intermediaire.ug).toBe(2.8);
224
+ expect(bv.donnee_intermediaire.uw).toBe(3);
225
+ expect(bv.donnee_intermediaire.ujn).toBe(2.4);
226
+ expect(bv.donnee_intermediaire.u_menuiserie).toBe(2.4);
227
+ expect(bv.donnee_intermediaire.sw).toBeCloseTo(0.47000000000000003, PRECISION);
228
+ expect(bv.donnee_intermediaire.fe1).toBe(1);
229
+ expect(bv.donnee_intermediaire.fe2).toBe(1);
230
+ });
231
+
232
+ test('calcul de déperdition pour les murs de 2187E0982013C baie 5', () => {
233
+ const zc = 3;
234
+ const bv = {
235
+ donnee_entree: {
236
+ description:
237
+ "Fenêtre 5 Ouest - Fenêtres battantes bois, orientées Ouest, double vitrage avec lame d'air 12 mm",
238
+ enum_type_adjacence_id: '1',
239
+ surface_totale_baie: 0.4,
240
+ nb_baie: 1,
241
+ tv_ug_id: 5,
242
+ enum_type_vitrage_id: '2',
243
+ enum_inclinaison_vitrage_id: '3',
244
+ enum_type_gaz_lame_id: '1',
245
+ epaisseur_lame: 12,
246
+ vitrage_vir: 0,
247
+ enum_methode_saisie_perf_vitrage_id: '1',
248
+ tv_uw_id: 548,
249
+ enum_type_materiaux_menuiserie_id: '3',
250
+ enum_type_baie_id: '4',
251
+ double_fenetre: 0,
252
+ uw_1: 3,
253
+ sw_1: 0.47000000000000003,
254
+ enum_type_fermeture_id: '1',
255
+ presence_retour_isolation: 0,
256
+ largeur_dormant: 5,
257
+ tv_sw_id: 90,
258
+ enum_type_pose_id: '3',
259
+ enum_orientation_id: '4',
260
+ tv_coef_masque_proche_id: 19,
261
+ masque_lointain_non_homogene_collection: ''
262
+ },
263
+ donnee_intermediaire: {
264
+ b: 1,
265
+ ug: 2.8,
266
+ uw: 3,
267
+ u_menuiserie: 3,
268
+ sw: 0.47000000000000003,
269
+ fe1: 1,
270
+ fe2: 1
271
+ }
272
+ };
273
+
274
+ calc_bv(bv, zc);
275
+
276
+ expect(bv.donnee_intermediaire.b).toBe(1);
277
+ expect(bv.donnee_intermediaire.ug).toBe(2.8);
278
+ expect(bv.donnee_intermediaire.uw).toBe(3);
279
+ expect(bv.donnee_intermediaire.u_menuiserie).toBe(3);
280
+ expect(bv.donnee_intermediaire.sw).toBeCloseTo(0.47000000000000003, PRECISION);
281
+ expect(bv.donnee_intermediaire.fe1).toBe(1);
282
+ expect(bv.donnee_intermediaire.fe2).toBe(1);
283
+ });
284
+
285
+ test('calcul de déperdition pour les murs de 2187E0982013C baie 6', () => {
286
+ const zc = 3;
287
+ const bv = {
288
+ donnee_entree: {
289
+ description: 'Fenêtre 6 Ouest - Fenêtres battantes bois, orientées Ouest, simple vitrage',
290
+ enum_type_adjacence_id: '1',
291
+ surface_totale_baie: 0.16,
292
+ nb_baie: 1,
293
+ tv_ug_id: 1,
294
+ enum_type_vitrage_id: '1',
295
+ enum_inclinaison_vitrage_id: '3',
296
+ enum_methode_saisie_perf_vitrage_id: '1',
297
+ tv_uw_id: 562,
298
+ enum_type_materiaux_menuiserie_id: '3',
299
+ enum_type_baie_id: '4',
300
+ double_fenetre: 0,
301
+ uw_1: 5.4,
302
+ sw_1: 0.52,
303
+ enum_type_fermeture_id: '1',
304
+ presence_retour_isolation: 0,
305
+ largeur_dormant: 5,
306
+ tv_sw_id: 89,
307
+ enum_type_pose_id: '3',
308
+ enum_orientation_id: '4',
309
+ tv_coef_masque_proche_id: 19,
310
+ masque_lointain_non_homogene_collection: ''
311
+ },
312
+ donnee_intermediaire: {
313
+ b: 1,
314
+ ug: 5.8,
315
+ uw: 5.4,
316
+ u_menuiserie: 5.4,
317
+ sw: 0.52,
318
+ fe1: 1,
319
+ fe2: 1
320
+ }
321
+ };
322
+
323
+ calc_bv(bv, zc);
324
+
325
+ expect(bv.donnee_intermediaire.b).toBe(1);
326
+ expect(bv.donnee_intermediaire.ug).toBe(5.8);
327
+ expect(bv.donnee_intermediaire.uw).toBe(5.4);
328
+ expect(bv.donnee_intermediaire.u_menuiserie).toBe(5.4);
329
+ expect(bv.donnee_intermediaire.sw).toBe(0.52);
330
+ expect(bv.donnee_intermediaire.fe1).toBe(1);
331
+ expect(bv.donnee_intermediaire.fe2).toBe(1);
332
+ });
333
+ });