https://mooseframework.inl.gov
Loading...
Searching...
No Matches
INSFVElementalKernel.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"
14
19{
20public:
23
25 void gatherRCData(const FaceInfo &) override final {}
26
27 virtual ~INSFVElementalKernel() = default;
28
29 void computeResidual() override;
30 void computeJacobian() override;
32 void computeOffDiagJacobian() override final {}
33 void computeResidualAndJacobian() override;
34
35protected:
36 ADReal computeQpResidual() override final
37 {
38 mooseError("INSFVElementalKernels must implement gatherRCData and not computeQpResidual");
39 }
40
45 {
47 this->type(),
48 " needs to implement computeSegregatedContribution to be usable with a segregated solver!");
49 }
50
54 void addResidualAndJacobian(const ADReal & residual, dof_id_type dof);
55};
DualNumber< Real, DNDerivativeType, true > ADReal
virtual void computeOffDiagJacobian()
An elemental kernel that momentum residual objects that add body forces should inherit from.
void computeResidualAndJacobian() override
static InputParameters validParams()
void gatherRCData(const FaceInfo &) override final
Should be a non-empty implementation if the residual object is a FVFluxKernel and introduces residual...
virtual ADReal computeSegregatedContribution()
Compute the contribution which goes into the residual of the segregated system.
void computeOffDiagJacobian() override final
virtual ~INSFVElementalKernel()=default
void addResidualAndJacobian(const ADReal &residual, dof_id_type dof)
Process into either the system residual or Jacobian.
ADReal computeQpResidual() override final
void computeResidual() override
void computeJacobian() override
All objects that contribute to pressure-based (e.g.
virtual void gatherRCData(const Elem &elem)=0
Should be a non-empty implementation if the residual object is a FVElementalKernel and introduces res...
const std::string & type() const
void mooseError(Args &&... args) const