New ewald algorithm