Currently, in analysis.jl there are two versions of the analyze function. The original one (for the hyperbolic solver) dispatches only on semi::AbstractSemidiscretization. A new (experimental) version of analyze for the SemidiscretizationHyperbolicParabolic required the ability to unpack the equations_parabolic and cache_parabolic such that gradients were available to compute additional analysis quantities. In this case, the enstrophy.
The current strategy requires one to dispatch on the analysis quantity quantity::typeof(enstrophy) to avoid errors with the existing analysis quantities. This (cumbersome) way to dispatch on parabolic analysis quantities should be improved. See here for original discussion.
Currently, in
analysis.jl
there are two versions of theanalyze
function. The original one (for the hyperbolic solver) dispatches only onsemi::AbstractSemidiscretization
. A new (experimental) version ofanalyze
for theSemidiscretizationHyperbolicParabolic
required the ability to unpack theequations_parabolic
andcache_parabolic
such that gradients were available to compute additional analysis quantities. In this case, theenstrophy
.The current strategy requires one to dispatch on the analysis quantity
quantity::typeof(enstrophy)
to avoid errors with the existing analysis quantities. This (cumbersome) way to dispatch on parabolic analysis quantities should be improved. See here for original discussion.