https://mooseframework.inl.gov
Loading...
Searching...
No Matches
INSFVFluxBC.C
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#include "INSFVFluxBC.h"
11#include "SystemBase.h"
12#include "Assembly.h"
13#include "MooseVariableBase.h"
14
17{
18 auto params = FVFluxBC::validParams();
20 return params;
21}
22
27
28void
34
35void
41
42void
48
51{
52 mooseAssert(_rc_uo.segregated(), "We should not get here if we are not segregated!");
54}
55
56void
58{
59 const auto * const elem = (_face_type == FaceInfo::VarFaceNeighbors::ELEM)
60 ? &_face_info->elem()
62 const auto dof_index = elem->dof_number(_sys.number(), _var.number(), 0);
63
65 std::array<ADReal, 1>{{residual}},
66 std::array<dof_id_type, 1>{{dof_index}},
68}
DualNumber< Real, DNDerivativeType, true > ADReal
SystemBase & _sys
MooseVariableFV< Real > & _var
const FaceInfo * _face_info
Assembly & _assembly
void computeJacobian(const FaceInfo &fi) override
void computeResidual(const FaceInfo &fi) override
FaceInfo::VarFaceNeighbors _face_type
static InputParameters validParams()
void computeResidualAndJacobian(const FaceInfo &fi) override
const Elem & elem() const
const Elem * neighborPtr() const
void addResidualAndJacobian(const ADReal &residual)
Process into either the system residual or Jacobian.
Definition INSFVFluxBC.C:57
void computeResidual(const FaceInfo &fi) override
Definition INSFVFluxBC.C:29
static InputParameters validParams()
Definition INSFVFluxBC.C:16
ADReal computeQpResidual() override final
Definition INSFVFluxBC.C:50
INSFVFluxBC(const InputParameters &params)
Definition INSFVFluxBC.C:23
virtual ADReal computeSegregatedContribution()
Compute the contribution which goes into the residual of the segregated system.
Definition INSFVFluxBC.h:45
void computeResidualAndJacobian(const FaceInfo &fi) override
Definition INSFVFluxBC.C:43
void computeJacobian(const FaceInfo &fi) override
Definition INSFVFluxBC.C:36
All objects that contribute to pressure-based (e.g.
RhieChowInterpolatorBase & _rc_uo
The Rhie Chow user object that is responsible for generating face velocities for advection terms.
void scalingFactor(const std::vector< Real > &factor)
unsigned int number() const
virtual bool segregated() const =0
Bool of the Rhie Chow user object is used in monolithic/segregated approaches.
unsigned int number() const
void addResidualsAndJacobian(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)