suzerain: #2983 #3070 inviscid freestream boundary

Adds a boolean that tracks whether or not the computation should
be "locallyviscous".  Always true unless we're at the freestream
boundary on a one-sided grid.  When !locallyviscous, local mu
and lambda are set to be zero.  Notice, grad_mu and grad_lambda
are not modified (hence, "locally").

This tweak is meant to produce an inviscid-like upper boundary
that neglects second order derivatives as suggested by Poinsot
and Lele.  For simplicity, distinguishing between inflow and
outflow is nto done.

Performed within reference gathering and RHS computations.
In particular, doing this within reference gathering should, I think,
disable the viscous action within the linear implicit operator as well.
Tests on lin.abserr show FIXME

Tracking that the freestream is inviscid is /NOT/ done within the
sampling routines as it perturbs the statistics badly near the
freestream in a way they do not see during the computation.  That is,
one point off the freestream grad_mu, etc. is advanced in time as
if the freestream is viscous.  It would be nuts to change the
Reynolds-averaged viscosity going into the restart file at the freestream
as that information is used to compute wall-normal derivatives one off
the boundary.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44772 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: silence unsigned/signed warnings

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44773 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: correct L2 trace location

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44774 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: #2983 ease testing various Ma

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44775 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: spelling in comments

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44776 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: #2983 use inv_RY = RY.transpose()

A small optimization, but removes one more possible source of error.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44777 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: correct known sign mistake

Though only in the comments, this would bite someone badly
if incorrect.  Relevant fixes made in apps/perfect and
writeups awhile back.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44778 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: #2983 use numeric inv_VL_S_RY

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44779 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: #2983 inviscid via 1 / Re = 0

A cleaner way to achieve an inviscid RHS on the upper plane
is to pretend Re = \infty so that 1/Re = 0.  This disables
all appropriate terms automatically without worrying about
missing any.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44780 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: clarify text

Prior "respectively" comment made no sense.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44781 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: #2983 clean up rotation defn.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44782 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: #2983 fold negative into i_stash

Rather than
  foo -= kn * ... * i_stash
perform
  foo += kn * ... * negI_stash
potentially hiding a little cost in an
earlier memory pass and setting up for the next refactor.

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44783 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: attempt to prevent swamping

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44784 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: #2983 reorder memory access

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44785 0bd85f0b-c151-43b9-a1e9-27231104551f
suzerain: correct comment

git-svn-id: https://svn.ices.utexas.edu/repos/pecos/suzerain/trunk@44786 0bd85f0b-c151-43b9-a1e9-27231104551f