https://mooseframework.inl.gov
Loading...
Searching...
No Matches
PressureJumpModel.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
9#pragma once
10
11#include "GeneralUserObject.h"
13
14#include <unordered_set>
15
16class FaceInfo;
17
25{
26public:
29
34 PressureJumpModel(const InputParameters & params);
35
40 bool appliesTo(const FaceInfo & fi) const;
41
46 bool elemIsOwner(const FaceInfo & fi) const;
47
53 virtual Real computePressureJump(const FaceInfo & fi, Real face_mass_flux) const = 0;
54
56 const std::unordered_set<BoundaryID> & boundaryIDs() const { return _boundary_ids; }
57
59 void initialize() final {}
60 void execute() final {}
61 void finalize() final {}
63
64protected:
67
68private:
70 std::unordered_set<BoundaryID> _boundary_ids;
71};
Interface for pressure-jump models evaluated by PorousRhieChowMassFlux.
std::unordered_set< BoundaryID > _boundary_ids
Boundary IDs on which this pressure-jump model applies.
MooseMesh & _moose_mesh
Mesh used to resolve boundary names and determine pressure-jump orientation.
const std::unordered_set< BoundaryID > & boundaryIDs() const
Boundary IDs handled by this model.
static InputParameters validParams()
Return the input parameters shared by pressure-jump models.
virtual Real computePressureJump(const FaceInfo &fi, Real face_mass_flux) const =0
Compute pressure on the non-owner side minus pressure on the owner side.
bool elemIsOwner(const FaceInfo &fi) const
Return whether the FaceInfo element is the oriented owner of the pressure jump.
bool appliesTo(const FaceInfo &fi) const
Return whether this model applies to a face.
void initialize() final
No-op execution hooks because the Rhie-Chow object evaluates this model directly.