arfc / moltres

Repository for Moltres, a code for simulating Molten Salt Reactors
GNU Lesser General Public License v2.1
66 stars 41 forks source link

PrecursorAction with continuous variables #147

Open smpark7 opened 3 years ago

smpark7 commented 3 years ago

This issue can be closed when PrecursorAction supports continuous precursor concentration variables and generates accurate precursor distributions with it.

Background

Solving for the precursor concentration with the discontinuous Galerkin method is good for many problems because it is stable and fairly accurate under high Schmidt number (convection-dominated). However, it has some disadvantages:

Results so far

Preliminary work here showed that continuous Galerkin stabilized with isotropic artificial diffusion (ScalarAdvectionArtDiff) gave worse results because isotropic artificial diffusion is overly diffusive. We can expect better performance when we implement a more advanced stabilization techniques such as SUPG or FIC. Refer to the README for more information on how to generate the results and further discussion.

katyhuff commented 4 months ago

@smpark7 -- Where are we on this. Is it still needed?

smpark7 commented 4 months ago
  • Limited fidelity with CONSTANT MONOMIAL shape functions (particularly in regions with large gradients)

With #266, PrecursorAction will natively support higher order MONOMIAL or L2_LAGRANGE discontinuous shape functions for precursor variables.

  • Number of DOFs increases significantly (x4) when used with first-order L2-Lagrange shape functions

This may not be an issue because MONOMIAL shape functions have fewer DOFs for the same mesh resolution.

Where are we on this. Is it still needed?

Maybe. We will find out how well the current system works when I try coupling precursor drift with turbulent flow in the MSRE and MCRE (in the next two months). It's possible we may want both continuous and discontinuous systems available if they have complementary strengths.

katyhuff commented 4 months ago

Thanks. I'm going to unassign myself.