https://mooseframework.inl.gov
INSFVTKEDSourceSink.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 "FVElementalKernel.h"
13 #include "MathFVUtils.h"
15 #include "INSFVVelocityVariable.h"
16 #include "NS.h"
17 
22 {
23 public:
25 
26  virtual void initialSetup() override;
27 
29 
30 protected:
31  ADReal computeQpResidual() override;
32 
33 protected:
35  const unsigned int _dim;
36 
43 
46 
49 
52 
55 
57  const std::vector<BoundaryName> & _wall_boundary_names;
58 
60  const bool _linearized_model;
61 
64 
66  const Real _C1_eps;
67 
69  const Real _C2_eps;
70 
72  const Real _C_mu;
73 
74  // Production Limiter Constant
75  const Real _C_pl;
76 
78  std::map<const Elem *, Real> _symmetric_strain_tensor_norm_old;
80  std::map<const Elem *, Real> _old_destruction;
81 
83  std::map<const Elem *, Real> _pevious_nl_sol;
84 
86 
87  std::unordered_set<const Elem *> _wall_bounded;
88  std::map<const Elem *, std::vector<Real>> _dist;
89  std::map<const Elem *, std::vector<const FaceInfo *>> _face_infos;
91 
93  const bool _newton_solve;
94 };
std::map< const Elem *, Real > _pevious_nl_sol
Map for the previous nonlienar iterate.
const Moose::Functor< ADReal > * _w_var
z-velocity
const std::vector< BoundaryName > & _wall_boundary_names
Wall boundaries.
std::map< const Elem *, Real > _old_destruction
Map for the previous destruction field.
static InputParameters validParams()
const Moose::Functor< ADReal > & _k
Turbulent kinetic energy.
NS::WallTreatmentEnum _wall_treatment
Method used for wall treatment.
WallTreatmentEnum
Wall treatment options.
Definition: NS.h:182
const Moose::Functor< ADReal > * _v_var
y-velocity
Computes the source and sink terms for the turbulent kinetic energy dissipation rate.
DualNumber< Real, DNDerivativeType, true > ADReal
ADReal computeQpResidual() override
const Real _C2_eps
Value of the second epsilon closure coefficient.
const Real _C1_eps
Value of the first epsilon closure coefficient.
const Moose::Functor< ADReal > & _rho
Density.
std::unordered_set< const Elem * > _wall_bounded
Maps for wall treatment.
INSFVTKEDSourceSink(const InputParameters &parameters)
std::map< const Elem *, std::vector< Real > > _dist
std::map< const Elem *, std::vector< const FaceInfo * > > _face_infos
const bool _newton_solve
Whether a nonlinear Newton-like solver is being used (as opposed to a linearized solver) ...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const unsigned int _dim
The dimension of the simulation.
const Real _C_mu
C_mu constant.
const bool _linearized_model
If the user wants to use the linearized model.
const Moose::Functor< ADReal > & _mu
Dynamic viscosity.
const InputParameters & parameters() const
const Moose::Functor< ADReal > & _mu_t
Turbulent dynamic viscosity.
std::map< const Elem *, Real > _symmetric_strain_tensor_norm_old
Stored strain rate.
virtual void initialSetup() override
const Moose::Functor< ADReal > & _u_var
x-velocity