#ifndef MAT_USER_STRUCTS_CPU_H_
#define MAT_USER_STRUCTS_CPU_H_

struct UserMatCPU {
    int* p_internal_fail;
    int* p_face_update;
    const int* p_curve_data;
    const double* p_curve_val;
    double* p_strain;
    double* p_dstrain;
    double* p_stress;
    double* p_f_mat;
    double* p_u_mat;
    double* p_history;
    const double* p_cmat;
    double* p_stiffness;
    const double elem_volume0;
    const double elem_volume;
    const double ip_volume0;
    const double ip_volume;
    const int elem_id;
    const int ip_id;
    const int type;
    const double dt1;
    const double tt;
    const int part_id;
    const int* p_face_ids;
    const double* p_face_area;
    const double* p_face_normal;
};

struct UserMatInitCPU {
    const int* p_curve_data;
    const double* p_curve_val;
    double* p_strain;
    double* p_stress;
    double* p_coord;
    double* p_history;
    double* p_cmat;
    double* p_stiffness;
    const int elem_id;
    const int ip_id;
    const int type;
    const int part_id;
    const int* p_face_ids;
    const double* p_face_area;
    const double* p_face_normal;
};

#endif // MAT_USER_STRUCTS_CPU_H_
