function Hk = frf_kernel(w, wn, zeta, frfType)
% FRF/Transmissibility kernels (m=1 absorbed)
den = (wn.^2 - w.^2) + 1i*(2*zeta*wn).*w;
switch lower(char(frfType))
    case 'disp/force', Hk = 1 ./ den;           % receptance
    case 'vel/force',  Hk = (1i*w) ./ den;      % mobility
    case 'acc/force',  Hk = (-w.^2)./ den;      % accelerance
    otherwise,         Hk = (w.^2) ./ den;      % legacy transmissibility
end
end
