Closed ddundo closed 9 months ago
And just for completeness, here is Hessian-based adaptation using velocity (3142 cells):
Sorry, I only just saw this. Some thoughts:
anisotropic_dwr
formulation is designed to take a Hessian which is representative of the entire solution. That is, I think it would be better if you computed Hessians of each scalar solution field and combined them all together, rather than just considering different components.Thanks a lot Joe! I was indeed using the updated Goalie, but computing the Hessian of each velocity component and intersecting them, as you suggested, gave me a better looking mesh (3241 cells):
and then intersecting the thickness field as well (3211 cells):
So I'd say I'm happy with this now! Thanks a lot!
But could you please points me towards some paper or explain briefly how " the anisotropic_dwr
formulation is designed to take a Hessian which is representative of the entire solution"? I couldn't find this explained in the Carpio et al. paper that you reference.
Okay great, in that case I'll close this issue. Oh yeah I suppose the paper only mentions the scalar case. I guess the formulation is built around having a Hessian that represents the PDE solution so for the case with multiple scalar components to the equation, you want a Hessian that captures the solution for each component? This could probably be proved rigorously.
Hey! In my glacier experiments, in my get_solver function I solve for the thickness
h
and then for the velocityu
. Then following the discussion in #55, I modified the error estimation code in go_mesh_seq.py to the following:where
self.u_prev
is a list of velocity fields (deep copied) at timestep=export tilmestep-1, which is my dirty/temporary way of addressing @stephankramer's comment in #55. I get thickness and velocity fields, and their indicators, which look like this at the first tilmestep (similarly for other timesteps):This all looks good (highest error around the grounding line). And then I compute isotropic and anisotropic metrics for each, but I get quite a different mesh with anisotropic metric for velocity, which doesn't look so good and doesn't improve with further fixed point iterations. The one for thickness doesn't look amazing either for that matter, but still better.
I am trying to figure out what is wrong. I guess it is either the computing of error indicators code above (which I don't think so because the indicator looks fine), or my construction of the metric, which I obtain like this:
But I'm not sure I see an issue here either. I construct the thickness metric in the same way. Here
indicators
andsolutions
are the output ofgo_mesh_seq.indicate_errors
, so it does not touch my touchmsq.u_prev
list.Does someone have an idea what it could be please? :)