Add mjData.nA the number of non-zeros in the constraint inverse inertia matrix.

PiperOrigin-RevId: 714076988
Change-Id: I4c323a6e81dfb23f7972b662719bbcb688bacf4a
This commit is contained in:
Yuval Tassa
2025-01-10 09:22:58 -08:00
committed by Copybara-Service
parent ca6162e6d0
commit 2409a6e537
9 changed files with 23 additions and 9 deletions
+3 -2
View File
@@ -198,6 +198,7 @@ struct mjData_ {
int nl; // number of limit constraints
int nefc; // number of constraints
int nJ; // number of non-zeros in constraint Jacobian
int nA; // number of non-zeros in constraint inverse inertia matrix
int nisland; // number of detected constraint islands
// global properties
@@ -419,8 +420,8 @@ struct mjData_ {
// computed by mj_projectConstraint (PGS solver)
int* efc_AR_rownnz; // number of non-zeros in AR (nefc x 1)
int* efc_AR_rowadr; // row start address in colind array (nefc x 1)
int* efc_AR_colind; // column indices in sparse AR (nefc x nefc)
mjtNum* efc_AR; // J*inv(M)*J' + R (nefc x nefc)
int* efc_AR_colind; // column indices in sparse AR (nA x 1)
mjtNum* efc_AR; // J*inv(M)*J' + R (nA x 1)
//-------------------- arena-allocated: POSITION, VELOCITY dependent
+3 -2
View File
@@ -715,8 +715,8 @@
#define MJDATA_ARENA_POINTERS_DUAL \
X( int, efc_AR_rownnz, MJ_D(nefc), 1 ) \
X( int, efc_AR_rowadr, MJ_D(nefc), 1 ) \
X( int, efc_AR_colind, MJ_D(nefc), MJ_D(nefc) ) \
X( mjtNum, efc_AR, MJ_D(nefc), MJ_D(nefc) )
X( int, efc_AR_colind, MJ_D(nA), 1 ) \
X( mjtNum, efc_AR, MJ_D(nA), 1 )
// array fields of mjData that are used for constraint islands
#define MJDATA_ARENA_POINTERS_ISLAND \
@@ -757,6 +757,7 @@
X( int, nl ) \
X( int, nefc ) \
X( int, nJ ) \
X( int, nA ) \
X( int, nisland ) \
X( mjtNum, time ) \
X( uintptr_t, threadpool )