AASH Design Category
Current design category calculation is not correct. See the AASHTO implementation in original source code. Note, this does not rely on riskCategory, s1, or sds values. Also note, this may have already been corrected. Verify.
Original Java implementation for reference:
protected static class AASHTO implements Impl {
protected static final double[] sd1Thresholds = {0, 0.15, 0.30, 0.50};
protected static final char[] sd1Map = {'A', 'B', 'C', 'D'};
public char calculateDesignCategory(String riskCategory, double s1, double sds, double sd1) {
int pos = Arrays.binarySearch(sd1Thresholds, sd1);
// As above
if (pos < 0) pos = -(pos + 2);
return sd1Map[pos];
}
}