Skip to content

Commit

Permalink
Merge pull request jzck#258 from RedFroggy/250ConsoAuxiliaires
Browse files Browse the repository at this point in the history
fix(fix-250): Add auxiliaire_distribution_ch for ch with circulator
  • Loading branch information
jgavignet authored Nov 27, 2024
2 parents 84b0404 + ff87f3f commit 2ae6a93
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 9 deletions.
29 changes: 23 additions & 6 deletions src/15_conso_aux.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import enums from './enums.js';
import tvs from './tv.js';
import { mois_liste } from './utils.js';
import { mois_liste, Tbase } from './utils.js';

const G = {
'chaudière gaz': 20,
Expand All @@ -16,14 +16,23 @@ const H = {
// TODO chaudiere bois assité par ventilateur: 10.5
};

export function conso_aux_gen(di, de, type, bch, bch_dep) {
export function conso_aux_gen(di, de, type, bch, bch_dep, Sh) {
const type_generateur = enums[`type_generateur_${type}`][de[`enum_type_generateur_${type}_id`]];
// find key in G that starts with type_generateur_ch
const g = G[Object.keys(G).find((key) => type_generateur.startsWith(key))] || 0;
const h = H[Object.keys(G).find((key) => type_generateur.startsWith(key))] || 0;
const Paux_g_ch = g + h * (di.pn / 1000);
di[`conso_auxiliaire_generation_${type}`] = (Paux_g_ch * bch) / di.pn || 0;
di[`conso_auxiliaire_generation_${type}_depensier`] = (Paux_g_ch * bch_dep) / di.pn || 0;

let ratio = 1;

// Pour le chauffage, le besoin de chauffage est proratisé à la surface chauffée
if (type === 'ch') {
const Sc = de.surface_chauffee || Sh;
ratio = Sc / Sh;
}

di[`conso_auxiliaire_generation_${type}`] = (Paux_g_ch * bch * ratio) / di.pn || 0;
di[`conso_auxiliaire_generation_${type}_depensier`] = (Paux_g_ch * bch_dep * ratio) / di.pn || 0;
}

/**
Expand All @@ -48,7 +57,13 @@ export function conso_aux_distribution_ch(em_ch, di, surfaceHabitable, zcId, caI
nref19 += Nref19[ca][mois][zc];
}

const Pcircem19 = getPuissanceCirculateur(em_ch, di, surfaceHabitable, GV, 19);
const Pcircem19 = getPuissanceCirculateur(
em_ch,
di,
surfaceHabitable,
GV,
Tbase[ca][zc.slice(0, 2)]
);

di[`conso_auxiliaire_distribution_ch`] = (Pcircem19 * nref19) / 1000;
}
Expand All @@ -63,6 +78,7 @@ export function conso_aux_distribution_ch(em_ch, di, surfaceHabitable, zcId, caI
*/
function getPuissanceCirculateur(em_ch, di, surfaceHabitable, GV, Tbase) {
const typeEmetteur = parseInt(em_ch[0].donnee_entree.enum_type_emission_distribution_id);
const temperatureEmetteur = parseInt(em_ch[0].donnee_entree.enum_temp_distribution_ch_id);

// Perte de charge de l’émetteur
let deltaPem = 35;
Expand Down Expand Up @@ -104,7 +120,8 @@ function getPuissanceCirculateur(em_ch, di, surfaceHabitable, GV, Tbase) {
(em_ch[0].donnee_entree.surface_chauffee || surfaceHabitable) / surfaceHabitable;

// Chute nominale de température de dimensionnement
const deltaDim = 7.5;
// 4 - température de distribution de chauffage haute
const deltaDim = temperatureEmetteur === 4 ? 15 : 7.5;

// Puissance nominale en chaud (kW)
const Pnc = 10 ** -3 * GV * (20 - Tbase);
Expand Down
5 changes: 3 additions & 2 deletions src/9_chauffage.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ export default function calc_chauffage(

const em_ch = ch.emetteur_chauffage_collection.emetteur_chauffage;
em_ch.forEach((em_ch) => {
em_ch.donnee_intermediaire.nombre_niveau_installation_ch =
em_ch.donnee_entree.nombre_niveau_installation_ch =
ch.donnee_entree.nombre_niveau_installation_ch || 1;
em_ch.donnee_intermediaire.surface_chauffee = ch.donnee_entree.surface_chauffee || Sh;
em_ch.donnee_entree.surface_chauffee = ch.donnee_entree.surface_chauffee || Sh;
calc_emetteur_ch(em_ch, de, map_id, inertie_id);
});

Expand All @@ -54,6 +54,7 @@ export default function calc_chauffage(
nbCascadeAndCombustion > 1 ? gen.donnee_intermediaire.pn / Pnominal : 1;

gen.donnee_entree.ratio_virtualisation = de.ratio_virtualisation || 1;
gen.donnee_entree.surface_chauffee = de.surface_chauffee || Sh;
gen.donnee_entree.fch = Fch || 0.5;

calc_generateur_ch(
Expand Down
2 changes: 1 addition & 1 deletion src/9_generateur_ch.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ export function calc_generateur_ch(
tv_rendement_generation(di, de, du);
}

conso_aux_gen(di, de, 'ch', bch, bch_dep);
conso_aux_gen(di, de, 'ch', bch, bch_dep, Sh);

/**
* 15 Calcul des consommations d’auxiliaires des installations de chauffage (Caux_ch) et d’ECS (Caux_ecs)
Expand Down

0 comments on commit 2ae6a93

Please sign in to comment.