PNSInitialCondition

PNSInitialCondition can be used to initialize variables by evaluating fluid properties for porous flow calculations. It can accept both interstitial and superficial velocities for initializing superficial or interstitial velocity variables and energy.

Example input file syntax

In this example, we initialize the first component of the superficial momentum with a specified superficial velocity. The superficial velocity is specified as a vector. We could have alternatively specified an interstitial velocity and the porosity.

[ICs]
  [superficial_rhou]
    type = PNSInitialCondition
    fluid_properties = 'fp'
    initial_pressure = ${p_initial}
    initial_temperature = ${T}
    initial_superficial_velocity = '1 0.2 18'
    porosity = porosity
    variable = 'superficial_rhou'
  []
[]
(contrib/moose/modules/navier_stokes/test/tests/ics/pns_test.i)

Input Parameters

  • fluid_propertiesThe name of the user object for fluid properties

    C++ Type:UserObjectName

    Unit:(no unit assumed)

    Controllable:No

    Description:The name of the user object for fluid properties

  • initial_pressureThe initial pressure, assumed constant everywhere

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial pressure, assumed constant everywhere

  • initial_temperatureThe initial temperature, assumed constant everywhere

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial temperature, assumed constant everywhere

  • 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

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

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

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    Controllable:No

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

  • initial_interstitial_velocityThe initial interstitial velocity, assumed constant everywhere

    C++ Type:libMesh::VectorValue<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial interstitial velocity, assumed constant everywhere

  • initial_superficial_velocityThe initial superficial velocity, assumed constant everywhere

    C++ Type:libMesh::VectorValue<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:The initial superficial velocity, assumed constant everywhere

  • porosityPorosity variable (defaults to porosity material property).

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Porosity variable (defaults to porosity material property).

  • 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

    Unit:(no unit assumed)

    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.

  • variable_typeSpecifies what this variable is in the Navier Stokes namespace of variables

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:ht, e, Mach, pressure, rho, rhou, rhov, rhow, rho_et, specific_volume, temperature, vel_x, vel_y, vel_z, superficial_vel_x, superficial_vel_y, superficial_vel_z, superficial_rho, superficial_rhou, superficial_rhov, superficial_rhow, superficial_rho_et, superficial_rho_ht

    Controllable:No

    Description:Specifies what this variable is in the Navier Stokes namespace of variables

Optional Parameters

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

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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    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

    Unit:(no unit assumed)

    Controllable:No

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

Advanced Parameters