The heart chakra closes when someone has been very deeply hurt and can’t recover from it. Situations that cause this are generally, molestation, betrayal, abandonment, and any type of deep trauma.
Many people close off to protect themselves not realizing what they are losing when they do this. Forgiveness is so often misunderstood. People think if they forgive someone that they are letting them off the hook. They do not realize that they are letting themselves off of the hook. Everything that you do in this world is about you, even how you react to how people treat you.
The universe doesn't take into account, “Oh that person deserves what you are directing at them.” The universe is a perfect balance of giving everyone back what they are giving out. It does not keep track of the whys. In essence, if you have been hurt it does not give you a pass to behave poorly towards someone. Both people then suffer. The one who committed the offense will suffer and then you will suffer by how you reacted to it. This is the whole basis why forgiveness is so important for you.
If you want to open up your heart chakra, look at reasons why you closed it. Where are you holding onto grudges and judgements? This is where your power is. Release any held negativity and know that you do this for yourself. The punishment of another is not up to you, you have to just be concerned with what you are putting into the world.
If you feel your heart center is closed, there is a meditation on my website at http://www.yourpainsmypain.com, Check out the Chakra and Kundalini article.