Working towards heat model

Halfway through the constraints. It is confusing. Set up a few tests
asap (TDD)