@open3cl/engine
Version:
Open Source 3CL-DPE engine
46 lines (39 loc) • 1.72 kB
JavaScript
import { requestInputID, tv } from './utils.js';
function tv_seer(di, de, du, zc_id) {
const matcher = {
enum_zone_climatique_id: zc_id,
enum_periode_installation_fr_id: requestInputID(de, du, 'periode_installation_fr')
};
const row = tv('seer', matcher, de);
if (row) {
de.tv_seer_id = Number(row.tv_seer_id);
di.eer = row.eer;
} else {
console.error('!! pas de valeur forfaitaire trouvée pour seer !!');
}
}
export default function calc_clim(clim, bfr, bfr_dep, zc_id, Sh) {
const de = clim.donnee_entree;
const di = clim.donnee_intermediaire || {};
const du = {};
const rs = de.surface_clim / Sh;
di.besoin_fr = bfr * rs;
di.besoin_fr_depensier = bfr_dep * rs;
/**
* Si la méthode de saisie n'est pas "Valeur forfaitaire" mais "caractéristiques saisies"
* Documentation 3CL : "Pour les installations récentes ou recommandées, les caractéristiques réelles des chaudières présentées sur les bases
* de données professionnelles peuvent être utilisées."
*
* 6 - caractéristiques saisies à partir de la plaque signalétique ou d'une documentation technique du système thermodynamique : scop/cop/eer
* 7 - déterminé à partir du rset/rsee( etude rt2012/re2020)
* 8 - seer saisi pour permettre la saisie de réseau de froid ou de système de climatisations qui ne sont pas éléctriques
*/
const methodeSaisie = parseInt(de.enum_methode_saisie_carac_sys_id);
if (![6, 7, 8].includes(methodeSaisie) || !di.eer) {
tv_seer(di, de, du, zc_id);
}
di.conso_fr = (0.9 * di.besoin_fr) / di.eer;
di.conso_fr_depensier = (0.9 * di.besoin_fr_depensier) / di.eer;
clim.donnee_intermediaire = di;
clim.donnee_utilisateur = du;
}