Follow-up from "[CL] Exchange reactions feature to ChemistryLib"

The following discussion from !3648 (merged) should be addressed:

  • @renchao-lu started a discussion: (+3 comments)

    I'd suggest adding assert() above this line to exclude the case that both the assemblage surface and exchange are applied, because we don't define a test case to cover this situation.