can anyone explain the pros and cons of using the Langevin vs Nosé–Hoover thermostat? I wonder how to choose a suitable thermostat for a system, such as oxide, organic materials.
The point of thermostatting is to maintain the velocities of simulated particles in rough correspondence to a temperature. This matters for the simulation of a temperature-controlled ensemble, which implies that the simulated particles interact not only with each other, but also with a "bath". (NVE ensemble cares less about this). This necessarily means that the "bath", which is a virtual object not physically present in the simulation volume, can exert some forces accelerating particles, and absorb some energy decelerating particles. Thermostats differ in how the "bath" and the system's interaction with it are implemented, and these implementations affect the system in various ways. Simulation codes implement thermostats to varying degrees of completeness and complexity (looking at you, VASP).
The Nose thermostat treats the bath as an extra degree of freedom. There is effectively an extra (big, virtual) particle, or chain of particles (Nose chain), in the simulation. The specific equations of motion for this degree of freedom / chain can differ between implementations, but generally it is constrained. So when simulation particles push the thermostat too far, the thermostat pushes back and slows them down. Compare, for example, the implementations in LAMMPS versus VASP, the first uses a time constant, while the second uses an effective mass. This thermostat generally needs a bit of "time" to initialize at the beginning of the simulation, as its degree of freedom likely starts from a zero velocity, and simulation particles likely start by dumping energy into it, which means simulation temperature can be off the set point for a little while, and then it may oscillate. The thermostat is "equilibrated" or "initialized" when its degree of freedom moves more or less chaotically.
Langevin thermostat parallels the Langevin equation of motion: it accelerates particles with a random force, and imposes a friction/damping on the velocities of the particles. The strength of the random force is proportional to the damping: more damping, more forcing. The random force transfers kinetic energy to the simulation, and the friction takes kinetic energy out of the simulation. Compare the implementations, for example, between LAMMPS and VASP. The key to making the Langevin thermostat work well is to ensure the random force couples to some reasonable physical vibration in the system and actually transfers energy to the system by driving it. Dynamics faster than that timescale/frequency, however, could be suspect. Sometimes, this can be done with separate constants for different parts or species. See also a related question + good answer.
Odds and Ends
In AIMD, thermostats work on nuclear motions, not on the electronic excitations.
In my limited experience, Langevin can equilibrate faster, but also can have more noise in the total energy when compared to the Nose for the same simulated system.
Check out also the CSVR aka Bussi-Donadio-Parrinello thermostat, generally considered more advanced. Linking LAMMPS documentation here, which is not bad for an intro, and which links the original papers that introduce the thermostat.