17d0a6c19SBarry Smith 2e5c89e4eSSatish Balay /* 3e5c89e4eSSatish Balay Provides utility routines for manulating any type of PETSc object. 4e5c89e4eSSatish Balay */ 5c6db04a5SJed Brown #include <petscsys.h> /*I "petscsys.h" I*/ 6e5c89e4eSSatish Balay 7e5c89e4eSSatish Balay #undef __FUNCT__ 8903b9019SMatthew G Knepley #define __FUNCT__ "PetscObjectGetClassId" 9e5c89e4eSSatish Balay /*@C 10*609db0e0SLisandro Dalcin PetscObjectGetClassId - Gets the classid for any PetscObject 11e5c89e4eSSatish Balay 12e5c89e4eSSatish Balay Not Collective 13e5c89e4eSSatish Balay 14e5c89e4eSSatish Balay Input Parameter: 15e5c89e4eSSatish Balay . obj - any PETSc object, for example a Vec, Mat or KSP. 16e5c89e4eSSatish Balay Thus must be cast with a (PetscObject), for example, 17903b9019SMatthew G Knepley PetscObjectGetClassId((PetscObject)mat,&classid); 18e5c89e4eSSatish Balay 19e5c89e4eSSatish Balay Output Parameter: 200700a824SBarry Smith . classid - the classid 21e5c89e4eSSatish Balay 22e5c89e4eSSatish Balay Level: developer 23e5c89e4eSSatish Balay 24e5c89e4eSSatish Balay @*/ 257087cfbeSBarry Smith PetscErrorCode PetscObjectGetClassId(PetscObject obj,PetscClassId *classid) 26e5c89e4eSSatish Balay { 27e5c89e4eSSatish Balay PetscFunctionBegin; 283cfa8680SLisandro Dalcin PetscValidHeader(obj,1); 290700a824SBarry Smith *classid = obj->classid; 30e5c89e4eSSatish Balay PetscFunctionReturn(0); 31e5c89e4eSSatish Balay } 32e5c89e4eSSatish Balay 33*609db0e0SLisandro Dalcin #undef __FUNCT__ 34*609db0e0SLisandro Dalcin #define __FUNCT__ "PetscObjectGetClassName" 35*609db0e0SLisandro Dalcin /*@C 36*609db0e0SLisandro Dalcin PetscObjectGetClassName - Gets the class name for any PetscObject 37*609db0e0SLisandro Dalcin 38*609db0e0SLisandro Dalcin Not Collective 39*609db0e0SLisandro Dalcin 40*609db0e0SLisandro Dalcin Input Parameter: 41*609db0e0SLisandro Dalcin . obj - any PETSc object, for example a Vec, Mat or KSP. 42*609db0e0SLisandro Dalcin Thus must be cast with a (PetscObject), for example, 43*609db0e0SLisandro Dalcin PetscObjectGetClassName((PetscObject)mat,&classname); 44*609db0e0SLisandro Dalcin 45*609db0e0SLisandro Dalcin Output Parameter: 46*609db0e0SLisandro Dalcin . classname - the class name 47*609db0e0SLisandro Dalcin 48*609db0e0SLisandro Dalcin Level: developer 49*609db0e0SLisandro Dalcin 50*609db0e0SLisandro Dalcin @*/ 51*609db0e0SLisandro Dalcin PetscErrorCode PetscObjectGetClassName(PetscObject obj, const char *classname[]) 52*609db0e0SLisandro Dalcin { 53*609db0e0SLisandro Dalcin PetscFunctionBegin; 54*609db0e0SLisandro Dalcin PetscValidHeader(obj,1); 55*609db0e0SLisandro Dalcin PetscValidPointer(classname,2); 56*609db0e0SLisandro Dalcin *classname = obj->class_name; 57*609db0e0SLisandro Dalcin PetscFunctionReturn(0); 58*609db0e0SLisandro Dalcin } 59