diff options
| author | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
|---|---|---|
| committer | stainer_t <thomas.stainer@oecd-nea.org> | 2025-09-08 13:48:49 +0200 |
| commit | 7dfcc480ba1e19bd3232349fc733caef94034292 (patch) | |
| tree | 03ee104eb8846d5cc1a981d267687a729185d3f3 /Donjon/src/SIMSET.f | |
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/src/SIMSET.f')
| -rw-r--r-- | Donjon/src/SIMSET.f | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/Donjon/src/SIMSET.f b/Donjon/src/SIMSET.f new file mode 100644 index 0000000..2ed6bec --- /dev/null +++ b/Donjon/src/SIMSET.f @@ -0,0 +1,69 @@ +*DECK SIMSET + SUBROUTINE SIMSET(NCH,NB,HCYC,NASMB1,ASMB1,BURN,IFUEL,ZONE,NAME, + > BURNUP,FMIX) +* +*----------------------------------------------------------------------- +* +*Purpose: +* Set the burnup and fuel type of a group of assemblies at positions +* ASMB1. +* +*Copyright: +* Copyright (C) 2013 Ecole Polytechnique de Montreal +* +*Author(s): +* A. Hebert +* +*Parameters: input/output +* NCH number of assemblies or number of quart-of-assemblies. +* NB number of axial burnup subdivisions in an assembly. +* HCYC name of cycle. +* NASMB1 number of assemblies to set. +* ASMB1 group of assembly names, as defined in the fuel map, to set +* at specific burnup or fuel type. +* BURN burnup in MW-day/tonne. Burnup must be set if .ne.-999.0. +* IFUEL fuel type. Fuel type must be set if .ne.0. +* ZONE default assembly or quart-of-assembly names as defined in +* the fuel map. +* NAME names of each assembly or of each quart-of assembly during +* a refuelling cycle. All quart-of-assembly belonging to the +* same assembly have the same name. +* BURNUP burnups during a refuelling cycle. A value of -999.0 means +* a non-initialized value. +* FMIX assembly types after refuelling. +* +*----------------------------------------------------------------------- +* +*---- +* SUBROUTINE ARGUMENTS +*---- + INTEGER NCH,NB,NASMB1,FMIX(NCH,NB) + CHARACTER HCYC*12,ZONE(NCH)*4,ASMB1(NASMB1)*4,NAME(NCH)*12 + REAL BURN,BURNUP(NCH,NB) +*---- +* LOCAL VARIABLES +*---- + CHARACTER HSMG*131 +* + DO IASMB1=1,NASMB1 + DO ICH=1,NCH + IF(ASMB1(IASMB1).EQ.ZONE(ICH)) THEN + DO IB=1,NB + IF(BURN.NE.-999.0) THEN + IF(BURNUP(ICH,IB).NE.-999.0) THEN + WRITE(HSMG,'(36H@SIMSET: BURNUP ALREADY DEFINED IN C, + > 6HHANNEL,I4,10HAND BUNDLE,I4,10H AT CYCLE ,A12,1H.)') + > ICH,IB,HCYC + ENDIF + BURNUP(ICH,IB)=BURN + ENDIF + IF(IFUEL.NE.0) THEN + FMIX(ICH,IB)=IFUEL + ENDIF + ENDDO + NAME(ICH)=ASMB1(IASMB1)(:3)//HCYC(:9) + ENDIF + ENDDO + ENDDO + RETURN + END |
