https://mooseframework.inl.gov
NSFVUtils.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 "MathFVUtils.h"
13 #include "MooseEnum.h"
14 
15 class MooseObject;
16 class InputParameters;
17 class FEProblemBase;
18 class Factory;
19 
20 namespace Moose
21 {
22 namespace FV
23 {
32 bool setInterpolationMethods(const MooseObject & obj,
33  Moose::FV::InterpMethod & advected_interp_method,
34  Moose::FV::InterpMethod & velocity_interp_method);
35 
40 }
41 }
42 
43 namespace NS
44 {
49 
56 std::string fvAdvectedInterpolationMethodType(const MooseEnum & interpolation_method);
57 
62 
69 std::string fvFaceInterpolationMethodType(const MooseEnum & interpolation_method);
70 
80  Factory & factory,
81  const MooseEnum & interpolation_method);
82 
92 template <class T>
93 std::tuple<bool, T, T> isPorosityJumpFace(const Moose::FunctorBase<T> & porosity,
94  const FaceInfo & fi,
95  const Moose::StateArg & time);
96 
97 extern template std::tuple<bool, Real, Real> isPorosityJumpFace<Real>(
98  const Moose::FunctorBase<Real> & porosity, const FaceInfo & fi, const Moose::StateArg & time);
99 extern template std::tuple<bool, ADReal, ADReal> isPorosityJumpFace<ADReal>(
100  const Moose::FunctorBase<ADReal> & porosity, const FaceInfo & fi, const Moose::StateArg & time);
101 }
bool setInterpolationMethods(const MooseObject &obj, Moose::FV::InterpMethod &advected_interp_method, Moose::FV::InterpMethod &velocity_interp_method)
Sets the advection and velocity interpolation methods.
Definition: NSFVUtils.C:25
std::string fvFaceInterpolationMethodType(const MooseEnum &interpolation_method)
Gets the FVInterpolationMethod object type for a face interpolation method name.
Definition: NSFVUtils.C:91
MooseEnum fvFaceInterpolationMethods()
Enum of the interpolation methods supported by FVInterpolationMethod objects.
Definition: NSFVUtils.C:85
InputParameters interpolationParameters()
Definition: NSFVUtils.C:44
void addFVFaceInterpolationMethod(FEProblemBase &problem, Factory &factory, const MooseEnum &interpolation_method)
Add the FVInterpolationMethod object for a face interpolation method name, if absent.
Definition: NSFVUtils.C:103
std::string fvAdvectedInterpolationMethodType(const MooseEnum &interpolation_method)
Gets the FVInterpolationMethod object type for an advected interpolation method.
Definition: NSFVUtils.C:67
static const std::string porosity
Definition: NS.h:108
template std::tuple< bool, ADReal, ADReal > isPorosityJumpFace< ADReal >(const Moose::FunctorBase< ADReal > &porosity, const FaceInfo &fi, const Moose::StateArg &time)
MooseEnum fvAdvectedInterpolationMethods()
Enum of the advected interpolation methods supported by FVInterpolationMethod objects.
Definition: NSFVUtils.C:61
std::tuple< bool, T, T > isPorosityJumpFace(const Moose::FunctorBase< T > &porosity, const FaceInfo &fi, const Moose::StateArg &time)
Checks to see whether the porosity value jumps from one side to the other of the provided face...
Definition: NSFVUtils.C:119
template std::tuple< bool, Real, Real > isPorosityJumpFace< Real >(const Moose::FunctorBase< Real > &porosity, const FaceInfo &fi, const Moose::StateArg &time)