fHorizontaalBundeling static method

double fHorizontaalBundeling(
  1. int nKabels
)

Reductie voor n kabels naast elkaar in één laag. IEC 60364-5-52 Tabel B.52.20

Implementation

static double fHorizontaalBundeling(int nKabels) {
  const tabel = {
    1: 1.00, 2: 0.80, 3: 0.70, 4: 0.65, 5: 0.60,
    6: 0.57, 7: 0.54, 8: 0.52, 9: 0.50,
    12: 0.45, 16: 0.41, 20: 0.38,
  };
  if (nKabels <= 1) return 1.00;
  if (tabel.containsKey(nKabels)) return tabel[nKabels]!;

  // Interpoleer tussen bekende waarden
  final sleutels = tabel.keys.toList()..sort();
  for (int i = 0; i < sleutels.length - 1; i++) {
    final a = sleutels[i];
    final b = sleutels[i + 1];
    if (nKabels > a && nKabels < b) {
      final frac = (nKabels - a) / (b - a);
      return tabel[a]! + frac * (tabel[b]! - tabel[a]!);
    }
  }
  return 0.38; // conservatief voor n ≥ 20
}