Final changes, thickness constraints now working with pyOptSparse, validated with SNOPT level 3 check