SAFPWR home page
## Application exemple on simple PWR complete system

### Data file description

ref: View 003.dat, download `003.dat`

Each data group in the input file **input.dat** is documented in details as follows.

**read**: introduces read __data group__

**&S00gen** :generic data list for primary side

**l9=1** : single loop loop1 representation

**epstau= .01** :
precision criterion used for resolving 0/0 type numerical indetermination

**osplit= f**: no spitting of **c** and **a**

**owvp= t** [Option;floW;Volumetric]
loop flow will be specified, in **Lstl1**, as pump volumetric flow

**S00gvg**: generic list for steam-generators if they exist

**epsqgv= .000001** [EPsilon;thermal power Q;Generator;of Vapor]
convergence criterion for automatic adjustment of heat-exchange area in the *ini* process

**omqgv= 2.5** [OMega;QGV]
relaxation factor for the previous adjustment

The adjustment must generally be

over-relaxed .

The convergence process can be monitored on the console at execution time and

**omqgv** may be adjusted accordingly.

**swagv=** [transverse Surface;for floW;in Annulus;of GV]
constant, default, transverse flow area of SG annular space for all SG.

A level-dependant area may also be defined by an interpolator following **Lstn1**

**vadgv=** [Volume;Annulus space;+ Dome;GV]
common total volume for **A** and **N**

! if the SG are not of the same size, **vadgv** should be redefined on the **Lstn**

**xygv=**
relaxation multiplier (**x** means "times") for level corrections in automatic level control. A value of 1 is generally adequate

**read** / **Plots** see later

**down_comer**

**Lsta**

**aza=** [Accretion (or "Augmentation") of elevation **Z**;in Annular space ] not used unless *euler* is invoked

**cfra=** [Coefficient;of FRiction;A] idem

**gga=** [twinGGle;A]
average length/flow area ratio of A (idem)

**va=** [Volume;A]

**bottom**

**Lstb**

**hsb=** [entHalpy;Sortie;Bottom]
common enthalpy for **a**, **b** & **loop** cold leg imposed at initialization

**bsb=** [Boron;Sortie;B]
same as for **hsb**

**xwab=** [fraction X;floW;from A;to B]
**xwab=1** means that all the flow outgoing **a** enters and mixes with water in **b** before entering **c**

**core_config**
Input here the data for all the configurations **igr** which will be potentially present in the course of the transient.

**Lstcfg**

**i9gr=2** : [I;9 max;of confiGuRations]
**igr=1** for rodded configuration; **igr=2** for unrodded configuration

**Zgri_sec**:
Polygonal time-interpolator for upper limit **zgri** of each **igr**

**sec=** [time SEC]
time values: here a record of values, terminated with **/** for delimiting the number of values (here:4)

**zgri=** [Z;for each IGR]
corresponding **zgri**, entered as a 2-dim Fortan array (the first index changes the most rapidly):

[`zgri((isec=1,4), (igr=1,i9gr))`

]

**Dgri_sec** time-interpolator for groups insertion after reactor trip (Arret Urgence).

pic 01
shows for example the upper position trajectory of each configuration for a safety trip at

**sec=**50

**sec_drop= 1000/**
sec_drop, the time at which the rod configurations starts dropping is normally determined by the protection system. Entering a large value (default) prevents drop activation. Entering a value <**secmax** forces drop at **sec_drop**.

! namelist record terminated by **/**

**core**

**&Lstc**: generic namelist for the core

**i9c=** [I9;C]
max value of neutronic intervals **ci** used for flux calculation.

**i9c=1** simulates point-kinetics

**k9c= 1** [CK;9 max] max value of nodes **ck**

**it9fc= 1** [: [ITeration;9;for nuclear power F;in C]
only 1 flux iteration

**it9dsc= 0** : [IT9;DSec;C]
no automatic increment of **dsec** adjustments

**dhyc=** [Diameter;HYdraulic;C]
cooling channel hydraulic diameter (used if dnbr is calculated

**epsuc= .001** [EPSilon;fUel pellet;temperatUre;C]
accuracy crit. for initializing temperature field in fuel pellet

**sfc=** [transverse Surface;for nuclear power F;Core ] []
active (power generating) core transverse area

**swc=** [transverse Surface;for mass floW;C ] core flow area

**xfuc=** [fraction X;of nuclear power F;generated in fUel pellet;C ]

**it9fc=** [ITeration;9;FC]

**it9dsc=** [IT9;for DSec;C]

The other data are not relevant for the present application

**Lstuc** data list for average fuel rod **uc**

**ruc=** [Radius;fUel pellet;Core] fuel pellet radius

**drcc=** [Delta;Radius;Cladding;Core]
fuel rod clad thickness

**drgc=** [Delta;Radius;Gap;Core]
thickness of the pellet to clad gap

**qhgc=** [thermal Q;Heat exchange coefficient;of Gap;C]

units: W/(m ^{2} s)

**xfruc=** [fraction X;of nuclear power F;deposited in each region R;of core fuel pellet UC] the pellet is spit into 4 equal-area regions; 4*.25 corresponds to uniform power radial distribution

**xuruc=** [fraction X;temperatUre;in Region;of UC] relative neutronic reactivity weight of each region; .3,4*0,.7 means 30% to pellet center and 70% to pellet edge, which overweights pellet edge

**Lstci**: data list for each **ci** [Core;Interval]

**f2ci=** [nuclear power F;generated at end-of-step 2;in CI ]

As **i9c=**1, **f2ci** is here the total initial (at eos 2 of **sec**=0 step) nuclear power

**Lstck**
The core is partitioned into **k9c** thermal __nodes__ **ck**, with uniform thermal properties (**h, b, u,...**) like for any thermal node of the system.

**i9ck=** [last 9;interval I;of node CK]

each **ck** spit into

`i9ck(ck)-i9ck(ck-1)`

equal height intervals

**azck=** [AZ;CK] axial thickness of CK (here the active height)

**cfrck=** [Coefficient;FRiction;CK] no used here

**vck=** [water Volume;CK]

**vuck=** [Volume;fUel pellet;in CK ].

"**U**" represents the metallic conductor attached to a node: fUel rod, pipe metallic wall, ...

`vck + vuck =`

total volume of active core in CK

**&Lstg** Generic namelist for neutronic data tables attached to each confiGuration **ig**

**iv9g=** [index I;volumetric mass V;last 9;G] number of tabulation points for the water volumic mass**vm**

**Lstgg** tabulates neutronic variables depending only on confiGuration index **ig** and water volumetric mass **vm**

**amjg=** {lAMbda; family J}

deferred neutron precursor decay constants (unit: 1/s)

`amjg(j=1,j9g)`

! common set for all confIGurations

**vmg=** [Volumetric;Mass;confIG] tabulated values of **vm**, entered as 1-dim array

`vmg(iv=1, i9vg)`

**beg=** [total BEta;for each confiG]
total delayed-neutron fraction

**bejg=** [BEta;for each family J of delayed neutrons;for each confiG] Entered as 2-d fortran array

`bejg((j=1;j9g), (igr=1,i9gr))`

default value for **i9gr**: 6

**Lstrvg**: tabulation list for reactivity for each confi**G**uration.

The input data have been adjusted to correspond to a water temperature coefficient of -1e-5/K, and a Doppler fuel temperature coefficient of -4e-5/K

**rog=** [Reactivity;base value O;confiGuration] entered as

`rog(iv, igr)`

**roug=** [Reactivity;of base value O;U-derivative;G] `∂rg/∂u`

where

`u ≡ sqrt(effective fuel temperature - coolant temperature)`

.

**roug** simulates the fuel temperature Doppler effect

**rouug=** [RO;second derivative /U;G]:
`∂rug / ∂u`

**Lstsxvg**: data list for neutronic __macroscopic__ cross-sections [SX] tabulated, like reactivity, versus [**iV**] and [**iG**]

**sdog=** [macroscopic "Section";of Diffusion] Coefficient of diffusion (units: **cm**^{-1})

**svog=** [Section;for Velocity;O;G]
inverse of average neutron Velocity

**sknog=** [Section;Kappa/Nu;OG]
ratio of nuclear power to fissions source

**snog=** [macroscopic cross-Section, `νΣf`

fission;OG ]
fission macroscopic cross-section `Σf`

* `ν`

(average number of neutrons emitted per fission)

**u**-derivative of **SNOG**

**hot_channel**

The hot-channel is referenced as [**C7**]

**Lstuc7** Are solely entered under those list hot-channel values which differ from their corresponding average channel ones given above under **Lstuc**

**xuruc7=** [XURU;C7]
used for editing purpose only; record 1,5*0. will result in editing hot channel center temperature.

**Lstfxyvg** list collects hot-channel radial [XY] form factors [F] also tabulated vs `(iv,ig`

)

**fxyog= 2*1.55, 2*2.5** means: **fxy**=1.55 for rodded (**ig**=1) core, **fxy**=2.5 for unrodded (**igr**=2) core, not affected by density effect vm.

**dome**

**Lstd**

**azd=** [AZ;Dome]

**cfrd=** [Coeff;FRiction;D]
used in calculating flow by-pass through **D**

**vd=** [water Volume;D]

**xwcd=** [fraction X;of Core outlet mass floW;penetrating and mixing with Dome water]

**xwld=** [fraction X;of floW;by-passed from Loop outlet;to D]
to insure a "cold dome" effect by reducing primary hot water inventory in order to mitigate the consequences of loss-of-coolant accident.

**pressu**

The pressu sub-system includes the components Outlet, pressu eXpansion line and Pressu vessel.

**Lsto**

**p3=** [Pressure;3 ]initial primary pressure; **p3** represents the last, current pressure used for calculating primary T&H properties; not to be confused with **p2**, the pressure updated at eos "2" by closure of the primary volume balance

**omo=** [relaxation factor OMega; for Outlet]
for controlling possible instabilities resulting from partially explicit **h**-balance of **O**

**vo=** [Volume;O]

**xwco=** [fraction X;of floW;from Core outlet;to and mixing with water in O]
normally = 1 - **xwcd**

**Lstx**: generic list for pressu eXpansion line

**it9x=** [ITeration ;max number 9;X]
iterations used in homogeneous pressu model

**m9x=** [expansion line node M;last 9;for X]

**Lstxm** properties for the eXpansion line nodes `xm(1:m9x`

)

**azxm=** [Accretion;elevation Z;XM] for horizontal part of X azxm=0. Used for calculating pressure drop in X

**cfrxm=** [Coefficient;of FRiction;of XM]

**vxm=** [Volume; of node XM]

**Lstp** list for pressu vessel

**m2p=** [total water Mass;at eos 2;of P]
initial (at eos of sec=0) water (liquid+vapor) mass

**oqp=** [logical Option;for heat Q;injection Y;into P]

**oqyp=** [Option;for heat Q;injected Y;in P ]
idem for pressure control by electric heaters

**Lsts** list for pressurizer Spray

**bss=** [Boron;at Sortie;of Spray line]
initial value

**hss=** [entHalpy;at Sortie;of Spray line]
initial value must verify the pressu h-balance

`qyp = wss * (hl0 - hss)`

where **hl0** represents the primary system **0** saturated Liquid entHalpy

**wss=** [floW;at Sortie;of Spray line]
here a fixed value; normally resulting from pressure control

**loop_1**
Data group for the single loop **loop_1** represented.

**Lstl1** List for loop **l**=1.

**i9l=** [node Index;last 9;of loop L]

**ipl=** [node I;into which the Pump is inserted;for loop L]

**xwl=** [multiplier X;of floW;for L]

**xwl=** 3 indicates a nuclear plant with 3 identical loops and SG's

**Itp_sec**: list for **sec**-interpolated data

**sec=** [sec values record ]
here 5 values (terminated with /)

**wvpl=** [floW;Volumetric;of Pump;in Loop]
here a constant value of 7.75637 m³/s

**Lstli1** [data LiST;for nodes LI;loop 1] entered as records of **i9l** values.

**jqli=** [SG secondary node J;receiving heat Q;from primary node LI]

For the nodes **n**j above the sg tubes bundle (in the riser), **jqli**=0 of SG

**azli=** [AZ;of LI]
In the node **ipl** where the pump is inserted, the pump manometric head is subtracted from the geometric value of **azli**

**cfrli**= [CFR;LI]

**eqli** [thickness (Epaisseur);of metallic part (loop piping, SG tubes) exchanging heat Q;with LI]

**ggli=** [litheness (length/transverse area) GG;of LI]

**qli=** [heat power Q;received by LI]
used, outside the SG nodes, to simulate the electrical power dissipated to thermal power in the node where the pump is inserted

**qauli=** [heat Q flux;caused by Accretion;of metal temperature U; in LI]
in other words: conductivity coefficient (W/(m*K) of metallic part associated with **li**

**qvuli=** [thermal power Q;for heating the Volume;of LI]
or volumetric heat capacity of metallic part (J/(m³*K)

**rfli=** [thermal Resistance;of heat transfer Film; LI]
inverse of heat-transfer coefficient

**sqli=** [Surface;for heat-exchange Q;LI]
for the sg nodes li=2:3, the heat-exchange area of tubes contained in the node

**vuli=** [Volume; metallic condUctor;attached to LI]
for the sg tubes, volume of the tubes contained in LI

**wyli=** [mass floW;injected Y;into LI]

**steam_gen_1**

Group for the secondary side of **steam_gen_1** inserted in **loop_1**. As a rule, it is referenced by the index **N** with `n=l`

**Lstn1**: data list for sg **n**

**j9n=** [index nJ;last 9;of sg N]
in the vapor generation part [Core;of N] each secondary node **nj** exchanges heat with a primary node **i3** [3: belongs to __ascending__ branch of the gv tubes and a node **i4** to the descending part.]

`nj = jli(i3) = jli(i4)`

**cfran=** [CFR;Annulus;of N] lumped value supposed to be independent of the water level of **an**

**gga=** [flexibility GG ;AN] average length/area of **an**; should vary with elevation of water in **an**. **gga** enters in acceleration term of the recirculation loop kinetic balance and influences the transient part only of recirculation flow **w2an**. As **zan** is kept constant by the sg level regulation, it makes sense to enter a constant value.

**hyan=** [entHalpy;feed-water injected Y;into AN]
may be time-dependent through **Itp_sec** interpolator

**p3n=** [Pressure;3;N]as for the primary system, **p3n** is the last pressure used in calculating the t&h data. To be discerned from the eos pressure **p2n** updated for closing volume balance

**v2an=** [water Volume;at eos 2;AN]:
initial (eos at time-step 0) water volume; depends of regulated water level in AN

**van=** [Volume;AN]:target water volume for **an** water level regulation. Normally `van=v2an`

**w2an=** initial recirculation flow

**wyan=** [floW;of feed-water injected Y;into AN] initial feed-water flow

Actually the values of **w2an** and **wyan** are entered for the purpose of forcing the initial recirculation ratio `R = w2an / wyan`

;

As the actual initial **wyan** is calculated from the secondary side enthalpy balance, the initial w2an is adjusted from `w2an = R * wyan`

**zvan=** [ratio of water elevation Z;to water Volume;in AN]

if the transverse **an** area changes with elevation, **zvan** must be entered via **Itp_sec** interpolator

**Itp_sec**

**sec=**
time interpolation points

**qgvn=** [net thermal power Q;yielded by Generator of Vapor;N]
calculated from the system global power balance:

`qgvn=(f2c+qyp)/3+qli(ipl)`

including the nuclear power **f2c** + the contribution of pressu heater **qyp**, and the primary pump thermal power `qli(ipl)`

dissipated in node ipl.

**qgvn** is kept constant during 5 s for stationarity check and cut to 0 in short time interval .001 s

**wzpdn=** [vapor floW;discharge Z;Pressure-dependant;coefficient of Dome;N]
calculated from the chocked discharge law:

`wzpdn =wzpdn*SQRT(p3n/vvn)`

which implies that the discharged steam is saturated (volumetric mass **vvn**).
**wzpdn** is chosen here to open at sec=5 (in .001 s time interval) the discharge valve in order compensate exactly the **qgvn** cutback at sec=5, and keep the same opening thereafter

**Lstnj1** defines the data for the secondary nodes `nj(1:j9n)`

. The notations are similar as for the primary nodes.

**rf3nj=** [RF;for upstream 3 tubes;NJ]

**rf4nj=** [RF;for downstream 3 tubes;NJ]

**swnj=** [transverse Surface;for floW;in NJ]

**read**

**Plots**

After having gone though the input data, the meaning of most of the variables to be plotted should be clear.