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 
22 {
23 public:
27  void gatherRCData(const FaceInfo & fi) override final;
28 
29 protected:
34  virtual ADReal computeStrongResidual(const bool populate_a_coeffs);
35 
36  virtual ADReal computeSegregatedContribution() override;
37 
40 
43 
45  ADReal _ae = 0;
46 
48  ADReal _an = 0;
49 
56 
58  const bool _complete_expansion;
59 
62 
64  const unsigned int _dim;
65 
67  const bool _newton_solve;
68 };
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.