https://mooseframework.inl.gov
INSFVFluxKernel.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 "FVFluxKernel.h"
14 
20 {
21 public:
23  INSFVFluxKernel(const InputParameters & params);
24 
26  void gatherRCData(const Elem &) override final {}
27 
28  virtual ~INSFVFluxKernel() = default;
29 
31  void computeResidual(const FaceInfo & fi) override final;
33  void computeJacobian(const FaceInfo & fi) override final;
35  void computeResidualAndJacobian(const FaceInfo & fi) override final;
36 
37 protected:
38  ADReal computeQpResidual() override final;
39 
43  void addResidual(const Real residual);
44 
48  void addResidualAndJacobian(const ADReal & residual);
49 
54  {
55  mooseError("computeSegregatedContribution not implemented for ",
56  this->type(),
57  ". This function needs to be implemented to be able to use this object with a "
58  "segregated solver!");
59  }
60 };
A flux kernel that momentum residual objects that add non-advection flux terms, or more specifically ...
void computeResidualAndJacobian() override
virtual ~INSFVFluxKernel()=default
DualNumber< Real, DNDerivativeType, true > ADReal
virtual ADReal computeSegregatedContribution()
Compute the contribution which goes into the residual of the segregated system.
INSFVFluxKernel(const InputParameters &params)
void computeJacobian() override
const std::string & type() const
virtual void gatherRCData(const Elem &elem)=0
Should be a non-empty implementation if the residual object is a FVElementalKernel and introduces res...
void gatherRCData(const Elem &) override final
Should be a non-empty implementation if the residual object is a FVElementalKernel and introduces res...
All objects that contribute to pressure-based (e.g.
ADReal computeQpResidual() override final
void addResidualAndJacobian(const ADReal &residual)
Process into either the system residual or Jacobian.
void addResidual(const Real residual)
Process into the system residual.
static InputParameters validParams()
void mooseError(Args &&... args) const
void computeResidual() override