Hi all,
Hope you’re doing well. I’m pretty new to ASPECT tbh and I’m trying to reproduce plume cases in an early paper of Dr. Dannberg (Compressible magma/mantle dynamics: 3-D, adaptive simulations in ASPECT, GJI 2016). The repo could be accessed at GJI2016 of Dr. Dannberg.
The problem is that for subcases plume_compressible and plume_hydrous_compressible, the following boundary condition would lead to a failure of convergence:
subsection Boundary velocity model
set Tangential velocity boundary indicators = left, right, top
set Prescribed velocity boundary indicators = bottom:function
set Zero velocity boundary indicators =
subsection Function
set Function constants = b=100000, c=20000
set Variable names = x, y
set Function expression = 0.0; -0.024995 + 0.1 * exp(-((x-b)*(x-b)+y*y)/(2*c*c))
end
end
And I believe it is the vertical velocity at the bottom (the math expression) that caused the problem. A full prm file is attached
plume_compressible.prm (6.6 KB)
. This prm is modified accordingly since I’m using 2.6. You can see the log
log.txt (1.4 KB)
and solver history
solver_history.txt (15.6 KB).
What I’m thinking is that this y component velocity is a source of mass loss or gain of the system, since there is no other boundary condition for mass balance that I can think of for this case. Surprisingly, in Table 3 of Dr. Dannberg’s paper, u_s
(solid velocity) is omitted, I interpreted it as (0, 0). But in section 4.6, a description of velocity boundary condition is added:
the velocity boundary conditions are free slip everywhere except for the bottom boundary layer, where the hydrostatic pressure is applied, but material is allowed to flow in and out.
So the last piece says y component of us is actually free. So the Table, the boundary condition in the context and boundary condition in prm are not consistent? Which is right?
When I set u_s
(0, 0), i.e., in the prm set Function expression = 0.0; 0.0
, it becomes better but again fails during the first step. The log file
log.txt (2.3 KB)
and solver history file
solver_history.txt (11.6 KB)
are attached.
Another interesting thing is that velocity field for step 0 is not as expected:
u_s,x
, u_s,y
, u_s,z
at bottom boundary are consistent with what is given in the prm. But the velocity over the domain should be (0, 0), isn’t it? Or is this the result of some initial guess/adjustment?
Any thoughts? Really appreciate your help!
Mingming