@open3cl/engine
Version:
Open Source 3CL-DPE engine
128 lines (120 loc) • 4.14 kB
JavaScript
import { requestInput } from './utils.js';
const pvent_moy_maison = {
'simple flux auto': {
0: 65,
1: 35
},
'simple flux hygro': {
0: 50,
1: 15
},
'double flux': {
0: 80,
1: 35
}
};
const pvent_immeuble = {
'simple flux auto': {
0: 0.46,
1: 0.25
},
'simple flux hygro': {
0: 0.46,
1: 0.25
},
'double flux': {
0: 1.1,
1: 0.6
}
};
/**
* 5 - Calcul des consommations d’auxiliaires de ventilation
* Retourne le coefficient en fonction du type d'habitation et du type de ventilation
* @param {string} th Type d'habitation (maison ou autre)
* @param {boolean} hybride Ventilation hybride ou pas
*
* @return {number}
*/
function getCoefficient(th, hybride) {
if (!hybride) {
return 1;
}
const ratio = th === 'maison' ? 14 : 28;
return ratio / (24 * 7);
}
export default function calc_pvent(di, de, du, th) {
const tv = requestInput(de, du, 'type_ventilation');
let post_2012 = requestInput(de, du, 'ventilation_post_2012', 'bool');
// can't calculate without these
if (tv === undefined || post_2012 === undefined) return;
let hybride = false;
let type;
switch (tv) {
case 'ventilation par ouverture des fenêtres':
case "ventilation par entrées d'air hautes et basses":
case 'ventilation naturelle par conduit':
case "ventilation naturelle par conduit avec entrées d'air hygro":
case 'puits climatique sans échangeur avant 2013':
case 'puits climatique sans échangeur à partir de 2013':
case 'puits climatique avec échangeur avant 2013':
case 'puits climatique avec échangeur à partir de 2013':
di.conso_auxiliaire_ventilation = 0;
return;
case 'ventilation hybride avant 2001':
case 'ventilation hybride de 2001 à 2012':
case 'ventilation hybride après 2012':
case "ventilation hybride avec entrées d'air hygro avant 2001":
case "ventilation hybride avec entrées d'air hygro de 2001 à 2012":
case "ventilation hybride avec entrées d'air hygro après 2012":
hybride = true;
post_2012 = 0;
/**
* @see Methode_de_calcul_3CL_DPE_2021-338.pdf, pages 41-42
* Les consommations d’auxiliaires pour une VMC hybride correspondent aux consommations d’une VMC
* classique autoréglable de 2001 à 2012 multipliées par le ratio du temps d’utilisation
*/
type = 'simple flux auto';
break;
case 'ventilation mécanique sur conduit existant avant 2013':
case 'ventilation mécanique sur conduit existant à partir de 2013':
case 'vmc sf auto réglable avant 1982':
case 'vmc sf auto réglable de 1982 à 2000':
case 'vmc sf auto réglable de 2001 à 2012':
case 'vmc sf auto réglable après 2012':
type = 'simple flux auto';
break;
case 'vmc sf gaz avant 2001':
case 'vmc sf gaz de 2001 à 2012':
case 'vmc sf gaz après 2012':
console.error('vmc gaz ??');
return;
case 'vmc sf hygro b avant 2001':
case 'vmc sf hygro b de 2001 à 2012':
case 'vmc sf hygro b après 2012':
case 'vmc sf hygro a avant 2001':
case 'vmc sf hygro a de 2001 à 2012':
case 'vmc sf hygro a après 2012':
case 'vmc basse pression auto-réglable':
case 'vmc basse pression hygro a':
case 'vmc basse pression hygro b':
type = 'simple flux hygro';
break;
case 'vmc df individuelle avec échangeur avant 2013':
case 'vmc df individuelle avec échangeur à partir de 2013':
case 'vmc df collective avec échangeur avant 2013':
case 'vmc df collective avec échangeur à partir de 2013':
case 'vmc df sans échangeur avant 2013':
case 'vmc df sans échangeur après 2012':
type = 'double flux';
break;
}
const coef = getCoefficient(th, hybride);
if (th === 'maison') {
di.pvent_moy = pvent_moy_maison[type][post_2012] * coef;
} else {
const pvent = pvent_immeuble[type][post_2012];
const sv = requestInput(de, du, 'surface_ventile', 'float');
di.pvent_moy = pvent * di.qvarep_conv * sv * coef;
}
di.conso_auxiliaire_ventilation = 8.76 * di.pvent_moy;
}