Source code for armi.physics.thermalHydraulics.parameters

# Copyright 2020 TerraPower, LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Parameter definitions for thermal hydraulic plugins."""
from armi.reactor import parameters
from armi.reactor.parameters import ParamLocation
from armi.reactor.blocks import Block
from armi.utils import units


[docs]def getParameterDefinitions(): """Return ParameterDefinitionCollections for each appropriate ArmiObject.""" return {Block: _getBlockParams()}
def _getBlockParams(): pDefs = parameters.ParameterDefinitionCollection() with pDefs.createBuilder( default=0.0, location=ParamLocation.AVERAGE, saveToDB=False, categories=["thermal hydraulics"], ) as pb: pb.defParam( "pressureLossCoeffs", units="", description="Pressure loss coefficients from form losses outside of bundle region of " "assembly, e.g. losses through pin attachment hardware, expansion in inlet " "nozzle.", default=None, categories=[parameters.Category.assignInBlueprints], ) pb.defParam( "inletLossCoeff", units="", description="Pressure loss coefficients from form losses to be applied at the block " "inlet", default=None, categories=[parameters.Category.assignInBlueprints], ) with pDefs.createBuilder( default=0.0, location=ParamLocation.AVERAGE, categories=["thermal hydraulics"] ) as pb: pb.defParam( "THaveInletVel", units="m/s", saveToDB=True, description="Average fluid velocity taken at the inlet of the block.", ) pb.defParam( "THaveOutletVel", units="m/s", saveToDB=True, description="Average fluid velocity taken at the outlet of the block.", ) pb.defParam( "THdeltaPAccel", units="Pa", saveToDB=False, description="Acceleration component to the pressure drop.", ) pb.defParam( "THdeltaPInlet", units="Pa", saveToDB=False, description="Pressure drop at the inlet of the block.", ) pb.defParam( "THdeltaPOutlet", units="Pa", saveToDB=False, description="Pressure drop at the outlet of the block.", ) pb.defParam( "THhotChannelCladMidwallT", units=units.DEGC, saveToDB=False, description="Midwall (average) clad temperature for the hot channel or hot pin.", ) pb.defParam( "THhotChannelHeatTransferCoeff", units="W/m^2/K", saveToDB=True, description="Film heat transfer coefficient for hot channel in the assembly.", ) pb.defParam( "THinletDynamicPressure", units="Pa", saveToDB=False, description="Dynamic pressure drop component taken at the inlet of the block.", ) pb.defParam( "THmixingLength", units=units.UNITLESS, saveToDB=False, description="Approximation of length for subchannel mixing in subchan model.", ) pb.defParam( "THpeakingStdDev", units=units.UNITLESS, saveToDB=False, description="Standard deviation of pin peaking for modeling pin-level power in subchan.", ) pb.defParam( "THradialPeakingFactor", units=units.UNITLESS, saveToDB=False, description="Approximation of radial peaking for modeling pin-level power in subchan.", ) with pDefs.createBuilder( default=None, saveToDB=True, categories=["thermal hydraulics"] ) as pb: pb.defParam( "THhotChannelCladODT", units=units.DEGC, description="Nominal clad outer diameter temperature of the hot pin", categories=["thInterface"], ) pb.defParam( "THhotChannelCladIDT", units=units.DEGC, description="Nominal clad inner diameter temperature of the hot pin", categories=["thInterface"], ) pb.defParam( "THhotChannelFuelODT", units=units.DEGC, description="Temperature of the fuel outer diameter", categories=["thInterface"], ) pb.defParam( "THhotChannelFuelCenterlineT", units=units.DEGC, description="Nominal hot channel fuel centerline temperature", categories=["thInterface"], ) pb.defParam( "THdeltaPBundle", units="Pa", description="Pressure difference in a bundle, including contributions from friction, acceleration, and gravity", categories=["thInterface"], ) pb.defParam( "TH0SigmaCladODT", units=units.DEGC, description="0-sigma clad outer diameter temperature of the hot pin", categories=["thInterface"], ) pb.defParam( "TH2SigmaCladODT", units=units.DEGC, description="2-sigma clad outer diameter temperature of the hot pin", categories=["thInterface"], ) pb.defParam( "TH3SigmaCladODT", units=units.DEGC, description="3-sigma clad outer diameter temperature of the hot pin", categories=["thInterface"], ) pb.defParam( "TH0SigmaCladIDT", units=units.DEGC, description="0-sigma clad inner diameter temperature of the hot pin", categories=["thInterface"], ) pb.defParam( "TH2SigmaCladIDT", units=units.DEGC, description="2-sigma clad inner diameter temperature of the hot pin", categories=["thInterface"], ) pb.defParam( "TH3SigmaCladIDT", units=units.DEGC, description="3-sigma clad inner diameter temperature of the hot pin", categories=["thInterface"], ) pb.defParam( "TH0SigmaFuelCenterlineT", units=units.DEGC, description="0-sigma fuel centerline temperature", categories=["thInterface"], ) pb.defParam( "TH2SigmaFuelCenterlineT", units=units.DEGC, description="2-sigma fuel centerline temperature", categories=["thInterface"], ) pb.defParam( "TH3SigmaFuelCenterlineT", units=units.DEGC, description="3-sigma fuel centerline temperature", categories=["thInterface"], ) pb.defParam( "THdilationPressure", units="Pa", description="Dilation pressure", categories=["thInterface"], default=0.0, location=ParamLocation.AVERAGE, ) pb.defParam( "THmaxLifeTimePower", units="W", description="Maximum power over the lifetime of this block.", default=0.0, location=ParamLocation.MAX, ) with pDefs.createBuilder( default=0.0, categories=["thInterface"], saveToDB=True ) as pb: pb.defParam( "TH0SigmaOutletT", units=units.DEGC, description="0-sigma clad outer diameter temperature of the hot pin", location=ParamLocation.AVERAGE, ) pb.defParam( "TH2SigmaOutletT", units=units.DEGC, description="2-sigma clad outer diameter temperature of the hot pin", location=ParamLocation.AVERAGE, ) pb.defParam( "TH3SigmaOutletT", units=units.DEGC, description="3-sigma clad outer diameter temperature of the hot pin", location=ParamLocation.AVERAGE, ) pb.defParam( "THTfuelCL", units=units.DEGC, description="Average temperature of the fuel centerline used for neutronic coupling", location=ParamLocation.AVERAGE, ) pb.defParam( "THTfuelOD", units=units.DEGC, description="Average temperature of the fuel outer diameter used for neutronic coupling", location=ParamLocation.AVERAGE, ) pb.defParam( "THaverageCladODT", units=units.DEGC, description="Block average of the outer clad temperature.", location=ParamLocation.AVERAGE, ) pb.defParam( "THaverageCladIDT", units=units.DEGC, description="Block average of the inner clad temperature", location=ParamLocation.AVERAGE, ) pb.defParam( "THaveCoolantVel", units="m/s", description="Average of the inlet and outlet coolant velocities", location=ParamLocation.AVERAGE, ) pb.defParam( "THaverageCladTemp", units=units.DEGC, description="The nominal average clad temperature in the block, which should be used for neutronic and TH feedback.", location=ParamLocation.AVERAGE, ) pb.defParam( "THaverageGapTemp", units=units.DEGC, description="The nominal average gap temperature in the block, which should be used for neutronic and TH feedback.", location=ParamLocation.AVERAGE, saveToDB=True, ) pb.defParam( "THaverageDuctTemp", units=units.DEGC, description="The nominal average duct temperature in the block, which should be used for neutronic and TH feedback.", location=ParamLocation.AVERAGE, ) pb.defParam( "THcoolantAverageT", units=units.DEGC, description="Flow-based average of the inlet and outlet coolant temperatures.", location=ParamLocation.AVERAGE, ) pb.defParam( "THcoolantInletT", units=units.DEGC, description="The nominal average bulk coolant inlet temperature into the block.", location=ParamLocation.AVERAGE, ) pb.defParam( "THcoolantOutletT", units=units.DEGC, description="Coolant temperature at the outlet of this block", location=ParamLocation.AVERAGE, ) pb.defParam( "THcoolantStaticT", units=units.DEGC, description="Volume-based average coolant temperature, recommended for neutronics", location=ParamLocation.AVERAGE, ) pb.defParam( "THdeltaPFormLoss", units="Pa", description="Pressure differences due to user input loss coefficeints", location=ParamLocation.AVERAGE, ) pb.defParam( "THdeltaPGrav", units="Pa", description="hydrostatic pressure difference in a block", location=ParamLocation.AVERAGE, ) pb.defParam( "THdeltaPNoGrav", units="Pa", description="Sum of the loss pressure drops due to friction, acceleration, and inlet + outlet", location=ParamLocation.AVERAGE, ) pb.defParam( "THdeltaPTotal", units="Pa", description="Total pressure difference in a block", location=ParamLocation.AVERAGE, ) pb.defParam( "THinletCoolantVel", units="m/s", description="Flow velocity", location=ParamLocation.AVERAGE, ) pb.defParam( "THhotChannelOutletT", units=units.DEGC, description="Nominal hot channel outlet temperature", location=ParamLocation.AVERAGE, ) pb.defParam( "THlocalDTout", units=units.DEGC, description="Maximum delta-Ts for outlet temperatures of all assemblies", location=ParamLocation.AVERAGE, ) pb.defParam( "THlocalDToutFuel", units=units.DEGC, description="Maximum delta-Ts for outlet temperatures of fuel assemblies", location=ParamLocation.AVERAGE, ) pb.defParam( "THmassFlowRate", units="kg/s", description="Mass flow rate", location=ParamLocation.AVERAGE, ) pb.defParam( "THmaxCoolantVel", units="m/s", description="The maximum outlet coolant velocity", location=ParamLocation.AVERAGE, ) pb.defParam( "THorificeSetting", units="Pa/(kg/s)**2", description="A list of orifice settings corresponding to the assembly list", location=ParamLocation.AVERAGE, ) pb.defParam( "THorificeZone", units=units.UNITLESS, description="A list of orificing zones corresponding to the assembly list", location=ParamLocation.AVERAGE, ) with pDefs.createBuilder( default=0.0, categories=["thermal hydraulics", "mongoose"], saveToDB=True ) as pb: pb.defParam( "THcornTemp", units=units.DEGC, description="Best estimate duct temperature [degC] for assembly corners", location=ParamLocation.TOP | ParamLocation.CORNERS, ) pb.defParam( "THedgeTemp", units=units.DEGC, description="Best estimate duct temperature for assembly edges", location=ParamLocation.TOP | ParamLocation.EDGES, ) pb.defParam( "THbundleAveTemp", units=units.DEGC, description="Bundle averaged temperature", location=ParamLocation.TOP, ) pb.defParam( "THcoldChanTemp", units=units.DEGC, description="Best estimate cold channel temperature", location=ParamLocation.TOP, ) pb.defParam( "THcoldChannel", units=units.UNITLESS, description="Cold channel (lowest coolant dT) identifier", location=ParamLocation.AVERAGE, ) pb.defParam( "THcoldPin", units=units.UNITLESS, description="Cold pin (lowest PCT) pin identifier", location=ParamLocation.AVERAGE, ) pb.defParam( "THhotChannel", units=units.UNITLESS, description="Hot channel (highest coolant dT) identifier", location=ParamLocation.AVERAGE, ) pb.defParam( "THhotPin", units=units.UNITLESS, description="Hot pin (highest PCT) pin identifier", location=ParamLocation.AVERAGE, ) return pDefs