@open3cl/engine 1.3.0 → 1.3.2
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.
- package/6.2_surface_sud_equivalente.js +61 -62
- package/9_conso_ch.js +0 -45
- package/README.md +16 -10
- package/package.json +1 -1
|
@@ -3,78 +3,77 @@ import tvs from './tv.js';
|
|
|
3
3
|
import { mois_liste } from './utils.js';
|
|
4
4
|
|
|
5
5
|
export function calc_sse_j(bv_list, ets, ca, zc, mois) {
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
6
|
+
const baiesAdjVeranda = bv_list.filter((bv) => bv.donnee_entree.enum_type_adjacence_id === '10');
|
|
7
|
+
const baiesAdjExt = bv_list.filter((bv) => bv.donnee_entree.enum_type_adjacence_id === '1');
|
|
8
|
+
|
|
9
|
+
if (!ets) {
|
|
10
|
+
return baiesAdjExt.reduce((acc, bv) => {
|
|
11
|
+
return acc + getSsd(bv, zc, mois, bv.donnee_intermediaire.sw);
|
|
12
|
+
}, 0);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Certaines vérandas sont dupliqués dans les DPE.
|
|
16
|
+
if (Array.isArray(ets)) {
|
|
17
|
+
ets = ets[0];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const bver = ets.donnee_intermediaire.bver;
|
|
21
|
+
const T = ets.donnee_intermediaire.coef_transparence_ets;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Surface sud équivalente représentant les apports solaires indirects dans le logement
|
|
25
|
+
*/
|
|
26
|
+
let baies = ets.baie_ets_collection.baie_ets;
|
|
27
|
+
|
|
28
|
+
if (!Array.isArray(baies)) {
|
|
29
|
+
baies = [baies];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Surface sud équivalente représentant l’impact des apports solaires associés au rayonnement solaire
|
|
34
|
+
* traversant directement l’espace tampon pour arriver dans la partie habitable du logement
|
|
35
|
+
* Calculés pour les baies vitrées qui séparent le logement de l'espace tampon
|
|
36
|
+
* @type {number}
|
|
37
|
+
*/
|
|
38
|
+
const Ssdj =
|
|
39
|
+
T *
|
|
40
|
+
baiesAdjVeranda.reduce((acc, bv) => {
|
|
22
41
|
/**
|
|
23
42
|
* Surface sud équivalente représentant l’impact des apports solaires associés au rayonnement solaire
|
|
24
43
|
* traversant directement l’espace tampon pour arriver dans la partie habitable du logement
|
|
25
44
|
* Calculés pour les baies vitrées qui séparent le logement de l'espace tampon
|
|
26
45
|
* @type {number}
|
|
27
46
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
baies = [baies];
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
const Sstj = baies.reduce((acc, bv) => {
|
|
42
|
-
return acc + getSsd(bv, zc, mois, 0.8 * T + 0.024);
|
|
43
|
-
}, 0);
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Surface sud équivalente représentant l’impact des apports solaires associés au rayonnement
|
|
47
|
-
* solaire entrant dans la partie habitable du logement après de multiples réflexions dans l’espace tampon solarisé
|
|
48
|
-
* @type {number}
|
|
49
|
-
*/
|
|
50
|
-
const Ssindj = Sstj - Ssdj;
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Impact de l’espace tampon solarisé sur les apports solaires à travers les baies vitrées qui séparent le logement
|
|
54
|
-
* de l'espace tampon
|
|
55
|
-
* @type {number}
|
|
56
|
-
*/
|
|
57
|
-
const SseVerandaj = Ssdj + Ssindj * bver;
|
|
58
|
-
|
|
59
|
-
return acc + SseVerandaj;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Pour les fenêtres qui ne donnent pas sur l'extérieur, pas de surface sud équivalente
|
|
63
|
-
if (typeAdjacence !== 1) {
|
|
64
|
-
return acc;
|
|
65
|
-
}
|
|
47
|
+
return acc + getSsd(bv, zc, mois, bv.donnee_intermediaire.sw);
|
|
48
|
+
}, 0);
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* 6.3 Traitement des espaces tampons solarisés
|
|
52
|
+
* 10 - 'espace tampon solarisé (véranda,loggia fermée)'
|
|
53
|
+
*/
|
|
54
|
+
const Sstj = baies.reduce((acc, bv) => {
|
|
55
|
+
return acc + getSsd(bv, zc, mois, 0.8 * T + 0.024);
|
|
56
|
+
}, 0);
|
|
66
57
|
|
|
58
|
+
/**
|
|
59
|
+
* Surface sud équivalente représentant l’impact des apports solaires associés au rayonnement
|
|
60
|
+
* solaire entrant dans la partie habitable du logement après de multiples réflexions dans l’espace tampon solarisé
|
|
61
|
+
* @type {number}
|
|
62
|
+
*/
|
|
63
|
+
const ssIndj = Sstj - Ssdj;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Impact de l’espace tampon solarisé sur les apports solaires à travers les baies vitrées qui séparent le logement
|
|
67
|
+
* de l'espace tampon
|
|
68
|
+
* @type {number}
|
|
69
|
+
*/
|
|
70
|
+
const SseVerandaj = Ssdj + ssIndj * bver;
|
|
71
|
+
|
|
72
|
+
const sseBaiesExt = baiesAdjExt.reduce((acc, bv) => {
|
|
67
73
|
return acc + getSsd(bv, zc, mois, bv.donnee_intermediaire.sw);
|
|
68
74
|
}, 0);
|
|
69
|
-
return ssej;
|
|
70
|
-
}
|
|
71
75
|
|
|
72
|
-
|
|
73
|
-
* Retourne la liste des baies vitrées qui donnent sur l'espace tampon solarisé
|
|
74
|
-
* @param baiesVitrees {BaieVitreeItem[]}
|
|
75
|
-
*/
|
|
76
|
-
function getBaiesSurEspaceTampon(baiesVitrees) {
|
|
77
|
-
return baiesVitrees.filter((bv) => bv.donnee_entree.enum_type_adjacence_id === '10');
|
|
76
|
+
return sseBaiesExt + SseVerandaj;
|
|
78
77
|
}
|
|
79
78
|
|
|
80
79
|
/**
|
package/9_conso_ch.js
CHANGED
|
@@ -115,10 +115,6 @@ export function conso_ch(
|
|
|
115
115
|
);
|
|
116
116
|
break;
|
|
117
117
|
}
|
|
118
|
-
case 'installation de chauffage avec chaudière en relève de pac avec insert ou poêle bois en appoint': {
|
|
119
|
-
calc_ch_pac_insert_bois(di, de, em_list, _pos, bch, GV, Sh, hsp, gen_ch_list);
|
|
120
|
-
break;
|
|
121
|
-
}
|
|
122
118
|
default: {
|
|
123
119
|
const hasMultipleEmetteur = em_filt.length > 1;
|
|
124
120
|
|
|
@@ -253,44 +249,3 @@ function calc_ch_base_appoint(
|
|
|
253
249
|
di.conso_ch = Math.max(di.conso_ch, 0);
|
|
254
250
|
}
|
|
255
251
|
}
|
|
256
|
-
|
|
257
|
-
/**
|
|
258
|
-
* 9.7 Installation de chauffage avec chaudière en relève de PAC avec insert ou
|
|
259
|
-
* poêle bois en appoint
|
|
260
|
-
*
|
|
261
|
-
* @param di {Donnee_intermediaire}
|
|
262
|
-
* @param de {Donnee_entree}
|
|
263
|
-
* @param em_list {EmetteurChauffageItem[]}
|
|
264
|
-
* @param bch {number}
|
|
265
|
-
* @param _pos {number}
|
|
266
|
-
* @param GV {number}
|
|
267
|
-
* @param Sh {number}
|
|
268
|
-
* @param hsp {number}
|
|
269
|
-
* @param gen_ch_list {GenerateurChauffageItem[]}
|
|
270
|
-
*/
|
|
271
|
-
function calc_ch_pac_insert_bois(di, de, em_list, _pos, bch, GV, Sh, hsp, gen_ch_list) {
|
|
272
|
-
if (bch > 0) {
|
|
273
|
-
const Ich1 = 1 / (gen_ch_list[0].donnee_intermediaire.rendement_generation || 1);
|
|
274
|
-
const Ich2 = 1 / (gen_ch_list[1].donnee_intermediaire.rendement_generation || 1);
|
|
275
|
-
const Ich3 = 1 / (gen_ch_list[2].donnee_intermediaire.rendement_generation || 1);
|
|
276
|
-
|
|
277
|
-
em_list.forEach((em) => {
|
|
278
|
-
const ratio_s_em = em.donnee_entree.surface_chauffee / de.surface_chauffee;
|
|
279
|
-
const Int = calc_intermittence(GV, Sh, hsp, em.donnee_intermediaire.i0);
|
|
280
|
-
const Rend = rendement_emission(em);
|
|
281
|
-
|
|
282
|
-
if (em.donnee_entree.enum_lien_generateur_emetteur_id === '1' && (_pos === 0 || _pos === 1)) {
|
|
283
|
-
if (_pos === 0) {
|
|
284
|
-
di.conso_ch = (ratio_s_em * Ich1 * bch * Int * 0.8 * 0.75) / Rend;
|
|
285
|
-
}
|
|
286
|
-
if (_pos === 1) {
|
|
287
|
-
di.conso_ch = (ratio_s_em * Ich2 * bch * Int * 0.8 * 0.25) / Rend;
|
|
288
|
-
}
|
|
289
|
-
} else if (_pos === 2) {
|
|
290
|
-
di.conso_ch = ratio_s_em * ((Ich3 * bch * Int * 0.25) / Rend);
|
|
291
|
-
}
|
|
292
|
-
});
|
|
293
|
-
|
|
294
|
-
console.log(di.conso_ch);
|
|
295
|
-
}
|
|
296
|
-
}
|
package/README.md
CHANGED
|
@@ -166,16 +166,22 @@ deperdition_mur,
|
|
|
166
166
|
|
|
167
167
|
Résultats des tests de corpus avec le mode de compatibilité activé.
|
|
168
168
|
|
|
169
|
-
| Version librairie
|
|
170
|
-
|
|
|
171
|
-
| 1.2.3
|
|
172
|
-
| 1.2.3
|
|
173
|
-
| 1.2.3
|
|
174
|
-
| 1.2.3
|
|
175
|
-
|
|
|
176
|
-
| 1.2.8
|
|
177
|
-
| 1.2.8
|
|
178
|
-
| 1.2.8
|
|
169
|
+
| Version librairie | corpus | Taux d'erreur | Nb de DPES analysés | Nb en dessous du taux d'erreur | Taux de réussite | Détail des valeurs |
|
|
170
|
+
| :----------------- | :------------------------------------- | :------------- | --------------------- | -------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------- |
|
|
171
|
+
| 1.2.3 | corpus_dpe.csv | 5% | 9980 | 4489 | 45% | |
|
|
172
|
+
| 1.2.3 | dpe_immeuble_chauffage_individuel.csv | 5% | 9998 | 3257 | 32% | |
|
|
173
|
+
| 1.2.3 | dpe_immeuble_chauffage_collectif.csv | 5% | 10000 | 5279 | 53% | |
|
|
174
|
+
| 1.2.3 | dpe_immeuble_chauffage_mixte.csv | 5% | 10000 | 2728 | 27% | |
|
|
175
|
+
| ------------------ | -------------------------------------- | -------------- | --------------------- | -------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------- |
|
|
176
|
+
| 1.2.8 | corpus_dpe.csv | 5% | 9980 | 4489 | 45% | |
|
|
177
|
+
| 1.2.8 | dpe_immeuble_chauffage_individuel.csv | 5% | 9998 | 5275 (+2018) | 53% (+21%) | |
|
|
178
|
+
| 1.2.8 | dpe_immeuble_chauffage_collectif.csv | 5% | 10000 | 5747 (+468) | 57% (+4%) | |
|
|
179
|
+
| 1.2.8 | dpe_immeuble_chauffage_mixte.csv | 5% | 10000 | 3142 (+414) | 31% (+4%) | |
|
|
180
|
+
| ------------------ | -------------------------------------- | -------------- | --------------------- | -------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------- |
|
|
181
|
+
| 1.3.1 | corpus_dpe.csv | 5% | 9980 | 4508 (+19) | 45% | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=corpus_dpe.csv) |
|
|
182
|
+
| 1.3.1 | dpe_immeuble_chauffage_individuel.csv | 5% | 9998 | 5459 (+184) | 55% (+2%) | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_individuel.csv) |
|
|
183
|
+
| 1.3.1 | dpe_immeuble_chauffage_collectif.csv | 5% | 10000 | 5848 (+101) | 58% (+1%) | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_collectif.csv) |
|
|
184
|
+
| 1.3.1 | dpe_immeuble_chauffage_mixte.csv | 5% | 10000 | 4018 (+876) | 40% (+9%) | [Voir le détail](https://open3cl.github.io/engine/reports/corpus?corpus_file=dpe_immeuble_chauffage_mixte.csv) |
|
|
179
185
|
|
|
180
186
|
## Roadmap
|
|
181
187
|
|