def METHOD_NAME(self, element_id=None, xyz_cid0=None, total=False):
    """
    Gets the mass for one or more SolidElement elements.
    Parameters
    ----------
    element_id : (N, ) int ndarray; (default=None -> all)
        the elements to consider
    xyz_cid0 : dict[int node_id] : (3, ) float ndarray xyz (default=None -> auto)
        the positions of the GRIDs in CID=0
    total : bool; default=False
        should the centroid be summed
    """
    if element_id is None:
        element_id = self.element_id
    V = self.get_volume_by_eLement_id(element_id, xyz_cid0)
    mid = self.model.properties_solid.get_material_id_by_property_id(self.property_id)
    rho = self.model.materials.get_density_by_material_id(mid)
    rho = self.model.properties_solid.psolid.get_density_by_property_id(self.property_id)
    #rho = self.model.materials.get_density_by_material_id(mid)
    try:
        mass = V * rho
    except ValueError:
        msg = 'element_id = %s; n=%s\n' % (element_id, len(element_id))
        msg += 'mid=%s\n' % mid
        msg += 'rho=%s\n' % rho
        msg += 'V.shape = %s\n' % str(V.shape)
        msg += 'rho.shape = %s' % str(rho.shape)
        print(msg)
        raise
    n = len(element_id)
    assert mass.shape == (n, ), mass.shape
    if total:
        mass = mass.sum()
    return mass