-
Notifications
You must be signed in to change notification settings - Fork 6
Description
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
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
