Commit d97943f3 authored by Mathias Chouet's avatar Mathias Chouet :spaghetti:
Browse files

Amélioration système de débogage

la fonction debug() accepte un nombre de paramètres variables
on peut définir la valur de dbg lorsqu'on crée une calculette
Showing with 24 additions and 20 deletions
+24 -20
...@@ -23,9 +23,11 @@ export class Debug { ...@@ -23,9 +23,11 @@ export class Debug {
* Affiche un message dans la console si le flag this.DBG est à true * Affiche un message dans la console si le flag this.DBG est à true
* @param s Message à afficher dans la console * @param s Message à afficher dans la console
*/ */
public debug(s: any) { public debug(...args: any[]) {
// tslint:disable-next-line:no-console // tslint:disable-next-line:no-console
if (this._DBG) { console.log(s); } if (this._DBG) {
console.log(...args);
}
} }
get DBG() { return this._DBG; } get DBG() { return this._DBG; }
......
...@@ -44,6 +44,7 @@ export abstract class ComputeNode extends JalhydObject implements IDebug { ...@@ -44,6 +44,7 @@ export abstract class ComputeNode extends JalhydObject implements IDebug {
super(); super();
this._debug = new Debug(dbg); this._debug = new Debug(dbg);
this._prms = prms; this._prms = prms;
this.debug("PARAMS", prms);
if (!this._prms.calculabilityDefined) { if (!this._prms.calculabilityDefined) {
this._prms.resetParametersCalculability(); this._prms.resetParametersCalculability();
} }
...@@ -78,8 +79,8 @@ export abstract class ComputeNode extends JalhydObject implements IDebug { ...@@ -78,8 +79,8 @@ export abstract class ComputeNode extends JalhydObject implements IDebug {
} }
// interface IDebug // interface IDebug
public debug(s: any) { public debug(...args: any[]) {
this._debug.debug(s); this._debug.debug(...args);
} }
public get DBG(): boolean { public get DBG(): boolean {
......
...@@ -37,7 +37,7 @@ export abstract class Nub extends ComputeNode implements IReferencedNub { ...@@ -37,7 +37,7 @@ export abstract class Nub extends ComputeNode implements IReferencedNub {
public abstract Equation(sVarCalc: string): Result; public abstract Equation(sVarCalc: string): Result;
/** /**
* Calcul d'une équation quelque soit l'inconnue à calculer * Calcul d'une équation quelle que soit l'inconnue à calculer
* @param sVarCalc nom de la variable à calculer * @param sVarCalc nom de la variable à calculer
* @param rInit valeur initiale de la variable à calculer dans le cas de la dichotomie * @param rInit valeur initiale de la variable à calculer dans le cas de la dichotomie
* @param rPrec précision de calcul * @param rPrec précision de calcul
......
...@@ -52,8 +52,8 @@ export class NubFactory { ...@@ -52,8 +52,8 @@ export class NubFactory {
/** /**
* créé un Nub et l'ajoute à la session * créé un Nub et l'ajoute à la session
*/ */
public createSessionNub(p: Props | {}): SessionNub { public createSessionNub(p: Props | {}, dbg: boolean = false): SessionNub {
const res = this.newSessionNub(p); const res = this.newSessionNub(p, dbg);
this._session.push(res); this._session.push(res);
return res; return res;
} }
...@@ -157,9 +157,9 @@ export class NubFactory { ...@@ -157,9 +157,9 @@ export class NubFactory {
throw new Error(`NubFactory.deleteSessionNub() : le SessionNub (uid ${sn.uid}) à supprimer n'a pas été trouvé`); throw new Error(`NubFactory.deleteSessionNub() : le SessionNub (uid ${sn.uid}) à supprimer n'a pas été trouvé`);
} }
private newSessionNub(p: Props | {}): SessionNub { private newSessionNub(p: Props | {}, dbg: boolean = false): SessionNub {
const params = p instanceof Props ? p : new Props(p); const params = p instanceof Props ? p : new Props(p);
const nub = this.createNub(params); const nub = this.createNub(params, dbg);
return new SessionNub(nub, params); return new SessionNub(nub, params);
} }
...@@ -242,8 +242,9 @@ export class NubFactory { ...@@ -242,8 +242,9 @@ export class NubFactory {
* @param calcType type de Nub * @param calcType type de Nub
* @param nodeType sous type de Nub * @param nodeType sous type de Nub
* @param params paramètres supplémentaires spécifiques * @param params paramètres supplémentaires spécifiques
* @param dbg activer débogage
*/ */
private createNub(params: Props): Nub { private createNub(params: Props, dbg: boolean = false): Nub {
const calcType: CalculatorType = params.getPropValue("calcType"); const calcType: CalculatorType = params.getPropValue("calcType");
const nodeType: ComputeNodeType = params.getPropValue("nodeType"); const nodeType: ComputeNodeType = params.getPropValue("nodeType");
...@@ -257,7 +258,7 @@ export class NubFactory { ...@@ -257,7 +258,7 @@ export class NubFactory {
1e-6, // Viscosité dynamique Nu 1e-6, // Viscosité dynamique Nu
); );
return new ConduiteDistrib(prms); return new ConduiteDistrib(prms, dbg);
} }
case CalculatorType.LechaptCalmon: case CalculatorType.LechaptCalmon:
...@@ -270,15 +271,15 @@ export class NubFactory { ...@@ -270,15 +271,15 @@ export class NubFactory {
2, // paramètre M du matériau 2, // paramètre M du matériau
5.33// paramètre N du matériau 5.33// paramètre N du matériau
); );
return new LechaptCalmon(prms); return new LechaptCalmon(prms, dbg);
} }
case CalculatorType.SectionParametree: case CalculatorType.SectionParametree:
return new SectionParametree(this.createSection(nodeType)); return new SectionParametree(this.createSection(nodeType), dbg);
case CalculatorType.RegimeUniforme: case CalculatorType.RegimeUniforme:
const sect: acSection = this.createSection(nodeType); const sect: acSection = this.createSection(nodeType);
const ru = new RegimeUniforme(sect); const ru = new RegimeUniforme(sect, dbg);
return ru; return ru;
case CalculatorType.CourbeRemous: case CalculatorType.CourbeRemous:
...@@ -290,7 +291,7 @@ export class NubFactory { ...@@ -290,7 +291,7 @@ export class NubFactory {
5, // Dx=Pas d'espace 5, // Dx=Pas d'espace
MethodeResolution.EulerExplicite MethodeResolution.EulerExplicite
); );
return new CourbeRemous(prms); return new CourbeRemous(prms, dbg);
} }
case CalculatorType.PabDimensions: case CalculatorType.PabDimensions:
...@@ -301,7 +302,7 @@ export class NubFactory { ...@@ -301,7 +302,7 @@ export class NubFactory {
0.5, // Tirant d'eau Y 0.5, // Tirant d'eau Y
2 // Volume V 2 // Volume V
); );
return new PabDimension(prms); return new PabDimension(prms, dbg);
} }
case CalculatorType.PabPuissance: case CalculatorType.PabPuissance:
...@@ -312,7 +313,7 @@ export class NubFactory { ...@@ -312,7 +313,7 @@ export class NubFactory {
0.5, // Volume V (m3) 0.5, // Volume V (m3)
588.6 // Puissance dissipée PV (W/m3) 588.6 // Puissance dissipée PV (W/m3)
); );
return new PabPuissance(prms); return new PabPuissance(prms, dbg);
} }
case CalculatorType.Structure: case CalculatorType.Structure:
...@@ -326,7 +327,7 @@ export class NubFactory { ...@@ -326,7 +327,7 @@ export class NubFactory {
102, // Z1 102, // Z1
101.5 // Z2 101.5 // Z2
); );
return new ParallelStructure(prms); return new ParallelStructure(prms, dbg);
} }
case CalculatorType.Dever: case CalculatorType.Dever:
...@@ -336,7 +337,7 @@ export class NubFactory { ...@@ -336,7 +337,7 @@ export class NubFactory {
10, // BR : largeur du cours d'eau 10, // BR : largeur du cours d'eau
99 // ZR : cote du lit du cours d'eau 99 // ZR : cote du lit du cours d'eau
); );
return new Dever(prms); return new Dever(prms, dbg);
} }
case CalculatorType.Cloisons: case CalculatorType.Cloisons:
...@@ -349,7 +350,7 @@ export class NubFactory { ...@@ -349,7 +350,7 @@ export class NubFactory {
1, // Largeur des bassins (m) 1, // Largeur des bassins (m)
1, // Profondeur moyenne (m) 1, // Profondeur moyenne (m)
0.5 // Hauteur de chute (m) 0.5 // Hauteur de chute (m)
) ), dbg
); );
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment