[m.i295] Use polymorphism instead of enum for choice of roughness model (#102, #295, #13) (Closes #13) Merging branch 'm.i295' into 'main'. See merge request !2524