FVVelocityJumpGreenGaussGradient

Computes a Green-Gauss velocity gradient using one-sided face states on pressure baffles.

Description

FVVelocityJumpGreenGaussGradient computes the cell gradient of a superficial velocity component without interpreting the velocity jump at a pressure baffle as a resolved slope. Mass conservation keeps continuous across a baffle and density varies continuously, but the tangential superficial velocity jumps wherever porosity jumps. An ordinary Green-Gauss gradient interpolates the two cell values to the face and turns a jump into a slope of order .

On an ordinary internal face this method uses the standard interpolated face value. On a baffle face of the linked PorousRhieChowMassFlux, each cell instead uses the face value extrapolated from its own center,

which is exact for a field that is linear on each side. The gradient on the right is the previously published one, so the method is a fixed-point iteration that converges over the segregated iterations. Before the Rhie-Chow object is linked, the cell value is used.

PorousRhieChowMassFlux requires this method as the default "gradient_method" of every velocity variable when it has pressure-jump models, and links itself to the method. All consumers of the default velocity gradient, including the nonorthogonal and deviatoric stress corrections and the lagged gradient in FVReconstructedPressureGradient, therefore see one-sided gradients.

Example Input Syntax

[FVGradientMethods<<<{"href": "../../syntax/FVGradientMethods/index.html"}>>>]
  [jump_aware]
    type = FVPressureJumpGreenGaussGradient<<<{"description": "Computes a Green-Gauss pressure gradient that excludes the pressure jump across baffles, using a one-sided face pressure for each cell, so the zero-thickness jump does not appear as a mesh-dependent gradient in the adjacent cells.", "href": "FVPressureJumpGreenGaussGradient.html"}>>>
  []
  [velocity_jump_aware]
    type = FVVelocityJumpGreenGaussGradient<<<{"description": "Computes a Green-Gauss velocity gradient using one-sided face states on pressure baffles.", "href": "FVVelocityJumpGreenGaussGradient.html"}>>>
  []
  [reconstructed]
    type = FVReconstructedPressureGradient<<<{"description": "Reconstructs and relaxes the pressure gradient used for Rhie-Chow momentum coupling.", "href": "FVReconstructedPressureGradient.html"}>>>
    base_gradient_method<<<{"description": "Gradient method used before Rhie-Chow has computed reconstructed gradients."}>>> = jump_aware
    gradient_relaxation<<<{"description": "Relaxation factor applied when updating the reconstructed pressure-coupling gradient."}>>> = 1.0
  []
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/linear-segregated/2d-diagonal-baffle/porous-baffle-straight-diagonal.i)
[Variables<<<{"href": "../../syntax/Variables/index.html"}>>>]
  [superficial_u]
    type = MooseLinearVariableFVReal<<<{"description": "Base class for Moose variables. This should never be the terminal object type", "href": "../variables/MooseLinearVariableFV.html"}>>>
    solver_sys<<<{"description": "If this variable is a solver variable, this is the solver system to which it should be added."}>>> = u_system
    initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = ${inlet_velocity}
    gradient_method<<<{"description": "Default gradient computation method to register when a consumer requests gradients from this variable. This may be a built-in method name like 'green-gauss' or 'green-gauss-venkatakrishnan', or the name of an object in [FVGradientMethods]."}>>> = velocity_jump_aware
  []
[]
(modules/navier_stokes/test/tests/finite_volume/pins/channel-flow/linear-segregated/2d-diagonal-baffle/porous-baffle-straight-diagonal.i)

Input 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.

Input Files