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