From 6728af9cddf6803e1e82b65a54d018d7eac6ed73 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Tue, 25 Apr 2023 13:57:23 -0500 Subject: [PATCH 01/12] add gradient variable type parameter --- src/equations/compressible_navier_stokes_2d.jl | 6 +++--- src/equations/compressible_navier_stokes_3d.jl | 2 +- src/equations/equations.jl | 7 ++++--- src/equations/equations_parabolic.jl | 10 ++++++++-- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/equations/compressible_navier_stokes_2d.jl b/src/equations/compressible_navier_stokes_2d.jl index c509015ba7b..04e21911f53 100644 --- a/src/equations/compressible_navier_stokes_2d.jl +++ b/src/equations/compressible_navier_stokes_2d.jl @@ -76,7 +76,7 @@ w_2 = \frac{\rho v_1}{p},\, w_3 = \frac{\rho v_2}{p},\, w_4 = -\frac{\rho}{p} #!!! warning "Experimental code" # This code is experimental and may be changed or removed in any future release. """ -struct CompressibleNavierStokesDiffusion2D{GradientVariables, RealT <: Real, E <: AbstractCompressibleEulerEquations{2}} <: AbstractCompressibleNavierStokesDiffusion{2, 4} +struct CompressibleNavierStokesDiffusion2D{GradientVariables, RealT <: Real, E <: AbstractCompressibleEulerEquations{2}} <: AbstractCompressibleNavierStokesDiffusion{2, 4, GradientVariables} # TODO: parabolic # 1) For now save gamma and inv(gamma-1) again, but could potentially reuse them from the Euler equations # 2) Add NGRADS as a type parameter here and in AbstractEquationsParabolic, add `ngradients(...)` accessor function @@ -106,8 +106,8 @@ formulation from Under `GradientVariablesEntropy`, the Navier-Stokes discretization is provably entropy stable. """ -struct GradientVariablesPrimitive end -struct GradientVariablesEntropy end +struct GradientVariablesPrimitive <: AbstractGradientVariable end +struct GradientVariablesEntropy <: AbstractGradientVariable end # default to primitive gradient variables function CompressibleNavierStokesDiffusion2D(equations::CompressibleEulerEquations2D; diff --git a/src/equations/compressible_navier_stokes_3d.jl b/src/equations/compressible_navier_stokes_3d.jl index d4821c55e58..e5057341732 100644 --- a/src/equations/compressible_navier_stokes_3d.jl +++ b/src/equations/compressible_navier_stokes_3d.jl @@ -76,7 +76,7 @@ w_2 = \frac{\rho v_1}{p},\, w_3 = \frac{\rho v_2}{p},\, w_4 = \frac{\rho v_3}{p} #!!! warning "Experimental code" # This code is experimental and may be changed or removed in any future release. """ -struct CompressibleNavierStokesDiffusion3D{GradientVariables, RealT <: Real, E <: AbstractCompressibleEulerEquations{3}} <: AbstractCompressibleNavierStokesDiffusion{3, 5} +struct CompressibleNavierStokesDiffusion3D{GradientVariables, RealT <: Real, E <: AbstractCompressibleEulerEquations{3}} <: AbstractCompressibleNavierStokesDiffusion{3, 5, GradientVariables} # TODO: parabolic # 1) For now save gamma and inv(gamma-1) again, but could potentially reuse them from the Euler equations # 2) Add NGRADS as a type parameter here and in AbstractEquationsParabolic, add `ngradients(...)` accessor function diff --git a/src/equations/equations.jl b/src/equations/equations.jl index c1669531def..b5758bf16e4 100644 --- a/src/equations/equations.jl +++ b/src/equations/equations.jl @@ -328,7 +328,7 @@ include("compressible_euler_multicomponent_2d.jl") eachcomponent(equations::AbstractCompressibleEulerMulticomponentEquations) Return an iterator over the indices that specify the location in relevant data structures -for the components in `AbstractCompressibleEulerMulticomponentEquations`. +for the components in `AbstractCompressibleEulerMulticomponentEquations`. In particular, not the components themselves are returned. """ @inline eachcomponent(equations::AbstractCompressibleEulerMulticomponentEquations) = Base.OneTo(ncomponents(equations)) @@ -350,7 +350,7 @@ include("ideal_glm_mhd_multicomponent_2d.jl") eachcomponent(equations::AbstractIdealGlmMhdMulticomponentEquations) Return an iterator over the indices that specify the location in relevant data structures -for the components in `AbstractIdealGlmMhdMulticomponentEquations`. +for the components in `AbstractIdealGlmMhdMulticomponentEquations`. In particular, not the components themselves are returned. """ @inline eachcomponent(equations::AbstractIdealGlmMhdMulticomponentEquations) = Base.OneTo(ncomponents(equations)) @@ -374,6 +374,7 @@ include("acoustic_perturbation_2d.jl") abstract type AbstractLinearizedEulerEquations{NDIMS, NVARS} <: AbstractEquations{NDIMS, NVARS} end include("linearized_euler_2d.jl") -abstract type AbstractEquationsParabolic{NDIMS, NVARS} <: AbstractEquations{NDIMS, NVARS} end +abstract type AbstractEquationsParabolic{NDIMS, NVARS, GradientVariables} <: AbstractEquations{NDIMS, NVARS} end +# Here end # @muladd diff --git a/src/equations/equations_parabolic.jl b/src/equations/equations_parabolic.jl index 4fcdfff5f94..a3bb66776c8 100644 --- a/src/equations/equations_parabolic.jl +++ b/src/equations/equations_parabolic.jl @@ -2,11 +2,17 @@ # specialize this function to compute gradients e.g., of primitive variables instead of conservative gradient_variable_transformation(::AbstractEquationsParabolic) = cons2cons +# By default, the gradients are taken with respect to the conservative variables. +# this is reflected by the type parameter `GradientVariablesConservative` in the abstract +# type `AbstractEquationsParabolic{NDIMS, NVARS, GradientVariablesConservative}`. +abstract type AbstractGradientVariable end +struct GradientVariablesConservative <: AbstractGradientVariable end + # Linear scalar diffusion for use in linear scalar advection-diffusion problems -abstract type AbstractLaplaceDiffusion{NDIMS, NVARS} <: AbstractEquationsParabolic{NDIMS, NVARS} end +abstract type AbstractLaplaceDiffusion{NDIMS, NVARS} <: AbstractEquationsParabolic{NDIMS, NVARS, GradientVariablesConservative} end include("laplace_diffusion_2d.jl") # Compressible Navier-Stokes equations -abstract type AbstractCompressibleNavierStokesDiffusion{NDIMS, NVARS} <: AbstractEquationsParabolic{NDIMS, NVARS} end +abstract type AbstractCompressibleNavierStokesDiffusion{NDIMS, NVARS, GradientVariable} <: AbstractEquationsParabolic{NDIMS, NVARS, GradientVariable} end include("compressible_navier_stokes_2d.jl") include("compressible_navier_stokes_3d.jl") From 1972b6c9d162d309a7d6fad1948cb61755f05a81 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Tue, 25 Apr 2023 15:36:34 -0500 Subject: [PATCH 02/12] fix parabolic literate test --- docs/literate/src/files/adding_new_parabolic_terms.jl | 11 +++++++++-- src/Trixi.jl | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/literate/src/files/adding_new_parabolic_terms.jl b/docs/literate/src/files/adding_new_parabolic_terms.jl index 882f73f66ff..b6a46317cf1 100644 --- a/docs/literate/src/files/adding_new_parabolic_terms.jl +++ b/docs/literate/src/files/adding_new_parabolic_terms.jl @@ -18,8 +18,15 @@ equations_hyperbolic = LinearScalarAdvectionEquation2D(advection_velocity); # `ConstantAnisotropicDiffusion2D` has a field for `equations_hyperbolic`. It is useful to have # information about the hyperbolic system available to the parabolic part so that we can reuse # functions defined for hyperbolic equations (such as `varnames`). - -struct ConstantAnisotropicDiffusion2D{E, T} <: Trixi.AbstractEquationsParabolic{2, 1} +# +# The abstract type `Trixi.AbstractEquationsParabolic` has three parameters: `NDIMS` (the spatial dimension, +# e.g., 1D, 2D, or 3D), `NVARS` (the number of variables), and `GradientVariable`, which we set as +# `GradientVariablesConservative`. This indicates that the gradient should be taken with respect to the +# conservative variables (e.g., the same variables used in `equations_hyperbolic`). Users can also take +# the gradient with respect to a different set of variables; see, for example, the implementation of +# [`CompressibleNavierStokesDiffusion2D`](@ref), which can utilize either "primitive" or "entropy" variables. + +struct ConstantAnisotropicDiffusion2D{E, T} <: Trixi.AbstractEquationsParabolic{2, 1, GradientVariablesConservative} diffusivity::T equations_hyperbolic::E end diff --git a/src/Trixi.jl b/src/Trixi.jl index 19cde8dfc25..c0238e0882c 100644 --- a/src/Trixi.jl +++ b/src/Trixi.jl @@ -140,7 +140,7 @@ export AcousticPerturbationEquations2D, export LaplaceDiffusion2D, CompressibleNavierStokesDiffusion2D, CompressibleNavierStokesDiffusion3D -export GradientVariablesPrimitive, GradientVariablesEntropy +export GradientVariablesConservative, GradientVariablesPrimitive, GradientVariablesEntropy export flux, flux_central, flux_lax_friedrichs, flux_hll, flux_hllc, flux_hlle, flux_godunov, flux_chandrashekar, flux_ranocha, flux_derigs_etal, flux_hindenlang_gassner, From 2631c96eef1f902546af8182f9ca8a05c5d442a1 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Wed, 26 Apr 2023 08:56:38 -0500 Subject: [PATCH 03/12] remove trailing comment --- src/equations/equations.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/equations/equations.jl b/src/equations/equations.jl index b5758bf16e4..513869693fd 100644 --- a/src/equations/equations.jl +++ b/src/equations/equations.jl @@ -375,6 +375,5 @@ abstract type AbstractLinearizedEulerEquations{NDIMS, NVARS} <: AbstractEquation include("linearized_euler_2d.jl") abstract type AbstractEquationsParabolic{NDIMS, NVARS, GradientVariables} <: AbstractEquations{NDIMS, NVARS} end -# Here end # @muladd From 3be5b06afcfca1de1457ebffaa0da2565e282c81 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Wed, 26 Apr 2023 08:57:12 -0500 Subject: [PATCH 04/12] remove unnecessary abstract type --- src/equations/equations_parabolic.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/equations/equations_parabolic.jl b/src/equations/equations_parabolic.jl index a3bb66776c8..2bc56280619 100644 --- a/src/equations/equations_parabolic.jl +++ b/src/equations/equations_parabolic.jl @@ -5,8 +5,7 @@ gradient_variable_transformation(::AbstractEquationsParabolic) = cons2cons # By default, the gradients are taken with respect to the conservative variables. # this is reflected by the type parameter `GradientVariablesConservative` in the abstract # type `AbstractEquationsParabolic{NDIMS, NVARS, GradientVariablesConservative}`. -abstract type AbstractGradientVariable end -struct GradientVariablesConservative <: AbstractGradientVariable end +struct GradientVariablesConservative end # Linear scalar diffusion for use in linear scalar advection-diffusion problems abstract type AbstractLaplaceDiffusion{NDIMS, NVARS} <: AbstractEquationsParabolic{NDIMS, NVARS, GradientVariablesConservative} end From f358516966f43effcb7a90f81c956eb9314eefe3 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Wed, 26 Apr 2023 09:57:20 -0500 Subject: [PATCH 05/12] move gradient variable structs --- src/equations/compressible_navier_stokes_2d.jl | 3 --- src/equations/equations_parabolic.jl | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/equations/compressible_navier_stokes_2d.jl b/src/equations/compressible_navier_stokes_2d.jl index 04e21911f53..b6a804fcc74 100644 --- a/src/equations/compressible_navier_stokes_2d.jl +++ b/src/equations/compressible_navier_stokes_2d.jl @@ -106,9 +106,6 @@ formulation from Under `GradientVariablesEntropy`, the Navier-Stokes discretization is provably entropy stable. """ -struct GradientVariablesPrimitive <: AbstractGradientVariable end -struct GradientVariablesEntropy <: AbstractGradientVariable end - # default to primitive gradient variables function CompressibleNavierStokesDiffusion2D(equations::CompressibleEulerEquations2D; mu, Prandtl, diff --git a/src/equations/equations_parabolic.jl b/src/equations/equations_parabolic.jl index 2bc56280619..278e223ca54 100644 --- a/src/equations/equations_parabolic.jl +++ b/src/equations/equations_parabolic.jl @@ -6,6 +6,9 @@ gradient_variable_transformation(::AbstractEquationsParabolic) = cons2cons # this is reflected by the type parameter `GradientVariablesConservative` in the abstract # type `AbstractEquationsParabolic{NDIMS, NVARS, GradientVariablesConservative}`. struct GradientVariablesConservative end +struct GradientVariablesPrimitive end +struct GradientVariablesEntropy end + # Linear scalar diffusion for use in linear scalar advection-diffusion problems abstract type AbstractLaplaceDiffusion{NDIMS, NVARS} <: AbstractEquationsParabolic{NDIMS, NVARS, GradientVariablesConservative} end From 9b83ead816ecfd2f0ef85b883114fe9e67247dfb Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Fri, 16 Jun 2023 11:28:53 -0500 Subject: [PATCH 06/12] formatting --- src/equations/equations.jl | 3 +-- src/equations/equations_parabolic.jl | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/equations/equations.jl b/src/equations/equations.jl index e82dc387654..66254139cd0 100644 --- a/src/equations/equations.jl +++ b/src/equations/equations.jl @@ -441,7 +441,6 @@ abstract type AbstractLinearizedEulerEquations{NDIMS, NVARS} <: AbstractEquations{NDIMS, NVARS} end include("linearized_euler_2d.jl") -abstract type AbstractEquationsParabolic{NDIMS, NVARS} <: +abstract type AbstractEquationsParabolic{NDIMS, NVARS, GradientVariables} <: AbstractEquations{NDIMS, NVARS} end - end # @muladd diff --git a/src/equations/equations_parabolic.jl b/src/equations/equations_parabolic.jl index fc649d77d5c..958e467fc1e 100644 --- a/src/equations/equations_parabolic.jl +++ b/src/equations/equations_parabolic.jl @@ -9,7 +9,6 @@ struct GradientVariablesConservative end struct GradientVariablesPrimitive end struct GradientVariablesEntropy end - # Linear scalar diffusion for use in linear scalar advection-diffusion problems abstract type AbstractLaplaceDiffusion{NDIMS, NVARS} <: AbstractEquationsParabolic{NDIMS, NVARS} end From ea7c4dcb1d433ef6adf3533550ab301a777a3611 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Fri, 16 Jun 2023 11:32:20 -0500 Subject: [PATCH 07/12] fix dropped changes --- src/equations/compressible_navier_stokes_2d.jl | 2 +- src/equations/compressible_navier_stokes_3d.jl | 2 +- src/equations/equations_parabolic.jl | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/equations/compressible_navier_stokes_2d.jl b/src/equations/compressible_navier_stokes_2d.jl index 6d3840f4098..f916fa1437b 100644 --- a/src/equations/compressible_navier_stokes_2d.jl +++ b/src/equations/compressible_navier_stokes_2d.jl @@ -79,7 +79,7 @@ w_2 = \frac{\rho v_1}{p},\, w_3 = \frac{\rho v_2}{p},\, w_4 = -\frac{\rho}{p} struct CompressibleNavierStokesDiffusion2D{GradientVariables, RealT <: Real, E <: AbstractCompressibleEulerEquations{2}} <: - AbstractCompressibleNavierStokesDiffusion{2, 4} + AbstractCompressibleNavierStokesDiffusion{2, 4, GradientVariables} # TODO: parabolic # 1) For now save gamma and inv(gamma-1) again, but could potentially reuse them from the Euler equations # 2) Add NGRADS as a type parameter here and in AbstractEquationsParabolic, add `ngradients(...)` accessor function diff --git a/src/equations/compressible_navier_stokes_3d.jl b/src/equations/compressible_navier_stokes_3d.jl index 8930489295d..ad08a00ffee 100644 --- a/src/equations/compressible_navier_stokes_3d.jl +++ b/src/equations/compressible_navier_stokes_3d.jl @@ -78,7 +78,7 @@ w_2 = \frac{\rho v_1}{p},\, w_3 = \frac{\rho v_2}{p},\, w_4 = \frac{\rho v_3}{p} """ struct CompressibleNavierStokesDiffusion3D{GradientVariables, RealT <: Real, E <: AbstractCompressibleEulerEquations{3}} <: - AbstractCompressibleNavierStokesDiffusion{3, 5} + AbstractCompressibleNavierStokesDiffusion{3, 5, GradientVariables} # TODO: parabolic # 1) For now save gamma and inv(gamma-1) again, but could potentially reuse them from the Euler equations # 2) Add NGRADS as a type parameter here and in AbstractEquationsParabolic, add `ngradients(...)` accessor function diff --git a/src/equations/equations_parabolic.jl b/src/equations/equations_parabolic.jl index 958e467fc1e..953852905f9 100644 --- a/src/equations/equations_parabolic.jl +++ b/src/equations/equations_parabolic.jl @@ -11,12 +11,12 @@ struct GradientVariablesEntropy end # Linear scalar diffusion for use in linear scalar advection-diffusion problems abstract type AbstractLaplaceDiffusion{NDIMS, NVARS} <: - AbstractEquationsParabolic{NDIMS, NVARS} end + AbstractEquationsParabolic{NDIMS, NVARS, GradientVariablesConservative} end include("laplace_diffusion_1d.jl") include("laplace_diffusion_2d.jl") # Compressible Navier-Stokes equations -abstract type AbstractCompressibleNavierStokesDiffusion{NDIMS, NVARS} <: - AbstractEquationsParabolic{NDIMS, NVARS} end +abstract type AbstractCompressibleNavierStokesDiffusion{NDIMS, NVARS, GradientVariables} <: + AbstractEquationsParabolic{NDIMS, NVARS, GradientVariables} end include("compressible_navier_stokes_2d.jl") include("compressible_navier_stokes_3d.jl") From 254470c9a3a328983f662bff3fd5b3da1c6b6f0f Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Sun, 18 Jun 2023 14:53:10 -0500 Subject: [PATCH 08/12] try to fix doc tests --- src/equations/compressible_navier_stokes_2d.jl | 1 - 1 file changed, 1 deletion(-) diff --git a/src/equations/compressible_navier_stokes_2d.jl b/src/equations/compressible_navier_stokes_2d.jl index f916fa1437b..acb513e89b3 100644 --- a/src/equations/compressible_navier_stokes_2d.jl +++ b/src/equations/compressible_navier_stokes_2d.jl @@ -76,7 +76,6 @@ w_2 = \frac{\rho v_1}{p},\, w_3 = \frac{\rho v_2}{p},\, w_4 = -\frac{\rho}{p} #!!! warning "Experimental code" # This code is experimental and may be changed or removed in any future release. """ - struct CompressibleNavierStokesDiffusion2D{GradientVariables, RealT <: Real, E <: AbstractCompressibleEulerEquations{2}} <: AbstractCompressibleNavierStokesDiffusion{2, 4, GradientVariables} From d9381f95f9b88b2a8a6c641db2469ebd17df6779 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Mon, 6 Nov 2023 16:36:48 -0600 Subject: [PATCH 09/12] fixing navier stokes 1D --- src/equations/compressible_navier_stokes_1d.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/equations/compressible_navier_stokes_1d.jl b/src/equations/compressible_navier_stokes_1d.jl index 74d672ce7ae..0814fdc1765 100644 --- a/src/equations/compressible_navier_stokes_1d.jl +++ b/src/equations/compressible_navier_stokes_1d.jl @@ -86,7 +86,7 @@ w_2 = \frac{\rho v1}{p},\, w_3 = -\frac{\rho}{p} struct CompressibleNavierStokesDiffusion1D{GradientVariables, RealT <: Real, E <: AbstractCompressibleEulerEquations{1} } <: - AbstractCompressibleNavierStokesDiffusion{1, 3} + AbstractCompressibleNavierStokesDiffusion{1, 3, GradientVariables} # TODO: parabolic # 1) For now save gamma and inv(gamma-1) again, but could potentially reuse them from the Euler equations # 2) Add NGRADS as a type parameter here and in AbstractEquationsParabolic, add `ngradients(...)` accessor function From 3f76c7580d2628a2942b5f0dd545b08205f825d8 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Mon, 6 Nov 2023 16:36:52 -0600 Subject: [PATCH 10/12] formatting --- src/equations/compressible_navier_stokes_2d.jl | 3 ++- src/equations/compressible_navier_stokes_3d.jl | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/equations/compressible_navier_stokes_2d.jl b/src/equations/compressible_navier_stokes_2d.jl index 3ecdd6c1de5..e85053d68a7 100644 --- a/src/equations/compressible_navier_stokes_2d.jl +++ b/src/equations/compressible_navier_stokes_2d.jl @@ -84,7 +84,8 @@ w_2 = \frac{\rho v_1}{p},\, w_3 = \frac{\rho v_2}{p},\, w_4 = -\frac{\rho}{p} This code is experimental and may be changed or removed in any future release. """ struct CompressibleNavierStokesDiffusion2D{GradientVariables, RealT <: Real, - E <: AbstractCompressibleEulerEquations{2}} <: + E <: AbstractCompressibleEulerEquations{2} + } <: AbstractCompressibleNavierStokesDiffusion{2, 4, GradientVariables} # TODO: parabolic # 1) For now save gamma and inv(gamma-1) again, but could potentially reuse them from the Euler equations diff --git a/src/equations/compressible_navier_stokes_3d.jl b/src/equations/compressible_navier_stokes_3d.jl index ff3fcf9c28a..2fcecd2b8c0 100644 --- a/src/equations/compressible_navier_stokes_3d.jl +++ b/src/equations/compressible_navier_stokes_3d.jl @@ -84,7 +84,8 @@ w_2 = \frac{\rho v_1}{p},\, w_3 = \frac{\rho v_2}{p},\, w_4 = \frac{\rho v_3}{p} This code is experimental and may be changed or removed in any future release. """ struct CompressibleNavierStokesDiffusion3D{GradientVariables, RealT <: Real, - E <: AbstractCompressibleEulerEquations{3}} <: + E <: AbstractCompressibleEulerEquations{3} + } <: AbstractCompressibleNavierStokesDiffusion{3, 5, GradientVariables} # TODO: parabolic # 1) For now save gamma and inv(gamma-1) again, but could potentially reuse them from the Euler equations From f9930decaa02fb24fde83a2e62e989b75ef4601d Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Mon, 6 Nov 2023 16:48:25 -0600 Subject: [PATCH 11/12] remove duplicate GradientVariablesPrimitive/Entropy definition --- src/equations/equations_parabolic.jl | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/equations/equations_parabolic.jl b/src/equations/equations_parabolic.jl index 6279326b5e7..a063e9f2758 100644 --- a/src/equations/equations_parabolic.jl +++ b/src/equations/equations_parabolic.jl @@ -6,8 +6,6 @@ gradient_variable_transformation(::AbstractEquationsParabolic) = cons2cons # this is reflected by the type parameter `GradientVariablesConservative` in the abstract # type `AbstractEquationsParabolic{NDIMS, NVARS, GradientVariablesConservative}`. struct GradientVariablesConservative end -struct GradientVariablesPrimitive end -struct GradientVariablesEntropy end # Linear scalar diffusion for use in linear scalar advection-diffusion problems abstract type AbstractLaplaceDiffusion{NDIMS, NVARS} <: From 8bf593795502844db29a566ebdeed2eeb9bf1a08 Mon Sep 17 00:00:00 2001 From: Jesse Chan Date: Tue, 7 Nov 2023 08:33:46 -0600 Subject: [PATCH 12/12] update news --- NEWS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS.md b/NEWS.md index bc213fcea55..b6f569f3544 100644 --- a/NEWS.md +++ b/NEWS.md @@ -15,6 +15,7 @@ for human readability. - Implementation of the polytropic Euler equations in 2D - Subcell positivity limiting support for conservative variables in 2D for `TreeMesh` - AMR for hyperbolic-parabolic equations on 2D/3D `TreeMesh` +- Added `GradientVariables` type parameter to `AbstractEquationsParabolic` #### Changed