I beg to disagree with the general response.
If you add an (i) "energy" component that simulates at what force you "throw" the dice, (ii) a 'torque' component that simulates how the dice 'rotates', and (iii) a 'retardation' component that simulates the 'friction' between the dice and the table, then you should be able to model the process comprehensively.
The process is not entirely random in reality though, if you throw the dice with the same force and spin then you're bound to get the same face up. Assuming the shape/size of the dice does not change and friction at the table remains constant, the process of simulating "throwing of a dice" can be done.
The caveat - you need a random number generator to select random values of "energy", "torque", "friction" that you input to your simulation model, otherwise you'll repeat the previous pattern. But this is not a limitation of the simulation model described, the initial condition is rather flawed - the process of throwing a dice is not totally random and therefore won't give you a 'random number'. If you maintain the same "force", "spin" and "friction", you'll always end up with the same side facing up.