summaryrefslogtreecommitdiff
path: root/Donjon/src/CREITP.f
blob: 95200e485bddb73dc5348e5ff73e1a54fb05b532 (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
89
90
91
92
93
94
*DECK CREITP
      SUBROUTINE CREITP(NGRP,NL,NBURN,TERP,TOTAL,ZNUG,SNUGF,CHI,
     1    OVERV,DIFFX,DIFFY,DIFFZ,H,SCAT,FLUX,ZTOTAL,ZZNUG,ZNUGF,
     2    ZCHI,ZOVERV,ZDIFFX,ZDIFFY,ZDIFFZ,ZH,ZSCAT,ZFLUX)
*
*-----------------------------------------------------------------------
*
*Purpose:
* Interpolate burnup dependent table for a given burnup value or
* time-average or derivatives.
*
*Copyright:
* Copyright (C) 2007 Ecole Polytechnique de Montreal.
*
*Author(s): 
* A. Hebert
*
*Parameters: input
* NGRP    number of energy groups.
* NL      number of legendre orders (=1 for isotropic scattering).
* NBURN   number of tabulated burnup steps.
* TERP    interpolation factors.
* ZTOTAL  burnup dependent total macroscopic x-sections
* ZZNUG   burnup dependent nu*fission macroscopic x-sections.
* ZNUGF   burnup dependent fission macroscopic x-sections.
* ZCHI    burnup dependent fission spectrum.
* ZOVERV  burnup dependent reciprocal neutron velocities.
* ZDIFFX  burnup dependent x-directed diffusion coefficients.
* ZDIFFY  burnup dependent y-directed diffusion coefficients.
* ZDIFFZ  burnup dependent z-directed diffusion coefficients.
* ZH      burnup dependent h-factors.
* ZSCAT   burnup dependent scattering macroscopic x-sections.
* ZFLUX   burnup dependent integrated flux.
*
*Parameters: output
* TOTAL   total macroscopic x-sections.
* ZNUG    nu*fission macroscopic x-sections.
* SNUGF   fission macroscopic x-sections.
* CHI     fission spectrum.
* OVERV   reciprocal neutron velocities.
* DIFFX   x-directed diffusion coefficients.
* DIFFY   y-directed diffusion coefficients.
* DIFFZ   z-directed diffusion coefficients.
* H       h-factors (kappa*fission macroscopic x-sections).
* SCAT    scattering macroscopic x-sections.
* FLUX    integrated flux.
*
*-----------------------------------------------------------------------
*
*----
*  SUBROUTINE ARGUMENTS
*----
      INTEGER NGRP,NL,NBURN
      REAL TERP(NBURN),TOTAL(NGRP),ZNUG(NGRP),CHI(NGRP),OVERV(NGRP),
     1 DIFFX(NGRP),DIFFY(NGRP),DIFFZ(NGRP),H(NGRP),SCAT(NL,NGRP,NGRP),
     2 SNUGF(NGRP),FLUX(NGRP),ZTOTAL(NBURN,NGRP),ZZNUG(NBURN,NGRP),
     3 ZCHI(NBURN,NGRP),ZOVERV(NBURN,NGRP),ZDIFFX(NBURN,NGRP),
     4 ZDIFFY(NBURN,NGRP),ZDIFFZ(NBURN,NGRP),ZH(NBURN,NGRP),
     5 ZSCAT(NBURN,NL,NGRP,NGRP),ZFLUX(NBURN,NGRP),ZNUGF(NBURN,NGRP)
*----
*  PERFORM INTERPOLATION OR TIME AVERAGING
*----
      TOTAL(:NGRP)=0.0
      ZNUG(:NGRP)=0.0
      CHI(:NGRP)=0.0
      OVERV(:NGRP)=0.0
      DIFFX(:NGRP)=0.0
      DIFFY(:NGRP)=0.0
      DIFFZ(:NGRP)=0.0
      H(:NGRP)=0.0
      SCAT(:NL,:NGRP,:NGRP)=0.0
      DO 100 IBURN=1,NBURN
      WEIGHT=TERP(IBURN)
      IF(WEIGHT.EQ.0.0) GO TO 100
      DO 92 JGR=1,NGRP
      TOTAL(JGR)=TOTAL(JGR)+WEIGHT*ZTOTAL(IBURN,JGR)
      ZNUG(JGR)=ZNUG(JGR)+WEIGHT*ZZNUG(IBURN,JGR)
      SNUGF(JGR)=SNUGF(JGR)+WEIGHT*ZNUGF(IBURN,JGR)
      CHI(JGR)=CHI(JGR)+WEIGHT*ZCHI(IBURN,JGR)
      OVERV(JGR)=OVERV(JGR)+WEIGHT*ZOVERV(IBURN,JGR)
      DIFFX(JGR)=DIFFX(JGR)+WEIGHT*ZDIFFX(IBURN,JGR)
      DIFFY(JGR)=DIFFY(JGR)+WEIGHT*ZDIFFY(IBURN,JGR)
      DIFFZ(JGR)=DIFFZ(JGR)+WEIGHT*ZDIFFZ(IBURN,JGR)
      H(JGR)=H(JGR)+WEIGHT*ZH(IBURN,JGR)
      FLUX(JGR)=FLUX(JGR)+WEIGHT*ZFLUX(IBURN,JGR)
      DO 91 IGR=1,NGRP
      DO 90 IL=1,NL
      SCAT(IL,IGR,JGR)=SCAT(IL,IGR,JGR)+WEIGHT*ZSCAT(IBURN,IL,IGR,JGR)
   90 CONTINUE
   91 CONTINUE
   92 CONTINUE
  100 CONTINUE
      RETURN
      END