def solveAht(self, m, p):

        #  Mini Example:
        #
        #       nT = 3, len(times) == 4, fields stored in F[:,:,1:4]
        #
        #       0 is held for initial conditions (this shifts the storage by +1)
        #       ^
        #  fLoc 0     1     2     3
        #       |-----|-----|-----|
        #  tInd    0     1     2
        #                        / ___/
        #                      2          (tInd=2 uses fields 3 and would use 4 but it doesn't exist)
        #                 / ___/
        #                1                (tInd=1 uses fields 2 and 3)

        def AhtRHS(tInd, y):
            nSrc, nF = self.survey.nSrc, self.mesh.nF
            rhs = np.zeros((nF,1) if nSrc == 1 else (nF, nSrc))

            if 'e' in p:
                rhs += self.MfMui*(self.mesh.edgeCurl*(self.MeSigmaI*p[:,'e',tInd+1]))
            if 'b' in p:
                rhs += p[:,'b',tInd+1]

            if tInd == self.nT-1:
                return rhs
            dt = self.timeSteps[tInd+1]
            return rhs + 1.0/dt*self.MfMui*y[:,'b',tInd+2]

        F = FieldsTDEM_e_from_b_Ah(self.mesh, self.survey, p=p)

        return self.adjoint(m, AhtRHS, F)

    ####################################################
    # Functions for tests
    ####################################################
:param numpy.array m: Conductivity model
dataset/ETHPy150Open simpeg/simpeg/SimPEG/EM/TDEM/TDEM_b.py/ProblemTDEM_b.solveAht