https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PINSFVRhieChowInterpolator.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
14#include <unordered_map>
15
23{
24public:
27
28 virtual void meshChanged() override;
29 virtual void initialize() override;
30 virtual void execute() override;
31 virtual void finalize() override;
32
33protected:
34 const Moose::FunctorBase<ADReal> & epsilon(THREAD_ID tid) const override;
35
39 bool isFaceGeometricallyRelevant(const FaceInfo & fi) const;
40
45
48
50 std::vector<const Moose::Functor<ADReal> *> _epss;
51
53 std::vector<const Moose::Functor<ADReal> *> _smoothed_epss;
54
57 const unsigned short _smoothing_layers;
58
65 std::vector<const FaceInfo *> _geometric_fi;
66
67private:
73 void pinsfvSetup();
74};
75
76inline const Moose::FunctorBase<ADReal> &
78{
80 return *_epss[tid];
81 else
82 return *_smoothed_epss[tid];
83}
unsigned int THREAD_ID
A functor whose evaluation relies on querying a map where the keys are element ids and the values cor...
This user-object gathers 'a' (on-diagonal velocity coefficients) data.
A class that inherits the free-flow class's implementation of Rhie-Chow data gathering and adds the a...
const Moose::Functor< ADReal > & _eps
The thread 0 copy of the porosity functor held by the subproblem.
void pinsfvSetup()
called during the first initialize() and upon meshChanged(), this method performs the interpolations ...
bool isFaceGeometricallyRelevant(const FaceInfo &fi) const
std::vector< const Moose::Functor< ADReal > * > _smoothed_epss
All the thread copies of the problem's smoothed porosity functor.
const Moose::FunctorBase< ADReal > & epsilon(THREAD_ID tid) const override
A virtual method that allows us to only implement getVelocity once for free and porous flows.
std::vector< const Moose::Functor< ADReal > * > _epss
All the thread copies of the problem's porosity functor.
const unsigned short _smoothing_layers
The number of interpolations and reconstructions that should be performed on the porosity functor/fie...
std::vector< const FaceInfo * > _geometric_fi
All the face information that are "geometrically" accessible on this process.
static InputParameters validParams()
CellCenteredMapFunctor< ADReal, std::unordered_map< dof_id_type, ADReal > > _smoothed_eps
The smoothed porosity functor/field.