summaryrefslogtreecommitdiff
path: root/Donjon/data/AFMtest_proc/PcritAx.c2m
diff options
context:
space:
mode:
authorstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
committerstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
commit7dfcc480ba1e19bd3232349fc733caef94034292 (patch)
tree03ee104eb8846d5cc1a981d267687a729185d3f3 /Donjon/data/AFMtest_proc/PcritAx.c2m
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/data/AFMtest_proc/PcritAx.c2m')
-rwxr-xr-xDonjon/data/AFMtest_proc/PcritAx.c2m89
1 files changed, 89 insertions, 0 deletions
diff --git a/Donjon/data/AFMtest_proc/PcritAx.c2m b/Donjon/data/AFMtest_proc/PcritAx.c2m
new file mode 100755
index 0000000..9730cad
--- /dev/null
+++ b/Donjon/data/AFMtest_proc/PcritAx.c2m
@@ -0,0 +1,89 @@
+!***********************************************************************
+!* **
+!* PROCEDURE: PcritAx **
+!* USAGE: Iteration for axial flux shape convergence **
+!* for Gentilly2 **
+!* AUTHOR: E. Varin (96/02/12) **
+!* Modified: W. Shen (97/10/10) **
+!* B. Dionne (01/03/04) (pour cours ENE6209) **
+!* A. Hebert (11/11/11) (pour DONJON4) **
+!* CALL: **
+!* **
+!* RESEAU := PcritB RESEAU DBASE INDEX MACRO DEVICE G23D2 :: **
+!* Maxreg Precf Pow Keff Eps1 ; **
+!* **
+!* **
+!* NOTES: **
+!* Maxreg = maximum number of matrial regions in geometry **
+!* Precf = Static flux calculation precision **
+!* Pow = total fission power **
+!* B1,B2 = burnup in each zone **
+!* Keff,Eps1 = output **
+!* **
+!***********************************************************************
+ PARAMETER RESEAU DBASE INDEX MACRO DEVICE G23D2 ::
+ ::: LINKED_LIST RESEAU DBASE INDEX MACRO DEVICE G23D2 ;
+ ;
+
+ MODULE DELETE: RESINI: END: ;
+
+ PROCEDURE Pflax ;
+
+!* Declaration et initialisation des variables
+!*********************************************
+ INTEGER Maxreg ;
+ INTEGER Iter Edit := 0 1 ;
+
+ REAL Precf B1 B2 Eps1 Keff Pow ;
+
+!* Lecture des arguments de la procedure
+!***************************************
+ :: >>Precf<< >>B1<< >>B2<< >>Maxreg<< >>Pow<< ;
+
+!* Boucle pour converger sur la forme axiale du flux
+!***************************************************
+ REPEAT
+
+ EVALUATE Iter := Iter 1 + ;
+
+ RESEAU := RESINI: RESEAU :: TIMAV-BVAL <<B1>> <<B2>> ;
+
+ ECHO "PcritAx Iter=" Iter "B=" B1 B2 ;
+ RESEAU INDEX := Pflax RESEAU INDEX DBASE MACRO DEVICE G23D2 ::
+ <<Maxreg>> <<Precf>> <<Pow>> <<Edit>> >>Keff<< >>Eps1<< ;
+
+ UNTIL Eps1 0.001 < Iter 10 = + ;
+
+!* Impression de la carte des puissances de canal
+!************************************************
+ EVALUATE Edit := 2 ;
+
+ RESEAU INDEX := Pflax RESEAU INDEX DBASE MACRO DEVICE G23D2 ::
+ <<Maxreg>> <<Precf>> <<Pow>> <<Edit>> >>Keff<< >>Eps1<< ;
+
+ IF Eps1 0.001 < THEN
+ ECHO "FORME AXIALE DU FLUX CONVERGEE" ;
+ ECHO "--------------------------------" ;
+ ECHO "EXIT BURNUP = " B1 B2 ;
+ ECHO "KEFF = " Keff ;
+ ECHO "ERREUR FORME FLUX = " Eps1 ;
+ ECHO "NBRE ITERATIONS INTERNES = " Iter ;
+ ECHO "--------------------------------" ;
+ ELSE
+ ECHO "ITERATION MAXIMALE ATTEINTE" ;
+ ECHO "FORME AXIALE DU FLUX NON CONVERGEE" ;
+ ECHO "----------------------------------" ;
+ ECHO "EXIT BURNUP = " B1 B2 ;
+ ECHO "KEFF = " Keff ;
+ ECHO "ERREUR FORME FLUX = " Eps1 ;
+ ECHO "NBRE ITERATIONS INTERNES = " Iter ;
+ ECHO "----------------------------------" ;
+ ENDIF ;
+
+!* Ecriture des variables de sorties de la procedure
+!***************************************************
+ :: <<Keff>> <<Eps1>> ;
+
+ END: ;
+
+QUIT .