summaryrefslogtreecommitdiff
path: root/Donjon/src/D2PREO.f
blob: c118c7a3757e0131a7a31873d821db387962499d (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
*DECK D2PREO
      SUBROUTINE D2PREO(IPDAT,VALPAR,IND,NPAR,NVAL,IPRINT)
*
*-----------------------------------------------------------------------
*
*Purpose:
* take into account the meanning of the control rod composition in
* Saphyb, attribute to each value of control rod the corresponding value
* in GENMAPXS formalism
*
*Author(s): 
* J. Taforeau
*
*Parameters: input
* IPDAT   address of the INFO data block
* VALPAR  vector of values for each state variable
* IND     index of the control rod parameter
* NPAR    number of state variables
* NVAL    number of values for control rod parameter
* IPRINT  control the printing on screen
*
*Parameters: 
*
*-----------------------------------------------------------------------
*
      USE GANLIB
*----
*  SUBROUTINE ARGUMENTS
*----
      TYPE(C_PTR) IPDAT
      INTEGER NVAL
      REAL VALPAR(NPAR,100)
*----
*  LOCAL VARIABLES
*----
      ! USER INPUT: MEANING OF BARR PARAMETERS : LOCATED AT INFO/CRDINF
      INTEGER CRDINF(NVAL)

      ! RECOVER CRDINF DATA BLOCK
      CALL LCMSIX(IPDAT,' ',0)
      CALL LCMGET(IPDAT,'BARR_INFO',CRDINF)

      DO I=1, NVAL
        VALPAR(IND,I)=CRDINF(I)
        IF (CRDINF(I)<0) THEN
          CALL XABORT('@D2PREO: CONTROL ROD COMPO MUST BE POSITIVE')
        ENDIF
      ENDDO
      ! ATTRIBUTION OF CRDINF TO THE BARR PARAMETERS

      CALL LCMSIX(IPDAT,'SAPHYB_INFO',1)

      ! EDIT THE LISTING FILE
      IF(IPRINT > 1)  THEN
        WRITE(6,*)
        WRITE(6,*) "******  CONTROL ROD COMPOSITION (IN SAPHYB) ******"
        WRITE(6,*)
        WRITE(6,*) "UNRODDED CROSS SECTIONS :",VALPAR(IND,1)
        DO J=2, NVAL
         WRITE(6,*) "RODDED COMPOSITION ",J-1,": ",VALPAR(IND,J)
        ENDDO
        WRITE(6,*)
      ENDIF
      END