diff --git a/src/app/calculators/parallel-structures/parallel-structures.config.json b/src/app/calculators/parallel-structures/parallel-structures.config.json index 165ecec7293575eac838c0a397f6b72fccc0a45e..ff29ad62e22ba2fb856d90be4d7375a7fe5fdef5 100644 --- a/src/app/calculators/parallel-structures/parallel-structures.config.json +++ b/src/app/calculators/parallel-structures/parallel-structures.config.json @@ -60,6 +60,9 @@ }, { "id": "select_loidebit1_cunge80" + }, + { + "id": "select_loidebit1_kivi" } ], "dep_exist": [ @@ -150,12 +153,79 @@ "nodeType": "StructureRectangle", "dep_exist": [ { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_vanne_rect" + "refid": "select_loidebit1", + "refvalue": "select_loidebit1_seuildenoye" }, { - "refid": "select_ouvrage", - "refvalue": "select_ouvrage_seuil_rect" + "refid": "select_loidebit1", + "refvalue": "select_loidebit1_cunge80" + }, + { + "refid": "select_loidebit1", + "refvalue": "select_loidebit1_cem88d" + }, + { + "refid": "select_loidebit1", + "refvalue": "select_loidebit1_cem88v" + }, + { + "refid": "select_loidebit2", + "refvalue": "select_loidebit2_vannedenoye" + }, + { + "refid": "select_loidebit2", + "refvalue": "select_loidebit2_vannenoye" + }, + { + "refid": "select_loidebit2", + "refvalue": "select_loidebit2_cunge80" + }, + { + "refid": "select_loidebit2", + "refvalue": "select_loidebit2_cem88d" + }, + { + "refid": "select_loidebit2", + "refvalue": "select_loidebit2_cem88v" + } + ] + }, + { + "type": "input", + "id": "alpha", + "unit": "", + "value": 0.4, + "nodeType": "StructureKIVI", + "dep_exist": [ + { + "refid": "select_loidebit1", + "refvalue": "select_loidebit1_kivi" + } + ] + }, + { + "type": "input", + "id": "beta", + "unit": "", + "value": 0.4, + "nodeType": "StructureKIVI", + "dep_exist": [ + { + "refid": "select_loidebit1", + "refvalue": "select_loidebit1_kivi" + } + ] + }, + { + "type": "input", + "id": "ZRAM", + "unit": "", + "value": 0.4, + "nodeType": "StructureKIVI", + "dep_exist": [ + { + "refid": "select_loidebit1", + "refvalue": "select_loidebit1_kivi" } ] } diff --git a/src/app/calculators/parallel-structures/parallel-structures.fr.json b/src/app/calculators/parallel-structures/parallel-structures.fr.json index 258adb9d2f577d66eb6e70e410db475c0c497c41..f683f20dfbef48cbd1c7e6b94c97831f1bc245fb 100644 --- a/src/app/calculators/parallel-structures/parallel-structures.fr.json +++ b/src/app/calculators/parallel-structures/parallel-structures.fr.json @@ -16,6 +16,7 @@ "select_loidebit1_cunge80": "Cunge 80", "select_loidebit1_cem88d": "Déversoir/Orifice Cemagref 88", "select_loidebit1_cem88v": "Déversoir/Vanne de fond Cemagref 88", + "select_loidebit1_kivi": "Kindsvater-Carter et Villemonte", "select_loidebit2": "Loi de débit", "select_loidebit2_vannedenoye": "Vanne dénoyé", "select_loidebit2_vannenoye": "Vanne noyé", @@ -25,7 +26,10 @@ "ZDV": "Cote de la crête du déversoir ou du radier de la vanne", "L": "Largeur du déversoir", "Cd": "Coefficient de débit", + "alpha": "Coefficient alpha", + "beta": "Coefficient béta", + "ZRAM": "Cote du radier amont", "struct_container": "Ouvrages", "fs_param_calc": "Paramètres de calcul", "Pr": "Précision de calcul" -} +} \ No newline at end of file diff --git a/src/app/formulaire/definition/concrete/form-parallel-structures.ts b/src/app/formulaire/definition/concrete/form-parallel-structures.ts index af41d8efb6a4acf6e8c7334a928db358969dc19e..ccc0401c920ff7bdee7923372baa8e71703fd242 100644 --- a/src/app/formulaire/definition/concrete/form-parallel-structures.ts +++ b/src/app/formulaire/definition/concrete/form-parallel-structures.ts @@ -83,7 +83,7 @@ export class FormulaireParallelStructure extends FormulaireDefinition { const st = CreateStructure(fsStructType, loiDebit); for (const p of fs.allFormElements) - if (p instanceof NgParameter) { + if (p instanceof NgParameter && p.isDisplayed) { const defaultParam = st.prms.map[p.symbol]; p.resetValue(this, this.getContext(fs), defaultParam.v); } diff --git a/src/app/formulaire/definition/form-def-parallel-structures.ts b/src/app/formulaire/definition/form-def-parallel-structures.ts index 75a5aa89c5a5822c6d4f918a8030ab84d7446ab0..a9965b2a272a2090eb4fc7103c74be9a8be508d2 100644 --- a/src/app/formulaire/definition/form-def-parallel-structures.ts +++ b/src/app/formulaire/definition/form-def-parallel-structures.ts @@ -25,7 +25,8 @@ export class FormDefParallelStructures { "cunge80": LoiDebit.Cunge80, "seuildenoye": LoiDebit.WeirFree, "vannenoye": LoiDebit.OrificeSubmerged, - "vannedenoye": LoiDebit.OrificeFree + "vannedenoye": LoiDebit.OrificeFree, + "kivi": LoiDebit.KIVI } /** @@ -46,7 +47,7 @@ export class FormDefParallelStructures { } /** - * @return type d'ouvrage courant du FieldSet donné + * @return loi de débit courante du FieldSet donné */ public getLoiDebit(fs: FieldSet): LoiDebit { if (fs.calculatorType !== CalculatorType.Structure) diff --git a/src/app/formulaire/formulaire-element.ts b/src/app/formulaire/formulaire-element.ts index c26714ac6cf4af593c6cf9bbfbec471f4b19ee28..34891354daf2024e8d795ae7139b9e91b1c593aa 100644 --- a/src/app/formulaire/formulaire-element.ts +++ b/src/app/formulaire/formulaire-element.ts @@ -128,7 +128,7 @@ export abstract class FormulaireElement extends FormulaireNode { let master: FormulaireElement = d.masterElement; if (d instanceof ExistenceDependency) { let slave: FormulaireElement = this; - slave.isDisplayed = slave._isDisplayed || master.verifiesDependency(d); + slave.isDisplayed = slave._isDisplayed || (master.isDisplayed && master.verifiesDependency(d)); // le problème c'est que master.isDisplayed n'est pas forcément correct à ce moment précis... } else if (d instanceof ValueDependency) { let vd = <ValueDependency>d; diff --git a/src/locale/error_messages.fr.json b/src/locale/error_messages.fr.json index 6f6bd4a506635f0d3ac9d8ea2d9f58de03f95255..d08817f011651620fee26500581836e228a4a4cf 100644 --- a/src/locale/error_messages.fr.json +++ b/src/locale/error_messages.fr.json @@ -86,5 +86,7 @@ "INFO_OPTION_NO": "Non", "INFO_PABDIM_TITRE": "Passe à bassin : dimensions", "INFO_PABPUISS_TITRE": "Passe à bassin : puissance dissipée", - "INFO_OUVRAGEPARAL_TITRE": "Ouvrages en parallèle" + "INFO_OUVRAGEPARAL_TITRE": "Ouvrages en parallèle", + "WARNING_STRUCTUREKIVI_PELLE_TROP_FAIBLE": "La pelle du seuil doit mesurer au moins 0,1 m. Le coefficient béta est forcé à 0", + "WARNING_STRUCTUREKIVI_HP_TROP_ELEVE": "h/p ne doit pas être supérieur à 2,5. h/p est forcé à 2,5" } \ No newline at end of file