A cooking system configured to heat a food load comprising: a heating cavity comprising a heating apparatus; a user interface configured to receive a user input defining a selected food type; and a controller in communication with the heating apparatus and the user interface, the controller configured to: access a cooking model for the selected food type, the cooking model being representative of the food load, characterized in that the cooking model comprises a first layer indicating a first heat absorption relationship (42a, 44a) and a second layer indicating a second heat absorption relationship (42b, 44b); the controller being further configured to: receive a first cooking parameter from the user interface for the first layer; receive a second cooking parameter from the user interface for the second layer; calculate a heat exchange model based on the first heat absorption relationship (42a, 44a) and the second heat absorption relationship (42b, 44b); and control the heating apparatus based on the heat exchange model thereby heating the food load such that the first layer conforms to the first cooking parameter and the second layer conforms to the second cooking parameter. a heating cavity comprising a heating apparatus; a user interface configured to receive a user input defining a selected food type; and a controller in communication with the heating apparatus and the user interface, the controller configured to: access a cooking model for the selected food type, the cooking model being representative of the food load, characterized in that the cooking model comprises a first layer indicating a first heat absorption relationship (42a, 44a) and a second layer indicating a second heat absorption relationship (42b, 44b); the controller being further configured to: receive a first cooking parameter from the user interface for the first layer; receive a second cooking parameter from the user interface for the second layer; calculate a heat exchange model based on the first heat absorption relationship (42a, 44a) and the second heat absorption relationship (42b, 44b); and control the heating apparatus based on the heat exchange model thereby heating the food load such that the first layer conforms to the first cooking parameter and the second layer conforms to the second cooking parameter. access a cooking model for the selected food type, the cooking model being representative of the food load, characterized in that the cooking model comprises a first layer indicating a first heat absorption relationship (42a, 44a) and a second layer indicating a second heat absorption relationship (42b, 44b); the controller being further configured to: receive a first cooking parameter from the user interface for the first layer; receive a second cooking parameter from the user interface for the second layer; calculate a heat exchange model based on the first heat absorption relationship (42a, 44a) and the second heat absorption relationship (42b, 44b); and control the heating apparatus based on the heat exchange model thereby heating the food load such that the first layer conforms to the first cooking parameter and the second layer conforms to the second cooking parameter. receive a first cooking parameter from the user interface for the first layer; receive a second cooking parameter from the user interface for the second layer; calculate a heat exchange model based on the first heat absorption relationship (42a, 44a) and the second heat absorption relationship (42b, 44b); and control the heating apparatus based on the heat exchange model thereby heating the food load such that the first layer conforms to the first cooking parameter and the second layer conforms to the second cooking parameter.