pab.ts 1.46 KiB
import { CalculatorType } from "../compute-node";
import { Nub } from "../nub";
import { ParamCalculability } from "../param/param-definition";
import { Result } from "../util/result";
import { PabCloisons } from "./pab_cloisons";
import { PabParams } from "./pab_params";
export { PabParams };
export class Pab extends Nub {
    constructor(prms: PabParams, dbg: boolean = false) {
        super(prms, dbg);
        this._calcType = CalculatorType.Pab;
    /**
     * paramètres castés au bon type
    get prms(): PabParams {
        return this._prms as PabParams;
    /**
     * enfants castés au bon type
    get children(): PabCloisons[] {
        return this._children as PabCloisons[];
    /**
     * Calcul analytique
     * @param sVarCalc Variable à calculer (Z1 uniquement)
    public Equation(sVarCalc: string): Result {
        const r: Result = new Result(0, this);
        let Z: number = this.prms.Z2.v;
        for (const cloison of this.children) {
            cloison.prms.Z2.v = Z;
            cloison.Calc("Z1");
            Z = cloison.prms.Z1.v;
        this.prms.Z1.v = Z;
        return r;
    /**
     * paramétrage de la calculabilité des paramètres
    protected setParametersCalculability() {
        this.prms.Z1.calculability = ParamCalculability.EQUATION;
        this.prms.Z2.calculability = ParamCalculability.DICHO;
        this.prms.Q.calculability = ParamCalculability.DICHO;