Question:
At the top you define
b[t_] := t
SigmaRhoBegin[rho_, phi_] = 0
SigmaRhoPhiBegin[rho_, phi_] = 0
None of these definitions for these symbols is ever updated. Elsewhere in your code you have expressions like
D[b[t], t]
D[SigmaRhoBegin[rho, phi], rho]
D[SigmaRhoPhiBegin[rho, phi], rho]
So, D[b[t], t] will always be 1, D[SigmaRhoBegin[rho, phi], rho] will always be 0, and D[SigmaRhoPhiBegin[rho, phi], rho] will always be 0. Can you explain what your intention is behind this?