@open3cl/engine 1.11.2 → 1.11.4
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/10_besoin_fr.spec.js +1 -1
- package/10_clim.js +1 -1
- package/10_clim.spec.js +5 -9
- package/11_besoin_ecs.spec.js +1 -1
- package/11_ecs.js +2 -1
- package/11_ecs.spec.js +2 -2
- package/11_nadeq.js +1 -0
- package/11_nadeq.spec.js +1 -1
- package/11_rdim_ecs_individuelle_unique.js +78 -0
- package/11_rdim_ecs_individuelle_unique.spec.js +136 -0
- package/12.4_pac.js +5 -3
- package/12.4_pac.spec.js +10 -18
- package/13.2_generateur_combustion.js +19 -16
- package/13.2_generateur_combustion.spec.js +10 -10
- package/13.2_generateur_combustion_bouilleur.js +5 -2
- package/13.2_generateur_combustion_bouilleur.spec.js +1 -1
- package/13.2_generateur_combustion_ch.js +8 -7
- package/13.2_generateur_combustion_ch.spec.js +7 -7
- package/13.2_generateur_combustion_chaudiere.js +5 -2
- package/13.2_generateur_combustion_chaudiere.spec.js +2 -2
- package/13.2_generateur_combustion_pdim.js +6 -6
- package/13.2_generateur_combustion_pdim.spec.js +1 -1
- package/13.2_generateur_combustion_pn.spec.js +1 -1
- package/13.2_generateur_pac.js +4 -1
- package/13.2_generateur_pac.spec.js +1 -1
- package/13_rendement_distribution_ecs.spec.js +1 -1
- package/14_generateur_ecs.js +2 -1
- package/14_generateur_ecs.spec.js +4 -4
- package/15_conso_aux.js +19 -17
- package/15_conso_aux.spec.js +8 -8
- package/16.2_production_enr.js +4 -3
- package/16.2_production_enr.spec.js +1 -1
- package/16_conso_eclairage.spec.js +1 -1
- package/2021_04_13_confort_ete.spec.js +1 -1
- package/2021_04_13_qualite_isolation.js +1 -1
- package/2021_04_13_qualite_isolation.spec.js +2 -2
- package/3.1_b.spec.js +1 -1
- package/3.2.1_mur.js +10 -9
- package/3.2.1_mur.spec.js +11 -19
- package/3.2.2_plancher_bas.js +4 -3
- package/3.2.2_plancher_bas.spec.js +10 -20
- package/3.2.3_plancher_haut.js +1 -1
- package/3.2.3_plancher_haut.spec.js +2 -2
- package/3.3.1.4_porte.js +1 -1
- package/3.3.1.4_porte.spec.js +2 -2
- package/3.3_baie_vitree.js +2 -2
- package/3.3_baie_vitree.spec.js +3 -3
- package/3.4_pont_thermique.js +6 -4
- package/3.4_pont_thermique.spec.js +7 -7
- package/3_deperdition.js +1 -0
- package/3_deperdition.spec.js +3 -3
- package/4_ventilation.js +2 -2
- package/4_ventilation.spec.js +1 -1
- package/5_conso_ventilation.spec.js +1 -1
- package/6.1_apport_gratuit.spec.js +2 -2
- package/6.2_surface_sud_equivalente.js +12 -9
- package/6.2_surface_sud_equivalente.spec.js +3 -3
- package/7_inertie.js +7 -4
- package/7_inertie.spec.js +1 -1
- package/8_intermittence.spec.js +1 -1
- package/9_besoin_ch.js +5 -3
- package/9_besoin_ch.spec.js +3 -3
- package/9_chauffage.js +12 -11
- package/9_chauffage.spec.js +7 -7
- package/9_conso_ch.spec.js +3 -3
- package/9_emetteur_ch.js +5 -5
- package/9_emetteur_ch.spec.js +1 -1
- package/9_generateur_ch.js +16 -13
- package/9_generateur_ch.spec.js +6 -6
- package/README.md +19 -19
- package/apport_et_besoin.spec.js +1 -1
- package/conso.js +18 -14
- package/conso.spec.js +3 -3
- package/core/assets/domain/synchronize-assets.js +2 -0
- package/core/assets/domain/synchronize-c1-tables.js +2 -0
- package/core/assets/domain/synchronize-dpe-ges-limit-values-tables.js +2 -0
- package/core/assets/domain/synchronize-enum-tables.js +2 -0
- package/core/assets/domain/synchronize-solicitations-tables.js +2 -0
- package/core/assets/domain/synchronize-valeur-tables.js +6 -0
- package/core/file/infrastructure/adapter/csv-parser.store.js +2 -1
- package/dpe-sanitizer.service.js +1 -0
- package/engine.js +11 -2
- package/engine.spec.js +23 -2
- package/enums.d.ts +1257 -0
- package/features/dpe/domain/models/baie-ets.model.ts +8 -11
- package/features/dpe/domain/models/baie-vitree.model.ts +28 -96
- package/features/dpe/domain/models/climatisation.model.ts +13 -23
- package/features/dpe/domain/models/dpe-xsd.generated.ts +2797 -0
- package/features/dpe/domain/models/dpe.model.ts +105 -181
- package/features/dpe/domain/models/ets.model.ts +10 -18
- package/features/dpe/domain/models/installation-chauffage.model.ts +92 -99
- package/features/dpe/domain/models/installation-ecs.model.ts +45 -77
- package/features/dpe/domain/models/mur.model.ts +10 -38
- package/features/dpe/domain/models/plancher.model.ts +22 -63
- package/features/dpe/domain/models/pont-thermique.model.ts +10 -20
- package/features/dpe/domain/models/porte.model.ts +10 -30
- package/features/dpe/domain/models/production-elec-enr.model.ts +13 -27
- package/features/dpe/domain/models/sortie.model.ts +32 -176
- package/features/dpe/domain/models/type-generateur.model.js +4 -3
- package/features/dpe/domain/models/type-habitation.model.js +8 -6
- package/features/dpe/domain/models/type-stockage.model.js +4 -3
- package/features/dpe/domain/models/type-ventilation.model.js +4 -3
- package/features/dpe/domain/models/ventilation.model.ts +15 -25
- package/features/dpe/infrastructure/ch/chTv.store.js +2 -2
- package/features/dpe/infrastructure/ecs/ecsTv.store.js +3 -3
- package/features/dpe/infrastructure/enveloppe/baieVitreeTv.store.js +1 -1
- package/features/dpe/infrastructure/froid/frTv.store.js +3 -3
- package/features/dpe/infrastructure/froid/frTv.store.spec.js +1 -1
- package/features/dpe/infrastructure/tv.store.js +1 -1
- package/features/engine/domain/apport_et_besoin/apport-et-besoin.service.js +3 -0
- package/features/engine/domain/apport_et_besoin/apport_gratuit/apport-gratuit.service.js +3 -1
- package/features/engine/domain/apport_et_besoin/ch/besoin-ch.service.js +3 -1
- package/features/engine/domain/apport_et_besoin/ch/perte-ch-recup.service.js +9 -3
- package/features/engine/domain/apport_et_besoin/ch/perte-ch-recup.service.spec.js +1 -1
- package/features/engine/domain/apport_et_besoin/ecs/besoin-ecs.service.js +2 -1
- package/features/engine/domain/apport_et_besoin/ecs/perte-ecs-recup.service.js +4 -1
- package/features/engine/domain/apport_et_besoin/froid/besoin-froid.service.js +3 -1
- package/features/engine/domain/apport_et_besoin/surface-sud-equivalente.service.js +7 -2
- package/features/engine/domain/apport_et_besoin/surface-sud-equivalente.service.spec.js +1 -1
- package/features/engine/domain/ch/emetteur-ch.service.js +3 -1
- package/features/engine/domain/ch/emetteur-ch.service.spec.js +1 -1
- package/features/engine/domain/ch/generateur-ch.service.js +4 -1
- package/features/engine/domain/ch/generateur-ch.service.spec.js +3 -3
- package/features/engine/domain/ch/installation-ch.service.js +2 -0
- package/features/engine/domain/conso/conso.service.js +2 -0
- package/features/engine/domain/conso/froid/conso-froid.service.js +5 -1
- package/features/engine/domain/contexte.builder.js +2 -0
- package/features/engine/domain/ecs/generateur-ecs.service.js +1 -0
- package/features/engine/domain/ecs/installation-ecs.service.js +3 -0
- package/features/engine/domain/engine.service.js +1 -0
- package/features/engine/domain/enveloppe/baie_vitree/deperdition-baie-vitree.service.js +4 -1
- package/features/engine/domain/enveloppe/deperdition-enveloppe.service.js +3 -0
- package/features/engine/domain/enveloppe/deperdition.service.js +8 -4
- package/features/engine/domain/enveloppe/espace_tampon/espace-tampon.service.js +4 -1
- package/features/engine/domain/enveloppe/mur/deperdition-mur.service.js +3 -1
- package/features/engine/domain/enveloppe/plancher_bas/deperdition-plancher-bas.service.js +3 -1
- package/features/engine/domain/enveloppe/plancher_bas/deperdition-plancher-bas.service.spec.js +2 -2
- package/features/engine/domain/enveloppe/plancher_haut/deperdition-plancher-haut.service.js +4 -2
- package/features/engine/domain/enveloppe/pont_thermique/deperdition-pont-thermique.service.js +9 -1
- package/features/engine/domain/enveloppe/pont_thermique/deperdition-pont-thermique.service.spec.js +1 -1
- package/features/engine/domain/enveloppe/porte/deperdition-porte.service.js +3 -1
- package/features/engine/domain/enveloppe/ventilation/deperdition-ventilation.service.js +3 -1
- package/features/engine/domain/enveloppe/ventilation/deperdition-ventilation.service.spec.js +1 -1
- package/features/engine/domain/logement/nadeq.service.js +1 -1
- package/features/engine/domain/logement/nadeq.service.spec.js +1 -1
- package/features/engine/domain/models/contexte.model.ts +2 -2
- package/features/normalizer/domain/dpe-normalizer.service.js +1 -0
- package/ficheTechnique.js +4 -2
- package/globals.d.ts +14 -0
- package/package.json +3 -2
- package/preprocessor/index.js +1 -0
- package/tv.d.ts +759 -0
- package/tvs.d.ts +2 -7
- package/utils.js +8 -6
|
@@ -1,30 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
// Alias des types générés depuis le XSD DPE (voir dpe-xsd.generated.ts). Les extensions propres
|
|
2
|
+
// à Open3CL se déclarent ici (hors fichier généré) pour survivre à la régénération.
|
|
3
|
+
import type {
|
|
4
|
+
XsdLogementVentilation,
|
|
5
|
+
XsdLogementVentilationDonneeEntree,
|
|
6
|
+
XsdLogementVentilationDonneeIntermediaire
|
|
7
|
+
} from './dpe-xsd.generated.js';
|
|
2
8
|
|
|
3
|
-
export interface Ventilation {
|
|
4
|
-
donnee_entree
|
|
5
|
-
donnee_intermediaire?: VentilationDI;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export interface VentilationDE extends DE {
|
|
9
|
-
enum_type_ventilation_id: number;
|
|
10
|
-
surface_ventile: number;
|
|
11
|
-
plusieurs_facade_exposee: boolean;
|
|
12
|
-
tv_q4pa_conv_id?: number;
|
|
13
|
-
q4pa_conv_saisi?: number;
|
|
14
|
-
enum_methode_saisie_q4pa_conv_id: number;
|
|
15
|
-
tv_debits_ventilation_id: number;
|
|
16
|
-
ventilation_post_2012: boolean;
|
|
17
|
-
ref_produit_ventilation?: number;
|
|
18
|
-
cle_repartition_ventilation?: number;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface VentilationDI {
|
|
22
|
-
pvent_moy?: number;
|
|
23
|
-
q4pa_conv: number;
|
|
24
|
-
conso_auxiliaire_ventilation: number;
|
|
25
|
-
hperm: number;
|
|
26
|
-
hvent: number;
|
|
9
|
+
export interface Ventilation extends Omit<XsdLogementVentilation, 'donnee_entree'> {
|
|
10
|
+
donnee_entree: VentilationDE;
|
|
27
11
|
}
|
|
12
|
+
/** + champs Open3CL hors XSD issus des fiches techniques. */
|
|
13
|
+
export type VentilationDE = XsdLogementVentilationDonneeEntree & {
|
|
14
|
+
ficheTechniqueFacadesExposees?: any;
|
|
15
|
+
ficheTechniqueVentilationPost2012?: any;
|
|
16
|
+
};
|
|
17
|
+
export type VentilationDI = XsdLogementVentilationDonneeIntermediaire;
|
|
28
18
|
|
|
29
19
|
enum TypeVentilation {
|
|
30
20
|
SIMPLE_FLUX_AUTO = 'SIMPLE_FLUX_AUTO',
|
|
@@ -10,14 +10,14 @@ import { logger } from '../../../../core/util/logger/log-service.js';
|
|
|
10
10
|
export class ChTvStore extends TvStore {
|
|
11
11
|
/**
|
|
12
12
|
* Récupération des ids des générateurs de chauffage à combustion
|
|
13
|
-
* @return {[
|
|
13
|
+
* @return {number[]}
|
|
14
14
|
*/
|
|
15
15
|
getCombustionGenerateurs() {
|
|
16
16
|
return this.#getTypeGenerateurChId('generateur_combustion');
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Récupération des ids des générateurs de chauffage pompes à chaleur
|
|
20
|
-
* @return {[
|
|
20
|
+
* @return {number[]}
|
|
21
21
|
*/
|
|
22
22
|
getPacGenerateurs() {
|
|
23
23
|
return this.#getTypeGenerateurChId('scop');
|
|
@@ -9,7 +9,7 @@ export class EcsTvStore extends TvStore {
|
|
|
9
9
|
/**
|
|
10
10
|
* Température moyenne d’eau froide sanitaire sur le mois j (°C).
|
|
11
11
|
* La température d’eau froide est une donnée climatique mensuelle pour chacune des 8 zones climatiques
|
|
12
|
-
* @see 11.1 Calcul du besoin d’ECS : Tefs
|
|
12
|
+
* @see Chapitre 11.1 Calcul du besoin d’ECS : Tefs
|
|
13
13
|
*
|
|
14
14
|
* @param classeAltitude {string}
|
|
15
15
|
* @param zoneClimatique {string}
|
|
@@ -23,7 +23,7 @@ export class EcsTvStore extends TvStore {
|
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* Coefficient de perte du ballon de stockage
|
|
26
|
-
* @see 11.6.2 Pertes des ballons électriques
|
|
26
|
+
* @see Chapitre 11.6.2 Pertes des ballons électriques
|
|
27
27
|
*
|
|
28
28
|
* @param enumTypeGenerateurEcsId {string}
|
|
29
29
|
* @param volumeStockage {number}
|
|
@@ -55,7 +55,7 @@ export class EcsTvStore extends TvStore {
|
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
57
|
* Récupération des ids des générateurs électriques ECS
|
|
58
|
-
* @return {[
|
|
58
|
+
* @return {number[]}
|
|
59
59
|
*/
|
|
60
60
|
getElectriqueEcsGenerateurs() {
|
|
61
61
|
return [
|
|
@@ -349,7 +349,7 @@ export class BaieVitreeTvStore extends TvStore {
|
|
|
349
349
|
}
|
|
350
350
|
|
|
351
351
|
/**
|
|
352
|
-
* @see 18.5 - Coefficients d’orientation et d’inclinaison des parois vitrées : C1
|
|
352
|
+
* @see Chapitre 18.5 - Coefficients d’orientation et d’inclinaison des parois vitrées : C1
|
|
353
353
|
*
|
|
354
354
|
* @param enumOrientationId {number}
|
|
355
355
|
* @param enumInclinaisonVitrageId {number}
|
|
@@ -8,7 +8,7 @@ import { logger } from '../../../../core/util/logger/log-service.js';
|
|
|
8
8
|
export class FrTvStore extends TvStore {
|
|
9
9
|
/**
|
|
10
10
|
* Recherche des valeurs nécessaires au calcul du besoin en froid
|
|
11
|
-
* @see 10.2 Calcul du besoin mensuel de froid
|
|
11
|
+
* @see Chapitre 10.2 Calcul du besoin mensuel de froid
|
|
12
12
|
* — e : nombre d’heures de chauffage pour un mois donné et une consigne de refroidissement à 26°C (comportement dépensier).
|
|
13
13
|
* — nref26 : nombre d’heures de chauffage pour un mois donné et une consigne de refroidissement à 26°C (comportement dépensier).
|
|
14
14
|
* — nref28 : nombre d’heures de chauffage pour un mois donné et une consigne de refroidissement à 28°C (comportement conventionnel).
|
|
@@ -19,7 +19,7 @@ export class FrTvStore extends TvStore {
|
|
|
19
19
|
* — dh19 : degrés heures de chauffage pour un mois donné à 19°C (comportement conventionnel).
|
|
20
20
|
* — dh21 : degrés heures de chauffage pour un mois donné à 21°C (comportement dépensier).
|
|
21
21
|
*
|
|
22
|
-
* @param type {'e'
|
|
22
|
+
* @param type {'e' | 'nref26' | 'nref28' | 'e_fr_26' | 'e_fr_28' | 'textmoy_clim_26' | 'textmoy_clim_28'| 'dh19'| 'dh21'}
|
|
23
23
|
* @param classeAltitude {string}
|
|
24
24
|
* @param zoneClimatique {string}
|
|
25
25
|
* @param mois {string}
|
|
@@ -39,7 +39,7 @@ export class FrTvStore extends TvStore {
|
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* Coefficient d’efficience énergétique
|
|
42
|
-
* @see 10.3 - Les consommations de refroidissement
|
|
42
|
+
* @see Chapitre 10.3 - Les consommations de refroidissement
|
|
43
43
|
*
|
|
44
44
|
* @param zoneClimatiqueId {string}
|
|
45
45
|
* @param periodeInstallationId {number}
|
|
@@ -54,7 +54,7 @@ describe('Lecture des tables de valeurs', () => {
|
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
56
|
* Nombre d’heures de refroidissement Nref entre 400 m et 800 m d’altitude
|
|
57
|
-
* @see
|
|
57
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - Annexe 18.2.2 (tableaux Nref (26°C) et Nref (28°C))
|
|
58
58
|
*/
|
|
59
59
|
describe('lecture des heures de refroidissement Nref entre 400m et 800m', () => {
|
|
60
60
|
const zones = ['h1a', 'h1b', 'h1c', 'h2a', 'h2b', 'h2c', 'h2d', 'h3'];
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/** @import { Logement } from '../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { ApportEtBesoin } from '../../../dpe/domain/models/sortie.model.js' */
|
|
3
|
+
/** @import { Contexte } from '../models/contexte.model.js' */
|
|
1
4
|
import { inject } from 'dioma';
|
|
2
5
|
import { BesoinEcsService } from './ecs/besoin-ecs.service.js';
|
|
3
6
|
import { SurfaceSudEquivalenteService } from './surface-sud-equivalente.service.js';
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { Enveloppe, Logement } from '../../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { inject } from 'dioma';
|
|
2
4
|
import { SurfaceSudEquivalenteService } from '../surface-sud-equivalente.service.js';
|
|
3
5
|
import { mois_liste } from '../../../../../utils.js';
|
|
@@ -9,7 +11,7 @@ import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
|
9
11
|
*
|
|
10
12
|
* Methode_de_calcul_3CL_DPE_2021 - Page 42
|
|
11
13
|
* Octobre 2021
|
|
12
|
-
* @see
|
|
14
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
13
15
|
*/
|
|
14
16
|
export class ApportGratuitService {
|
|
15
17
|
/**
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { Logement } from '../../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { mois_liste } from '../../../../../utils.js';
|
|
2
4
|
import { inject } from 'dioma';
|
|
3
5
|
import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
@@ -8,7 +10,7 @@ import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
|
8
10
|
*
|
|
9
11
|
* Methode_de_calcul_3CL_DPE_2021 - Page 7
|
|
10
12
|
* Octobre 2021
|
|
11
|
-
* @see
|
|
13
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
12
14
|
*/
|
|
13
15
|
export class BesoinChService {
|
|
14
16
|
/**
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/** @import { Logement } from '../../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { GenerateurChauffage } from '../../../../dpe/domain/models/installation-chauffage.model.js' */
|
|
3
|
+
/** @import { GenerateurEcs, GenerateurEcsDE, GenerateurEcsDI } from '../../../../dpe/domain/models/installation-ecs.model.js' */
|
|
4
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
5
|
import { mois_liste } from '../../../../../utils.js';
|
|
2
6
|
import { inject } from 'dioma';
|
|
3
7
|
import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
@@ -12,7 +16,7 @@ import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
|
12
16
|
*
|
|
13
17
|
* Methode_de_calcul_3CL_DPE_2021 - Page 57
|
|
14
18
|
* Octobre 2021
|
|
15
|
-
* @see
|
|
19
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
16
20
|
*/
|
|
17
21
|
export class PerteChRecupService {
|
|
18
22
|
/**
|
|
@@ -93,8 +97,10 @@ export class PerteChRecupService {
|
|
|
93
97
|
|
|
94
98
|
return installationsEcs.flatMap((installation) =>
|
|
95
99
|
(installation.generateur_ecs_collection?.generateur_ecs || []).filter((generateurEcs) => {
|
|
96
|
-
const generateurEcsDE = generateurEcs.donnee_entree || {};
|
|
97
|
-
const generateurEcsDI =
|
|
100
|
+
const generateurEcsDE = /** @type {GenerateurEcsDE} */ (generateurEcs.donnee_entree || {});
|
|
101
|
+
const generateurEcsDI = /** @type {GenerateurEcsDI} */ (
|
|
102
|
+
generateurEcs.donnee_intermediaire || {}
|
|
103
|
+
);
|
|
98
104
|
return (
|
|
99
105
|
Number(generateurEcsDI.qp0 || 0) > 0 &&
|
|
100
106
|
Number(generateurEcsDE.position_volume_chauffe ?? 0) === 1 &&
|
|
@@ -12,7 +12,7 @@ let tvStore;
|
|
|
12
12
|
/**
|
|
13
13
|
* 9.1.1 Pertes récupérées de génération pour le chauffage
|
|
14
14
|
* Qgen_rec_j = 0,48 * Cper * Qp0 * Dperj
|
|
15
|
-
* @see
|
|
15
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §9.1.1
|
|
16
16
|
*/
|
|
17
17
|
describe('Calcul des pertes récupérées de génération pour le chauffage', () => {
|
|
18
18
|
/** @type {Contexte} */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
2
|
import { mois_liste, Njj } from '../../../../../utils.js';
|
|
2
3
|
import { EcsTvStore } from '../../../../dpe/infrastructure/ecs/ecsTv.store.js';
|
|
3
4
|
import { inject } from 'dioma';
|
|
@@ -8,7 +9,7 @@ import { inject } from 'dioma';
|
|
|
8
9
|
*
|
|
9
10
|
* Methode_de_calcul_3CL_DPE_2021 - Page 70
|
|
10
11
|
* Octobre 2021
|
|
11
|
-
* @see
|
|
12
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
12
13
|
*/
|
|
13
14
|
export class BesoinEcsService {
|
|
14
15
|
/**
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/** @import { Logement } from '../../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { InstallationEcsDU } from '../../../../dpe/domain/models/installation-ecs.model.js' */
|
|
3
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
4
|
import { mois_liste } from '../../../../../utils.js';
|
|
2
5
|
import { inject } from 'dioma';
|
|
3
6
|
import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
@@ -13,7 +16,7 @@ import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
|
13
16
|
*
|
|
14
17
|
* Methode_de_calcul_3CL_DPE_2021 - Page 57
|
|
15
18
|
* Octobre 2021
|
|
16
|
-
* @see
|
|
19
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
17
20
|
*/
|
|
18
21
|
export class PerteEcsRecupService {
|
|
19
22
|
/**
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { Logement } from '../../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { mois_liste } from '../../../../../utils.js';
|
|
2
4
|
import { inject } from 'dioma';
|
|
3
5
|
import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
@@ -9,7 +11,7 @@ import { ApportGratuitService } from '../apport_gratuit/apport-gratuit.service.j
|
|
|
9
11
|
*
|
|
10
12
|
* Methode_de_calcul_3CL_DPE_2021 - Page 68
|
|
11
13
|
* Octobre 2021
|
|
12
|
-
* @see
|
|
14
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
13
15
|
*/
|
|
14
16
|
export class BesoinFroidService {
|
|
15
17
|
/**
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/** @import { BaieEts } from '../../../dpe/domain/models/baie-ets.model.js' */
|
|
2
|
+
/** @import { BaieVitree } from '../../../dpe/domain/models/baie-vitree.model.js' */
|
|
3
|
+
/** @import { Enveloppe } from '../../../dpe/domain/models/dpe.model.js' */
|
|
4
|
+
/** @import { Ets } from '../../../dpe/domain/models/ets.model.js' */
|
|
5
|
+
/** @import { Contexte } from '../models/contexte.model.js' */
|
|
1
6
|
import { mois_liste } from '../../../../utils.js';
|
|
2
7
|
import { inject } from 'dioma';
|
|
3
8
|
import { BaieVitreeTvStore } from '../../../dpe/infrastructure/enveloppe/baieVitreeTv.store.js';
|
|
@@ -8,7 +13,7 @@ import { BaieVitreeTvStore } from '../../../dpe/infrastructure/enveloppe/baieVit
|
|
|
8
13
|
*
|
|
9
14
|
* Methode_de_calcul_3CL_DPE_2021 - Page 45
|
|
10
15
|
* Octobre 2021
|
|
11
|
-
* @see
|
|
16
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
12
17
|
*/
|
|
13
18
|
export class SurfaceSudEquivalenteService {
|
|
14
19
|
/**
|
|
@@ -206,7 +211,7 @@ export class SurfaceSudEquivalenteService {
|
|
|
206
211
|
* @param baieVitree {BaieVitree|BaieEts}
|
|
207
212
|
* @param zc {string} zone climatique du logement
|
|
208
213
|
* @param mois {string} mois au cours duquel calculer la surface sur équivalente de la baie vitrée
|
|
209
|
-
* @param coeff {number} coefficient à appliquer à cette surface sud
|
|
214
|
+
* @param [coeff] {number} coefficient à appliquer à cette surface sud
|
|
210
215
|
* @returns {number}
|
|
211
216
|
*/
|
|
212
217
|
ssdBaieMois(baieVitree, zc, mois, coeff) {
|
|
@@ -170,7 +170,7 @@ describe('Calcul de la surface sud équivalente (§6.2 / §6.3)', () => {
|
|
|
170
170
|
* véranda ; Sse = Sse_ext + Σ(v) Sse_veranda_v. Une baie adjacence 10 n'entre que dans la véranda
|
|
171
171
|
* sur laquelle elle donne (reference_lnc = ets.reference).
|
|
172
172
|
* Cas de test fournis par Olivier (thermicien) : C1 sud = 1, est = 0,40, nord = 0,31 ; Fe = 1.
|
|
173
|
-
* @see
|
|
173
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §6.3
|
|
174
174
|
*/
|
|
175
175
|
describe('ssdMois - plusieurs espaces tampons solarisés (issue #101)', () => {
|
|
176
176
|
// Baie extérieure 10 m² sud, Sw = 0,5 => Sse_ext = 5
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { EmetteurChauffage, GenerateurChauffageDE } from '../../../dpe/domain/models/installation-chauffage.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../models/contexte.model.js' */
|
|
1
3
|
import { ChTvStore } from '../../../dpe/infrastructure/ch/chTv.store.js';
|
|
2
4
|
import { inject } from 'dioma';
|
|
3
5
|
import { bug_for_bug_compat } from '../../../../utils.js';
|
|
@@ -95,7 +97,7 @@ export class EmetteurChService {
|
|
|
95
97
|
* Aucune déduction si le mode bug_for_bug_compat est désactivé, si l'une des deux températures
|
|
96
98
|
* du DPE est absente ou non numérique, ou si tous les émetteurs ont une période saisie.
|
|
97
99
|
*
|
|
98
|
-
* @see
|
|
100
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §13.2.1.5
|
|
99
101
|
*
|
|
100
102
|
* @param ctx {Contexte}
|
|
101
103
|
* @param generateurChauffageDE {GenerateurChauffageDE}
|
|
@@ -116,7 +116,7 @@ describe('Calcul des caractéristiques des générateurs de chauffage', () => {
|
|
|
116
116
|
* Issue #220 - période d'installation des émetteurs absente du DPE.
|
|
117
117
|
* Mode strict : année de construction. Mode bug_for_bug_compat : période retrouvée à partir des
|
|
118
118
|
* temp_fonc_30 / temp_fonc_100 d'origine du DPE.
|
|
119
|
-
* @see
|
|
119
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §13.2.1.5
|
|
120
120
|
*/
|
|
121
121
|
describe('Déduction de la période des émetteurs depuis les données du DPE (issue #220)', () => {
|
|
122
122
|
/**
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/** @import { Logement } from '../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { EmetteurChauffage, GenerateurChauffage, GenerateurChauffageDE, GenerateurChauffageDI, InstallationChauffage } from '../../../dpe/domain/models/installation-chauffage.model.js' */
|
|
3
|
+
/** @import { Contexte } from '../models/contexte.model.js' */
|
|
1
4
|
import { inject } from 'dioma';
|
|
2
5
|
import { ChTvStore } from '../../../dpe/infrastructure/ch/chTv.store.js';
|
|
3
6
|
import { excel_to_js_exec } from '../../../../utils.js';
|
|
@@ -385,7 +388,7 @@ export class GenerateurChService {
|
|
|
385
388
|
* retrouvée à partir des temp_fonc_30 / temp_fonc_100 d'origine du DPE (données
|
|
386
389
|
* intermédiaires du générateur, non encore recalculées à ce stade). Sans déduction possible,
|
|
387
390
|
* la règle §13.2.1.5 s'applique (année de construction).
|
|
388
|
-
* @see
|
|
391
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §13.2.1.5
|
|
389
392
|
*/
|
|
390
393
|
const periodeDeduite = this.#emetteurChService.periodeInstallationEmetteurDeduite(
|
|
391
394
|
ctx,
|
|
@@ -12,7 +12,7 @@ let emetteurChService;
|
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Températures de fonctionnement du générateur (délégation au service émetteurs).
|
|
15
|
-
* @see
|
|
15
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §13.2.1.5
|
|
16
16
|
*/
|
|
17
17
|
describe('Températures de fonctionnement des générateurs de chauffage', () => {
|
|
18
18
|
const ctx = { anneeConstruction: 1900 };
|
|
@@ -82,7 +82,7 @@ describe('Températures de fonctionnement des générateurs de chauffage', () =>
|
|
|
82
82
|
|
|
83
83
|
/**
|
|
84
84
|
* Puissance nominale estimée d'un générateur à combustion sans pn.
|
|
85
|
-
* @see
|
|
85
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §13.2.2.4
|
|
86
86
|
*/
|
|
87
87
|
describe('Puissance nominale estimée des générateurs de chauffage (issue #264)', () => {
|
|
88
88
|
/** @type {TvStore} */
|
|
@@ -132,7 +132,7 @@ describe('Puissance nominale estimée des générateurs de chauffage (issue #264
|
|
|
132
132
|
/**
|
|
133
133
|
* Puissance nominale estimée par la puissance de dimensionnement : Pdim = max(Pch ; Pecs) puis table
|
|
134
134
|
* Pdim → Pn des chaudières (le calcul de la table est testé dans 13.2_generateur_combustion_pdim.spec.js).
|
|
135
|
-
* @see
|
|
135
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §13.2.2.4
|
|
136
136
|
*/
|
|
137
137
|
describe('Puissance nominale estimée : Pdim et table Pdim → Pn (issue #271)', () => {
|
|
138
138
|
/** @type {TvStore} */
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/** @import { Climatisation, ClimatisationDE, ClimatisationDI } from '../../../../dpe/domain/models/climatisation.model.js' */
|
|
2
|
+
/** @import { Logement } from '../../../../dpe/domain/models/dpe.model.js' */
|
|
3
|
+
/** @import { ApportEtBesoin } from '../../../../dpe/domain/models/sortie.model.js' */
|
|
4
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
5
|
import { inject } from 'dioma';
|
|
2
6
|
import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
3
7
|
|
|
@@ -7,7 +11,7 @@ import { FrTvStore } from '../../../../dpe/infrastructure/froid/frTv.store.js';
|
|
|
7
11
|
*
|
|
8
12
|
* Methode_de_calcul_3CL_DPE_2021 - Page 69
|
|
9
13
|
* Octobre 2021
|
|
10
|
-
* @see
|
|
14
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
11
15
|
*/
|
|
12
16
|
export class ConsoFroidService {
|
|
13
17
|
/**
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { CaracteristiqueGenerale, Dpe } from '../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { Contexte } from './models/contexte.model.js' */
|
|
1
3
|
import { TypeDpe, TypeHabitation } from '../../dpe/domain/models/type-habitation.model.js';
|
|
2
4
|
import enums from '../../../enums.js';
|
|
3
5
|
import { NadeqService } from './logement/nadeq.service.js';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @import { GenerateurEcsDE, InstallationEcs } from '../../../dpe/domain/models/installation-ecs.model.js' */
|
|
1
2
|
import { TypeStockage } from '../../../dpe/domain/models/type-stockage.model.js';
|
|
2
3
|
import { inject } from 'dioma';
|
|
3
4
|
import { EcsTvStore } from '../../../dpe/infrastructure/ecs/ecsTv.store.js';
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/** @import { Logement } from '../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { InstallationEcs, InstallationEcsDE } from '../../../dpe/domain/models/installation-ecs.model.js' */
|
|
3
|
+
/** @import { Contexte } from '../models/contexte.model.js' */
|
|
1
4
|
import { GenerateurEcsService } from './generateur-ecs.service.js';
|
|
2
5
|
import { inject } from 'dioma';
|
|
3
6
|
import { isStockageEcsVolumeChauffe } from '../../../../11_stockage_ecs_volume_chauffe.js';
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { BaieVitree, BaieVitreeDE, BaieVitreeDI, BaieVitreeDoubleFenetreDE, MasqueLointainNonHomogene } from '../../../../dpe/domain/models/baie-vitree.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { DeperditionService } from '../deperdition.service.js';
|
|
2
4
|
import { inject } from 'dioma';
|
|
3
5
|
import { BaieVitreeTvStore } from '../../../../dpe/infrastructure/enveloppe/baieVitreeTv.store.js';
|
|
@@ -8,7 +10,8 @@ import { BaieVitreeTvStore } from '../../../../dpe/infrastructure/enveloppe/baie
|
|
|
8
10
|
*
|
|
9
11
|
* Méthode de calcul 3CL-DPE 2021
|
|
10
12
|
* Octobre 2021
|
|
11
|
-
* @see
|
|
13
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
14
|
+
* @extends {DeperditionService<BaieVitreeTvStore>}
|
|
12
15
|
*/
|
|
13
16
|
export class DeperditionBaieVitreeService extends DeperditionService {
|
|
14
17
|
/**
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/** @import { Enveloppe, Logement } from '../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { Deperdition } from '../../../dpe/domain/models/sortie.model.js' */
|
|
3
|
+
/** @import { Contexte } from '../models/contexte.model.js' */
|
|
1
4
|
import { inject } from 'dioma';
|
|
2
5
|
import { DeperditionMurService } from './mur/deperdition-mur.service.js';
|
|
3
6
|
import { DeperditionPorteService } from './porte/deperdition-porte.service.js';
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/** @import { DE } from '../../../dpe/domain/models/dpe.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../models/contexte.model.js' */
|
|
3
|
+
/** @import { DeperditionData } from '../models/deperdition.model.js' */
|
|
1
4
|
import { logger } from '../../../../core/util/logger/log-service.js';
|
|
2
5
|
import { inject } from 'dioma';
|
|
3
6
|
import { TvStore } from '../../../dpe/infrastructure/tv.store.js';
|
|
@@ -5,17 +8,18 @@ import { TvStore } from '../../../dpe/infrastructure/tv.store.js';
|
|
|
5
8
|
/**
|
|
6
9
|
* Calcul des déperditions de l’enveloppe GV
|
|
7
10
|
* @see Méthode de calcul 3CL-DPE 2021 (cotobre 2021) chapitre 3
|
|
11
|
+
* @template {TvStore} [S=TvStore] type du store de tables de valeurs (spécialisé par sous-classe)
|
|
8
12
|
*/
|
|
9
13
|
export class DeperditionService {
|
|
10
14
|
/**
|
|
11
|
-
* @type {
|
|
15
|
+
* @type {S}
|
|
12
16
|
*/
|
|
13
17
|
tvStore;
|
|
14
18
|
|
|
15
19
|
/**
|
|
16
|
-
* @param tvStore {
|
|
20
|
+
* @param tvStore {S}
|
|
17
21
|
*/
|
|
18
|
-
constructor(tvStore = inject(TvStore)) {
|
|
22
|
+
constructor(tvStore = /** @type {S} */ (inject(TvStore))) {
|
|
19
23
|
this.tvStore = tvStore;
|
|
20
24
|
}
|
|
21
25
|
|
|
@@ -88,7 +92,7 @@ export class DeperditionService {
|
|
|
88
92
|
* Si Année de construction ≤74 alors Année d’isolation = 75-77
|
|
89
93
|
* Sinon Année d’isolation = Année de construction
|
|
90
94
|
*
|
|
91
|
-
* @param enumPeriodeIsolationId {
|
|
95
|
+
* @param enumPeriodeIsolationId {string}
|
|
92
96
|
* @param ctx {Contexte}
|
|
93
97
|
* @return {string} ID de la période d'isolation
|
|
94
98
|
*/
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { Ets, EtsDI } from '../../../../dpe/domain/models/ets.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { DeperditionService } from '../deperdition.service.js';
|
|
2
4
|
import { inject } from 'dioma';
|
|
3
5
|
import { BaieVitreeTvStore } from '../../../../dpe/infrastructure/enveloppe/baieVitreeTv.store.js';
|
|
@@ -8,7 +10,8 @@ import { BaieVitreeTvStore } from '../../../../dpe/infrastructure/enveloppe/baie
|
|
|
8
10
|
*
|
|
9
11
|
* Méthode de calcul 3CL-DPE 2021
|
|
10
12
|
* Octobre 2021
|
|
11
|
-
* @see
|
|
13
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
14
|
+
* @extends {DeperditionService<BaieVitreeTvStore>}
|
|
12
15
|
*/
|
|
13
16
|
export class EspaceTamponService extends DeperditionService {
|
|
14
17
|
/**
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { MurDE, MurDI } from '../../../../dpe/domain/models/mur.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { logger } from '../../../../../core/util/logger/log-service.js';
|
|
2
4
|
import { inject } from 'dioma';
|
|
3
5
|
import { PRECISION } from '../../constants.js';
|
|
@@ -10,7 +12,7 @@ import { TvStore } from '../../../../dpe/infrastructure/tv.store.js';
|
|
|
10
12
|
*
|
|
11
13
|
* Méthode de calcul 3CL-DPE 2021
|
|
12
14
|
* Octobre 2021
|
|
13
|
-
* @see
|
|
15
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
14
16
|
*/
|
|
15
17
|
export class DeperditionMurService extends DeperditionService {
|
|
16
18
|
/**
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { PlancherBasDE, PlancherBasDI } from '../../../../dpe/domain/models/plancher.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { inject } from 'dioma';
|
|
2
4
|
import { PRECISION } from '../../constants.js';
|
|
3
5
|
import { DeperditionService } from '../deperdition.service.js';
|
|
@@ -9,7 +11,7 @@ import { TvStore } from '../../../../dpe/infrastructure/tv.store.js';
|
|
|
9
11
|
*
|
|
10
12
|
* Méthode de calcul 3CL-DPE 2021
|
|
11
13
|
* Octobre 2021
|
|
12
|
-
* @see
|
|
14
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
13
15
|
*/
|
|
14
16
|
export class DeperditionPlancherBasService extends DeperditionService {
|
|
15
17
|
/**
|
package/features/engine/domain/enveloppe/plancher_bas/deperdition-plancher-bas.service.spec.js
CHANGED
|
@@ -7,7 +7,7 @@ import { DeperditionPlancherBasService } from './deperdition-plancher-bas.servic
|
|
|
7
7
|
* Le `TvStore` est remplacé par un double de test (spies `vi.fn`) et le coefficient b (classe de
|
|
8
8
|
* base) est espionné : seule la logique propre au service (Upb0, Upb, Ue, type d'isolation) est
|
|
9
9
|
* vérifiée, sans dépendre des tables de valeurs réelles.
|
|
10
|
-
* @see
|
|
10
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §3.2.2
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
/** @type {{ getUpb0: import('vitest').Mock, getUpb: import('vitest').Mock, getUeByUpd: import('vitest').Mock }} */
|
|
@@ -156,7 +156,7 @@ describe('DeperditionPlancherBasService - calcul de upb_final (Ue)', () => {
|
|
|
156
156
|
|
|
157
157
|
/**
|
|
158
158
|
* Issue #46 : ue calculé plancher par plancher, 2S/P issu du seul plancher courant.
|
|
159
|
-
* @see
|
|
159
|
+
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf - §3.2.2 (tableau ue)
|
|
160
160
|
*/
|
|
161
161
|
describe('calcul plancher par plancher (#46)', () => {
|
|
162
162
|
test('2187E0982591I plancher 1 : 2S/P = 2 * 44,8 / 12,8 = 7', () => {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** @import { PlancherHautDE, PlancherHautDI } from '../../../../dpe/domain/models/plancher.model.js' */
|
|
2
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
3
|
import { inject } from 'dioma';
|
|
2
4
|
import { PRECISION } from '../../constants.js';
|
|
3
5
|
import { DeperditionService } from '../deperdition.service.js';
|
|
@@ -9,7 +11,7 @@ import { TvStore } from '../../../../dpe/infrastructure/tv.store.js';
|
|
|
9
11
|
*
|
|
10
12
|
* Méthode de calcul 3CL-DPE 2021
|
|
11
13
|
* Octobre 2021
|
|
12
|
-
* @see
|
|
14
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
13
15
|
*/
|
|
14
16
|
export class DeperditionPlancherHautService extends DeperditionService {
|
|
15
17
|
/**
|
|
@@ -119,7 +121,7 @@ export class DeperditionPlancherHautService extends DeperditionService {
|
|
|
119
121
|
* @see Méthode de calcul 3CL-DPE 2021 (cotobre 2021) chapitre 3.2.3.1
|
|
120
122
|
* "Lorsque le local au-dessus du logement est un local non chauffé, ou un local autre que d’habitation., Uph_tab est pris dans la catégorie « Terrasse »."
|
|
121
123
|
* @param phDE {PlancherHautDE}
|
|
122
|
-
* @return {'combles'|'
|
|
124
|
+
* @return {'combles'|'terrasse'}
|
|
123
125
|
*/
|
|
124
126
|
#getTypeAdjacence(phDE) {
|
|
125
127
|
switch (phDE.enum_type_adjacence_id) {
|
package/features/engine/domain/enveloppe/pont_thermique/deperdition-pont-thermique.service.js
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/** @import { BaieVitreeDE } from '../../../../dpe/domain/models/baie-vitree.model.js' */
|
|
2
|
+
/** @import { Enveloppe } from '../../../../dpe/domain/models/dpe.model.js' */
|
|
3
|
+
/** @import { MurDE } from '../../../../dpe/domain/models/mur.model.js' */
|
|
4
|
+
/** @import { PlancherBasDE, PlancherHautDE } from '../../../../dpe/domain/models/plancher.model.js' */
|
|
5
|
+
/** @import { PontThermiqueDE, PontThermiqueDI } from '../../../../dpe/domain/models/pont-thermique.model.js' */
|
|
6
|
+
/** @import { PorteDE } from '../../../../dpe/domain/models/porte.model.js' */
|
|
7
|
+
/** @import { Contexte } from '../../models/contexte.model.js' */
|
|
1
8
|
import { inject } from 'dioma';
|
|
2
9
|
import { DeperditionService } from '../deperdition.service.js';
|
|
3
10
|
import { logger } from '../../../../../core/util/logger/log-service.js';
|
|
@@ -14,9 +21,10 @@ import { DeperditionPlancherBasService } from '../plancher_bas/deperdition-planc
|
|
|
14
21
|
*
|
|
15
22
|
* Méthode de calcul 3CL-DPE 2021
|
|
16
23
|
* Octobre 2021
|
|
17
|
-
* @see
|
|
24
|
+
* @see consolide_annexe_arrete_du_31_03_2021_relatif_aux_methodes_et_procedures_applicables.pdf
|
|
18
25
|
*
|
|
19
26
|
* Si le coefficient U des portes est connu et justifié, le saisir directement. Sinon, prendre les valeurs tabulées
|
|
27
|
+
* @extends {DeperditionService<PontThermiqueTvStore>}
|
|
20
28
|
*/
|
|
21
29
|
export class DeperditionPontThermiqueService extends DeperditionService {
|
|
22
30
|
/**
|