[aspect-devel] Purpose of denormalize_pressure?
Wolfgang Bangerth
bangerth at tamu.edu
Tue Sep 20 15:37:07 PDT 2016
Menno and I are trying to figure out how to make his Newton code
converge. In the process, we came across the denormalize_pressure()
function, but don't recall what exactly it was used for.
normalize_pressure() computes an adjustment to the pressure to make sure
its mean value at the surface or in the domain is zero.
denormalize_pressure() undoes this correction, but it's not entirely
clear to me why we do this. Does anyone remember?
In my mind, this is how far I've gotten with my thoughts:
normalize_pressure converts the "mathematical" pressure that solves the
equations -- and which in general is only determined up to a constant --
to a "physical" pressure for which we know that it is zero at the
surface. The additive constant that relates the two is, from a
mathematical perspective, irrelevant, and "denormalizing" should not be
necessary because the equations only contain the gradient of the
pressure. In other words, we wouldn't have to do the denormalization.
The only place where it matters is if we have open boundary conditions
where we prescribe the traction (or assume it's zero) because the
traction actually contains the *value*, not the gradient of the
pressure. In other words, if you solve the weak form of the equations
with open boundary conditions, the linear residual will be zero, but if
you the normalize the pressure, the linear residual will not be zero any
more. To determine the linear residual, or the nonlinear residual as the
right hand side of a Newton system, one therefore first has to
de-normalize the pressure again.
I don't know whether that's the whole story. I have no recollection who
invented the denormalize_pressure() function, or what the story is that
prompted the discovery that it is necessary. Any insight would be
appreciated!
Best
Wolfgang
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bangerth at colostate.edu
www: http://www.math.colostate.edu/~bangerth/
More information about the Aspect-devel
mailing list