Use Of A Trial Function Method To Semi-Analytically Simulate Matrix Diffusion In Heterogeneous And Fractured Media