.. _INPMR4 chapter:

================================================================================
Block 3 --- INPMR4 --- PRIMAR-4 Integer Input
================================================================================

.. default-role:: sasinp

.. sasblock:: INPMR4 3

.. sasinp:: NCVP
	:location: 1

	Number of compressible volumes, primary loops.

.. sasinp:: NCVS
	:location: 2

	Number of compressible volumes, secondary loops.

.. sasinp:: NCVD
	:location: 3

	Number of compressible volumes, DRACS loops.

	Not implemented. See instead `ISGLNK` and `ICVNAK`.

.. sasinp:: NSEGLP
	:location: 4

	Number of liquid segments, primary loops. All core channels (except the bypass channels) form one liquid segment.

.. sasinp:: NSEGLS
	:location: 5

	Number of liquid segments, secondary loops.

.. sasinp:: NSEGLD
	:location: 6

	Number of liquid segments, DRACS loops.

	Not implemented. See instead `ISGLNK` and `ICVNAK`.

.. sasinp:: NSEGGP
	:location: 7

	Number of gas segments, primary loops.

.. sasinp:: NSEGGS
	:location: 8

	Number of gas segments, secondary loops.

.. sasinp:: NSEGGD
	:location: 9

	Number of gas segments, DRACS loops.

	Not implemented. See instead `ISGLNK` and `ICVNAK`.

.. sasinp:: NELEMT
	:location: 10

	Total number of liquid flow elements, max = 140. A bypass channel must not be split into more than one flow element.

..

    Maximum total numbers:

    .. list-table::
        :header-rows: 1
        :align: center
        :widths: auto

        * - Item
          - Limit
        * - Compressible volumes
          - 38
        * - Liquid segments
          - 40
        * - Gas segments
          - 28
        * - Liquid elements
          - 140
        * - Pumps, sodium
          - 12
        * - HXs
          - 4
        * - Steam generators
          -
        * - Table look-up model
          - 12
        * - Detailed model
          - 8
        * - Check valves
          - 6
        * - DRACS heat exchangers.

            Not implemented. See instead `ISGLNK` and `ICVNAK`.
          - 4
        * - Temperature groups
          - 100
        * - Bypass channels
          - 8
        * - Axial nodes in HX
          - 61

    Array subscripts used in this block:

    .. list-table::
        :header-rows: 1
        :align: center
        :widths: auto

        * - Subscript
          - Description
        * - ICV
          - Compressible volume
        * - ISGL
          - Liquid segment
        * - ISGG
          - Gas segment
        * - IELL
          - Liquid flow element
        * - M
          - 1 Inlet

            2 Outlet
        * - IPMP
          - Pump
        * - IIHX
          - HX
        * - ITGP
          - Temperature group
        * - IBYP
          - Bypass channel
        * - ISGN
          - Steam generator
        * - IVLV
          - Valve
        * - ICKV
          - Check valve
        * - IDHX
          - Air dump heat exchanger
        * - IRVC
          - RVACS

.. sasinp:: ITYPCV (ICV)
	:location: 11-48

	Compressible volume type.

	| =1, Inlet plenum.
	| =2, Compressible liquid volume, no gas.
	| =3, Compressible outlet plenum, no cover gas.

	| =4, Almost incompressible liquid, no gas.
	| (pipe tees, extra inlet plenum, etc.)
	| =5, Pipe rupture source.
	| =6, Pipe rupture sink, guard vessel.
	| =7, Outlet plenum with cover gas.
	| =8, Pool with cover gas.
	| =9, Pump bowl and cover gas.
	| =10, Pressurizer with cover gas.

	| =11, Compressible gas volume, no liquid.

.. sasinp:: ITYPEL (IELL)
	:location: 49-188

	Liquid flow element type.

	| =1, Core subassemblies.
	| =2, Bypass channel.
	| =3, Pipe.
	| =4, Check valve.
	| =5, Pump.
	| =6, HX, shell side.
	| =7, HX, tube side.
	| =8, Steam generator, sodium side.
	| =9, DRACS heat exchanger, tube side. (Not implemented. Use `ITYPEL` = 7. See `ISGLNK`.)
	| =10, DRACS heat exchanger, shell side. (Not implemented. Use `ITYPEL` = 6. See `ISGLNK`.)
	| =11, Valve.
	| =12, Air dump heat exchanger, sodium side.
	| =13, Annular element.
	| =15, Annular pump.

.. sasinp:: JCVL (M,ISGL)
	:location: 189-268

	Compressible volumes at the ends of the liquid segment.

.. sasinp:: JCVG (M,ISGG)
	:location: 269-324

	Compressible volumes at the ends of the gas segment.

.. sasinp:: NELML (ISGL)
	:location: 325-364

	Number of elements in the liquid segment.

.. sasinp:: JFSELL(ISGL)
	:location: 365-404

	First element number in segment ISGL. Segment ISGL contains elements `JFSELL`\ (ISGL) through `JFSELL`\ (ISGL)+\ `NELML`\ (ISGL)-1.

**PUMPS**

.. sasinp:: NPUMP
	:location: 405

	Number of sodium pumps: Max 12.

.. sasinp:: IELPMP (IPMP)
	:location: 406-417

	Element number of pump IPMP.

.. sasinp:: IEMPMP (IPMP)
	:location: 418-429

	Type of pump.

	| =-3, :ref:`Equivalent Circuit EM pump`.
	| =-2, :ref:`ALMR EM pump <section-5.3.4.4>`.
	| =-1, :ref:`Electromagnetic pump <section-5.3.4.3>`.
	| =0, :ref:`Use table of pump head vs time <section-5.3.4.1>`.
	| =1, :ref:`Centrifugal pump <section-5.3.4.2>`.
	| =2, :ref:`Homologous pump model <section-5.3.4.2.2>`.
	| =3, :ref:`EBR-II pump model <section-5.3.4.2.3>`.

.. sasinp:: ILRPMP (IPMP)
	:location: 430-469

	| = 0, Pump operation according to model selected, see `IEMPMP`. Uses locked rotor model for `IEMPMP` = 2 according to pump WB and SB, see `APMPHD`. Uses static trip time in `APMPHD` (7, IPMP) when `IEMPMP` = -2.
	| = 1, Pump speed set to zero, locks rotor immediately as in a pump seizure. Applicable when `IEMPMP` = 1 or 2.
	| =-1, For table of pump speed vs. time (\ `IEMPMP` = 1 or 2).
	| =-2, For table of pump :ref:`head vs. flow <section-5.3.4.2.4>`. This option overrides input for `IEMPMP`.
	| >0,

		.. list-table::
			:header-rows: 1
			:align: center
			:widths: 1,4

			* - IEMPMP
			  - Description
			* - -2
			  - ID for function that returns the trip time for the :ref:`ALMR EM Pump model <ALMR EM Pump PMR4IN>`. A single argument is passed containing the value of the time at the end of the current PRIMAR-4 time step. When a function is used, `APMPHD` (7,IPMP) is ignored. (See :ref:`FUNCTION Block` )
			* - -3
			  - :ref:`EMPUMP Block` number containing pump description. Values in `PMPINR`\ (IPMP), `HEADR`\ (IPMP), `PMPSPR`\ (IPMP), `PMPFLR`\ (IPMP), `PMPEFR`\ (IPMP), `TRKLSC`\ (IPMP), `EPSCAV`\ (IPMP), `APMPHD`\ (K,IPMP), and `AMOTTK`\ (K,IPMP) will be ignored.

**HX, DRACS, CHECK VALVES**

.. sasinp:: NIHX
	:location: 470

	Number of IHXs and PHXs: Max. 4.

.. sasinp:: NDRACS
	:location: 471

	Number of DRACS heat exchangers.

	Not implemented. See instead `ISGLNK` and `ICVNAK` and include with `NIHX`.

.. sasinp:: NCKV
	:location: 472

	Number of check valves: Max. 6.

.. sasinp:: IELIHX (IIHX)
	:location: 473-476

	Element number of HX # IIHX, primary loop.

.. sasinp:: IELDRP (IDRX)
	:location: 477-480

	Element number of DRACS # IDRX, primary loop.

	Not implemented. See instead `ISGLNK` and `ICVNAK` and use `IELIHX`.


.. sasinp:: ILIHXS (IIHX)
	:location: 481-484

	Index of the secondary element in the IIHX heat exchanger.

	The sign of the index indicates what detailed heat exchanger model is used.

	| > 0, Detailed Intermediate Heat Exchanger
	| < 0, Detailed Primary Heat Exchanger

.. sasinp:: IELDRS (IDRX)
	:location: 485-488

	Element number of DRACS # IDRX, intermediate loop.

	Not implemented. See instead `ISGLNK` and `ICVNAK` and use `ILIHXS`.

.. sasinp:: IHXCLC (IIHX)
	:location: 489-492

	| = 0, Use detailed HX. :sasinp:`NTNODE` must be greater than or equal to 2.
	| ≠ 0, Use table look-up IHX. :sasinp:`NTNODE` must equal 2.
	|	> 0, Table no. ITAB for relative temperature drop table look-up IHX.
	|	< 0, Table no. -ITAB for exit temperature table look-up IHX.
	|
	|	If ITAB <= 12, see :sasinp:`DTMPTB`, :sasinp:`ZCENTR`, :sasinp:`TMPMTB`. ITAB specifies both the :sasinp:`DTMPTB` and the :sasinp:`ZCENTR` table number unless :sasinp:`iHXZID` is provided.
	|	If ITAB > 12, function block ID ITAB defines the temperature boundary condition. :sasinp:`iHXZID` must be provided to define the height of thermal center.

.. sasinp:: IDRCLC (IDRX)
	:location: 493-496

	| = 0, Use detailed DRACS.
	| > 0, Table no. ITAB for table look-up DRACS. (See `DTMPTB`\ , `ZCENTR`\ , and `TMPMTB`).

	Not implemented. See instead `ISGLNK` and `ICVNAK` and use `IHXCLC`.

.. sasinp:: IPRADJ
	:location: 497

	| = 0, No PRMADJ pressure adjustments for channel flow estimation errors.
	| =1, Adjustments for the outlet plenum only. Recommended value.
	| =2, Adjustments for both inlet and outlet plenums.

**DEBUG PRINTS**

.. sasinp:: ICPDBG
	:location: 498

	| = 0, No pump debugs.
	| = 1, Pump debugs.
	| > 1, Extended pump debugs for centrifugal pumps and EQ EM pumps.

.. sasinp:: IBL3D2 (I)
	:location: 498-506

	Inlet and outlet pressure debugs if `IBL3D2`\ (1) > 0. `IBL3D2`\ (2) > 0 for steady- state core outlet temperature debugs.

.. sasinp:: IDBPR4
	:location: 507

	PRIMAR4 debug parameter, initial value.

	| =0, No debug print-out.
	| =1, Final results for each PRIMAR step.

.. sasinp:: IDBP4N
	:location: 508

	Value of `IDBPR4` after time = `TMDBP4`.

.. sasinp:: INAKDR
	:location: 509

	Coolant properties for the DRACS loops. DRACS liquid segments and compressible volumes are
	defined by `ISGLNK` and `ICVNAK`, respectively.

	| =0, Use the same coolant properties in all loops, as determined by `INAS3D`, `ID2O`, `IPBDEN`, `KPROPI`, or `ICLPRP`.
	| =1, Use SAS4A correlations for Na in the DRACS loop.
	| =2, Use SAS3D correlations for Na in the DRACS loop.
	| =3, Use NaK properties in the DRACS loop.
	| =4, Use D2O properties in the DRACS loop.
	| =5, Use Pb properties in the DRACS loop.
	| =6, Use Pb-Bi properties in the DRACS loop.
	| =7, User supplied property correlation coefficients.

**PIPE RUPTURE**

.. sasinp:: ISRCRP
	:location: 510

	Compressible volume number of pipe rupture source.

.. sasinp:: ISNKRP
	:location: 511

	Compressible volume number of pipe rupture sink.


**TEMPERATURE GROUPS**

Elements in a liquid segment are combined into temperature groups.
Each temperature group contains one
or more consecutive elements. All of the elements in a temperature
group are treated with the same type of liquid temperature calculation:
as a pipe, HX, bypass channel, or steam generator. See :ref:`LiquidTemperatures`.

.. sasinp:: NTGPT
	:location: 512

	Number of temperature groups. `NTGPT` ≤ 100.

	* Core channel segments must not be assigned to a temperature group.
	* It is recommended to combine consecutive pipe-type elements
	  within a segment as a single temperature group.
	* An element representing the primary side of a detailed heat exchanger
	  must be assigned to its own temperature group. The secondary side will
	  inherit the same group and must not be included in another temperature group.
	* Each element representing a bypass channel must be assigned to its own
	  temperature group.
	* Elements with direct coolant and/or wall :ref:`heat<Direct Heating>` must be assigned
	  to their own temperature groups.

.. sasinp:: NTNODE (ITGP)
	:location: 513-612

	Number of nodes in the temperature group.

	`NTNODE` >= 2.

	Table look-up heat exchangers and steam generators must have exactly two nodes.

.. sasinp:: IFSTEL (ITGP)
	:location: 613-712

	First element in the temperature group.

.. sasinp:: ILSTEL (ITGP)
	:location: 713-812

	Last element in the temperature group.

**BYPASS CHANNELS**

.. sasinp:: NBYP
	:location: 813

	Number of bypass channels.

.. sasinp:: NTLWBY (IBYP)
	:location: 814-821

	Number of nodes in lower part of walls A and B of bypass channel - Region 1.

.. sasinp:: IDKTYP (IBYP)
	:location: 822-829

	Decay heat curves for bypass channels.

.. sasinp:: IELBYP (IBYP)
	:location: 830-837

	Element numbers for bypass channels. (Usually opposite active core).

.. sasinp:: ISSTP
	:location: 838

	Not currently used.

**STEAM GENERATORS**

.. sasinp:: NSGN
	:location: 839

	Number of steam generators.

.. sasinp:: IELSGN (ISGN)
	:location: 840-851

	Element number for steam generator.

.. sasinp:: ISGCLC (ISGN)
	:location: 852-863

	| = 0, Use detailed steam generator.
	| ≠ 0, Use table look-up steam generator. :sasinp:`NTNODE` must equal 2.
	|	> 0, Table no. ITAB for relative temperature drop table look-up steam generator.
	|	< 0, Table no. -ITAB for exit temperature table look-up steam generator.
	|
	|	If ITAB <= 12, see :sasinp:`DTMPTB`, :sasinp:`ZCENTR`, :sasinp:`TMPMTB`. ITAB specifies both the :sasinp:`DTMPTB` and the :sasinp:`ZCENTR` table number unless :sasinp:`iSGZID` is provided.
	|	If ITAB > 12, function block ID ITAB defines the temperature boundary condition. :sasinp:`iSGZID` must be provided to define the height of thermal center.

.. sasinp:: IEVAP (ISGN)
	:location: 864-875

	For all steam generator models,

	| = 1, Evaporator.
	| = 2, Superheater.
	| = 3, Once-through.

**CHECK VALVES**

.. sasinp:: IELLCK (ICKV)
	:location: 876-881

	Element number for check valve ICKV.

.. sasinp:: IUM883
	:location: 882-889

	Not currently used.

**PRINTS AND BINARY OUTPUT**

.. sasinp:: IP4PRT
	:location: 890

	Print PRIMAR-4 results every `IP4PRT` PRIMAR steps.

.. sasinp:: NBINOT
	:location: 891

	Number of `IBINOT` entries for PRIMAR-4 binary output PRIMAR4.dat. If `NBINOT` = 0, no output.

.. sasinp:: IBINST
	:location: 892

	PRIMAR-4 binary output every `IBINST` steps.

.. sasinp:: IBINOT
	:location: 893-971

	Identification of binary output for PRIMAR4.dat. First two digits give IBNTYP = type of variable. Last 4 digits give INUM, the variable subscript. If INUM > 5000,
	then INUM-5000 is the starting value for a range of subscripts,
	and the next INUM is the last value in the range. See :numref:`table-A2.2-1` and :numref:`table-A2.2-2` for description of input options.

.. sasinp:: INULLT
	:location: 972

	Steady-state null transient plotting flag. Used with `NBINOT` and `IBINOT`\ .

	| =0, No steady-state plot information written to PRIMAR4.dat.
	| > 0, Write steady state plot information to PRIMAR4.dat. For `ISSCPC` > 0, plot information is written to PRIMAR4.dat every `INULLT` steps during the null transient.

**VALVES**

.. sasinp:: NVALVE
	:location: 973

	Number of valves, ≤ 8,

.. sasinp:: IELVLV (IVLV)
	:location: 974-981

	Element number for valve IVLV.

.. sasinp:: ITABVV (IVLV)
	:location: 982-989

	Table number in DTMPTB tables for valve pressure drop coefficient vs. time.

	Note: Enter the initial pressure drop coefficient for the value `G2PRDR` (\ `IELVLV`\ (IVLV)).

**PUMP DEFAULTS**

.. sasinp:: IPMDFT
	:location: 990

	| ≤ 0, Default values are used for `PMPHD` and `PMPTQ`\ .
	| > 0, User-defined values are used for `PMPHD` and `PMPTQ`\ .

	Only used when `IEMPMP`\ (IPMP) = 2.

**AIR DUMP HEAT EXCHANGERS**

.. sasinp:: NDHX
	:location: 991

	Number of air dump heat exchangers. Max. = 4.

.. sasinp:: IELDHX (IDHX)
	:location: 992-995

	Element number for air dump heat exchanger IDHX.

.. sasinp:: IFCDHX (IDHX)
	:location: 996-999

	| = 0, Natural convection.
	| = 1, Forced convection on the air side.

**DETAILED STEAM GENERATOR**

.. sasinp:: IFWC (ISGN)
	:location: 1000-1003

	Feedwater control options.

	| = 1, Constant feedwater flow at steady state value.
	| =2, Table look-up of feedwater flow.
	| =3, Drum level controller.

.. sasinp:: IGHC (ISGN)
	:location: 1004-1007

	Specification of multiple evaporator and superheater sections.

	| = Number of superheater parallel sections X 100 + number of evaporator parallel sections.

**CONTROL ROD DRIVE EXPANSION REACTIVITY FEEDBACK**

.. sasinp:: NEXPFB
	:location: 1008

	| = 0, No contribution to control rod expansion feedback from vessel wall heating.
	| > 0, Number of liquid elements and/or compressible volumes contributing to control rod expansion feedback.

.. sasinp:: IEXPFB (K)
	:location: 1009-1018

	| > 0, Element number.
	| < 0, -Compressible volume number.

**PLENUM MODEL**

.. sasinp:: IPL2A
	:location: 1019

	Not currently used.

**COMPONENT-COMPONENT HEAT TRANSFER**

.. sasinp:: IBYBY (K,IBYP)
	:location: 1020-1051

	The K-th bypass channel number for subassembly to subassembly heat transfer from bypass channel IBYP. If -NCH ≤ `IBYBY` < 0, then -\ `IBYBY` is a core channel number. If `IBYBY` < -NCH, then -\ `IBYBY` is the temperature of a constant temperature heat sink. Dimension (4,8).

.. sasinp:: IELHT (K)
	:location: 1052-1081

	Element number of the K-th element involved in component-to-component heat transfer from `IELHT`\ (K) to `IELHT2`\ (K). For the second wall of annular element IELL, `IELHT` = 1000 + IELL.

.. sasinp:: IELHT2 (K)
	:location: 1082-1111

	Element number.

	ICV, or

	Temperature of heat sink (if -IELTH2 > max number of CVs.).

.. sasinp:: NELHTN (K)
	:location: 1112-1141

	| + N, Use first N nodes.
	| - N, Use last N nodes.
	| =0, Use all nodes.

.. sasinp:: IDBHTH
	:location: 1142

	| = 0, No debug prints.
	| =1, Short comp-comp prints.
	| ≥ 2, Debug prints.

.. sasinp:: ISTHTH
	:location: 1143

	PRIMAR step when IDVHTH is turned on.

.. sasinp:: IB3DM2
	:location: 1144-1152

	Not currently used.

**COMMON COVER GAS PRESSURES**

.. sasinp:: NCCV
	:location: 1153

	Number of connected compressible volume cover gasses with common gas pressure.

.. sasinp:: ICCVFS
	:location: 1154

	First compressible volume with common gas pressure.

**STEADY-STATE INITIALIZATION**

.. sasinp:: ISSIHX (IIHX)
	:location: 1155-1158

	Steady state temperature drop.

	| = 1, If user specifies.

.. sasinp:: ISSPMP (IPMP)
	:location: 1159-1170

	Steady state pump head.

	| = 1, If user specifies.

.. sasinp:: NIHXBY
	:location: 1171

	Number of liquid segments that bypass the IHX.

.. sasinp:: IHXBYP (K)
	:location: 1172-1181

	Liquid segment numbers for the segments that bypass the IHX.

.. sasinp:: NPMPBY
	:location: 1182

	Number of liquid segments that bypass the pump.

.. sasinp:: IPMPBY (K)
	:location: 1183-1192

	Liquid segment numbers for the segments that bypass the pump.

**BYPASS CHANNEL HEAT TRANSFER**

.. sasinp:: IHTBYB (IBYP)
	:location: 1193-1200

	Coolant heat transfer parameter set for wall B in bypass channel IBYP.

.. sasinp:: IHTBYD (IBYP)
	:location: 1201-1208

	Coolant heat transfer parameter set for wall D in bypass channel IBYP. See `C1BY`, `C1BY2`, `C1BY3`, and `C1BY4`.

**FORMER CONTROL ROD DRIVE FEEDBACK**

.. sasinp:: KCHUIS
	:location: 1209-1242

	Reserved. (was `ICHUIS` in Version 2.1).

.. _INPMR4 annular inputs:

**ANNULAR ELEMENTS**

.. sasinp:: NANEL
	:location: 1243

	Number of annular elements.

.. sasinp:: IELANE (IANL)
	:location: 1244-1273

	Element number for annular element.


**RVACS INPUT**

.. sasinp:: NSCRVC
	:location: 1274

	Number of sections in the RVACS < 7.

.. sasinp:: IRVOPT
	:location: 1275

	RVACS modeling option:

	| =0,     Use the detailed RVACS model.
	| =1-12,  Use the simple RVACS model. IRVOPT is the number of entries in the table of h vs. T.
	| >12,    Use the simple RVACS model. IRVOPT is the function block ID for h(T).
	| =-1,    Use the coupled RVACS model. External code participates in the null transient.
	| =-1000, Use the coupled RVACS model. External code does not participate in the null transient.
	| = -1001 - -1012, Use the coupled RVACS model during transient, and the simple RVACS model during the null transient. ABS(IRVOPT+1000) is the number of entries in the table of h vs T.
	| < -1012, Use the coupled RVACS model during the transient, and the simple RVACS model during the null transient. ABS(IRVOPT+1000) is the function block ID for h(T) during the null transient.

.. sasinp:: IELRVC (IRVC)
	:location: 1276-1281

	Element number or -ICV, starting at the bottom and going up. If `IELRVC`\ (IRVC) > 1000, use second wall of element IELVRC(IRVC)-1000.

.. sasinp:: NANRVC (IRVC)
	:location: 1282-1287

	Number of nodes in this section, only applicable if CV.

**NULL TRANSIENT**

.. sasinp:: ISSCPC
	:location: 1288

	Number of time steps in the null transient to initialize component-component heat transfer and :ref:`direct heating <Direct Heating>`.

.. sasinp:: ISST15
	:location: 1289

	Print PRIMAR-4 results every `ISST15` steps during the null transient.

**RVACS INPUT**

.. sasinp:: IDBRV
	:location: 1290

	Debug parameter for RVACS.

	| =0, No debug.
	| =1, Regular print every time step.
	| =2, Detailed debug prints.

.. sasinp:: IDBRVS
	:location: 1291

	PRIMAR-4 step when RVACS debugs start.

**RADIAL REFLECTOR REACTIVITY FEEDBACK**

.. sasinp:: NRREAC
	:location: 1292

	Number of radial reflectors involved in reactivity calculations. (for use with empirical feedback models).

.. sasinp:: ISLREA (K)
	:location: 1293-1300

	Segment numbers of radial reflectors for reactivity calculations.

.. sasinp:: LBYP
	:location: 1301

	Number of radial reflector bypass channels.

.. sasinp:: LELBYP
	:location: 1302-1309

	Element number of the radial reflector bypass channels.

**PIPE TEMPERATURE OPTION**

.. sasinp:: IPIPTM
	:location: 1310

	PRIMAR-4 pipe temperature convective term differencing approximation.

	| =0, Always use a Lagrangian calculation for coolant temperatures in pipes and annular elements.
	| =1, Use an Eulerian calculation for large time steps (the coolant moves two or more nodes in a time step).
	| =2, Use an Eulerian calculation for large time steps only during the PRIMAR-4 null transient (\ `ISSCPC`\ >0).

	Notes:

	| 1) The Eulerian calculation is faster for large time steps.
	| 2) The Lagrangian calculation does not result in numerical axial diffusion, whereas the Eulerian calculation does.
	| 3) The Eulerian calculation is not compatible with :ref:`direct heat <Direct Heating>` modeling.
	| 4) Recommended value: `IPIPTM`\ =2.

**MULTIPLE INLET/OUTLET PLENA**

.. sasinp:: IFMIOP
	:location: 1311

	Multiple inlet/outlet plenum option.

	| =0, Single inlet and outlet plena.
	| =1, Multiple inlet and outlet plena. Must specify `NSEGMP`, `TPLCV`\ , `PPLCV`\ , and `ZPLENC`.

**ELEMENT/WALL THERMAL ADJUSTMENT**

.. sasinp:: ITHPEN
	:location: 1312

	Optional adjustments to element and wall thermal treatment, based on thermal penetration depth.

	| =0, No adjustments.
	| =1, `WALLH` and `HWALL` = thermal conductivity, k.
	| =2, `WALLH` and `HWALL` = k/total thickness.
	| =3, `WALLH` and `HWALL` = 3\*k/total thickness.

	Recalculates `WALLH`\ , `WALLH2`\ , `HWALL`\ , `WALLMC`\ , `CMWALL`\ , `WALMC2`\ , and `HAELHT` for specified elements and compressible volumes. No adjustments are made if `WALTHK`\ (IELL) = 0, `WALTH2`\ (IAEL) = 0, or `THKWAL`\ (ICV) = 0.


**STRATIFIED VOLUME MODEL**

.. sasinp:: NSTRCV
	:location: 1313

	Number of stratified compressible volumes.

.. sasinp:: ICVSTR (ICVST)
	:location: 1314-1316

	Compressible volume number for stratified treatment.

.. sasinp:: ISTRVT (ICVST)
	:location: 1317-1319

	| = 1, For vertical coolant inlet, as in an outlet plenum,
	| = 2, For horizontal coolant inlet.

.. sasinp:: NUMWAL (ICVST)
	:location: 1320-1322

	Number of wall sections.

.. sasinp:: IFSTWL (ICVST)
	:location: 1323-1325

	Wall number (IW) of the first wall section.

.. sasinp:: IWLHRZ (IW)
	:location: 1326-1334

	| = 0, For a vertical wall.
	| = 1, For a horizontal wall at the top of a compressible volume.
	| =2, For a horizontal wall at the bottom of a compressible volume.

.. sasinp:: NVNDWL (IW)
	:location: 1335-1343

	Number of vertical nodes in a vertical wall.

	`NVNDWL` = 1 for a horizontal wall.

.. sasinp:: NLNDWL (IW)
	:location: 1344-1352

	Number of lateral nodes in a wall section. Max. = 8.
	Note: Sum (\ `NVNDWL`\ \*\ `NLNDWL`\ ) ≤ 300.

.. sasinp:: ICV2WL (IW)
	:location: 1353-1361

	Number of the compressible volume in contact with the outer side of the wall section.
	Equal to 0 for an adiabatic outer boundary. If `ICV2WL` > 38, `ICV2WL` = the temperature of a constant temperature heat sink.

.. sasinp:: IDBSTR
	:location: 1362

	Debug flag for the stratified temperature model.

	| =0, No debug prints.
	| =1, Final results only.
	| =5, Everything.

.. sasinp:: ISTDBS
	:location: 1363

	PRIMAR time step when stratified debug starts.

.. sasinp:: ISTSTP
	:location: 1364

	Stop the run at PRIMAR step `ISTSTP`\ . Not used if `ISTSTP` = 0 or NSTRCV = 0.

.. sasinp:: IFT16
	:location: 1365

	Write out stratified CV output to STRATCV.dat every `IFT16` PRIMAR steps. No output if `IFT16` = 0.

**THICK WALL PIPES**

.. sasinp:: NTHKPW
	:location: 1366

	Number of pipes to be treated with a thick wall treatment. Note: Thick wall pipe option is not compatible with :ref:`direct element heating<Direct Heating>`.

.. sasinp:: IELTPW (ITWP)
	:location: 1367-1376

	Element number for thick wall treatment.

**DRACS**

.. sasinp:: ISGLNK
	:location: 1377

	Use `INAKDR` to determine the coolant properties for ISGL ≥ `ISGLNK` (ISGL = liquid segment number).

	Liquid segments in this range are considered to be part of the DRACS.

.. sasinp:: ICVNAK
	:location: 1378

	Use `INAKDR` to determine the coolant properties for ICV ≥ `ICVNAK` (ICV = compressible volume number).

	Compressible volumes in this range are considered to be part of the DRACS.

**STEADY STATE INITIALIZATION OPTION**

.. sasinp:: NCVSSI
	:location: 1379

	Number of compressible volumes for which the steady-state coolant pressure and temperature are specified (Max. = 10).

.. sasinp:: ICVSSI (II)
	:location: 1380-1389

	Compressible volume number for which steady-state pressure and temperature are specified.

**AIR DUMP HEAT EXCHANGER OPTION**

.. sasinp:: IADHX (IDHX)
	:location: 1390-1393

	| = 0, Simple air dump heat exchanger model.
	| = 1, Code calculates `HOTB`\ , `HITB`\ , `XKHXLS`\ , `XKRLS` as a function of geometry and flow rate.

	Not currently used.

.. sasinp:: ISTGTB (IDHX)
	:location: 1394-1397

	| = 0, Staggered spacing between tube rows.
	| = 1, Inline tube bundle.

	Used only if `IADHX`\ (IDHX) = 1.

	Not currently used.

.. sasinp:: NROW (IDHX)
	:location: 1398-1401

	Number of tube rows. Used only if `IADHX`\ (IDHX) = 1.

	Not currently used.

.. sasinp:: ISSADX (IDHX)
	:location: 1402-1405

	Steady-state initialization option.

	| = 0,	No steady-state initialization.
	| =1,	Use outlet temperature of element associated with IDHX for initialization.
	| > 1, Use inlet temperature of element associated with IDHX for initialization.

	When ISSADX(IDHX) > 0, the steady-state initialization assumes zero heat removal from the air-dump heat exchanger.

**External CFD Coupling for Compressible Volumes**

Input for coupling between PRIMAR-4 Compressible Volumes and an external code can be changed during a restart. However, it is up to the user to ensure that the models in force at the end of one simulation and the beginning of the subsequent simulation are consistent. This restart capability is primarily intended to allow a stand-alone, steady-state transient to converge efficiently prior to restarting the simulation with a more computationally intensive CFD model. In this scenario, the input below would not be present in the stand-alone model, but would be present in the restart input.

.. sasinp:: NCFDCV
	:location: 1406

	Number of Compressible Volumes that will be represented by an external CFD model.

	0 ≤ `NCFDCV` ≤ 4

.. sasinp:: ICFDCV  (I)
	:location: 1407-1410

	Compressible Volume for which an external CFD model will be provided.

	0 < `ICFDCV`\ (I) ≤ NCV

.. sasinp:: NULLCFD
	:location: 1411

	CFD coupling treatment during Null Transients.

	| = 0, No coupling during null transients.
	| > 0, Use scaled-time coupling.

	When scaled-time coupling is used, long null transients in |SAS| will be projected to the external CFD models as shorter transients to help minimize CFD overhead during the null transient. Specifically,
	the CFD time steps will be smaller than or equal to the null transient time steps in |SAS| according to the relation

	.. math:: \Delta t_{\mathrm{\text{CFD}}} = \frac{\Delta t_{\mathrm{\text{SAS}}}}{\mathrm{\text{NULLCFD}}}

.. sasinp:: ICFDDBG
	:location: 1412

	Debug flag for CV to CFD coupling.

	The complete history of data transferred from |SAS| to an external CFD model is always saved to a separate file. This flag adds additional debugging information to the normal output file.

**End of External CFD Coupling for Compressible Volumes**

.. sasinp:: ThickWallTableID
	:location: 1414

	Table ID for the thick-walled CV input. A description of the thick-walled input can be found in :ref:`here<thickWallInput>`


.. sasinp:: iPHXPRP
	:location: 1415-1422

	Secondary coolant type for the Kth HX. Only applicable to a primary heat exchanger.

	For available options see :sasinp:`ICLPRP`. Defualt value will be :sasinp:`ICLPRP`.

.. sasinp:: iPHXTID
	:location: 1423-1430

	Function ID for the inlet temperature boundary condition of the secondary element in the Kth HX. Only applicable to a primary heat exchanger.

.. sasinp:: iPHXWID
	:location: 1431-1438

	Function ID for the mass flow rate boundary condition of the secondary element in the Kth HX. Only applicable to a primary heat exchanger.

.. sasinp:: IDRVACSTin
	:location: 1439

	| = 0, Use constant RVACS air inlet temperature specified by :sasinp:`TAIRVC`.
	| > 0, Function Block ID for RVACS air inlet temperature as a function of time.

	If IDRVACSTin > 0, :sasinp:`TAIRVC` will be ignored by the code.

.. sasinp:: IDRVACSKin
	:location: 1440

	| = 0, Use constant RVACS air inlet orifice coefficient specified by :sasinp:`ORFIN`.
	| > 0, Function Block ID for RVACS air inlet orifice coefficient as a function of time.

	If IDRVACSKin > 0, :sasinp:`ORFIN` will be ignored by the code.

.. sasinp:: SegLossCoefTableID
	:location: 1441

	Table ID referencing segment inlet anisotropic Re-dependent loss coefficient data.

	An example table can be found :ref:`here<SGLLossInput>`.

.. sasinp:: EllLossCoefTableID
	:location: 1442

	Table ID referencing element outlet anisotropic Re-dependent loss coefficient data.

	An example table can be found :ref:`here<EllLossInput>`.

.. sasinp:: iHXZID
	:location: 1443-1446

	Table no. ITAB defining height of thermal center for table look-up IHX (see :sasinp:`IHXCLC`).

	| <= 12, see :sasinp:`ZCENTR` and :sasinp:`TMPMTB`.
	| >  12, function block ID ITAB defines the height of thermal center.

.. sasinp:: NONE
	:location: 1447-1462

	Not currently used.

.. sasinp:: iSGZID
	:location: 1451-1462

	Table no. ITAB defining height of thermal center for table look-up steam generator (see :sasinp:`ISGCLC`).

	| <= 12, see :sasinp:`ZCENTR` and :sasinp:`TMPMTB`.
	| >  12, function block ID ITAB defines the height of thermal center.

.. sasinp:: NONE
	:location: 1463-1474

	Not currently used.

.. sasinp:: CoolHeatTableID
	:location: 1475

	Table ID for direct coolant heating.

	An example table can be found :ref:`here<DirectHeatInput>`

.. sasinp:: WallHeatTableID
	:location: 1476

	Table ID for direct wall heating.

	An example table can be found :ref:`here<DirectHeatInput>`

.. sasinp:: IBL3DM
	:location: 1477-1600

	Not currently used.




.. _table-A2.2-1:

.. list-table:: Input in INPMR4 to Control Binary Output in PRIMAR.dat
    :header-rows: 1
    :align: center
    :widths: 1,1,3

    * - Variable
      - Location
      - Description
    * - NBINOT
      - 891
      - The number of IBINOT entries for the binary output file. If NBINOT=0, no PRIMAR4.dat output will be generated.
    * - IBINST
      - 892
      - Output every IBINST PRIMAR time steps, default=1
    * - IBINOT(K),

        K= 1:NBINOT
      - 893-972
      - Identification of binary output.

        IBINOT is a 6-digit code where

        -  The first 2 digits give IBNTYP, the type of variable (or data item)

        -  The last 4 digits give the subscript INUM for the element, segment, temperature group, etc.

        There is a special case where INUM>5000, in which case INUM-5000 is the starting value for a range of subscripts and the next INUM is the last value in that range.

        *Examples*:

        240006:

        -  IBNTYP=24, INUM=6. Print the liquid temperature of CV\ :sub:`6`.

        10015:

        -  IBNTYP=1, INUM=15: Print the liquid segment flow of S\ :sub:`15`

        245001 08:

        -  First IBNTYP=24, INUM=5001

        -  Second IBNTYP is blank, INUM=8

        -  Print the liquid temperature of a range of compressible volumes from CV\ :sub:`1` to CV\ :sub:`8`.

The notation for the subscripts in :numref:`table-A2.2-2` is as follows:

-  ISGL = liquid segment

-  ISGG = gas segment

-  IELL = liquid element

-  ICH = channel

-  ICV = compressible volume

-  IDHX = air dump heat exchanger

-  INOD = node

-  ITGP = temperature group

-  IPMP = pump

-  K, J = context specific

-  L = 1 for inlet, 2 for outlet

.. _table-A2.2-2:

.. list-table:: IBNTYP and INUM Codes to Request Edits on PRIMAR4.dat
    :header-rows: 1
    :align: center
    :widths: 1,2,5,2

    * - IBNTYP
      - INUM
      - Description
      - Variable
    * - 1
      - ISGL
      - flow, liquid segment
      - FLOSL2(ISGL)
    * - 2
      - ISGG
      - flow, gas segment
      - FLOSG4(ISGLG)
    * - 3
      - ICH
      - estimated channel inlet
      - CHFLO2(1,ICH)
    * - 4
      - ICH
      - estimated channel outlet flow
      - CHFLO2(2,ICH)
    * - 5
      - L
      - estimated core flow
      - CORFLE(L)
    * - 6
      - L
      - estimated core flow times temperature
      - CORFTE(L)
    * - 7
      - L
      - actual integrated channel flow
      - CORCHF(L)
    * - 8
      - L
      - channel flow times temperature
      - CORFLT(L)
    * - 9
      - ICH+100\*(L-1)
      - actual channel flow, beginning of step
      - FLOCH1(L,ICH)
    * - 10
      - ICH+100\*(L-1)
      - coefficients used to estimate the
      - C0FLCH(L,ICH)
    * - 11
      - ICH+100\*(L-1)
      - core flow for the next step
      - C1FLCH(L,ICH)
    * - 12
      - ICH+100\*(L-1)
      -
      - C2FLCH(L,ICH)
    * - 13
      - ICH+100\*(L-1)
      -
      - C3FLCH(L,ICH)
    * - 14
      - ICH+100\*(L-1)
      - subassembly inlet or outlet temperature
      - TEXPEL(L,ICH)
    * - 15
      - ICH+100\*(L-1)
      - energy of vapor condensing in inlet or outlet plenum
      - ENVAPR(L,ICH)
    * - 16
      - ICV
      - liquid pressure for compressible volume ICV
      - PRESL2(ICV)
    * - 17
      - ICV
      - gas pressure
      - PRESG2(ICV)
    * - 18
      - IPMP
      - pump head for pump IPMP
      - HEADP2(IPMP)
    * - 19
      - ICV
      - cover gas interface height
      - ZINTR2(ICV)
    * - 20
      - ICV
      - gas volume
      - VOLGC2(ICV)
    * - 21
      - ICV
      - total volume, liquid+gas
      - VOLLGC(ICV)
    * - 22
      - ICV
      - liquid mass
      - XLQMS2(ICV)
    * - 23
      - ICV
      - gas mass
      - GASMS2(ICV)
    * - 24
      - ICV
      - liquid temperature
      - TLQCV2(ICV)
    * - 25
      - ICV
      - liquid density
      - DNSCV2(ICV)
    * - 26
      - ICV
      - wall temperature
      - TWLCV2(ICV)
    * - 27
      - ICV
      - gas temperature
      - TGASC2(ICV)
    * - 28
      - ISGL+100\*(L-1)
      - liquid segment inlet or outlet temperature
      - TSLIN2(L,ISGL)
    * - 29
      - IELL
      - gravity head for element IELL
      - GRAVHD(IELL)
    * - 30
      - IELL+400\*(L-1)
      - liquid element temperature
      - TELEM(L,IELL)
    * - 31
      - ITGP
      - fraction of a node traversed by Lagrangian slugs In temperature group ITGP
      - FRNDF2(ITGP)
    * - 32
      - INOD
      - liquid temperature, node INOD
      - TLNOD2(INOD)
    * - 33
      - INOD
      - wall temperature
      - TWNOD2(INOD)
    * - 34
      - --
      - outlet plenum density
      - DLHOT
    * - 35
      - --
      - inlet plenum density
      - DLCOLD
    * - 36
      - ICH
      - inlet temperature
      - TINVAL(ICH)
    * - 37
      - --
      - outlet plenum pressure at beginning of time step
      - PXT0
    * - 38
      - --
      - time derivative of outlet plenum pressure
      - DPXDT
    * - 39
      - IPMP
      - pump speed
      - PSPED2(IPMP)
    * - 40
      - --
      - time derivative of inlet plenum pressure
      - DPINDT
    * - 41
      - --
      - inlet plenum pressure at beginning of time step
      - PIN
    * - 42
      -
      - Not used
      -
    * - 43
      -
      - Not used
      -
    * - 44
      -
      - Estimated boiling time
      - BOILTM
    * - 45
      - --
      - next PRIMAR step size
      - DTPNXT
    * - 46
      - ICH
      - coolant re-entry temperature
      - TUPLVL(ICH)
    * - 47
      -
      - Not used
      -
    * - 48
      - L
      - accumulated error in plenum mass
      - DMSSUM
    * - 49
      - L
      - accumulated error in plenum mass times temperature
      - DMTSUM
    * - 50
      - INOD
      - temperature of sink for component-to-component heat transfer
      - TSNKND(INOD)
    * - 51
      - INOD
      - heat transfer coefficient for component-to-component heat transfer
      - HSNKND(INOD)
    * - 52
      - ICV
      - temperature of sink for component-to-component heat transfer
      - TSNKCV(ICV)
    * - 53
      - ICV
      - heat transfer coefficient for component-to-component heat transfer
      - HSNKCV(ICV)
    * - 54
      - ICV
      - component-to-component heat transfer rate from compressible volume ICV
      - QSNKCV(ICV)
    * - 55
      - --
      - RVACS heat removal rate
      - QRVACS
    * - 56
      - K
      - component-to-component heat transfer rate for path K
      - QCPCP(K)
    * - 57
      - --
      - RVACS air flow rate
      - WAIRV2
    * - 58
      - K
      - RVACS temperature for node K
      - TRVACS(K)
    * - 59
      - K
      - guard vessel temperature
      - TW2RV2(K)
    * - 60
      - K
      - shell inner temperature
      - TW3RV2(K)
    * - 61
      - K
      - shell outer temperature
      - TW4RV2(K)
    * - 62
      - K
      - outer wall temperature
      - TW5RV2(K)
    * - 63
      - K
      - temperature of air between guard vessel and shell
      - TA1RV2(K)
    * - 64
      - K
      - temperature of air between shell and outer wall
      - TA2RV2(K)
    * - 65
      - IPMP
      - pump torque for pump IPMP
      - TQMB3(IPMP)
    * - 66
      - --
      - Net reactivity
      - REANET
    * - 67
      - --
      - reactivity from external function (PREA)
      - REAPRO
    * - 68
      - --
      - reactivity from CRDL expansion and scram reactivity
      - REASCR
    * - 69
      - --
      - Doppler reactivity feedback
      - READOP
    * - 70
      - --
      - Fuel axial expansion reactivity feedback
      - READEN
    * - 71
      - --
      - Radial expansion reactivity feedback
      - REAREX
    * - 72
      - --
      - Coolant voiding reactivity feedback
      - REACOL
    * - 73
      - --
      - Fuel relocation reactivity feedback
      - REAFUL
    * - 74
      - --
      - Clad relocation reactivity feedback
      - REACLD
    * - 75
      - J
      - Advanced user option for channel dependent reactivity feedback

		-  If J < 826, coolant voiding reactivity feedback for channel J

		-  If 825 < J < 1651, fuel relocation reactivity feedback for channel J - 825

		-  If 1650 < J < 2476, clad relocation reactivity feedback for channel J - 1650

		-  If 2475 < J < 3301, total axial expansion reactivity feedback for channel J - 2475

		-  If 3300 < J < 4126, Doppler reactivity feedback for channel J - 3300

      - REAICH(J)
    * - 76
      - J
      - Normalized decay power for region J
      - POWDKH(J)
    * - 77
      - IDHX
      - Heat removal rate for ADHX IDHX
      - QQ(IDHX)
    * - 78
      - IDHX
      - Air flow rate for ADHX IDHX
      - WAIR(IDHX)
    * - 79
      - IDHX
      - Air outlet temperature for ADHX IDHX
      - TAIROT(IDHX)
    * - 80
      - IELL
      - Pressure drop in element IELL, excludes gravity head
      - DPRSEL(IELL)
    * - 81
      - IPMP
      - Voltage in EM pump IPMP
      - EMVOLT(IPMP)
    * - 82
      - IPMP
      - Frequency in EM pump IPMP
      - EMFREQ(IPMP)
    * - 83
      - IPMP
      - Slip in EM pump IPMP
      - EMSLIP(IPMP)
    * - 84
      - IPMP
      - Current in EM pump IPMP
      - EMCURR(IPMP)
    * - 85
      - IPMP
      - Phase in EM pump IPMP
      - EMPHAS(IPMP)
    * - 86
      - IPMP
      - Coolant Heat Generation Rate in EM pump IPMP
      - EMPCHR(IPMP)
    * - 87
      - IPMP
      - Wall Heat Generation Rate in EM pump IPMP
      - EMPWHR(IPMP)
    * - 88
      - iEll
      - Direct coolant heat in element iEll.
      - CLHEAT(iEll)
    * - 89
      - iEll
      - Direct wall heat in element iEll. If iEll is greater than 1000, the second wall of element iEll-1000 is identified.
      - WLHEAT(iEll)