347 lines
20 KiB
Markdown
347 lines
20 KiB
Markdown
# Linear Static MITC4 Shell Numerical Review
|
|
|
|
## Metadata
|
|
|
|
- feature_id: `linear-static-mitc4-shell`
|
|
- source_formulation: `docs/formulations/mitc4-shell-formulation.md`
|
|
- source_requirements: `docs/requirements/linear-static-mitc4-shell.md`
|
|
- source_research: `docs/research/linear-static-mitc4-shell-research.md`
|
|
- source_io_definition: `docs/io-definitions/linear-static-mitc4-shell-io.md`
|
|
- source_reference_inventory: `docs/reference-models/linear-static-mitc4-shell-reference-models.md`
|
|
- repository_policy: `AGENTS.md`, `docs/ADR.md`, `docs/ARCHITECTURE.md`,
|
|
`docs/SOLVER_AGENT_DESIGN.md`
|
|
- reviewed_revisions: `73df844`, `22a3238`
|
|
- status: `pass-for-implementation-planning`
|
|
- owner_agent: `numerical-review-agent`
|
|
- date: `2026-08-12`
|
|
- implementation_planning_authorized: `true`
|
|
- implementation_complete: `false`
|
|
- reference_comparison_complete: `false`
|
|
|
|
## Review Verdict
|
|
|
|
- verdict: `pass-for-implementation-planning`
|
|
- reason: The current linear-static formulation closes the physical 20-DOF MITC4
|
|
kernel, its global 24-DOF embedding, fixed drilling regularization, Jacobian and
|
|
quadrature rules, residual/stiffness equations, recovery signs, and verification
|
|
invariants without a mathematical inconsistency in the approved feature scope.
|
|
- critical_blockers: `none`
|
|
- remaining_formulation_revisions: `none for the current linear-static scope`
|
|
- downstream_boundary: Implementation Planning may begin. This verdict does not
|
|
claim implementation, build/test, reference-comparison, physics-sanity, or release
|
|
completion.
|
|
|
|
The future geometrically nonlinear material in Formulation Section 15 remains
|
|
explicitly non-executable. Its unresolved global finite-rotation map and objective
|
|
drilling potential do not block the current linear-static implementation plan.
|
|
|
|
## Critical Findings
|
|
|
|
No confirmed mathematical defect remains in the approved linear-static formulation.
|
|
The previous review's `needs-reference-model` verdict is not a valid current
|
|
formulation verdict: the current numerical-review gate is based on numerical and
|
|
formulation consistency, while downstream artifact administration and comparison
|
|
execution are separate gates.
|
|
|
|
### 1. Previous finding disposition
|
|
|
|
| previous item | current disposition | evidence and strict consequence |
|
|
| --- | --- | --- |
|
|
| `NR-C01` Jacobian/geometry inventory | resolved | Formulation Sections 9.2-9.3 enumerate center, stiffness, tying, and recovery locations and require finite bases, nonzero area, and `J>0`; Requirements 014/016 intentionally define no calibrated smooth-angle, distortion, or warp threshold. |
|
|
| `NR-C02` drilling normalization | resolved | Formulation Section 12.2 and Requirements 033-036 now define one exact dimensional rule using only positive physical tangent-rotation diagonals. No calibration decision remains. |
|
|
| `NR-C03` mixed-DOF algebraic scaling | resolved | Formulation Sections 12.3 and 12.5 define physical length scaling separately from the physical/drilling stiffness split and provide normalized rank, symmetry, and rigid-action evidence. |
|
|
| `NR-C04` 20/24-DOF weak-form mismatch | resolved | Formulation Sections 5.2-5.3 and 7.1-7.2 place physical, drilling, and external work in the common global 24-DOF test space using the required transpose maps. |
|
|
| `NR-C05` nonlinear global tangent closure | resolved for current scope | Formulation Section 15 now labels the nonlinear equations non-executable and identifies the missing nonlinear `Phi` map, map Hessian, and objective drilling potential. Those items block only a future nonlinear feature. |
|
|
| `NR-D01` drilling-direction nodal moment | retained/resolved | The exact-zero branch and `rho_M=|d dot M|/||M|| <= 1e-12` rule are consistent in Formulation Section 6.2 and I/O Section 4.3. |
|
|
| `NR-D02` normalized algebraic checks | retained/resolved | Formulation Section 17.1 defines scale-aware symmetry, rigid-action, frame, transformation-energy, residual, and equilibrium checks without a denominator clamp. |
|
|
| `NR-O01` drilling coefficient/plateau | resolved by approved fixed rule | `k_d=10^-3 min(R+)` replaces the former coefficient-family/sweep question. A sweep, plateau, response sensitivity, or condition-number calibration is not an acceptance gate. |
|
|
| `NR-O02` drilling-energy warning | removed from approved scope | Drilling is an internal numerical potential only. No drilling-energy ratio, warning threshold, or drilling-specific output is required. |
|
|
| `NR-O03` smooth-director angle | removed from approved scope | Requirements 014/054 and Formulation Sections 4.2 and 9.3 use exact orientation/finite/nonzero predicates and explicitly remove `NR-O03`. It is not an open numerical decision. |
|
|
| `NR-O04` distortion/warp calibration | removed from approved scope | Requirements 016/054 and Formulation Sections 9.2-9.3 require exact finite/positive validity checks and explicitly remove `NR-O04`. It is not an open numerical decision. |
|
|
| `NR-O05` U/UR tolerance | resolved | Requirements 058-062, Formulation Section 17.5, I/O Section 7.6, and Reference Case Section 5 all use the exact approved B33 component-scale formula. |
|
|
|
|
### 2. Required policy classifications
|
|
|
|
#### 2.1 Fixed drilling rule — resolved and implementation-ready
|
|
|
|
Let `R+` contain only the finite, strictly positive diagonal entries of the physical
|
|
local stiffness `K20` associated with the eight director-tangent rotational DOFs.
|
|
The formulation fixes
|
|
|
|
```text
|
|
k_ref = min(R+)
|
|
k_d = 1e-3 * k_ref
|
|
K_drill_local = k_d * I4
|
|
K_drill_24 = T_d^T * K_drill_local * T_d
|
|
```
|
|
|
|
All entries in `R+` have rotational-stiffness dimension `force*length`; translations,
|
|
off-diagonals, nonpositive values, and nonfinite values are excluded. Therefore
|
|
`k_d` has the correct dimension, `K_drill_24` is symmetric positive on the four pure
|
|
drilling coordinates, and the physical and drilling channels are algebraically
|
|
separate. An empty `R+` is a deterministic numerical-validation failure. This is a
|
|
complete algorithm contract, not a calibration placeholder.
|
|
|
|
The deterministic nodal frames fix the local-coordinate representation, and
|
|
Formulation Section 5.3 supplies the virtual-work/energy congruence used by the
|
|
coordinate-transformation check. No unselected drilling coefficient or family
|
|
remains for Implementation Planning.
|
|
|
|
#### 2.2 No drilling outputs — resolved and consistent
|
|
|
|
Formulation Sections 7.2, 12.3, 12.5, 14, and 17.4 keep drilling out of physical
|
|
strain, resultant, stress, and reported physical shell energy. The internal identity
|
|
`E_drill = 0.5 gamma^T K_drill_local gamma` is permissible verification algebra; it
|
|
does not create an external result quantity. Requirements 035/036/046 and I/O
|
|
Sections 6.1/6.4/6.5 consistently require no drilling coefficient, stiffness, ratio,
|
|
or energy dataset. There is no output-contract defect.
|
|
|
|
#### 2.3 Exact B33 U/UR tolerance — resolved
|
|
|
|
For each case and component `c`, using only finite Abaqus rows,
|
|
|
|
```text
|
|
reference_scale_c = max(abs(reference_value_i))
|
|
tolerance_c = 1e-9 + 1e-6 * reference_scale_c
|
|
```
|
|
|
|
The `1e-9` floor is in the model's user-consistent length unit for `U1/U2/U3` and is
|
|
dimensionless for `UR1/UR2/UR3`. No row is zero-clamped and no row-specific relative
|
|
denominator replaces the component scale. `U1/U2/U3` exceedance is blocking at the
|
|
later Reference Verification gate; `UR1/UR2/UR3` uses the same formula but is
|
|
warning-only. The formula is exact and needs no MITC4-specific calibration.
|
|
|
|
#### 2.4 Removed and administrative items — nonblocking
|
|
|
|
`NR-O03`, `NR-O04`, drilling sweeps, drilling-energy criteria, and expanded flat,
|
|
thin/thick, distorted, warped, curved-shell, or mesh-convergence portfolios are not
|
|
part of the approved implementation-planning gate. They may remain future research
|
|
or release evidence but shall not be reintroduced as missing numerical evidence.
|
|
|
|
Canonical reference naming, a bundle README, `metadata.json`, provenance, an Abaqus
|
|
version, duplicated units/coordinates/model/step/frame descriptions, or a schema
|
|
version are administrative information and cannot block this formulation verdict.
|
|
The absence of optional `metadata.json` is therefore not a defect. If such a file is
|
|
added later, it remains read-only context and cannot override the approved exact
|
|
paths, row mapping, or tolerance.
|
|
|
|
## Numerical Risk Assessment
|
|
|
|
| risk | current assessment | required in-scope control |
|
|
| --- | --- | --- |
|
|
| Transverse-shear locking | controlled for the original MITC4 scope, not claimed eliminated for every mesh | Use the exact edge-midpoint covariant shear projection of Sections 10.2-10.4 and pass transverse-shear patch/reference checks. |
|
|
| Curved/distorted-mesh membrane locking | known limitation of the original MITC4 family | Preserve the documented limitation. An expanded convergence portfolio is nonblocking and does not authorize MITC4+. |
|
|
| Volumetric locking | not applicable to the approved plane-stress shell contract | Do not reinterpret `C5` as a full 3D nearly incompressible material law. |
|
|
| Hourglass modes | no reduced-integration/hourglass path is approved | Both source `S4` and `S4R` use the same full `2x2x2` FESA integration and MITC tying path. |
|
|
| Degenerate, inverted, or self-intersecting geometry | fail-closed contract is present | Enforce distinct connectivity, non-self-intersection, finite nonzero surface measure, finite reciprocal bases, and `J>0` at every required location. |
|
|
| Near-singular but still positive geometry | conditioning may degrade because no calibrated quality threshold is in scope | Preserve finite checks and deterministic solver failure diagnostics; do not invent `NR-O04` thresholds. |
|
|
| Opposed or invalid nodal directors | would corrupt frames, signs, and tying | Reject nonfinite/zero candidates, nonpositive incident-normal agreement, and nonfinite/zero averages; use duplicate source nodes for folds. |
|
|
| Drilling singularity | four nonphysical modes would remain without regularization | Apply the exact fixed `R+` rule and verify stabilized nullity six. |
|
|
| Drilling contamination of physics | possible if drill enters the physical operator or recovery | Keep `T_p` and `T_d` separate and verify pure drill has zero physical strain/resultant/stress and no physical energy contribution. |
|
|
| Rigid-mode test contamination | a full spatial rotation vector can contain director-parallel rotation | Construct physical rigid rotation with `u_I=omega x X_I`, `delta d_I=omega x d_I`, and `gamma_I=0` as specified in Section 8.3. |
|
|
| Wrong shear component/factor | would cause patch failure or incorrect shear energy | Keep the `xi-zeta`/`eta-zeta` tying pairs and engineering factor `gamma_ij=2 epsilon_ij` explicit. |
|
|
| Recovery sign/location drift | could hide a correct stiffness behind wrong outputs | Reuse stiffness frames, tying, material, and thickness quadrature; preserve four Gauss identities and bottom/middle/top positions without averaging. |
|
|
| Future nonlinear misuse | current Section 15 does not define a complete global nonlinear element | Keep it non-executable until a separate approved nonlinear formulation closes `Phi`, map curvature, objective drill, load work, and state. |
|
|
|
|
## Consistency Checks
|
|
|
|
### 1. DOF order, director sign, and coordinate transforms — pass
|
|
|
|
- Global order is exactly `[UX,UY,UZ,URX,URY,URZ]` per node.
|
|
- `R_I=[a_I b_I d_I]` is right-handed and orthonormal, with
|
|
`[alpha,beta,gamma]^T=R_I^T theta_I^g`.
|
|
- The director variation `delta d_I=beta_I a_I-alpha_I b_I` has the correct sign for
|
|
`theta_I x d_I`.
|
|
- `T_p` is `20x24`; `T_d` is `4x24`. The physical operator receives only `q20`, and
|
|
the drilling potential receives only `gamma`.
|
|
- The transpose maps in Formulation Sections 5.3 and 7.2 preserve virtual work and
|
|
energy in the common 24-DOF space.
|
|
|
|
### 2. Shape functions, geometry, and B operator — pass
|
|
|
|
- The bilinear shape functions satisfy partition of unity, nodal interpolation, and
|
|
derivative-sum identities.
|
|
- The degenerated geometry uses a dimensionless unit director and separate thickness
|
|
factor `t*zeta/2`, avoiding thickness double-counting.
|
|
- The direct covariant strain column is the symmetric gradient written in covariant
|
|
bases. The two transverse covariant shear components alone are replaced by the
|
|
canonical MITC4 edge-midpoint interpolation.
|
|
- Reconstructing with reciprocal bases before local projection preserves the tensor
|
|
meaning. Engineering shear factors are applied once in the local five-component
|
|
vector.
|
|
- The same projected `B_bar` is used in strain, residual, stiffness, and recovery;
|
|
no direct/tied shear mismatch remains.
|
|
|
|
### 3. Constitutive matrix and dimensional consistency — pass
|
|
|
|
- For finite `E>0` and `-1<nu<0.5`, the plane-stress block and
|
|
`kappa_s G I2`, with `kappa_s=5/6`, are symmetric positive definite.
|
|
- `B_bar^T C5 B_bar J dxi deta dzeta` has stiffness-consistent dimensions because
|
|
the geometry Jacobian contains the through-thickness scale.
|
|
- Membrane/shear strain is dimensionless, curvature is `1/length`, `N/Q` is
|
|
`force/length`, `M` is `force`, stress is `force/length^2`, and physical energy is
|
|
`force*length`.
|
|
- The drilling reference uses rotational stiffness only, so no translation/rotation
|
|
unit mixing occurs.
|
|
|
|
### 4. Integration, residual, stiffness, and modes — pass
|
|
|
|
- Stiffness uses deterministic two-point Gauss quadrature in each of `xi`, `eta`, and
|
|
`zeta`, with points `+-1/sqrt(3)` and unit weights.
|
|
- Both source types select this one rule; FESA does not emulate Abaqus S4/S4R internal
|
|
integration or hourglass behavior.
|
|
- `K20 = integral(B_bar^T C5 B_bar dV)` is symmetric positive semidefinite. The
|
|
expected physical rank is 14: 20 physical coordinates minus six rigid modes.
|
|
- `Kphys24=T_p^T K20 T_p` adds four drilling null coordinates. The fixed positive
|
|
drilling block removes those four, leaving exactly six physical rigid modes.
|
|
- `f_int=K_e q_g` and `r=K d-F` use a consistent linear sign. Partitioning uses
|
|
`Kff df=Ff-Kfc dc`, including the valid `0x0 Kff` all-constrained case.
|
|
|
|
### 5. Recovery and external result meaning — pass
|
|
|
|
- Nodal reactions are constrained entries of the assembled full residual; free
|
|
entries remain equilibrium evidence.
|
|
- Generalized strains are thickness moments with order
|
|
`[E11,E22,G12,K11,K22,K12,G13,G23]`.
|
|
- Resultants use `[N11,N22,N12,M11,M22,M12,Q13,Q23]` and the stated centered-layer
|
|
`A/D/A_s` cross-check.
|
|
- Bottom/middle/top `[S11,S22,S12]` are direct section-position evaluations. `S33=0`
|
|
is documented but not emitted, and `S13/S23` point stress is outside the output
|
|
contract.
|
|
- Physical shell energy excludes numerical drilling stabilization, matching the I/O
|
|
schema.
|
|
|
|
### 6. Architecture and deterministic lifecycle — pass for planning
|
|
|
|
The formulation and I/O handoff match ADR-007/008/009/016/017 and the architecture:
|
|
stable element-local computation, deterministic COO/reduction, stiffness assembly
|
|
and partition before load assembly, factorization before substitution, full residual
|
|
recovery, stable row identity, and failure-atomic HDF5 commit. These are planning and
|
|
later implementation-test obligations, not unresolved equations.
|
|
|
|
## Verification Readiness
|
|
|
|
### Required element and algebraic tests
|
|
|
|
Implementation Planning shall trace RED/GREEN/VERIFY tests for:
|
|
|
|
1. shape-function identities and deterministic right-handed nodal/integration frames;
|
|
2. valid and invalid geometry at every center, Gauss, tying, and recovery location;
|
|
3. `T_p`/`T_d` dimensions, virtual-work equality, and transformation-energy equality;
|
|
4. direct versus tied shear component construction and engineering-shear factors;
|
|
5. constitutive symmetry/positive definiteness and exact `2x2x2` quadrature;
|
|
6. normalized symmetry at `1e-12`, rigid action at `1e-10`, physical rank 14, and
|
|
stabilized rank 18/nullity six;
|
|
7. exact `R+`, `k_ref`, `k_d`, and `K_drill_local` construction, including empty-`R+`
|
|
failure and exclusion of translational diagonals;
|
|
8. pure drilling: positive drill action, zero physical strain/resultant/stress, and
|
|
no drilling-specific output;
|
|
9. deterministic assembly/recovery ordering and thread-count repeatability;
|
|
10. partition/effective-RHS/full-residual reaction behavior, including all-constrained
|
|
`0x0 Kff` handling.
|
|
|
|
For a nonzero scaled stiffness, use the formulation's normalized metrics without a
|
|
fallback denominator. Exactly zero constructed energy cases are classified by their
|
|
separate rigid/null action tests rather than clamped to pass.
|
|
|
|
### Required patch and sign tests
|
|
|
|
- constant membrane strain/stress and `N` sign;
|
|
- pure bending about both local axes, curvature/moment order, and bottom/top stress sign;
|
|
- constant transverse shear and `Q13/Q23` order;
|
|
- pure twist and `K12/M12` convention;
|
|
- zero physical recovery from a pure drilling vector.
|
|
|
|
### Declared reference readiness
|
|
|
|
The lightweight inventory identifies these read-only required pairs:
|
|
|
|
- `reference/shell/shell.inp` and
|
|
`reference/shell/shell displacements.csv` for source `S4`;
|
|
- `reference/shellR/shellR.inp` and
|
|
`reference/shellR/shellR displacements.csv` for source `S4R`.
|
|
|
|
Read-only inspection confirmed that all four declared files exist, their SHA-256
|
|
values match the Reference Case inventory, and each required displacement CSV has
|
|
49 data rows. This is inventory evidence only. No FESA output exists yet in this
|
|
review, and no reference-comparison pass/fail decision was made.
|
|
|
|
The later comparator must require exact normalized source-row/component sets,
|
|
finite/unique values, U blocking, UR warning-only, and the approved mixed tolerance.
|
|
The two Abaqus cases are not expected to equal one another, while identical supported
|
|
FESA models labeled S4 or S4R must take the same internal numerical path.
|
|
|
|
### Nonblocking evidence
|
|
|
|
The following cannot change this formulation verdict:
|
|
|
|
- absent README, `metadata.json`, provenance, canonical name, schema-version record,
|
|
or duplicated bundle descriptions;
|
|
- no coefficient sweep, drilling-energy ratio, smooth-angle calibration, or
|
|
distortion/warp threshold sweep;
|
|
- no expanded flat/thin/thick/distorted/warped/curved/convergence benchmark portfolio;
|
|
- no implementation result, build/test result, Abaqus run, or completed comparison
|
|
at this pre-implementation gate.
|
|
|
|
## Required Revisions
|
|
|
|
### Formulation Agent
|
|
|
|
- None for the approved current linear-static implementation scope.
|
|
- Keep Formulation Section 15 non-executable until a separately approved nonlinear
|
|
feature closes its global coordinate map, consistent tangent, objective drilling,
|
|
and load-work decisions.
|
|
|
|
### Research Agent
|
|
|
|
- None before current Implementation Planning.
|
|
- Broader original-MITC4 locking and convergence studies remain optional future
|
|
characterization and must not silently widen the implementation gate.
|
|
|
|
### Reference Model Agent
|
|
|
|
- None for this formulation verdict. Preserve the four declared artifacts read-only.
|
|
- Optional administrative metadata, if later added by an authorized phase, does not
|
|
replace the approved exact paths, matching, and tolerance contract.
|
|
|
|
## Downstream Handoff
|
|
|
|
### Implementation Planning Agent
|
|
|
|
Implementation Planning is authorized. The plan shall:
|
|
|
|
- cover the deterministic director/frame preprocessing, `24 -> 20 + 4` transforms,
|
|
covariant MITC tying, full `2x2x2` integration, fixed drilling split, and recovery;
|
|
- trace every approved must-requirement to TDD tests, including the invariant, patch,
|
|
fixed-drilling, failure, schema, row-matching, and U/UR decision behaviors above;
|
|
- preserve one internal `FESA-MITC4` numerical path for source S4 and S4R while keeping
|
|
source metadata distinct;
|
|
- keep drilling out of physical recovery and HDF5 results;
|
|
- exclude future nonlinear execution, calibration sweeps, removed `NR-O03/NR-O04`,
|
|
expanded portfolios, and administrative reference requirements.
|
|
|
|
This handoff authorizes planning only. It does not authorize Harness execution,
|
|
production-code changes, reference-artifact mutation, or a claim of implementation
|
|
completion.
|
|
|
|
### I/O Definition Agent
|
|
|
|
The current I/O contract is numerically consistent with the formulation. Planning
|
|
shall preserve its exact source identity, load projection, output units/locations,
|
|
physical-energy meaning, reference row mapping, and U/UR decision rule.
|
|
|
|
### Reference Verification and Physics Evaluation Agents
|
|
|
|
These remain downstream of implementation and build/test. Reference Verification
|
|
will decide U/UR comparison outcomes; Physics Evaluation will independently assess
|
|
equilibrium, signs, symmetry, and physical plausibility. Neither result is asserted
|
|
by this review.
|
|
|
|
## Review Evidence
|
|
|
|
This review used the repository policy/design files, the approved requirements,
|
|
research, formulation, I/O definition and reference-case inventory listed in
|
|
Metadata, plus read-only inspection of the four declared artifacts. Local FEM wiki
|
|
material cross-checked MITC4 kinematics, edge-midpoint assumed shear and known locking
|
|
risks; the approved repository documents remain the feature source of truth.
|