def METHOD_NAME(self, prof):
    self.i += 1
    if prof == "x":
        return self.x
    if prof == "pprime":
        return np.gradient(self.METHOD_NAME("psi"))
    if prof == "ffprime":
        return 10 * self.x[::-1]
    if prof == "psi":
        return 5 * self.x
    if prof == "q":
        return 1 + np.linspace(0, np.sqrt(2.25), self.n) ** 2
    if prof == "pressure":
        return 1e6 * self.x[::-1]
    raise ValueError(f"unknown profile {prof}")