https://mooseframework.inl.gov
INSFVFluxBC.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 "FVFluxBC.h"
14 
20 {
21 public:
23  INSFVFluxBC(const InputParameters & params);
24 
26  void gatherRCData(const Elem &) override final {}
27 
28  virtual ~INSFVFluxBC() = default;
29 
30  void computeResidual(const FaceInfo & fi) override;
31  void computeJacobian(const FaceInfo & fi) override;
32  void computeResidualAndJacobian(const FaceInfo & fi) override;
33 
37  void addResidualAndJacobian(const ADReal & residual);
38 
39 protected:
40  ADReal computeQpResidual() override final;
41 
46  {
47  mooseError("computeSegregatedContribution not implemented for ",
48  this->type(),
49  ". This function needs to be implemented to be able to use this object with a "
50  "segregated solver!");
51  }
52 };
void computeResidualAndJacobian(const FaceInfo &fi) override
Definition: INSFVFluxBC.C:43
A flux boundary condition that momentum residual objects that add boundary flux terms should inherit ...
Definition: INSFVFluxBC.h:19
void computeResidual(const FaceInfo &fi) override
Definition: INSFVFluxBC.C:29
INSFVFluxBC(const InputParameters &params)
Definition: INSFVFluxBC.C:23
void gatherRCData(const Elem &) override final
Should be a non-empty implementation if the residual object is a FVElementalKernel and introduces res...
Definition: INSFVFluxBC.h:26
DualNumber< Real, DNDerivativeType, true > ADReal
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 addResidualAndJacobian(const ADReal &residual)
Process into either the system residual or Jacobian.
Definition: INSFVFluxBC.C:57
All objects that contribute to pressure-based (e.g.
virtual ADReal computeSegregatedContribution()
Compute the contribution which goes into the residual of the segregated system.
Definition: INSFVFluxBC.h:45
static InputParameters validParams()
Definition: INSFVFluxBC.C:16
void mooseError(Args &&... args) const
virtual ~INSFVFluxBC()=default
ADReal computeQpResidual() override final
Definition: INSFVFluxBC.C:50
void computeJacobian(const FaceInfo &fi) override
Definition: INSFVFluxBC.C:36