summaryrefslogtreecommitdiff
path: root/Donjon/src/SIMSET.f
diff options
context:
space:
mode:
authorstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
committerstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
commit7dfcc480ba1e19bd3232349fc733caef94034292 (patch)
tree03ee104eb8846d5cc1a981d267687a729185d3f3 /Donjon/src/SIMSET.f
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/src/SIMSET.f')
-rw-r--r--Donjon/src/SIMSET.f69
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