SCMTriPowerIC

Computes axial power rate (W/m) assigned to the fuel pins in a triangular lattice arrangement

Overview

This IC assigns the axial heat rate (/ICs/SCMTriPowerIC/variable = q_prime) to the fuel pins in a triangular lattice arrangement.

The user must provide the total power of the subassembly /ICs/SCMTriPowerIC/power, the axial shape of the power profile and the radial power distribution (power per pin). The axial power profile is given as a function /ICs/SCMTriPowerIC/axial_heat_rate of the distance from the start of the heated portion of the pin. The radial power distribution is given as a column of numbers in a .txt file /ICs/SCMTriPowerIC/filename that has as many entries as the number of pins.

If the first entry is 1.0, that means that the pin with index 0 is at 100% power. If the 5th entry has a value of 0.0 that means that pin with index 4 has 0% power, etc. The pin and subchannel indexes are presented in user notes page.

If /ICs/SCMTriPowerIC/power is a postprocessor, its execute_on must include INITIAL, so that it executes before the initial conditions are set; otherwise this object reports an error. This does not apply to a Receiver postprocessor, whose value is set by a transfer.

The radial power distribution is normalized by the sum of its entries, so the pin powers always add up to /ICs/SCMTriPowerIC/power. A pin with 100% power has a value of power which is equal to the total power of the subassembly divided by the sum of the entries. If the entries sum to the number of heated pins, a pin with 100% power has the average pin power.

The total power of pin with index 6 is calculated as the product of the 100% pin power, times the value on the 7th line of the radial power distribution .txt file.

The axial heat rate at a specific height is the total power of the pin divided by the heated length, times the value of the axial power profile function at that height, times a correction factor for that pin. The correction factor is computed once, at initial setup, so that the trapezoidal integral of the nodal axial heat rate over the pin, which is the integral the subchannel solver uses, equals the total power of the pin. The axial power profile function therefore only sets the shape of the profile. If its integral over the heated length equals the heated length, the correction factor is close to 1. The function is evaluated at the pin centers, so it may also depend on and to give each pin its own axial shape; the correction factor preserves the power of each pin in that case as well. Nodes outside the heated portion of the pin are assigned zero axial heat rate.

Caveat

This IC requires a pin mesh. The axial heat rate (/ICs/SCMTriPowerIC/variable = q_prime) is assigned only to the nodes of the pin mesh. If the subchannel mesh has no pin mesh, this object reports an error. The subchannel solver distributes this pin heat to neighboring subchannels when computing the heat added to the coolant.

Input Parameters

  • filenamename of radial power profile .txt file (should be a single column) [UnitLess].

    C++ Type:std::string

    Controllable:No

    Description:name of radial power profile .txt file (should be a single column) [UnitLess].

  • powerThe postprocessor or Real to use for the total power of the subassembly [W]

    C++ Type:PostprocessorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The postprocessor or Real to use for the total power of the subassembly [W]

  • variableThe variable this initial condition is supposed to provide values for.

    C++ Type:VariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:The variable this initial condition is supposed to provide values for.

Required Parameters

  • axial_heat_rate1.0Axial shape of the heat rate as a function of the distance from the start of the heated section [Unitless]. Its magnitude does not matter because each pin is rescaled to its assigned power

    Default:1.0

    C++ Type:FunctionName

    Unit:(no unit assumed)

    Controllable:No

    Description:Axial shape of the heat rate as a function of the distance from the start of the heated section [Unitless]. Its magnitude does not matter because each pin is rescaled to its assigned power

  • blockThe list of blocks (ids or names) that this object will be applied

    C++ Type:std::vector<SubdomainName>

    Controllable:No

    Description:The list of blocks (ids or names) that this object will be applied

  • boundaryThe list of boundaries (ids or names) from the mesh where this object applies

    C++ Type:std::vector<BoundaryName>

    Controllable:No

    Description:The list of boundaries (ids or names) from the mesh where this object applies

  • stateCURRENTThis parameter is used to set old state solutions at the start of simulation. If specifying multiple states at the start of simulation, use one IC object for each state being specified. The states are CURRENT=0 OLD=1 OLDER=2. States older than 2 are not currently supported. When the user only specifies current state, the solution is copied to the old and older states, as expected. This functionality is mainly used for dynamic simulations with explicit time integration schemes, where old solution states are used in the velocity and acceleration approximations.

    Default:CURRENT

    C++ Type:MooseEnum

    Options:CURRENT, OLD, OLDER

    Controllable:No

    Description:This parameter is used to set old state solutions at the start of simulation. If specifying multiple states at the start of simulation, use one IC object for each state being specified. The states are CURRENT=0 OLD=1 OLDER=2. States older than 2 are not currently supported. When the user only specifies current state, the solution is copied to the old and older states, as expected. This functionality is mainly used for dynamic simulations with explicit time integration schemes, where old solution states are used in the velocity and acceleration approximations.

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • ignore_uo_dependencyFalseWhen set to true, a UserObject retrieved by this IC will not be executed before the this IC

    Default:False

    C++ Type:bool

    Controllable:No

    Description:When set to true, a UserObject retrieved by this IC will not be executed before the this IC

Advanced Parameters

  • prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

    C++ Type:MaterialPropertyName

    Unit:(no unit assumed)

    Controllable:No

    Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.

  • use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.

Material Property Retrieval Parameters