https://mooseframework.inl.gov
WCNSFVFlowPhysics.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 "WCNSFVFlowPhysicsBase.h"
14 
19 {
20 public:
22 
24 
26  virtual MooseFunctorName getLinearFrictionCoefName() const override;
28  UserObjectName rhieChowUOName() const override;
30  unsigned short getNumberAlgebraicGhostingLayersNeeded() const override;
31 
32 private:
33  virtual void addSolverVariables() override;
34  virtual void addFVKernels() override;
35  virtual void addUserObjects() override;
36  virtual void addCorrectors() override;
37 
39  void addMassTimeKernels();
41  void addMassKernels();
43  void addPressurePinKernel();
44 
50  void addMomentumTimeKernels() override;
54  void addMomentumPressureKernels() override;
55  void addMomentumGravityKernels() override;
56  void addMomentumBoussinesqKernels() override;
57  void addMomentumFrictionKernels() override;
58 
61  void addInletBC() override;
62  void addOutletBC() override;
63  void addWallsBC() override;
64  void addSeparatorBC() override;
65 
67  bool hasForchheimerFriction() const override;
68 
70  void addRhieChowUserObjects() override;
73  void checkRhieChowFunctorsDefined() const;
74 
77 
79  UserObjectName _rc_uo_name;
80 };
void addMomentumTimeKernels() override
Functions adding kernels for the incompressible momentum equation If the material properties are not ...
void addMomentumBoussinesqKernels() override
void addMomentumMixingLengthKernels()
static InputParameters validParams()
void addInletBC() override
Functions adding boundary conditions for the incompressible simulation.
const unsigned _porosity_smoothing_layers
The number of smoothing layers if that treatment is used on porosity.
void addMomentumViscousDissipationKernels()
virtual void addUserObjects() override
void addMassKernels()
Function adding kernels for the incompressible continuity equation.
void addPressurePinKernel()
Function adding the pressure constraint.
Creates all the objects needed to solve the Navier Stokes mass and momentum equations.
UserObjectName _rc_uo_name
Name of the user object in charge of computing the Rhie Chow coefficients.
void checkRhieChowFunctorsDefined() const
Checks that sufficient Rhie Chow coefficients have been defined for the given dimension, used for scalar or temperature advection by auxiliary variables.
void addRhieChowUserObjects() override
Function which adds the RhieChow interpolator user objects for weakly and incompressible formulations...
UserObjectName rhieChowUOName() const override
Return the name of the Rhie Chow user object.
void addOutletBC() override
virtual void addCorrectors() override
WCNSFVFlowPhysics(const InputParameters &parameters)
unsigned short getNumberAlgebraicGhostingLayersNeeded() const override
Return the number of algebraic ghosting layers needed.
void addMassTimeKernels()
Function adding kernels for the time derivative term of the weakly compressible continuity equation...
void addMomentumPressureKernels() override
Base class for Physics which create the Navier Stokes flow equations.
void addSeparatorBC() override
virtual void addSolverVariables() override
virtual MooseFunctorName getLinearFrictionCoefName() const override
Get the name of the linear friction coefficient. Returns an empty string if no friction.
void addMomentumFrictionKernels() override
void addMomentumGravityKernels() override
const InputParameters & parameters() const
void addMomentumAdvectionKernels()
void addWallsBC() override
bool hasForchheimerFriction() const override
Return whether a Forchheimer friction model is in use.
virtual void addFVKernels() override