Skip to content

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.