G Gan Gan functional theory hydrogen