This is a hyperboloid of one sheet and the Openscad routine that produces them. Specify top diameter, waist diameter and height. The higher you raise the faces value the smoother the final appearance.
The author marked this model as their own original creation.