@open3cl/engine 1.1.2 → 1.2.1
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/16.2_production_enr.js +1 -1
- package/3.2.1_mur.js +2 -2
- package/3.2.2_plancher_bas.js +1 -1
- package/3.2.3_plancher_haut.js +1 -1
- package/3_deperdition.js +12 -8
- package/6.2_surface_sud_equivalente.js +1 -1
- package/conso.js +2 -2
- package/engine.js +27 -1
- package/ficheTechnique.js +1 -1
- package/index.js +2 -2
- package/package.json +1 -1
package/16.2_production_enr.js
CHANGED
|
@@ -36,7 +36,7 @@ export class ProductionENR {
|
|
|
36
36
|
conso_elec_ac_autre_usage: 0
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
-
if (productionElecEnr && productionElecEnr.donnee_entree
|
|
39
|
+
if (productionElecEnr && productionElecEnr.donnee_entree?.presence_production_pv === 1) {
|
|
40
40
|
// Calcul de l'électricité auto-consommée pour chaque enveloppe
|
|
41
41
|
this.calculateConsoElecAc(productionElectricite, productionElecEnr, conso, zc_id, th, Sh);
|
|
42
42
|
|
package/3.2.1_mur.js
CHANGED
|
@@ -320,8 +320,8 @@ function checkDoublageWithMinUmur0(type_doublage, di, de, umur0_avant, umur_avan
|
|
|
320
320
|
}
|
|
321
321
|
|
|
322
322
|
if (
|
|
323
|
-
umur0_avant
|
|
324
|
-
umur_avant
|
|
323
|
+
umur0_avant?.toFixed(3) === umur0Doublage?.toFixed(3) ||
|
|
324
|
+
umur_avant?.toFixed(3) === umur0Doublage?.toFixed(3)
|
|
325
325
|
) {
|
|
326
326
|
console.error(`
|
|
327
327
|
Le calcul Umur0 pour le mur ${de.description} utilise Umur0 minoré à 2.5 pour l'application du doublage alors qu'il est de ${di.umur0}.
|
package/3.2.2_plancher_bas.js
CHANGED
|
@@ -138,7 +138,7 @@ export default function calc_pb(pb, zc, pc_id, effetJoule, pb_list) {
|
|
|
138
138
|
const de = pb.donnee_entree;
|
|
139
139
|
const du = {};
|
|
140
140
|
const di = {};
|
|
141
|
-
di.upb0 = pb.donnee_intermediaire
|
|
141
|
+
di.upb0 = pb.donnee_intermediaire?.upb0;
|
|
142
142
|
|
|
143
143
|
b(di, de, du, zc);
|
|
144
144
|
|
package/3.2.3_plancher_haut.js
CHANGED
package/3_deperdition.js
CHANGED
|
@@ -106,8 +106,8 @@ function verifyMursEquality(calculatedMurs, declaredMurs) {
|
|
|
106
106
|
const uMurForDeclaredMurs = declaredMurs.map(
|
|
107
107
|
(declaredMur) =>
|
|
108
108
|
declaredMur.donnee_entree.surface_paroi_opaque *
|
|
109
|
-
declaredMur.donnee_intermediaire
|
|
110
|
-
declaredMur.donnee_intermediaire
|
|
109
|
+
declaredMur.donnee_intermediaire?.umur *
|
|
110
|
+
declaredMur.donnee_intermediaire?.b
|
|
111
111
|
);
|
|
112
112
|
|
|
113
113
|
return (
|
|
@@ -124,6 +124,15 @@ function verifyMursEquality(calculatedMurs, declaredMurs) {
|
|
|
124
124
|
* @return {number}
|
|
125
125
|
*/
|
|
126
126
|
function totalDeperditionPontThermique(dpe, calculatedPontsThermiques, declaredPontsThermiques) {
|
|
127
|
+
const calculatedDeperditionPT = calculatedPontsThermiques.reduce(
|
|
128
|
+
(acc, pt) => acc + Upt(pt) || 0,
|
|
129
|
+
0
|
|
130
|
+
);
|
|
131
|
+
|
|
132
|
+
if (!dpe.logement.sortie?.deperdition?.deperdition_pont_thermique) {
|
|
133
|
+
return calculatedDeperditionPT;
|
|
134
|
+
}
|
|
135
|
+
|
|
127
136
|
// Total déclaré des déperditions des ponts thermiques
|
|
128
137
|
const declaredDeperditionPT = dpe.logement.sortie.deperdition.deperdition_pont_thermique;
|
|
129
138
|
|
|
@@ -136,11 +145,6 @@ function totalDeperditionPontThermique(dpe, calculatedPontsThermiques, declaredP
|
|
|
136
145
|
declaredPontsThermiques
|
|
137
146
|
);
|
|
138
147
|
|
|
139
|
-
const calculatedDeperditionPT = calculatedPontsThermiques.reduce(
|
|
140
|
-
(acc, pt) => acc + Upt(pt) || 0,
|
|
141
|
-
0
|
|
142
|
-
);
|
|
143
|
-
|
|
144
148
|
/**
|
|
145
149
|
* Si individuellement les ponts thermiques déclarés et calculés sont identiques, la déperdition totale devrait l'être également
|
|
146
150
|
* Pour certains DPE, il réside une différence que l'on prendra en compte pour la suite des calculs.
|
|
@@ -164,7 +168,7 @@ function totalDeperditionPontThermique(dpe, calculatedPontsThermiques, declaredP
|
|
|
164
168
|
*/
|
|
165
169
|
function totalDeperditionMurs(dpe, calculatedMurs, declaredMurs) {
|
|
166
170
|
// Total déclaré des déperditions des murs
|
|
167
|
-
const declaredDeperditionMurs = dpe.logement.sortie
|
|
171
|
+
const declaredDeperditionMurs = dpe.logement.sortie?.deperdition?.deperdition_mur;
|
|
168
172
|
|
|
169
173
|
/**
|
|
170
174
|
* Comparaison des valeurs intermédiaires calculées et déclarées pour chacun des murs
|
|
@@ -95,7 +95,7 @@ function getSsd(bv, zc, mois, coeff) {
|
|
|
95
95
|
const orientation = enums.orientation[de.enum_orientation_id];
|
|
96
96
|
const inclinaison = enums.inclinaison_vitrage[de.enum_inclinaison_vitrage_id ?? 3];
|
|
97
97
|
let oi = `${orientation} ${inclinaison}`;
|
|
98
|
-
if (inclinaison === 'horizontal') oi = 'horizontal';
|
|
98
|
+
if (orientation === 'horizontal' || inclinaison === 'horizontal') oi = 'horizontal';
|
|
99
99
|
const c1j = c1[zc][mois][oi];
|
|
100
100
|
|
|
101
101
|
const fe1 = di.fe1 ?? 1;
|
package/conso.js
CHANGED
|
@@ -295,7 +295,7 @@ export default function calc_conso(
|
|
|
295
295
|
return ret;
|
|
296
296
|
}
|
|
297
297
|
|
|
298
|
-
function classe_bilan_dpe(ep_conso_5_usages_m2, zc_id, ca_id, Sh) {
|
|
298
|
+
export function classe_bilan_dpe(ep_conso_5_usages_m2, zc_id, ca_id, Sh) {
|
|
299
299
|
const ca = enums.classe_altitude[ca_id];
|
|
300
300
|
|
|
301
301
|
const cut = tvs.dpe_class_limit[ca][Math.round(Sh)] ?? [];
|
|
@@ -318,7 +318,7 @@ function classe_bilan_dpe(ep_conso_5_usages_m2, zc_id, ca_id, Sh) {
|
|
|
318
318
|
return 'G';
|
|
319
319
|
}
|
|
320
320
|
|
|
321
|
-
function classe_emission_ges(emission_ges_5_usages_m2, zc_id, ca_id, Sh) {
|
|
321
|
+
export function classe_emission_ges(emission_ges_5_usages_m2, zc_id, ca_id, Sh) {
|
|
322
322
|
const ca = enums.classe_altitude[ca_id];
|
|
323
323
|
|
|
324
324
|
const cut = tvs.ges_class_limit[ca][Math.round(Sh)] ?? [];
|
package/engine.js
CHANGED
|
@@ -7,7 +7,7 @@ import calc_besoin_ch from './9_besoin_ch.js';
|
|
|
7
7
|
import calc_chauffage, { tauxChargeForGenerator } from './9_chauffage.js';
|
|
8
8
|
import calc_confort_ete from './2021_04_13_confort_ete.js';
|
|
9
9
|
import calc_qualite_isolation from './2021_04_13_qualite_isolation.js';
|
|
10
|
-
import calc_conso from './conso.js';
|
|
10
|
+
import calc_conso, { classe_bilan_dpe, classe_emission_ges } from './conso.js';
|
|
11
11
|
import {
|
|
12
12
|
add_references,
|
|
13
13
|
bug_for_bug_compat,
|
|
@@ -492,3 +492,29 @@ export function calcul_3cl(dpe) {
|
|
|
492
492
|
|
|
493
493
|
return dpe;
|
|
494
494
|
}
|
|
495
|
+
|
|
496
|
+
/**
|
|
497
|
+
* Retourne les classes calculées ges dpe.
|
|
498
|
+
* @param dpe {FullDpe}
|
|
499
|
+
* @returns {{dpeClass: string, gesClass: string}}
|
|
500
|
+
*/
|
|
501
|
+
export function get_classe_ges_dpe(dpe) {
|
|
502
|
+
const zc_id = dpe.logement.meteo.enum_zone_climatique_id;
|
|
503
|
+
const ca_id = dpe.logement.meteo.enum_classe_altitude_id;
|
|
504
|
+
const th = calc_th(dpe.logement.caracteristique_generale.enum_methode_application_dpe_log_id);
|
|
505
|
+
|
|
506
|
+
let Sh;
|
|
507
|
+
if (th === 'maison' || th === 'appartement')
|
|
508
|
+
Sh = dpe.logement.caracteristique_generale.surface_habitable_logement;
|
|
509
|
+
else if (th === 'immeuble') Sh = dpe.logement.caracteristique_generale.surface_habitable_immeuble;
|
|
510
|
+
|
|
511
|
+
return {
|
|
512
|
+
dpeClass: classe_bilan_dpe(dpe.logement.sortie.ep_conso.ep_conso_5_usages_m2, zc_id, ca_id, Sh),
|
|
513
|
+
gesClass: classe_emission_ges(
|
|
514
|
+
dpe.logement.sortie.emission_ges.emission_ges_5_usages_m2,
|
|
515
|
+
zc_id,
|
|
516
|
+
ca_id,
|
|
517
|
+
Sh
|
|
518
|
+
)
|
|
519
|
+
};
|
|
520
|
+
}
|
package/ficheTechnique.js
CHANGED
|
@@ -16,7 +16,7 @@ export default function getFicheTechnique(
|
|
|
16
16
|
field = 'description'
|
|
17
17
|
) {
|
|
18
18
|
/** @type {FicheTechniqueItem[]} */
|
|
19
|
-
let fichesTechniques = dpe.fiche_technique_collection
|
|
19
|
+
let fichesTechniques = dpe.fiche_technique_collection?.fiche_technique || [];
|
|
20
20
|
|
|
21
21
|
if (!Array.isArray(fichesTechniques)) {
|
|
22
22
|
fichesTechniques = [fichesTechniques];
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { calcul_3cl } from './engine.js';
|
|
2
|
-
export { calcul_3cl };
|
|
1
|
+
import { calcul_3cl, get_classe_ges_dpe } from './engine.js';
|
|
2
|
+
export { calcul_3cl, get_classe_ges_dpe };
|
|
3
3
|
import { Umur, Uph, Upb, Uporte, Ubv, Upt } from './3_deperdition.js';
|
|
4
4
|
export { Umur, Uph, Upb, Uporte, Ubv, Upt };
|