def sim_curve_uvc(x_sol, test_clean):
    ' Returns the stress-strain approximation of the updated Voce-Chaboche material model to a given strain input.\n\n    :param np.array x_sol: Voce-Chaboche model parameters\n    :param DataFrame test_clean: stress-strain data\n    :return DataFrame: Voce-Chaboche approximation\n\n    The strain column in the DataFrame is labeled "e_true" and the stress column is labeled "Sigma_true".\n    '
    model_output = uvc_return_mapping(x_sol, test_clean)
    strain = np.append([0.0], model_output['strain'])
    stress = np.append([0.0], model_output['stress'])
    sim_curve = pd.DataFrame(np.array([strain, stress]).transpose(), columns=['e_true', 'Sigma_true'])
    return sim_curve
Returns the stress-strain approximation of the updated Voce-Chaboche material model to a given strain input.

:param np.array x_sol: Voce-Chaboche model parameters
:param DataFrame test_clean: stress-strain data
:return DataFrame: Voce-Chaboche approximation

The strain column in the DataFrame is labeled "e_true" and the stress column is labeled "Sigma_true".
def sim_curve_uvc(x_sol, test_clean):
    ' Returns the stress-strain approximation of the updated Voce-Chaboche material model to a given strain input.\n\n    :param np.array x_sol: Voce-Chaboche model parameters\n    :param DataFrame test_clean: stress-strain data\n    :return DataFrame: Voce-Chaboche approximation\n\n    The strain column in the DataFrame is labeled "e_true" and the stress column is labeled "Sigma_true".\n    '
    model_output = uvc_return_mapping(x_sol, test_clean)
    strain = np.append([0.0], model_output['strain'])
    stress = np.append([0.0], model_output['stress'])
    sim_curve = pd.DataFrame(np.array([strain, stress]).transpose(), columns=['e_true', 'Sigma_true'])
    return sim_curve