Add midphase and broadphase statistics to mjData.

PiperOrigin-RevId: 521387641
Change-Id: Id50f2549d119e364216491a23b107e04d9ebb5b6
This commit is contained in:
Alessio Quaglino
2023-04-03 00:59:18 -07:00
committed by Copybara-Service
parent c29f32657c
commit 5f132af625
8 changed files with 96 additions and 25 deletions
+12 -4
View File
@@ -144,10 +144,18 @@ struct mjData_ {
// diagnostics
mjWarningStat warning[mjNWARNING]; // warning statistics
mjTimerStat timer[mjNTIMER]; // timer statistics
mjSolverStat solver[mjNSOLVER]; // solver statistics per iteration
int solver_iter; // number of solver iterations
int solver_nnz; // number of non-zeros in Hessian or efc_AR
mjtNum solver_fwdinv[2]; // forward-inverse comparison: qfrc, efc
// solver statistics
mjSolverStat solver[mjNSOLVER]; // solver statistics per iteration
int solver_iter; // number of solver iterations
int solver_nnz; // number of non-zeros in Hessian or efc_AR
mjtNum solver_fwdinv[2]; // forward-inverse comparison: qfrc, efc
// collision statistics
int nbodypair_broad; // number of body pairs in collision according to the broad-phase
int nbodypair_narrow; // number of body pairs actually in collision in the narrow-phase
int ngeompair_mid; // number of geom pairs in collision according to the mid-phase
int ngeompair_narrow; // number of geom pairs actually in collision in the narrow-phase
// variable sizes
int ne; // number of equality constraints
+18 -14
View File
@@ -590,20 +590,24 @@
// scalar fields of mjData
#define MJDATA_SCALAR \
X( int, nstack ) \
X( int, nbuffer ) \
X( int, pstack ) \
X( int, maxuse_stack ) \
X( int, maxuse_con ) \
X( int, maxuse_efc ) \
X( int, solver_iter ) \
X( int, solver_nnz ) \
X( int, ne ) \
X( int, nf ) \
X( int, nefc ) \
X( int, ncon ) \
X( mjtNum, time )
#define MJDATA_SCALAR \
X( int, nstack ) \
X( int, nbuffer ) \
X( int, pstack ) \
X( int, maxuse_stack ) \
X( int, maxuse_con ) \
X( int, maxuse_efc ) \
X( int, solver_iter ) \
X( int, solver_nnz ) \
X( int, nbodypair_broad ) \
X( int, nbodypair_narrow ) \
X( int, ngeompair_mid ) \
X( int, ngeompair_narrow ) \
X( int, ne ) \
X( int, nf ) \
X( int, nefc ) \
X( int, ncon ) \
X( mjtNum, time )
// vector fields of mjData