Flexibilization of secondary variables for staggered schemes and combinations of staggered and monolithic
When working on the pressure-interpolated-not-written-bugfix (HM, staggered scheme) it turned out, that there is a deeper problem behind it. The pressure interpolation was written correctly after the final H-process, but overwritten by the M-process, because LocalAssemblerInterface::computeSecondaryVariable does not yet account for the subprocess it operates on. Ideally, when solving a coupled process the method computeSecondaryVariable knowns about which subprocesses are solved in a monolithic scheme and which in a staggered. In general, this could be all permutations, e.g. for THM:
T-H-M, T-M-H, H-M-T, H-T-M, M-T-H, M-H-T; TH-M, T-HM, TM-H, HM-T, H-MT, M-TH; THM
The current workaround in H-M (write only for H, but nothing for M) is problematic. If somebody wants to add a secondary variable from M, then he may wonder why it is not written (and how it should be done at all).
Thus computeSecondaryVariable should only write variables for certain subprocess(es) and not affect/overwrite variables of other processes. However, this requires a global convention to identify processes and to associate them with secondary variables.