Inconsistency in ATCModel treatment
Summary
When comparing sensitivity maps obtained with "globally" cancelling the ATC term (ATCModel cancel) to 'standard' formulation with wall-near zeroing operating on both parameters, extraConvection and nSmooth, it was seen that results differ more and more from 'cancel' with increasing values for masking. One would assume the opposite since propagating the masking towards the interior of the domain comes close to cancelling globally.
Steps to reproduce
Simply compare results obtained with 'cancel' option to
- ATCModel {ATCModel standard; zeroATCPatchTypes (wall patch); extraConvection n; nSmooth n; }
- ATCModel {ATCModel standard; zeroATCPatchTypes (wall patch); extraConvection n; nSmooth n+10; }
- ATCModel {ATCModel standard; zeroATCPatchTypes (wall patch); extraConvection n; nSmooth n*100; }
e.g., n = 7.
What is the current bug behaviour?
The current implementation
extraConvection * (adjointConvection - mask * altDiscrAdjointConvection)
leads to an unmatched extraConvection*adjointConvection term in the cells affected by the mask.
What is the expected correct behavior?
@vaggelisp already proposed patching to
extraConvection * mask * (adjointConvection - altDiscrAdjointConvection)
to ensure consistency in the difference causing the aimed for numerical dissipation.