For your second point on the IF statement. I have a message printing "   Message("\n \n I found the interface!");" if the if-statement executes but it is not displaying so I am never getting to the energy equation. Any idea why it would not be picking up the in-between region since I have defined it in the initialization?