Another important concept in modelling is *linearity*. A **linear model** uses parameters that are constant and do not vary throughout a simulation. This means that we can enter one fixed value for the parameter at the beginning of the simulation and it will remain the same throughout.

A **non-linear model** introduces dependent parameters that are allowed to vary throughout the course of a simulation run, and its use becomes necessary where interdependencies between parameters cannot be considered insignificant. Examples of possible dependent parameters include:

- temperature-dependent thermal conductivity

- a value of heat capacity at a point that depends on the applied shear stress

- a value of Young’s modulus that depends on the material temperature

- a transistor whose gain depends on its input current.

The choice between using a linear and a non-linear model is dependent upon how significantly the values of any of the parameters involved vary in relation to any of the other parameters.

In a linear model, all the parameters are independent of any of the others. In a real device, however, parameters are always dependent upon other parameters to some degree, though in many cases the dependency is so small it can be ignored. For example, the density of any solid material depends on its temperature, but the variation is generally so small over normal temperature ranges that it can be ignored, and material density is usually modelled as a linear, constant parameter. Where possible, it is always best to use a linear model, as it is simpler and faster running than a non-linear model.

To give a real example of a parameter that is not truly linear, the graph in Figure 1 shows how the thermal conductivity of pure copper varies with temperature.

We see from the Figure 1 that the thermal conductivity of copper varies considerably, from 1,250W·m^{−1}K^{−1} at 50K to approximately 400W·m^{−1}K^{−1} at 400K. However, the thermal conductivity does not change significantly between 200K and 400K, and the rate of change is approximately linear over this temperature range. Whether we use a linear or a non-linear model for copper will depend on what temperature range we are modelling over. For example, if we are simulating a PCB between 273 and 373K then we could validly consider the thermal conductivity of copper either to be constant or a linear function of temperature. However, were we simulating a PCB at low temperatures of 50–100K, it might be necessary to model the thermal conductivity of copper as non-linear.

To model a non-linear parameter, we must update the simulation material parameters at each iteration step of the simulation. For example, in the case of a temperature-dependent thermal conductivity, we must check the temperature at each iteration and obtain the thermal conductivity of the material at this temperature. The new thermal conductivity is then changed in the simulation before the next iteration. This process must be repeated for each point within the simulation mesh. Although modelling parameters as non-linear in a simulation gives a more accurate representation, it increases simulation run time significantly.