https://mooseframework.inl.gov
PINSFVMomentumFriction.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 "INSFVElementalKernel.h"
13 
18 {
19 public:
22 
24  void gatherRCData(const Elem &) override;
25 
26 protected:
28 
31  const Moose::StateArg & state);
32 
40  const bool _is_porous_medium;
42 
44  const Moose::Functor<ADReal> * const _mu;
49 
51  const unsigned int _dim;
60 };
const Moose::Functor< ADReal > * _w_var
z-velocity
ADReal computeFrictionWCoefficient(const Moose::ElemArg &elem_arg, const Moose::StateArg &state)
Computes the friction coefficient which gets multiplied by the velocity.
Imposes a friction force on the momentum equation in porous media in Rhie-Chow contexts.
An elemental kernel that momentum residual objects that add body forces should inherit from...
const Moose::Functor< ADReal > *const _speed
Speed (norm of the interstitial velocity) as a functor.
const Moose::Functor< ADReal > *const _mu
Dynamic viscosity.
DualNumber< Real, DNDerivativeType, true > ADReal
const unsigned int _dim
The dimension of the domain.
const Moose::Functor< ADReal > & _rho
Density as a functor.
const Moose::Functor< ADReal > & _epsilon
Adding porosity functor.
void gatherRCData(const FaceInfo &) override final
Should be a non-empty implementation if the residual object is a FVFluxKernel and introduces residual...
const Moose::Functor< ADRealVectorValue > *const _D
Darcy coefficient.
static InputParameters validParams()
const Moose::Functor< ADReal > * _u_var
x-velocity
const bool _use_Darcy_friction_model
Booleans to select the right models.
const Moose::Functor< ADReal > * _v_var
y-velocity
PINSFVMomentumFriction(const InputParameters &params)
void gatherRCData(const Elem &) override
Should be a non-empty implementation if the residual object is a FVElementalKernel and introduces res...
ADReal computeSegregatedContribution() override
Compute the contribution which goes into the residual of the segregated system.
const Moose::Functor< ADRealVectorValue > *const _F
Forchheimer coefficient.