Skip to content

Commit e458713

Browse files
committed
Add a dedicated linear WCNSFV page with links to the relevant sections in linearFV, NS and physics
refs #31887
1 parent d8769bb commit e458713

File tree

3 files changed

+76
-8
lines changed

3 files changed

+76
-8
lines changed

framework/doc/content/finite_volumes/linear_fv_design.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# Linear Finite Volume Design Decisions in MOOSE
32

43
The main motivation for introducing a new approach for finite volume system

modules/navier_stokes/doc/content/modules/navier_stokes/index.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@
33
The MOOSE Navier-Stokes module is a library for the implementation of simulation tools that solve the
44
Navier-Stokes equations using either the continuous Galerkin finite element
55
(CGFE) or finite volume (FV) methods. The Navier-Stokes
6-
equations are usually solved using either the pressure-based, incompressible formulation (assuming a
7-
constant fluid density), or a density-based, compressible formulation, although
8-
there are plans to add a finite volume weakly-compressible pressured-based implementation in
9-
the not-too-distant future.
6+
equations are usually solved using either the pressure-based, incompressible or weakly-compressible formulation (assuming a
7+
constant or pressure-independent fluid density), or a density-based, compressible formulation.
108

119
For documentation specific to finite element or finite volume implementations,
1210
please refer to the below pages:
1311

1412
- [Incompressible Finite Volume](insfv.md)
1513
- [Weakly Compressible Finite Volume](wcnsfv.md)
14+
- [Weakly compressible finite volume using a linear discretization and a segregated solvealgorithm (SIMPLE/PIMPLE)](linear_wcnsfv.md)
1615
- [Porous media Incompressible Finite Volume](pinsfv.md)
1716
- [Continuous Galerkin Finite Element](navier_stokes/cgfe.md)
1817
- [Hybridized Discontinous Galerkin (HDG) Finite Element](NavierStokesLHDGKernel.md)
@@ -25,7 +24,7 @@ please refer to the below pages:
2524
Here we give a brief tabular summary of the Navier-Stokes implementations:
2625

2726
!table id=navier_stokes_summary caption=Summary of Navier-Stokes implementations
28-
| prefix | Jacobian | compressibility | turbulence support | friction support | method | advection strategy |
27+
| prefix | Jacobian | compressibility | turbulence support | friction support | discretiz. | advection strategy |
2928
| ------ | -------- | ----------------------------- | --------------------------- | ---------------- | ------ | --------------------------------- |
3029
| INS | Hand-coded | incompressible | None | Not porous | CGFE | SUPG |
3130
| INSAD | AD | incompressible | Smagorinsky | Not porous | CGFE | SUPG |
@@ -35,7 +34,9 @@ Here we give a brief tabular summary of the Navier-Stokes implementations:
3534
| INSChorin | Hand-coded | incompressible | None | Not porous | CGFE | Chorin predictor-corrector |
3635
| INSFV | AD | incompressible | mixing length; $k-\epsilon$ | Not porous | FV | RC, CD velocity; limited advected |
3736
| WCNSFV | AD | weakly compressible | mixing length | Not porous | FV | RC, CD velocity; limited advected |
37+
| Linear(WCNS)FV | N/A | weakly compressible | $k-\epsilon$ | Not porous | LinearFV | RC velocity; limited advected |
3838
| WCNSFV2P | AD | weakly compressible; 2-phase | mixing length | Not porous | FV | RC, CD velocity; limited advected |
39+
| LinearWCNSFV2P | N/A | weakly compressible; 2-phase | None | Not porous | LinearFV | RC velocity; limited advected |
3940
| PINSFV | AD | incompressible | mixing length | Darcy, Forcheimer | FV | RC, CD velocity; limited advected |
4041
| CNSFVHLLC | AD | compressible | None | Not porous | FV | HLLC, piecewise constant data |
4142
| PCNSFVHLLC | AD | compressible | None | Darcy, Forcheimer | FV | HLLC, piecewise constant data |
@@ -49,6 +50,7 @@ Table definitions:
4950
- WCNS2P: weakly-compressible Navier-Stokes 2-phase
5051
- CNS: compressible Navier-Stokes
5152
- PINS or PCNS: porous incompressible Navier-Stokes or porous compressible Navier-Stokes
53+
- LinearFV: the [linear finite volume discretization](linear_fv_design.md)
5254
- SUPG: Streamline-Upwind Petrov-Galerkin
5355
- RC: Rhie-Chow interpolation
5456
- CD: central differencing interpolation; equivalent to average interpolation
@@ -78,7 +80,7 @@ As Navier-Stokes Finite Volume solvers continue to evolve in MOOSE, many new sol
7880
| Turbulence | Mixing length | Yes | Yes | Yes | |
7981
| | $k-\epsilon$ | | Yes | Yes | Yes |
8082
| | $k-\omega$ SST | | | in [PR #28151](https://github.com/idaholab/moose/pull/28151) | |
81-
| Two-phase | Mixture model | Yes | Yes | Yes | in [PR #29614](https://github.com/idaholab/moose/pull/29614) |
83+
| Two-phase | Mixture model | Yes | Yes | Yes | Yes |
8284
| | Eulerian-Eulerian | | | Yes | |
8385
| Porous Flow | -- | Yes | Yes | Yes | |
8486
| Compressibility | Incompressible | Yes | Yes | Yes | Yes |
@@ -91,7 +93,7 @@ As Navier-Stokes Finite Volume solvers continue to evolve in MOOSE, many new sol
9193
| Physics Syntax | Flow | | Yes | | Yes |
9294
| | Fluid heat transfer | | Yes | | Yes |
9395
| | Solid phase heat transfer | | Yes | | |
94-
| | Two phase | | Yes | | in [PR #29614](https://github.com/idaholab/moose/pull/29614) |
96+
| | Two phase | | Yes | | Yes |
9597
| | Turbulence | | Yes | | |
9698
| | Scalar transport | | Yes | | Yes |
9799

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Weakly Compressible Navier Stokes using the Linear Finite Volume discretization
2+
3+
## Equations
4+
5+
The linear finite volume discretization of the weakly compressible Navier Stokes equations is used
6+
to solve the following equations:
7+
8+
- conservation of momentum
9+
- pressure-correction (see [SIMPLE.md])
10+
- turbulence equations
11+
- conservation of energy
12+
- conservation of advected passive scalars
13+
- conservation of an advected phase in a homogeneous mixture
14+
15+
We refer the reader to the respective `Physics` pages, listed in [linear_wcnsfv.md#syntax], for the strong form of the equations.
16+
17+
## Solver algorithm(s)
18+
19+
For steady state simulations, you may use the [SIMPLE.md] executioner which implements the SIMPLE algorithm [!citep](patankar1983calculation).
20+
21+
For transient simulations, you may use the [PIMPLE.md] executioner which implements the PIMPLE algorithm [!citep](greenshieldsweller2022).
22+
23+
## Discretization
24+
25+
### General
26+
27+
We use the linear finite volume discretization, a face-centered finite volume discretization. We have implemented orthogonal
28+
gradient correction and skewness correction for face values, and thus can reach second-order accuracy in many cases.
29+
30+
!alert note
31+
Triangular and tetrahedral meshes currently only achieve first order convergence rates at the moment.
32+
33+
!alert note
34+
This implementation does not require forming a Jacobian because it is solving using the SIMPLE/PIMPLE algorithm, which
35+
involve segregated linear equation solved nested in a fixed point iteration loop, rather than a Newton method-based solver.
36+
The discretization of the equation is optimized to form a right hand side (RHS) and sparse matrices.
37+
Additional details about the linear finite volume discretization can be found on [this page](linear_fv_design.md).
38+
39+
### Advection term
40+
41+
The advection term is discretized using the Rhie Chow interpolation for the face velocities. Additional details may be found in the documentation
42+
for the object handling the computation of the Rhie Chow velocities: the [RhieChowMassFlux.md].
43+
44+
## Syntax id=syntax
45+
46+
These equations can be created in MOOSE using the [LinearFVKernels](syntax/LinearFVKernels/index.md) and [LinearFVBCs](syntax/LinearFVBCs/index.md)
47+
classes, or using the [Physics](syntax/Physics/index.md) classes.
48+
For `LinearWCNSFV`, the relevant `Physics` classes are:
49+
50+
- [WCNSLinearFVFlowPhysics.md] for the velocity-pressure coupling.
51+
- [WCNSLinearFVFluidHeatTransferPhysics.md] for the fluid energy conservation equation.
52+
- [WCNSLinearFVScalarTransportPhysics.md] for the advection of passive scalars.
53+
54+
For `LinearWCNSFV2P`, the relevant `Physics` classes are:
55+
56+
- [WCNSLinearFVTwoPhaseMixturePhysics.md] for a basic implementation of a mixture model.
57+
58+
## Validation
59+
60+
The linear finite volume discretization is being verified and validated as part of the `OpenPronghorn` open-source software.
61+
Please refer to [OpenPronghorn](https://mooseframework.inl.gov/open_pronghorn/) for this ongoing effort.
62+
63+
## Gallery
64+
65+
!alert construction
66+
The gallery has not been created for this discretization yet.
67+
Please refer to [OpenPronghorn](https://mooseframework.inl.gov/open_pronghorn/) for example simulations.

0 commit comments

Comments
 (0)