A numerical procedure for the shakedown analysis of structures under cyclic thermomechanical loading