Using multi-core architectures to solve the wheel-rail contact problem