https://mooseframework.inl.gov
LinearWCNSFVMomentumFlux.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "LinearFVFluxKernel.h"
13 
14 class RhieChowMassFlux;
17 
23 {
24 public:
26 
32 
33  virtual Real computeElemMatrixContribution() override;
34 
35  virtual Real computeNeighborMatrixContribution() override;
36 
37  virtual Real computeElemRightHandSideContribution() override;
38 
40 
42 
44 
51  virtual void setupFaceData(const FaceInfo * face_info) override;
52 
53 protected:
57 
61 
65 
69 
73 
78 
83 
88 
90  const unsigned int _dim;
91 
94 
97 
100 
103 
106  std::pair<Real, Real> _advected_interp_coeffs;
107 
111 
114 
117 
120 
123  const unsigned int _index;
124 
131 };
virtual Real computeBoundaryMatrixContribution(const LinearFVBoundaryCondition &bc) override
Real computeInternalAdvectionNeighborMatrixContribution()
Computes the matrix contribution of the advective flux on the neighbor side of current face when the ...
const unsigned int _index
Index x|y|z, this is mainly to handle the deviatoric parts correctly in in the stress term...
User object responsible for determining the face fluxes using the Rhie-Chow interpolation in a segreg...
const MooseLinearVariableFVReal *const _w_var
Velocity in direction z.
Real computeInternalAdvectionElemMatrixContribution()
Computes the matrix contribution of the advective flux on the element side of current face when the f...
virtual Real computeNeighborRightHandSideContribution() override
Real computeStressBoundaryRHSContribution(const LinearFVAdvectionDiffusionBC *bc)
Computes the right hand side contributions of the boundary conditions resulting from the stress tenso...
Real computeInternalStressMatrixContribution()
Computes the matrix contribution of the stress term on the current face when the face is an internal ...
const bool _use_nonorthogonal_correction
Switch to enable/disable nonorthogonal correction in the stress term.
const RhieChowMassFlux & _mass_flux_provider
The Rhie-Chow user object that provides us with the face velocity.
const Moose::Functor< Real > & _mu
The functor for the dynamic viscosity.
static InputParameters validParams()
virtual void setupFaceData(const FaceInfo *face_info) override
Set the current FaceInfo object.
Real computeAdvectionBoundaryMatrixContribution(const LinearFVAdvectionDiffusionBC *bc)
Computes the matrix contributions of the boundary conditions resulting from the advection term...
Kernel that implements the stress tensor and advection terms for the momentum equation.
std::pair< Real, Real > _advected_interp_coeffs
Container for the current advected interpolation coefficients on the face to make sure we don&#39;t compu...
Real computeAdvectionBoundaryRHSContribution(const LinearFVAdvectionDiffusionBC *bc)
Computes the right hand side contributions of the boundary conditions resulting from the advection te...
Real _stress_rhs_contribution
The cached right hand side contribution.
virtual Real computeElemRightHandSideContribution() override
const unsigned int _dim
The dimension of the mesh.
Real _stress_matrix_contribution
The cached matrix contribution.
Real computeStressBoundaryMatrixContribution(const LinearFVAdvectionDiffusionBC *bc)
Computes the matrix contributions of the boundary conditions resulting from the stress tensor...
virtual Real computeNeighborMatrixContribution() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real _face_mass_flux
Container for the mass flux on the face which will be reused in the advection term&#39;s matrix and right...
const MooseLinearVariableFVReal *const _v_var
Velocity in direction y.
virtual Real computeElemMatrixContribution() override
Moose::FV::InterpMethod _advected_interp_method
The interpolation method to use for the advected quantity.
LinearWCNSFVMomentumFlux(const InputParameters &params)
Class constructor.
Real computeInternalStressRHSContribution()
Computes the right hand side contribution of the stress term on the current face when the face is an ...
const bool _use_deviatoric_terms
Switch to enable/disable deviatoric parts in the stress term.
const MooseLinearVariableFVReal *const _u_var
Velocity in direction x.
virtual Real computeBoundaryRHSContribution(const LinearFVBoundaryCondition &bc) override