Drain the black beans and combine in a heavy saucepan with the stock, beer, rum, garlic and half of the onions. Bring to simmer. Cook for 1 to 1 1/2 hours over low heat, stirring occasionally. If the stock evaporates too quickly, reduce the heat, add up to 2 cups of hot water and continue simmering.
Melt the butter in a saucepan and add the remaining onions, plus the celery, peppers and carrots. Saute over medium heat until the vegetables are soft but not mushy, 5 to 7 minutes. Set aside.
When the beans are soft, puree half of the mixture in a food processor fitted with a steel blade. Return the puree to the saucepan and add the sauteed vegetables, crushed tomatoes and seasonings. Bring to a simmer and cook for about 15 minutes, stirring occasionally. Add a little hot water or rum if it is too thick, or continue to simmer if it is too thin. Serve at once with a dollop of yogurt or sour cream.