Skip to content
Snippets Groups Projects
Commit 05b2ac11 authored by David Dorchies's avatar David Dorchies
Browse files

#93 Formatting tables of edition and results with a first calculation that works!

parent 170e5f96
No related branches found
No related tags found
1 merge request!49Resolve "Ajout du module de calcul d'une passe à bassins"
{
"Q": "Débit total",
"ZR": "Cote du lit amont",
"LB": "Longueur du bassin",
"BB": "Largeur du bassin",
"PB": "Profondeur moyenne du bassin",
"DH": "Chute",
"Q": "Total discharge",
"ZR": "Upstream bed elevation",
"PB": "Pool mean depth",
"h1": "Head",
"S": "Surface de l'orifice",
"ZRAM": "Bottom elevation",
"alpha2": "Demi-angle au sommet (°)",
"BT": "Demi-ouverture du triangle (m)",
"ZT": "Cote haute du triangle (m)",
"select_ouvrage_seuil_triang": "Triangular weir",
"select_ouvrage_seuil_triangtrunc": "Truncated triangular weir",
"select_ouvrage_orifice": "Orifice",
......
{
"Q": "Débit total",
"ZR": "Cote du lit amont",
"LB": "Longueur du bassin",
"BB": "Largeur du bassin",
"PB": "Profondeur moyenne du bassin",
"DH": "Chute",
"h1": "Charge",
......
......@@ -60,61 +60,40 @@ export class PabResultsTableComponent extends ResultsComponent {
}
// lines 2 - n-1
for (let i = 0; i < pr.cloisonsResults.length - 1; i++) {
for (let i = 0; i < pr.cloisonsResults.length; i++) {
if (
pr.cloisonsResults[i].vCalc
&& pr.cloisonsResults[i + 1].vCalc
) {
const ZRAM = pr.cloisonsResults[i].getExtraResult("ZRAM");
const PV = pr.cloisonsResults[i].getExtraResult("PV");
const YMOY = pr.cloisonsResults[i].getExtraResult("YMOY");
const ZRB = pr.cloisonsResults[i].getExtraResult("ZRB");
const r2n = pr.cloisonsResults[i].resultElement.extraResults;
let Z1: number;
if (i < pr.cloisonsResults.length - 1) {
Z1 = pr.cloisonsResults[i + 1].vCalc;
} else {
Z1 = pr.cloisonAvalResults.vCalc;
}
this._dataSet.push([
i + 1, // n° cloison
pr.cloisonsResults[i + 1].vCalc.toFixed(nDigits), // Z
(ZRAM !== undefined) ? ZRAM.toFixed(nDigits) : "", // ZRAM
(pr.cloisonsResults[i].vCalc - pr.cloisonsResults[i + 1].vCalc).toFixed(nDigits), // DH
pr.cloisonsQ[i].toFixed(nDigits), // Q
(PV !== undefined) ? PV.toFixed(nDigits) : "", // PV
(YMOY !== undefined) ? YMOY.toFixed(nDigits) : "", // YMOY
(ZRB !== undefined) ? ZRB.toFixed(nDigits) : "", // ZRB
pr.bassinsQA[i] // QA
Z1.toFixed(nDigits), // Z
r2n.ZRAM.toFixed(nDigits),
r2n.DH.toFixed(nDigits),
r2n.Q.toFixed(nDigits),
r2n.PV.toFixed(nDigits),
r2n.YMOY.toFixed(nDigits),
r2n.ZRMB.toFixed(nDigits),
r2n.QA // QA
]);
}
}
// line n
const l = pr.cloisonsResults.length;
if (
pr.cloisonsResults[l - 1].vCalc
&& pr.cloisonAvalResults.vCalc
) {
const nZRAM = pr.cloisonsResults[l - 1].getExtraResult("ZRAM");
const nPV = pr.cloisonsResults[l - 1].getExtraResult("PV");
const nY = pr.cloisonsResults[l - 1].getExtraResult("YMOY");
const nZRB = pr.cloisonsResults[l - 1].getExtraResult("ZRB");
this._dataSet.push([
l, // n° cloison
pr.cloisonAvalResults.vCalc.toFixed(nDigits), // Z
(nZRAM !== undefined) ? nZRAM.toFixed(nDigits) : "", // ZRAM
(pr.cloisonsResults[l - 1].vCalc - pr.cloisonAvalResults.vCalc).toFixed(nDigits), // DH
pr.cloisonsQ[l - 1].toFixed(nDigits), // Q
(nPV !== undefined) ? nPV.toFixed(nDigits) : "", // PV
(nY !== undefined) ? nY.toFixed(nDigits) : "", // YMOY
(nZRB !== undefined) ? nZRB.toFixed(nDigits) : "", // ZRB
pr.bassinsQA[l - 1] // QA
]);
}
// downstream line
if (pr.cloisonAvalResults.vCalc) {
const caZRAM = pr.cloisonAvalResults.getExtraResult("ZRAM");
const rln = pr.cloisonAvalResults.resultElement.extraResults;
this._dataSet.push([
this.intlService.localizeText("INFO_LIB_AVAL"), // n° cloison
pr.Z2.toFixed(nDigits), // Z
(caZRAM !== undefined) ? caZRAM.toFixed(nDigits) : "", // ZRAM
(pr.cloisonAvalResults.vCalc - pr.Z2).toFixed(nDigits), // DH
pr.cloisonAvalQ.toFixed(nDigits), // Q
pr.Z2.toFixed(nDigits),
rln.ZRAM.toFixed(nDigits),
rln.DH.toFixed(nDigits),
rln.Q.toFixed(nDigits),
"", "", "", ""
]);
}
......
import { IObservable, Observer, Session } from "jalhyd";
import { IObservable, Observer, Session, SectionNub } from "jalhyd";
import { FormDefSection } from "../form-def-section";
import { FieldSet } from "../../fieldset";
import { FormulaireBase } from "./form-base";
import { SectionNub } from "jalhyd/build/section/section_nub";
export class FormulaireRegimeUniforme extends FormulaireBase implements Observer {
......
......@@ -46,22 +46,12 @@ export class FormComputePab extends FormCompute {
// résultat de chaque cloison
const cr: Result[] = [];
// valeur de Q pour chaque cloison
const cq: number[] = [];
// valeur de QA pour chaque bassin
const bqa: number[] = [];
for (const c of pab.children) {
cr.push(c.result);
cq.push(c.prms.Q.v);
bqa.push(c.prms.QA.v);
}
pabr.cloisonsResults = cr,
pabr.cloisonsQ = cq,
pabr.bassinsQA = bqa;
// résultat de la cloison aval
pabr.cloisonAvalResults = pab.downWall.result;
// débit de la cloison aval
pabr.cloisonAvalQ = pab.downWall.prms.Q.v;
// cote aval de la passe
pabr.Z2 = pab.prms.Z2.v;
......
......@@ -9,18 +9,9 @@ export class PabResults extends CalculatedParamResults {
/** résultats des modules Cloisons avant chaque bassin */
public cloisonsResults: Result[];
/** valeur de Q pour chaque module Cloisons */
public cloisonsQ: number[];
/** valeur de QA pour chaque bassin */
public bassinsQA: number[];
/** résultats du module ParallelStructure pour la cloison aval */
public cloisonAvalResults: Result;
/** débit de la cloison aval */
public cloisonAvalQ: number;
/** cote aval de l'ensemble de la passe */
public Z2: number;
......@@ -42,7 +33,7 @@ export class PabResults extends CalculatedParamResults {
"Q",
"PV",
"YMOY",
"ZRB",
"ZRMB",
"QA"
];
}
......@@ -68,10 +59,7 @@ export class PabResults extends CalculatedParamResults {
public reset() {
super.reset();
this.cloisonsResults = [];
this.cloisonsQ = [];
this.bassinsQA = [];
this.cloisonAvalResults = undefined;
this.cloisonAvalQ = undefined;
this.Z2 = undefined;
}
......
......@@ -74,32 +74,17 @@ export class PlottablePabResults implements PlottableData {
break;
case "DH":
data.push("");
for (let i = 0; i < l - 1; i++) {
data.push((pr.cloisonsResults[i].vCalc - pr.cloisonsResults[i + 1].vCalc).toFixed(nDigits));
}
data.push((pr.cloisonsResults[l - 1].vCalc - pr.cloisonAvalResults.vCalc).toFixed(nDigits));
data.push((pr.cloisonAvalResults.vCalc - pr.Z2).toFixed(nDigits));
break;
case "ZRAM":
case "Q":
data.push("");
for (let i = 0; i < l; i++) {
const er = pr.cloisonsResults[i].getExtraResult("ZRAM");
const er = pr.cloisonsResults[i].getExtraResult(symbol);
data.push((er !== undefined) ? er.toFixed(nDigits) : "");
}
const zrAval = pr.cloisonAvalResults.getExtraResult("ZRAM");
const zrAval = pr.cloisonAvalResults.getExtraResult(symbol);
data.push((zrAval !== undefined) ? zrAval.toFixed(nDigits) : "");
break;
case "Q":
data.push("");
for (let i = 0; i < l; i++) {
data.push(pr.cloisonsQ[i].toFixed(nDigits));
}
data.push(pr.cloisonAvalQ.toFixed(nDigits));
break;
case "Z":
for (let i = 0; i < l - 1; i++) {
data.push(pr.cloisonsResults[i].vCalc.toFixed(nDigits));
......@@ -109,36 +94,13 @@ export class PlottablePabResults implements PlottableData {
break;
case "PV":
data.push("");
for (let i = 0; i < l; i++) {
const er = pr.cloisonsResults[i].getExtraResult("PV");
data.push((er !== undefined) ? er.toFixed(nDigits) : "");
}
data.push("");
break;
case "YMOY":
data.push("");
for (let i = 0; i < l; i++) {
const er = pr.cloisonsResults[i].getExtraResult("YMOY");
data.push((er !== undefined) ? er.toFixed(nDigits) : "");
}
data.push("");
break;
case "ZRB":
data.push("");
for (let i = 0; i < l; i++) {
const er = pr.cloisonsResults[i].getExtraResult("ZRB");
data.push((er !== undefined) ? er.toFixed(nDigits) : "");
}
data.push("");
break;
case "ZRMB":
case "QA":
data.push("");
for (let i = 0; i < l; i++) {
data.push(pr.bassinsQA[i].toFixed(nDigits));
const er = pr.cloisonsResults[i].getExtraResult(symbol);
data.push((er !== undefined) ? er.toFixed(nDigits) : "");
}
data.push("");
break;
......
......@@ -115,6 +115,7 @@
"INFO_LIB_ALPHA2": "Half-angle at the apex",
"INFO_LIB_AVAL": "Downstream",
"INFO_LIB_B": "Surface width",
"INFO_LIB_BB": "Pool width",
"INFO_LIB_BETA": "Beta coefficient",
"INFO_LIB_BT": "Half opening of the triangle",
"INFO_LIB_CD": "Discharge coefficient",
......@@ -136,6 +137,7 @@
"INFO_LIB_IMP": "Impulse",
"INFO_LIB_J": "Head loss",
"INFO_LIB_L": "Weir width",
"INFO_LIB_LB": "Pool length",
"INFO_LIB_OUVRAGE_Q_MODE": "Mode",
"INFO_LIB_OUVRAGE_Q_REGIME": "Regime",
"INFO_LIB_OUVRAGE_Q": "Discharge",
......
......@@ -115,6 +115,7 @@
"INFO_LIB_ALPHA2": "Demi-angle au sommet",
"INFO_LIB_AVAL": "Aval",
"INFO_LIB_B": "Largeur au miroir",
"INFO_LIB_BB": "Largeur du bassin",
"INFO_LIB_BETA": "Coefficient béta",
"INFO_LIB_BT": "Demi-ouverture du triangle",
"INFO_LIB_CD": "Coefficient de débit",
......@@ -136,6 +137,7 @@
"INFO_LIB_IMP": "Impulsion",
"INFO_LIB_J": "Perte de charge",
"INFO_LIB_L": "Largeur du déversoir",
"INFO_LIB_LB": "Longueur du bassin",
"INFO_LIB_OUVRAGE_Q_ENUM_STRUCTUREFLOWMODE": "Type d'écoulement",
"INFO_LIB_OUVRAGE_Q_ENUM_STRUCTUREFLOWREGIME": "Régime",
"INFO_LIB_OUVRAGE_Q": "Débit",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment