def basis_transform_vectorD_from_Cartesian_to_rfmbasis(Jac_dUCart_dDrfmUD, Cart_src_vectorD):
    rfm_dst_vectorD = ixp.zerorank1()
    for i in range(3):
        for l in range(3):
            rfm_dst_vectorD[i] += (Jac_dUCart_dDrfmUD[l][i] * Cart_src_vectorD[l])
    return rfm_dst_vectorD
def basis_transform_vectorD_from_Cartesian_to_rfmbasis(Jac_dUCart_dDrfmUD, Cart_src_vectorD):
    rfm_dst_vectorD = ixp.zerorank1()
    for i in range(3):
        for l in range(3):
            rfm_dst_vectorD[i] += (Jac_dUCart_dDrfmUD[l][i] * Cart_src_vectorD[l])
    return rfm_dst_vectorD