pecos / tps

Torch Plasma Simulator
BSD 3-Clause "New" or "Revised" License
8 stars 2 forks source link

Initial axisymmetric implementation #98

Closed trevilo closed 2 years ago

trevilo commented 2 years ago

This PR provides initial support for axisymmetric flow simulations (#89).

There are three known issues:

  1. The treatment of an axis is incorrect. In the current implementation, the axisymmetric source terms are evaluated at the nodes and added to the state update after multplying the residual by the inverse mass matrix. This is consistent with how all other source terms are treated but it is a problem on the axis because it leads to a divide by zero. Instead, we should form the integral of radius basis function axisymmetric src and update the right hand side before applying the inverse mass matrix. This is a straightforward change but requires some refactoring of logic surrounding forcing in RHSoperator.
  2. Not all flow solver options are supported, specifically the Roe flux and the non-reflecting BCs have not been updated. The solver now checks and exits if unsupported options are detected.
  3. There is no GPU support for axisymmetric yet.

I propose to address these issues in separate PRs, both to avoid drift between axisymmetric and other developments and to provide at least basic axisymmetric functionality as part of the main code asap.