I have always had an issue with pressure on the top surface. How can I make the pressure at a free upper surface to have a specified value? I have tried:
a) Setting normalization
set Pressure normalization = surface
set Surface pressure = 1e5
for example if I want a typical atmospheric pressure on the top surface of the model. I guess in this case Aspect integrates the Stokes eqs., and finally at the moment of postprocessing it adds a constant so that the pressure field starts at my desired value.
b) Prescribing a traction BC at that upper surface
subsection Boundary traction model
set Prescribed traction boundary indicators = top: function
set Coordinate system = cartesian
set Variable names = x,y,z
set Function constants = Ptop=1e5
set Function expression = 0 ; 0 ; Ptop
##### I also tried Function expression = 0 ; 0 ; -Ptop to account for the vector nature
I guess in these cases Aspect integrates the component term dp/dz using that prescribed value equal to ±Ptop.
c) I also tried setting (a) and (b) simultaneously.
But when I plot the model results in Paraview, I don’t get the desired value of positive pressure 1e5 Pa. Usually I get a negative pressure (which is not exactly equal to -Ptop).
I totally know this is not a problem, Aspect does calculate the pressure field inside correctly, as on the plots it varies as it should. Simple calculus tells that when integrating the Stokes flow equation, the pressure needs a constant if we want absolute values.
But sometimes, I would like to have a pressure plot, and having negative values on top looks odd and reckless.
Most importantly, sometimes I certainly want my model to actually have a pressure on top ( I think in some cases, if internal stresses are not too high, and if the model runs for a long time, that surface pressure may potentially be a small controlling factor).
I have tried this in several models, sometimes also with a loaded topography. The results are always similar: pressure field has the correct variation, it was seemingly well calculated but without the integration constant as what I see on top is never the value I want.
It may be an error in Paraview when reading the data…
What should I do?