Skip to content

Calcul de la déperdition des planchers bas non conforme avec 2187E0982591I #46

@michaeldesigaud

Description

@michaeldesigaud

Describe the bug
Dans le DPE 2187E0982591I, la déperdition des planchers bas n'est pas cohérente entre le résultat de la lib et la valeur du DPE d'origine.
Les données intermédiaires ne sont pas les mêmes.

Dans le DPE d'origine

{
"donnee_entree": {
"description": "Plancher 1 - Plancher avec ou sans remplissage non isolé donnant sur un terre-plein",
"enum_type_adjacence_id": "5", // terre-plein
"surface_paroi_opaque": 44.8,
"tv_upb0_id": 2,
"enum_type_plancher_bas_id": "2", // Plancher avec ou sans remplissage
"enum_methode_saisie_u0_id": "2", // déterminé selon le matériau et épaisseur à partir de la table de valeur forfaitaire
"enum_type_isolation_id": "2", // Non isolé
"enum_methode_saisie_u_id": "1", // Non isolé
"calcul_ue": 1,
"perimetre_ue": 12.8,
"ue": 0.38538462
},
"donnee_intermediaire": {
"b": 1,
"upb": 1.45,
"upb_final": 0.38538462,
"upb0": 1.45
}
}
En sortie de calcul on obtient :

{
"donnee_entree": {
"description": "Plancher 1 - Plancher avec ou sans remplissage non isolé donnant sur un terre-plein",
"enum_type_adjacence_id": "5",
"surface_paroi_opaque": 44.8,
"tv_upb0_id": 2,
"enum_type_plancher_bas_id": "2",
"enum_methode_saisie_u0_id": "2",
"enum_type_isolation_id": "2",
"enum_methode_saisie_u_id": "1",
"calcul_ue": 1,
"perimetre_ue": 12.8,
"ue": 0.3361538461538462,
"reference": "plancher_bas_0",
"tv_coef_reduction_deperdition_id": 5
},
"donnee_intermediaire": {
"b": 1,
"upb0": 1.45,
"upb": 1.45,
"upb_final": 0.3361538461538462
}
}
To Reproduce

Surface sur terre plein
P = 12.8
S = 44.8
2S/P = (2 * 44.8) / 12.8 = 7 (arrondi à l'entier le plus proche)
upb0 = 1.45
upb = 1.45
image

upbInf = 0.85
upbSup = 1.5
ueInf = 0.33
ueSup = 0.39

Image

D'après la norme :

Les données ne figurant pas dans le tableau peuvent être obtenues par interpolation et extrapolation en traçant des
droites entre les valeurs les plus proches présentes dans le tableau

ue = ueInf + ( ueSup - ueInf ) * (upb - upbInf) / (upbSup - upbInf)
ue = 0.33 + ( 0.39 - 0.33 ) * (1.45 - 0.85) / ( 1.5 - 0.85)
ue = 0,385384615
upb_final = ue = 0,385384615
Expected behavior
Le calcul de la lib n'est pas bon et devrait retourner upb_final = ue = 0,385384615
Le problème semble venir de la fonction tv_ue qui fait la somme des surfaces de tous les planches sans distinction du type d'adjacence. Les planchers donnant sur des terre plein sont ajouté à ceux donnant sur vide sanitaire alors que les règles ne sont pas les mêmes.

Additional context

NodeJS version: 18.16.0

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions