Effect of layer charge on the crystalline swelling of Na+, K+ and Ca2+ montmorillonites: DFT and molecular dynamics studies