function [phin_resp,phin_ref] = unmnorm(phir_resp,phir_ref)
%
%  Name: unmnorm
% 
%  Usage: [phin_resp,phin_ref] = unmnorm(phir_resp,phir_ref)
% 
%   Description:
%     Executes mass-normalization of mode shapes
%     using a unit mass matrix
%

%  Version SWD970519
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This matlab source code was originally     %
% developed as part of "DIAMOND" at          %
% Los Alamos National Laboratory. It may     %
% be copied, modified, and distributed in    %
% any form, provided:                        %
%  a) This notice accompanies the files and  %
%     appears near the top of all source     %
%     code files.                            %
%  b) No payment or commercial services are  %
%     received in exchange for the code.     %
%                                            %
% Original copyright is reserved by the      %
% Regents of the University of California,   %
% in addition to Scott W. Doebling, Phillip  %
% J. Cornwell, Erik G. Straser, and Charles  %
% R. Farrar.                                 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

unitM = eye(size(phir_resp,1));

m_mass = diag(phir_resp' * unitM * phir_resp);

phin_resp = zeros(size(phir_resp));
phin_ref  = zeros(size(phir_ref));

for i = 1:size(phir_resp,2),

   phin_resp(:,i) = phir_resp(:,i) / sqrt(m_mass(i));
   phin_ref(:,i)  = phir_ref(:,i)  * sqrt(m_mass(i));

end

return
