https://mooseframework.inl.gov
NavierStokesPhysicsBase.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 "PhysicsBase.h"
13 #include "MooseEnum.h"
14 
15 #define registerNavierStokesPhysicsBaseTasks(app_name, derived_name) \
16  registerPhysicsBaseTasks(app_name, derived_name); \
17  registerMooseAction(app_name, derived_name, "add_geometric_rm")
18 
25 {
26 public:
28 
30 
31 protected:
34  {
35  return (parameters().get<std::string>("registered_identifier") == "Modules/NavierStokesFV");
36  }
37 
39  InputParameters getAdditionalRMParams() const override;
40 
42  void addFVAdvectedInterpolationMethod(const MooseEnum & interpolation_method);
43 
45  virtual unsigned short getNumberAlgebraicGhostingLayersNeeded() const = 0;
46 
49 };
void addFVAdvectedInterpolationMethod(const MooseEnum &interpolation_method)
Add the FVInterpolationMethod object for an advected interpolation method if absent.
const InputParameters & parameters() const
static InputParameters validParams()
NavierStokesPhysicsBase(const InputParameters &parameters)
virtual unsigned short getNumberAlgebraicGhostingLayersNeeded() const =0
Return the number of ghosting layers needed.
bool _define_variables
Whether to define variables if they do not exist.
Base class to hold common parameters and utilities between all the weakly compressible Navier Stokes-...
InputParameters getAdditionalRMParams() const override
Parameters to change or add relationship managers.
bool usingNavierStokesFVSyntax() const
Detects if we are using the new Physics syntax or the old NavierStokesFV action.