Skip to content

Commit c1a2dbd

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 c1a2dbd

File tree

3 files changed

+69
-8
lines changed

3 files changed

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

0 commit comments

Comments
 (0)