[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