function M = AddMass_mult_rot(model, M, c_wall, c_fluid, c_air)
mesh = model.Mesh;
nodes = mesh.Nodes;
elements = mesh.Elements;

Nelems = size(elements,2);

regions = zeros(Nelems,1);
regions(findElements(mesh,'region','Face',1)) = 1; % wall
regions(findElements(mesh,'region','Face',2)) = 2; % fluid
regions(findElements(mesh,'region','Face',3)) = 3; % air

for e = 1:Nelems
    vert = elements(:,e);

    x = nodes(1,vert);   % r-coordinates
    y = nodes(2,vert);   % z-coordinates

    Ae = polyarea(x,y);  % element area
    rbar = mean(x);      % mean radius (axisymmetric weight)

    switch regions(e) % Select heat capacity
        case 1
            c = c_wall;
        case 2
            c = c_fluid;
        case 3
            c = c_air;
    end
    % Axisymmetric element mass matrix
    Me = rbar * c * Ae / 12 * [2 1 1; 1 2 1; 1 1 2];
    % Assemble
    M(vert,vert) = M(vert,vert) + Me;
end
end
