Merge pull request #3439 from smallquail:flex-metric-blocks

PiperOrigin-RevId: 957063540
Change-Id: I86e7b2ec92c7b2acd1f1f7140e3b8a7578c48dbf
This commit is contained in:
Copybara-Service
2026-07-31 08:07:22 -07:00
18 changed files with 4932 additions and 488 deletions
+5 -29
View File
@@ -5737,7 +5737,7 @@ STRUCTS: Mapping[str, StructDecl] = dict([
StructFieldDecl(
name='efm_active',
type=ValueType(name='int'),
doc='implicit effective metric M+K: 0 inactive, 1 active, 2 active + preconditioner exact', # pylint: disable=line-too-long
doc='implicit effective metric M+K is active (see mjd_effBuild)', # pylint: disable=line-too-long
),
StructFieldDecl(
name='nefmK',
@@ -5747,12 +5747,12 @@ STRUCTS: Mapping[str, StructDecl] = dict([
StructFieldDecl(
name='nefmdof',
type=ValueType(name='int'),
doc='number of rows in effective-metric factor',
doc='number of 3x3 blocks in the effective-metric preconditioner', # pylint: disable=line-too-long
),
StructFieldDecl(
name='nefmL',
type=ValueType(name='int'),
doc='number of non-zeros in the effective-metric factor',
doc='size of the effective-metric block storage (9*nefmdof)',
),
StructFieldDecl(
name='nY',
@@ -7038,39 +7038,15 @@ STRUCTS: Mapping[str, StructDecl] = dict([
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='factor row -> dof address',
doc='block k -> dof address of its vertex triple',
array_extent=('nefmdof',),
),
StructFieldDecl(
name='efm_L_rownnz',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='factor row nonzeros',
array_extent=('nefmdof',),
),
StructFieldDecl(
name='efm_L_rowadr',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='factor row addresses',
array_extent=('nefmdof',),
),
StructFieldDecl(
name='efm_L_colind',
type=PointerType(
inner_type=ValueType(name='int'),
),
doc='factor column indices',
array_extent=('nefmL',),
),
StructFieldDecl(
name='efm_L',
type=PointerType(
inner_type=ValueType(name='mjtNum'),
),
doc='Cholesky factor of diag(M)+K, covered dofs',
doc='factored 3x3 diagonal blocks of M+K',
array_extent=('nefmL',),
),
StructFieldDecl(