From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001 From: stainer_t Date: Mon, 8 Sep 2025 13:48:49 +0200 Subject: Initial commit from Polytechnique Montreal --- Donjon/data/Candu3_Shuffling_proc/p5_Radial.c2m | 103 ++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100755 Donjon/data/Candu3_Shuffling_proc/p5_Radial.c2m (limited to 'Donjon/data/Candu3_Shuffling_proc/p5_Radial.c2m') diff --git a/Donjon/data/Candu3_Shuffling_proc/p5_Radial.c2m b/Donjon/data/Candu3_Shuffling_proc/p5_Radial.c2m new file mode 100755 index 0000000..c4db3ce --- /dev/null +++ b/Donjon/data/Candu3_Shuffling_proc/p5_Radial.c2m @@ -0,0 +1,103 @@ +*-------------------------------------------------------- +* Procédure p4_Equilib +* Affine la stratégie pour un ensemble de paramètres donnés +* Appel : +* FlxT FmapT := p5_Radial Flx Fmap FmapI GeoCalc Trkcore DevInf MacDev +* CpoFuel :: <> <> <> <> +* <> <> <> <> >>B1o<< >>R2o<< +* >>R3o<< >>PCo<< >>PGo<< >>Fo<< >>eAo<< ; +* avec en entree +* S DEV = type de mécanismes traités : NOMINAL +* et en sortie +* fadj = niveau d'insertion des barres de compensation +* Auteur : Emmanuel Saint Aubin +* D&Dv5 Ivan Trancart - 15-12-2024 (maj 16-12-2024) +*-------------------------------------------------------- +PARAMETER FlxT FmapT FlxC FmapC FmapI GeoCalc Trkcore DevInf + MacDev CpoFuel :: +::: LINKED_LIST FlxT FmapT FlxC FmapC FmapI GeoCalc Trkcore DevInf + MacDev CpoFuel ; ; +LINKED_LIST FmapFl Flxtmp Fmap Flx ; +PROCEDURE p4_Equilib p9_Data f2_ObjStrat ; +MODULE DELETE: GREP: END: ; +ECHO "DÉBUT DE RADIAL.c2m" ; +REAL B1 R2 R3 DR DR2m DR2p DR3m DR3p + R2t R3t PC PG BREF F Fo B1o R2o R3o LIMC RMAX + BEND PCo PGo LIMG eAo P E B eA ; +INTEGER POINT PL ; +STRING proc := "RADIAL" ; +STRING SETC ; +:: >>SETC<< >>B1<< >>R2<< >>R3<< >>PC<< >>PG<< + >>F<< >>DR<< >>eA<< ; +p9_Data :: <> >>BREF<< >>LIMC<< >>LIMG<< ; +*** +IF R2 1.0 = THEN EVALUATE DR2m DR2p := DR 2.0 / DR ; +ELSEIF R2 1.0 < THEN EVALUATE DR2m DR2p := DR 2.0 / DR 2.0 / ; +ELSEIF R2 1.0 > THEN EVALUATE DR2m DR2p := DR DR ; +ENDIF ; +IF R3 1.0 = THEN EVALUATE DR3m DR3p := DR 2.0 / DR ; +ELSEIF R3 1.0 < THEN EVALUATE DR3m DR3p := DR 2.0 / DR 2.0 / ; +ELSEIF R3 1.0 > THEN EVALUATE DR3m DR3p := DR DR ; +ENDIF ; +*** +Flx := FlxC ; +Fmap := FmapC ; +EVALUATE POINT PL := 1 8 ; +* Nombre de points à 3 zones : 8 +EVALUATE B1o R2o R3o PCo PGo Fo eAo := + B1 R2 R3 PC PG F eA ; +WHILE POINT PL <= DO + IF POINT 1 = THEN + EVALUATE R2t R3t := R2 DR2m - R3 DR3p + ; + ELSEIF POINT 2 = THEN + EVALUATE R2t R3t := R2 DR2m - R3 ; + ELSEIF POINT 3 = THEN + EVALUATE R2t R3t := R2 DR2m - R3 DR3m - ; + ELSEIF POINT 4 = THEN + EVALUATE R2t R3t := R2 R3 DR3m - ; + ELSEIF POINT 5 = THEN + EVALUATE R2t R3t := R2 DR2p + R3 DR3m - ; + ELSEIF POINT 6 = THEN + EVALUATE R2t R3t := R2 DR2p + R3 ; + ELSEIF POINT 7 = THEN + EVALUATE R2t R3t := R2 DR2p + R3 DR3p + ; + ELSEIF POINT 8 = THEN + EVALUATE R2t R3t := R2 R3 DR3p + ; + ENDIF ; + FmapFl Flxtmp GeoCalc := p4_Equilib FmapI GeoCalc Trkcore + DevInf MacDev CpoFuel :: + <> <> <> <> + >>PC<< >>PG<< >>B1<< >>eA<< ; + GREP: FmapFl :: GETVAL B-EXIT 1 >>BEND<< ; + *** + ECHO "B1 B2 B3 BEND BREF: " B1 B1 R2t * B1 R3t * BEND BREF ; +* F = P + E + B + f2_ObjStrat :: <> <> <> <> >>F<< ; + IF F Fo > THEN + Flx Fmap := DELETE: Flx Fmap ; + Flx := Flxtmp ; + Fmap := FmapFl ; + EVALUATE Fo B1o R2o R3o PCo PGo eAo := + F B1 R2t R3t PC PG eA ; + ENDIF ; + ECHO "****** CYCLES ******" ; + ECHO "epsAXC = " eA ; + ECHO " B1 = " B1 ; + ECHO " R2 = " R2t ; + ECHO " R3 = " R3t ; + ECHO " P.MAX. CANAL = " PC ; + ECHO " P.MAX. GRAPPE = " PG ; + ECHO " F = " F ; + ECHO "**************************" ; + FmapFl Flxtmp := DELETE: FmapFl Flxtmp ; + EVALUATE POINT := POINT 1 + ; +ENDWHILE ; +*** +FlxT := Flx ; +FmapT := Fmap ; +:: <> <> <> <> <> <> <> ; +Fmap Flx := DELETE: Fmap Flx ; +*** +ECHO "FIN DE RADIAL.c2m" ; +END: ; +QUIT "LIST" . \ No newline at end of file -- cgit v1.2.3