https://mooseframework.inl.gov
INSFVMomentumDiffusion.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 "MathFVUtils.h"
13 #include "INSFVFluxKernel.h"
15 #include "INSFVVelocityVariable.h"
18 
20 {
21 public:
25  void gatherRCData(const FaceInfo & fi) override final;
26 
27  // To get warnings tracked in the SolutionInvalidityOutput
29 
30 protected:
35  virtual ADReal computeStrongResidual(const bool populate_a_coeffs);
36 
37  virtual ADReal computeSegregatedContribution() override;
38 
41 
44 
46  ADReal _ae = 0;
47 
49  ADReal _an = 0;
50 
57 
59  const bool _complete_expansion;
60 
63 
65  const unsigned int _dim;
66 
68  const bool _newton_solve;
69 };
ADReal _ae
The a coefficient for the element.
ADReal _an
The a coefficient for the neighbor.
const unsigned int _dim
dimension
A flux kernel that momentum residual objects that add non-advection flux terms, or more specifically ...
const bool _limit_interpolation
Boolean parameter to limit interpolation.
const Moose::Functor< ADReal > *const _v_var
y-velocity
virtual ADReal computeStrongResidual(const bool populate_a_coeffs)
Routine to compute this object&#39;s strong residual (e.g.
virtual ADReal computeSegregatedContribution() override
Compute the contribution which goes into the residual of the segregated system.
DualNumber< Real, DNDerivativeType, true > ADReal
const Moose::FV::InterpMethod _mu_interp_method
The face interpolation method for the viscosity.
const Moose::Functor< ADReal > & _mu
The dynamic viscosity.
void gatherRCData(const Elem &) override final
Should be a non-empty implementation if the residual object is a FVElementalKernel and introduces res...
const Moose::Functor< ADReal > *const _u_var
x-velocity
const bool _newton_solve
For Newton solves we want to add extra zero-valued terms to avoid sparsity pattern changes...
static InputParameters validParams()
void gatherRCData(const FaceInfo &fi) override final
Should be a non-empty implementation if the residual object is a FVFluxKernel and introduces residual...
const Moose::Functor< ADReal > *const _w_var
z-velocity
INSFVMomentumDiffusion(const InputParameters &params)
const bool _complete_expansion
Boolean parameter to include the complete momentum expansion.