**************************************************************** * * * Procedure : SPH_SN_Proc.c2m * * Purpose : Perform a transport-diffusion SPH equivalence * * Author : A. Hebert * * * * CALL : * * SPH_SN_Proc Geom ; * * * * Input objects: * * Geom : macro-geometry LCM object * * ApexName : Apex file name * * ncals : number of calculations in the Apex file * * * **************************************************************** PARAMETER Geom :: ::: LINKED_LIST Geom ; ; STRING ApexName ; :: >>ApexName<< ; INTEGER ncals ; :: >>ncals<< ; MODULE SPH: SNT: ASM: FLU: UTL: GREP: DELETE: END: ; LINKED_LIST TRACK MACRO2 MACRO OPTIM SYSTEM FLUX ; HDF5_FILE APEX_FILE :: FILE <> ; INTEGER IterEmax := 1000 ; REAL K_EFF_REF ; PROCEDURE SPHPicardSN assertS ; * ECHO "SPH_SN_Proc: ApexName=" ApexName "ncals=" ncals ; TRACK := SNT: Geom :: EDIT 1 SN 4 SCAT 1 QUAD 1 ; *---- * Perform fixed point SPH equivalence for each branch calculation *---- INTEGER ical := 0 ; REPEAT EVALUATE ical := ical 1 + ; ECHO "process branch=" ical "/" ncals ; MACRO2 := SPH: APEX_FILE :: EDIT 1 STEP AT <> MACRO OFF LEAK ; GREP: MACRO2 :: GETVAL 'K-EFFECTIVE' 1 >>K_EFF_REF<< ; ECHO "ical=" ical "reference k-effective=" K_EFF_REF ; MACRO OPTIM := SPHPicardSN MACRO2 Geom TRACK :: 0.0 10.0 1.0E-6 <> ; ECHO "control variables at convergence for ical=" ical ; UTL: OPTIM :: IMPR 'VAR-VALUE' * ; MACRO2 := DELETE: MACRO2 ; *---- * Write SPH factors on APEX file *---- APEX_FILE := SPH: APEX_FILE OPTIM :: EDIT 1 STEP AT <> IDEM SPOP EQUI 'EQV_DIFF_S3' ; OPTIM := DELETE: OPTIM ; *---- * Verification calculation *---- SYSTEM := ASM: MACRO TRACK :: EDIT 0 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 1 TYPE K B0 SIGS ; assertS FLUX :: 'K-EFFECTIVE' 1 <> ; MACRO SYSTEM FLUX := DELETE: MACRO SYSTEM FLUX ; UNTIL ical ncals = ; ECHO "Equivalence_SPH_SN_Proc completed" ; END: ;