Hello Alberto,
I think I have a hint explaining oscillations. The headloss is a function of the square of the velocity, but in theory this velocity is taken upstream in an undisturbed zone. As we use here as an approximation the local velocity, assuming that it is close to the upstream velocity, which may be not your case. To be quite correct we should thus take the velocity upstream but then we would have an explicit formula, which is to be avoided. However in dragfo.f you can take an upstream point for computing UNORM. We did not do that as a standard coding because it is very case dependent, and in parallel it would also require a combination of the functions global_to_local_point and p_dmax, but well it would be closer to the real theory and would give a more physical meaning the the drag coefficients.
With best regards,
Jean-Michel Hervouet