summaryrefslogtreecommitdiff
path: root/Donjon/data/Fessenheim_proc/ThermaExpans.c2m
blob: b337ef30172a50d0c71e12c5c038ee755e18aa5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
*======================================================================
*  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 ::
*    <<ColdValue>> <<Material>> <<HotTemp>> <<DataType>>
*     >>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 ;
:: <<HotValue>>  ;
END: ;
QUIT "LIST" .