summaryrefslogtreecommitdiff
path: root/Donjon/data/mpo_mco_refl.x2m
blob: d88a23c1e8c659cdba815cc99a4f4a63b06179a1 (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
*----
*  TEST CASE mpo_mco_refl
*  Compare a Multicompo and a MPO reflector
*----
*  Define STRUCTURES and MODULES used
*----
MODULE NCR: MCR: UTL: GREP: ABORT: END: ;
LINKED_LIST REFL MACRO1 MACRO2 ADF1 ADF2 ;
SEQ_ASCII _REFL :: FILE './_Multicompo_Refl_MCompRefl.txt' ;
HDF5_FILE MPOREFL :: FILE './MpoRefl.hdf' ;
REAL densB1 := 700.0 ; ! reference Boron concentration in ppm
REAL value1 value2 DELTA ;

************************************************************************
*  Multicompo reflector                                                *
************************************************************************
REFL := _REFL ;
MACRO1 :=  NCR:  REFL :: EDIT 2 MACRO NMIX 5
   COMPO REFL Radial MIX  5 FROM 2 SET 'C-BORE' <<densB1>> SET 'Method'
                     'DF-NEM' SET 'Palier' 'EPR' ENDMIX ;
UTL: MACRO1 :: IMPR STATE-VECTOR * DUMP ;

************************************************************************
*  MPO reflector                                                       *
************************************************************************

MACRO2 :=  MCR:  MPOREFL :: EDIT 3 MACRO NMIX 5
   MPO MPOREFL output_0 MIX  5 FROM 2 SET 'C-BORE' <<densB1>> SET 'Method'
                      'DF-NEM' SET 'Palier' 'EPR' ENDMIX ;
UTL: MACRO2 :: IMPR STATE-VECTOR * DUMP ;

************************************************************************
*  statistics                                                          *
************************************************************************
GREP: MACRO1 :: GETVAL 'ALBEDO' 1 >>value1<< ;
GREP: MACRO2 :: GETVAL 'ALBEDO' 1 >>value2<< ;
ECHO "alb1=" value1 "alb2=" value2 ;
EVALUATE DELTA := value1 value2 - value2 / ABS ;
IF DELTA 5.0E-5 < THEN
  PRINT "TEST ALBEDO SUCCESSFUL; DELTA=" DELTA ;
ELSE
  PRINT "----------------------" ;
  PRINT "TEST FAILURE ON ALBEDO" ;
  PRINT "----------------------" ;
  PRINT "alb(macrolib1)=" value1 "alb(macrolib1)=" value2 ;
  ABORT: ;
ENDIF ;

ADF1 := MACRO1 :: STEP UP ADF ;
ADF2 := MACRO2 :: STEP UP ADF ;
GREP: ADF1 :: GETVAL "FD_B" 5 >>value1<< ;
GREP: ADF2 :: GETVAL "FD_00001" 5 >>value2<< ;
ECHO "adf1=" value1 "adf2=" value2 ;
EVALUATE DELTA := value1 value2 - value2 / ABS ;
IF DELTA 5.0E-5 < THEN
  PRINT "TEST ADF SUCCESSFUL; DELTA=" DELTA ;
ELSE
  PRINT "-------------------" ;
  PRINT "TEST FAILURE ON ADF" ;
  PRINT "-------------------" ;
  PRINT "adf(macrolib1)=" value1 "adf(macrolib1)=" value2 ;
  ABORT: ;
ENDIF ;
END: ;

ECHO "mpo_mco_refl completed" ;
END: ;