https://mooseframework.inl.gov
WCNSLinearFVFlowPhysics.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 
25 {
26 public:
28 
30 
31 protected:
32  virtual void initializePhysicsAdditional() override;
33 
34 private:
35  virtual void addSolverVariables() override;
36  virtual void addFVKernels() override;
37  virtual void addUserObjects() override;
38 
41 
47  void addMomentumTimeKernels() override;
49  virtual void addMomentumPressureKernels() override;
50  virtual void addMomentumGravityKernels() override;
51  virtual void addMomentumFrictionKernels() override;
52  virtual void addMomentumBoussinesqKernels() override;
53 
54  virtual void addInletBC() override;
55  virtual void addOutletBC() override;
56  virtual void addWallsBC() override;
57  virtual void addSeparatorBC() override {}
58 
59  virtual bool hasForchheimerFriction() const override { return false; };
60 
61  virtual void addRhieChowUserObjects() override;
62  virtual void addFunctorMaterials() override;
63 
64  virtual MooseFunctorName getLinearFrictionCoefName() const override
65  {
66  mooseError("Not implemented");
67  }
68 
69  UserObjectName rhieChowUOName() const override;
70 
71  unsigned short getNumberAlgebraicGhostingLayersNeeded() const override;
72 
75 };
virtual void addFVKernels() override
Creates all the objects needed to solve the Navier-Stokes equations with the SIMPLE algorithm using t...
unsigned short getNumberAlgebraicGhostingLayersNeeded() const override
Return the number of algebraic ghosting layers needed.
virtual void addInletBC() override
Functions adding boundary conditions for the flow simulation.
virtual void addMomentumPressureKernels() override
virtual void addFunctorMaterials() override
virtual void addRhieChowUserObjects() override
Function which adds the RhieChow interpolator user objects for weakly and incompressible formulations...
void addMomentumTimeKernels() override
Functions adding kernels for the incompressible momentum equation If the material properties are not ...
virtual void initializePhysicsAdditional() override
void addPressureCorrectionKernels()
Function adding kernels for the incompressible pressure correction equation.
virtual void addWallsBC() override
virtual void addMomentumGravityKernels() override
Base class for Physics which create the Navier Stokes flow equations.
WCNSLinearFVFlowPhysics(const InputParameters &parameters)
virtual void addUserObjects() override
const bool _non_orthogonal_correction
Whether to use the correction term for non-orthogonality.
virtual void addMomentumFrictionKernels() override
virtual void addMomentumBoussinesqKernels() override
void mooseError(Args &&... args) const
static InputParameters validParams()
const InputParameters & parameters() const
UserObjectName rhieChowUOName() const override
Return the name of the Rhie Chow user object.
virtual void addOutletBC() override
virtual void addSolverVariables() override
virtual void addSeparatorBC() override
virtual bool hasForchheimerFriction() const override
Return whether a Forchheimer friction model is in use.
virtual MooseFunctorName getLinearFrictionCoefName() const override
Get the name of the linear friction coefficient. Returns an empty string if no friction.