OpenBVE is an open source train simulator which gives a user the ability to drive and operate trains in his/her laptop or desktop. Being an open source program, this simulator is totally free of cost. The OpenBVE Train Simulator allows the player to have a “driver’s view” from the train’s cab and operate realistic simulations of the cab controls. It has various routes and rolling stock (locomotives, wagons, coaches) freely available online to download for different countries. This train simulator has wide network of community support and it’s developers keep on updating the core version time to time with bug fixes, feature improvements and add-ons.

As per there official website, “This program includes detailed per-car simulation of the brake systems, friction, air resistance, toppling and more. In 3D cabs, the driving experience is augmented with forces that shake your simulated body upon acceleration and braking, as well as in curves. Besides that, OpenBVE features a 3D positional sound system best enjoyed with surround speakers, train exteriors and timetables for the current run. Finally, via the main menu, routes and trains be easily selected to start a new session, the controls can be configured to keyboard or joystick devices, and a variety of options can be selected.
Compared to other simulators of the genre, especially compared to commercial games, OpenBVE has its main focus on realism, not necessarily on user-friendliness. You should be willing to study operational manuals for the routes and trains you want to drive, and will in many cases not get along by just memorizing a few keystrokes. If you can identify with this focus, OpenBVE might be the right simulator for you.”
To download OpenBVE, click here.
I tried this simulator and it’s working great on my computer. Being a railway fan, I now have the option to drive a train with this simulator which looks as real as like any world class simulator. For tips to how to install OpenBVE on your system, click here.