Why are metals better conductors of heat than non-metals?
Well, I'm quite clear about the abundant free electrons in metals which carry most of the heat energy...other than that I can't really understand about the atoms vibrating in a solid thing.
Apart from free elctrons, there are phonons in metals as well as non metals. Non metals possess limited amount of thermal conductivity only due to Phonons and Lattice vibrations.
Regarding atomic vibration in a solid thing (non-metals mainly), it is easier to understand if one accepts the fact that atoms are almost floating close to one another depending on the covalent bonds between them.
When a metal is heated the electrons immediately respond to the heat and transfer it to the neighbouring atom or solid touching it. In Non-metals since there are no free electrons, the heat transfer occurs due to phonons (the excited state of the lattice structure vibrating uniformly).
In metals this hardly plays a role as the electrons transfer most of the heat efficiently.
Metals have abundant free electrons to move and share, allowing to conduct heat and transfer it better even in the electricity. Non-metals don't have that much to be a better theremal conductor. Both thermal and electrical conductivity are very high in metals making it as a better conductor
Metals are better conductor of heat as compare to non metals because there is presence of mobile free electrons in their atoms. When a metal is heated there is movement in free electron and they carry the heat energy to nearest atoms. So heat energy transfer. we can say that metals are better conductors of heat than non-metals