[aspect-devel] VectorTools::integrate_difference fails to return an error that decreases under grid refinement
Ying He
yinghe at math.ucdavis.edu
Wed Oct 26 12:43:01 PDT 2016
On 2016-10-26 12:00, aspect-devel-request at geodynamics.org wrote:
>
> The usual situation where this happens is if the implementation of the
> "exact
> solution" is wrong, i.e., you want to compute
> || u_h - u ||
> but instead you compute
> || u_h - v ||
> with some v that has nothing to do with u and consequently the norm
> does not
> converge to zero.
>
> I don't quite understand where in your code you set the exact solution.
> But
> that's where I would check -- maybe you have a sign error, of a missing
> factor.
>
> Best
> W.
>
> --
> ------------------------------------------------------------------------
> Wolfgang Bangerth email:
> bangerth at colostate.edu
> www:
> http://www.math.colostate.edu/~bangerth/
Hi Wolfgang,
I tried Gerry's code yesterday by setting the exact solution = 0, and
found the infty norm of |u_h|_infty turned out to be very small in the
order of 10^-8. But Gerry's exact solution is supposed to in the range
[-1,1]. So I just realized that perhaps there was a scaling issue due to
the parameter set use year instead of second = true.
I didn't go through all the logic of the unit/ unit transfer of the
code, but based on the results, I am guessing in the core computation,
always use SI unit like second, meter, but for the input/output, one
needs to do the unit scaling to/from years to seconds or second to year.
Is that correct?
If that's the case, then Gerry's input for velocity boundary condition
actually is 1 meter/year = 1 meter/3.154e+7 seconds approximately equals
to 10^-8 m/s. However, they set up the exact solution in material model
by using unit m/s which are not in the same order of magnitude ... so
the error never converges.
Therefore the right way I guess should be either giving the right
boundary condition using unit meter/year in the prm file, or just
setting the parameter "set use year instead of second = false"
Does all the above make sense?
--
Best,
Ying He
More information about the Aspect-devel
mailing list