*====================================================================== * Name : ThermaExpans.c2m * Type : DRAGON procedure * Use : Calculation of hot dimensions * Made by R. Nguyen Van Ho [URANUS | IRSN/PSN-EXP/SNC/LNR] * J. Taforeau [IRSN/PSN-EXP/SNC/LNR] * Date : 02/2017 * Procedure called as: * * ThermaExpans :: * <> <> <> <> * >>HotValue<< ; * * Parameter of the procedure : * * ColdValue : density/distance at cold temperature * Material : Material * [UO2|SS304|SS316|Zr4|In718|AIC|Pyrex|Air|Mod] * HotTemp : Hot Temperature [°C] * DataType : Type of Data : [Density|Distance] * * HotValue : density/distance at hot temperature *====================================================================== *---- * Local modules *---- MODULE USPLIT: ABORT: END: ; *---- * Get variables *---- REAL HotValue ColdValue HotTemp Unused ; STRING Model Material DataType ; :: >>ColdValue<< >>Material<< >>HotTemp<< >>DataType<< >>Model<< >>Unused<< >>Unused<< ; REAL Alpha Beta := 0.0 0.0 ; REAL TempF := HotTemp (* C *) 9.0 * 5.0 / 32.0 + ; ! C to F * Specifications TIHANGE CEA-N-2092, p.153 IF Material "UO2" = THEN EVALUATE Beta := 1.0 -3.31925E-4 + 4.87957E-6 TempF * + 1.37101E-11 TempF 2.0 ** * + 1.6161E-13 TempF 3.0 ** * + ; ELSEIF Material "SS304" = THEN EVALUATE Alpha := 9.8E-6 ; EVALUATE Beta := Alpha TempF 70. - * 1. + ; ELSEIF Material "SS316" = THEN EVALUATE Alpha := 9.8E-6 ; EVALUATE Beta := Alpha TempF 68. - * 1. + ; ELSEIF Material "Zr4" = THEN EVALUATE Alpha := 3.25E-6 ; EVALUATE Beta := Alpha TempF 68. - * 1. + ; ELSEIF Material "Pyrex" = THEN EVALUATE Alpha := 0. ; EVALUATE Beta := Alpha TempF 68. - * 1. + ; ELSEIF Material "In718" = THEN EVALUATE Alpha := 6.0583333E-6 7.9395882E-9 TempF * + -1.2278191E-11 TempF 2.0 ** * + 8.4850913E-15 TempF 3.0 ** * + -1.9212558E-18 TempF 4.0 ** * + ; EVALUATE Beta := Alpha TempF 75. - * 1. + ; ELSEIF Material "AIC" = THEN EVALUATE Alpha := 1.25E-5 ; EVALUATE Beta := Alpha TempF 68. - * 1. + ; ELSEIF Material "B4C" = THEN EVALUATE Alpha := 0. ; EVALUATE Beta := Alpha TempF 68. - * 1. + ; ELSEIF Material "Hf" = THEN EVALUATE Beta := 1.0 ; ELSE ECHO "ThermaExpans: unknown " Material " material." ; ABORT: ; ENDIF ; IF Beta 0.0 = THEN ECHO "ThermaExpans internal error. Beta undefined." ; ABORT: ; ENDIF ; IF DataType "Density" = THEN EVALUATE HotValue := ColdValue Beta 3.0 ** / ; ELSEIF DataType "Distance" = THEN EVALUATE HotValue := ColdValue Beta * ; ELSE ECHO "DataType unknown. Must be Density or Distance." ; ABORT: ; ENDIF ; :: <> ; END: ; QUIT "LIST" .