https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
15class MooseObject;
16class InputParameters;
17class FEProblemBase;
18class Factory;
19
20namespace Moose
21{
22namespace FV
23{
33 Moose::FV::InterpMethod & advected_interp_method,
34 Moose::FV::InterpMethod & velocity_interp_method);
35
40}
41}
42
43namespace NS
44{
49
56std::string fvAdvectedInterpolationMethodType(const MooseEnum & interpolation_method);
57
62
69std::string fvFaceInterpolationMethodType(const MooseEnum & interpolation_method);
70
80 Factory & factory,
81 const MooseEnum & interpolation_method);
82
92template <class T>
93std::tuple<bool, T, T> isPorosityJumpFace(const Moose::FunctorBase<T> & porosity,
94 const FaceInfo & fi,
95 const Moose::StateArg & time);
96
97extern template std::tuple<bool, Real, Real> isPorosityJumpFace<Real>(
98 const Moose::FunctorBase<Real> & porosity, const FaceInfo & fi, const Moose::StateArg & time);
99extern 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
InputParameters interpolationParameters()
Definition NSFVUtils.C:44
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
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
std::string fvAdvectedInterpolationMethodType(const MooseEnum &interpolation_method)
Gets the FVInterpolationMethod object type for an advected interpolation method.
Definition NSFVUtils.C:67
template std::tuple< bool, ADReal, ADReal > isPorosityJumpFace< ADReal >(const Moose::FunctorBase< ADReal > &porosity, const FaceInfo &fi, const Moose::StateArg &time)
static const std::string porosity
Definition NS.h:108
template std::tuple< bool, Real, Real > isPorosityJumpFace< Real >(const Moose::FunctorBase< Real > &porosity, const FaceInfo &fi, const Moose::StateArg &time)
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
MooseEnum fvAdvectedInterpolationMethods()
Enum of the advected interpolation methods supported by FVInterpolationMethod objects.
Definition NSFVUtils.C:61