def METHOD_NAME(self, directory, filename):
    tacs_model = self.options["tacs_model"]
    if tacs_model.root_proc:
        num_iterations = len(self._func_history[tacs_model.function_names[0]])
        iterations = [_ for _ in range(num_iterations)]
        plt.figure()
        for func_name in tacs_model.function_names:
            yvec = self._func_history[func_name]
            yvec /= max(np.array(yvec))
            plt.plot(iterations, yvec, linewidth=2, label=func_name)
        plt.legend()
        plt.xlabel("iterations")
        plt.ylabel("func values")
        plt.yscale("log")
        plot_filepath = os.path.join(directory, filename)
        plt.savefig(plot_filepath)
        plt.close("all")