/* Initialization function */ int model_init(void *km) { /* Local variables */ intptr_t* pkim = *((intptr_t**) km); double* model_cutoff; int ier; /* store pointer to compute function in KIM object */ ier = KIM_API_set_method(pkim, "compute", 1, (func_ptr) &compute); if (KIM_STATUS_OK > ier) { KIM_API_report_error(__LINE__, __FILE__, "KIM_API_set_method", ier); return ier; } /* store model cutoff in KIM object */ model_cutoff = (double*) KIM_API_get_data(pkim, "cutoff", &ier); if (KIM_STATUS_OK > ier) { KIM_API_report_error(__LINE__, __FILE__, "KIM_API_get_data", ier); return ier; } *model_cutoff = MODEL_CUTOFF; /* cutoff distance in angstroms */ ier = KIM_STATUS_OK; return ier; }
int setup_neighborlist_KIM_access(void* pkim, NeighObjectType* NeighObject) { /* local variables */ int status; /* register for neighObject */ KIM_API_setm_data(pkim, &status, 1*4, "neighObject", 1, NeighObject, 1); if (KIM_STATUS_OK > status) { KIM_API_report_error(__LINE__, __FILE__,"KIM_API_setm_data",status); return(status); } /* register for get_neigh */ status = KIM_API_set_method(pkim, "get_neigh", 1, (func_ptr) &get_neigh); if (KIM_STATUS_OK > status) { KIM_API_report_error(__LINE__, __FILE__,"KIM_API_set_method",status); return(status); } return KIM_STATUS_OK; }