For many material forming processes steady-state formulations allows reducing numerical simulation time by an order of magnitude with respect to more conventional approaches. In the presented approach, the steady regime is iteratively computed by a free surface algorithm that alternates computations of the metal forming flow over a known geometry and known contact surfaces, with computations of domain corrections to satisfy free and contact surface conditions. Several weak formulations of the second problem equations are investigated to get a robust algorithm suitable for parallel computations with unstructured meshes. Analytical problems show the necessity to introduce an upwind shift within these weak formulations. Contact inequations enforces this necessity by requiring a more dramatic shift. A robust and accurate algorithm is so obtained, which is successfully applied to 3D complex metal forming processes like rolling. In the wire drawing application, computational time is reduced by more than fifteen with respect to the incremental calculation of the steady-state.