[aspect-devel] Purpose of denormalize_pressure?
Jonathan Perry-Houts
jperryh2 at uoregon.edu
Tue Sep 20 17:13:25 PDT 2016
According to the git "blame" feature, that function was introduced here:
https://github.com/geodynamics/aspect/commit/758005767378da1b08a2ebbce8ae95ac7daeef71
hope that helps!
-JPH
On 09/20/2016 03:37 PM, Wolfgang Bangerth wrote:
>
> 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
>
More information about the Aspect-devel
mailing list