fVerticalStapeling static method

double fVerticalStapeling(
  1. int nLagen
)

Aanvullende reductiefactor voor gestapelde lagen. IEC 60364-5-52 Tabel B.52.21

Implementation

static double fVerticalStapeling(int nLagen) {
  const tabel = {
    1: 1.00, 2: 0.87, 3: 0.79, 4: 0.72,
    5: 0.66, 6: 0.61, 7: 0.57, 8: 0.53,
    9: 0.50, 10: 0.47,
  };
  if (nLagen <= 1) return 1.00;
  if (tabel.containsKey(nLagen)) return tabel[nLagen]!;
  if (nLagen > 10) return max(0.40, 0.47 * exp(-0.05 * (nLagen - 10)));

  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 (nLagen > a && nLagen < b) {
      final frac = (nLagen - a) / (b - a);
      return tabel[a]! + frac * (tabel[b]! - tabel[a]!);
    }
  }
  return 0.47;
}