332 lines
19 KiB
Markdown
332 lines
19 KiB
Markdown
# Linear Static MITC4 Shell Physics Evaluation Report
|
|
|
|
## Metadata
|
|
|
|
- feature_id: `linear-static-mitc4-shell`
|
|
- model_id: `shell-s4`
|
|
- evaluated_head: `820ba30c717b3d0e113775608e20dfd5fbc05d53`
|
|
- source_build_test_report:
|
|
`docs/build-test-reports/linear-static-mitc4-shell-build-test.md`
|
|
- source_reference_verification_report:
|
|
`docs/reference-verifications/linear-static-mitc4-shell-reference-verification.md`
|
|
- source_reference_model:
|
|
`docs/reference-models/linear-static-mitc4-shell-reference-models.md`
|
|
- source_requirement: `docs/requirements/linear-static-mitc4-shell.md`
|
|
- source_formulation: `docs/formulations/mitc4-shell-formulation.md`
|
|
- source_numerical_review:
|
|
`docs/numerical-reviews/linear-static-mitc4-shell-review.md`
|
|
- source_io_definition: `docs/io-definitions/linear-static-mitc4-shell-io.md`
|
|
- status: `pass-for-release-agent`
|
|
- owner_agent: `physics-evaluation-agent`
|
|
- date: `2026-08-13`
|
|
|
|
This verdict means that the documented physical checks pass and the Release Agent
|
|
may audit release readiness. It does not approve release readiness, re-approve the
|
|
reference comparison, or change its tolerance decision.
|
|
|
|
## Input Evidence
|
|
|
|
The prerequisite reference-verification report has status
|
|
`pass-for-physics-evaluation`. The existing S4 reference-test route was rebuilt and
|
|
executed to regenerate fresh FESA evidence. Abaqus and other reference solvers were
|
|
not executed.
|
|
|
|
| evidence | exact path or identity | status | notes |
|
|
| --- | --- | --- | --- |
|
|
| build/test report | `docs/build-test-reports/linear-static-mitc4-shell-build-test.md` | `pass-for-reference-verification` | Clean MSVC x64 Debug build, focused `87/87`, lifecycle `10/10`, reference `8/8`, and full `144/144` CTest passed. |
|
|
| reference verification | `docs/reference-verifications/linear-static-mitc4-shell-reference-verification.md` | `pass-for-physics-evaluation` | Required prerequisite satisfied; 147/147 blocking U rows passed and no UR warning was emitted. |
|
|
| solver HDF5 | `.harness/build/reference/mitc4-shell-s4-comparison/results.h5` | present and readable | Freshly generated, 95,024 bytes; observed raw SHA-256 `E102D80E82BA133EBDF1C5532F3A0A4FE9984AB6CC36D00264399F7308D9230F` (inventory only). |
|
|
| comparison ledger | `.harness/build/reference/mitc4-shell-s4-comparison/comparison.json` | present and passing | 94,349 bytes; SHA-256 `8E8DEA51B6F7C663BACC41FDA6103A4596DB26E02F1EAD6069D458F51E0102E6`; `passed=true`. |
|
|
| declared S4 input | `reference/shell/shell.inp` | present, unchanged, read-only | SHA-256 `4005851E1AB22FD3A16AC17A8D5DA3E051233F69F37419079F3553AD134ECFCF`. |
|
|
| declared displacement CSV | `reference/shell/shell displacements.csv` | present, unchanged, read-only | SHA-256 `C81D94E0B4A849F87AA0F79C83A79B94D5661AC79E44ED826919AB432C87746B`. |
|
|
| optional Abaqus reaction/stress CSVs | `reference/shell/shell reactions.csv`, `reference/shell/shell stresses.csv` | not used as equality gates | Their presence did not expand the approved U-only blocking boundary. |
|
|
| solver CSV views | N/A | not generated | HDF5 was inspected directly. |
|
|
| fresh S4 route | `.harness/build`, MSVC x64 Debug | pass | `Mitc4S4Reference.*` passed `2/2`. |
|
|
|
|
The HDF5 contains 49 nodes, 36 source-`S4` elements, internal formulation
|
|
`FESA-MITC4`, and the required full `2 x 2 x 2` result inventory. All inspected
|
|
numeric model and result values were finite. The diagnostics dataset contains four
|
|
approved warning rows for ignored `PREPRINT`, `RESTART`, and `OUTPUT` keywords and
|
|
no error diagnostic.
|
|
|
|
Raw HDF5 bytes are not a physics decision identity and may change across valid
|
|
regenerations. The projected values and deterministic comparison ledger are the
|
|
relevant evidence.
|
|
|
|
### Documented model expectation
|
|
|
|
The reference input is a flat `10 x 10`, thickness `0.5`, homogeneous isotropic
|
|
square plate with `E=2.1e11` and `nu=0.3`. Its 24 perimeter nodes are fully clamped
|
|
in all six global DOFs, and center node 2 at the global origin carries one
|
|
`F3=-100000` concentrated force. The geometry, boundary, material, and load are
|
|
symmetric about both global `x=0` and `y=0` planes.
|
|
|
|
The documented physical expectations are therefore:
|
|
|
|
- total constrained reaction force opposes the applied `-Z` force;
|
|
- total force and moment about the global origin balance within the approved
|
|
normalized `1e-10` limit;
|
|
- perimeter displacements are zero and the interior deflects in `-Z`, with the
|
|
largest magnitude at the center;
|
|
- the displacement and rotation field obeys the polar/axial-vector reflection
|
|
parity about both symmetry planes;
|
|
- a linear, flat transverse plate response has no membrane strain/resultant or
|
|
middle-surface in-plane stress, while bottom and top in-plane stresses reverse;
|
|
- stored physical strain energy is finite, strictly positive, and consistent with
|
|
the recovered generalized fields and `0.5 F^T d`;
|
|
- free residual, finite results, rank/rigid-mode evidence, and the approved
|
|
one-case coverage show no rigid-body or unsupported-mode symptom.
|
|
|
|
## Physics Checks
|
|
|
|
| check | documented expectation | observed evidence | verdict | classification |
|
|
| --- | --- | --- | --- | --- |
|
|
| global equilibrium | Applied plus constrained reaction force/moment about origin; normalized metrics `<=1e-10` | force residual `[0,0,-1.12049747258425e-9]`; moment residual `[6.45741238258779e-10,-2.63753463514149e-10,0]`; normalized force/moment `1.12049747258425e-14` / `2.35981341581908e-15` | pass | N/A |
|
|
| reaction consistency | Perimeter-only reactions from full residual oppose `F3=-100000`; constrained motion is zero | summed constrained force `[0,0,99999.9999999989]`; constrained displacement exactly zero | pass | N/A |
|
|
| displacement direction | Interior bends in `-Z`; center is maximum; no in-plane or drilling leakage | center `U3=-2.35504417650849e-5`; all 25 free-node U3 values nonpositive; `U1/U2/UR3` exactly zero | pass | N/A |
|
|
| symmetry | Correct polar/axial reflection parity about `x=0` and `y=0` | max absolute reflection mismatch `4.27126230127111e-20` / `2.29087480670778e-20` | pass | N/A |
|
|
| element force balance | No documented direct element-end-action output exists for shell GP resultants | Global assembled residual/equilibrium passed; direct element-end-action balance is skipped rather than inferred from mismatched locations | skipped | N/A |
|
|
| recovered resultant consistency | `N=A*epsilon0`, `M=D*kappa`, `Q=As*gamma0` at each of 144 GP rows | absolute L2 residual `9.9301874551584e-12`; normalized L2 `5.56240926027087e-17` | pass | N/A |
|
|
| stress/location/sign sanity | Local `[S11,S22,S12]` at bottom/middle/top; middle zero and faces reverse for this linear flat bending field | absolute L2 constitutive residual `1.29488994752188e-9`; normalized `3.05323934859307e-16`; middle stress exactly zero; face reversal exact | pass | N/A |
|
|
| rigid body/nonfinite | Complete constraints, finite solution, acceptable residual, no abnormal uncontrolled mode | zero nonfinite values; `FREE_RESIDUAL_NORMALIZED=1.07747756058988e-14`; rank/rigid-mode tests passed upstream | pass | N/A |
|
|
| physical energy | Positive and consistent physical-only energy; no drilling-energy gate | `1.17752208825422`; independently recovered value identical to relative `1.88569375589575e-16`; `0.5F^Td=1.17752208825424` | pass | N/A |
|
|
| model coverage | Approved sole S4 case plus declared invariant/patch/common-path portfolio | S4 case covers end-to-end symmetric plate response; focused build/test portfolio passed; expanded models are explicitly nonblocking | pass | N/A |
|
|
|
|
### 1. Global force and moment equilibrium
|
|
|
|
The reaction dataset is the assembled full residual `K*d-F`. Applying the
|
|
constraint mask gives
|
|
|
|
```text
|
|
sum constrained RF = [0, 0, 99999.9999999989]
|
|
sum applied F = [0, 0, -100000]
|
|
force residual = [0, 0, -1.12049747258425e-9]
|
|
```
|
|
|
|
The load acts at the global origin and therefore contributes no origin moment.
|
|
The constrained force and moment rows give
|
|
|
|
```text
|
|
moment residual = [ 6.45741238258779e-10,
|
|
-2.63753463514149e-10,
|
|
0 ]
|
|
```
|
|
|
|
These independently reconstructed values match the stored HDF5 equilibrium vector
|
|
exactly. The serialized normalized metrics are:
|
|
|
|
| metric | value | threshold | result |
|
|
| --- | ---: | ---: | --- |
|
|
| `FREE_RESIDUAL_NORMALIZED` | `1.07747756058988e-14` | `1.0e-10` | pass |
|
|
| `FORCE_BALANCE_NORMALIZED` | `1.12049747258425e-14` | `1.0e-10` | pass |
|
|
| `MOMENT_BALANCE_NORMALIZED` | `2.35981341581908e-15` | `1.0e-10` | pass |
|
|
|
|
### 2. Reaction consistency and constrained/free meaning
|
|
|
|
The 24 perimeter nodes provide 144 constrained DOFs; the remaining 150 DOFs are
|
|
free. The HDF5 constraint mask agrees with the input set exactly, all prescribed
|
|
values are zero, and the maximum constrained displacement is exactly zero.
|
|
|
|
The total positive `RF3=99999.9999999989` opposes the center `F3=-100000`. The
|
|
nearly zero total `RF1/RF2` and origin `RM1/RM2/RM3` are required by the centered
|
|
load and double symmetry. The largest raw free residual component is
|
|
`7.62156560085714e-10`; because translational and rotational entries have different
|
|
dimensions, the decision uses the documented normalized metric rather than this
|
|
raw maximum. The normalized free residual passes by more than three orders of
|
|
magnitude.
|
|
|
|
### 3. Displacement direction and deformation mode
|
|
|
|
Center node 2 has
|
|
|
|
```text
|
|
[U1,U2,U3,UR1,UR2,UR3]
|
|
= [0, 0, -2.35504417650849e-5, 0, 0, 0]
|
|
```
|
|
|
|
Every free-node `U3` is nonpositive, the center is the maximum-magnitude
|
|
translation, and every clamped boundary displacement is zero. Across the complete
|
|
model, maximum absolute `U1`, `U2`, and `UR3` are exactly zero. Maximum absolute
|
|
`UR1` and `UR2` are `7.55060026636931e-6` and
|
|
`7.55060026636933e-6`, respectively. This is the expected symmetric plate-bending
|
|
mode under a negative transverse center load, with no in-plane or drilling
|
|
deformation leakage.
|
|
|
|
### 4. Reflection symmetry and expected zeros
|
|
|
|
For reflection through `x=0`, polar displacement components transform as
|
|
`[-U1,+U2,+U3]`, while the axial rotation vector transforms as
|
|
`[+UR1,-UR2,-UR3]`. Reflection through `y=0` similarly uses
|
|
`[+U1,-U2,+U3,-UR1,+UR2,-UR3]`.
|
|
|
|
All 294 scalar nodal component comparisons per reflection were paired by source
|
|
coordinates. The maximum absolute mismatch was `4.27126230127111e-20` for the
|
|
`x` reflection and `2.29087480670778e-20` for the `y` reflection. The equality
|
|
evidence is numerical roundoff, not a new acceptance tolerance.
|
|
|
|
### 5. Shell generalized resultants and physical work signs
|
|
|
|
At every one of 36 elements times four midsurface Gauss locations, an independent
|
|
constitutive reconstruction applied the documented centered-section identities:
|
|
|
|
```text
|
|
N = A * epsilon0
|
|
M = D * kappa
|
|
Q = As * gamma0
|
|
```
|
|
|
|
The complete 1,152-component resultant comparison has absolute L2 residual
|
|
`9.9301874551584e-12` and normalized L2 residual
|
|
`5.56240926027087e-17`. All membrane strains and `N` resultants are exactly zero,
|
|
as required for this linear flat plate bending response.
|
|
|
|
The generalized work density `generalized_strain dot section_resultant` is strictly
|
|
positive at all 144 locations: minimum `4.46321446508071e-4`, maximum
|
|
`1.27059464107458e-1`, negative count `0`. This supports the physical sign and
|
|
component-order interpretation.
|
|
|
|
The shell contract does not expose element-end nodal actions and explicitly forbids
|
|
averaging mismatched result locations. Consequently a separate GP-to-element-end
|
|
force-balance assertion is not documented and is marked `skipped`; the assembled
|
|
global residual and equilibrium checks provide the required force-balance evidence.
|
|
|
|
### 6. Stress component, location, and sign sanity
|
|
|
|
HDF5 stores local in-plane `[S11,S22,S12]` directly at each GP and ordered section
|
|
positions `BOTTOM(-1), MIDDLE(0), TOP(+1)`. Independent reconstruction used
|
|
`Cps*(epsilon0+z*kappa)` at all 432 section locations. The absolute L2 residual is
|
|
`1.29488994752188e-9`, or normalized `3.05323934859307e-16`, against a maximum
|
|
absolute stored stress of `313250.779137971`.
|
|
|
|
All middle-surface in-plane stresses are exactly zero. For every component and GP,
|
|
bottom and top stresses are equal in magnitude and opposite in sign. This is the
|
|
documented curvature/stress-location convention for a centered homogeneous section.
|
|
No `S33`, `S13`, `S23`, nodal stress, or Abaqus stress equality was inferred.
|
|
|
|
### 7. Physical energy, residual, and rigid-body symptoms
|
|
|
|
The stored `PHYSICAL_STRAIN_ENERGY` is finite and positive:
|
|
|
|
```text
|
|
HDF5 physical energy = 1.17752208825422
|
|
independent GP generalized energy = 1.17752208825422
|
|
0.5 * F^T * d = 1.17752208825424
|
|
```
|
|
|
|
The HDF5-versus-recovered normalized difference is
|
|
`1.88569375589575e-16`; the final fresh HDF5-versus-external-work normalized
|
|
difference is `9.14561471609432e-15`. The HDF5 value excludes numerical drilling stabilization,
|
|
as required. No drilling-energy ratio, calibration, or warning criterion was
|
|
introduced.
|
|
|
|
The solution is finite, the full perimeter support is enforced, the expected
|
|
deformation mode is smooth and symmetric, all three normalized verification
|
|
metrics pass `1e-10`, and the build/test evidence passes six-rigid-mode,
|
|
stabilized-rank, non-rigid positive-energy, and pure-drill separation tests. No
|
|
rigid-body, singular, nonfinite, or abnormal-mode symptom is present.
|
|
|
|
### 8. Approved model coverage
|
|
|
|
The sole approved reference model provides end-to-end evidence for the
|
|
full-integration `S4 -> FESA-MITC4` path, a nonzero transverse bending response,
|
|
fully constrained reaction recovery, global force/moment balance, two-axis
|
|
symmetry, physical energy, and shell result recovery.
|
|
|
|
The prerequisite focused `87/87` build/test portfolio supplies the documented
|
|
complementary element evidence: membrane, bending, transverse-shear and twist patch
|
|
fields; six physical rigid modes; expected physical/stabilized rank; frame and
|
|
energy invariance; fixed numerical drilling and physical-recovery separation; and
|
|
S4/S4R common-kernel/source-metadata behavior. The reference verification supplies
|
|
the approved external displacement comparison.
|
|
|
|
This is the complete approved coverage for the feature. Pinched-cylinder,
|
|
hemisphere, Scordelis-Lo, locking/convergence sequences, drilling calibration,
|
|
expanded distorted/curved portfolios, and `NR-O01` through `NR-O04` are explicitly
|
|
nonblocking or out of scope and were not invented as new physics gates.
|
|
|
|
## Execution Evidence
|
|
|
|
| order | exact command or read-only operation | exit code | result |
|
|
| ---: | --- | ---: | --- |
|
|
| 1 | `cmake --build .harness/build --config Debug --target fesa_reference_tests` | `0` | Existing S4 reference route rebuilt. |
|
|
| 2 | `ctest --test-dir .harness/build -C Debug -R '^Mitc4S4Reference\.' --output-on-failure` | `0` | Fresh S4 tests `2/2` passed; FESA HDF5 and ledger regenerated. |
|
|
| 3 | `h5dump.exe -n .harness/build/reference/mitc4-shell-s4-comparison/results.h5` with HDF5/oneAPI runtime on `PATH` | `0` | Required HDF5 inventory inspected read-only. |
|
|
| 4 | `h5dump.exe -y -w 0 -m '%.17g' -d <dataset> .harness/build/reference/mitc4-shell-s4-comparison/results.h5` for model nodes/elements/mask/prescribed values, nodal U/R, shell frames/strain/resultant/stress, energy/equilibrium/metrics/diagnostics | `0` | High-precision read-only numerical audit supplied all reported values. |
|
|
| 5 | PowerShell independent input/mask, reaction/equilibrium, reflection, constitutive recovery, stress-location, energy, finite, and diagnostics audit over the `h5dump` values | `0` | All documented physics assertions passed. |
|
|
| 6 | `cmake --build .harness/build --config Debug --target fesa_unit_tests fesa_reference_tests`, then `ctest --test-dir .harness/build -C Debug -R 'Mitc4Shell(Kernel|Patch|Drilling|PhysicalRecovery)|ResultRecovery\..*Shell|Mitc4S4Reference' --output-on-failure` | `0` | Final focused verification passed `17/17`; the regenerated ledger retained `passed=true`, 294 rows, and zero warnings. |
|
|
|
|
Three intermediate audit-helper incidents were diagnostic-only and did not alter
|
|
the product or verdict: a compound-record regular expression initially omitted the
|
|
last node, a PowerShell array-expression initially bound subtraction to an array,
|
|
and a final optional `h5ls` operand-order probe exited `1`. The root causes were
|
|
confirmed as audit-command/parser usage, while successful high-precision HDF5
|
|
inspection established 49/49 nodes and the complete evidence above. They are not
|
|
solver, HDF5-schema, reference, or physics failures.
|
|
|
|
## Failure Classification
|
|
|
|
- classification: `N/A`
|
|
- primary_failure: `N/A`
|
|
- evidence: all documented force/moment equilibrium, reaction, displacement,
|
|
symmetry, recovery, stress-location, physical-energy, residual, finite-result,
|
|
rigid-mode and approved coverage checks passed
|
|
- correction_handoff: `N/A`
|
|
- non_gating_incident: resolved read-only audit helper parsing/usage errors only
|
|
|
|
## Evaluation Verdict
|
|
|
|
- verdict: `pass-for-release-agent`
|
|
- reason: the prerequisite reference status is valid and fresh FESA S4 evidence
|
|
satisfies every documented physical expectation under its approved threshold;
|
|
no implementation, formulation, I/O, model-coverage, nonfinite, rigid-body, or
|
|
environment failure remains
|
|
- release_approval: `not granted by this report`
|
|
- reference_reapproval: `not performed by this report`
|
|
|
|
## Handoff Recommendation
|
|
|
|
| target_agent | reason | required_input |
|
|
| --- | --- | --- |
|
|
| Release Agent | All documented MITC4 physics checks passed. | This report, the build/test and reference-verification reports, the fresh build-local HDF5/comparison evidence, and the nonblocking limitations below. |
|
|
|
|
## No-Change Assertion
|
|
|
|
- source_files_modified: `false`
|
|
- test_files_modified: `false`
|
|
- cmake_files_modified: `false`
|
|
- requirements_modified: `false`
|
|
- formulation_modified: `false`
|
|
- numerical_review_modified: `false`
|
|
- io_contract_modified: `false`
|
|
- reference_model_contract_modified: `false`
|
|
- build_test_report_modified: `false`
|
|
- reference_verification_report_modified: `false`
|
|
- phase_files_modified: `false`
|
|
- tolerance_policies_modified: `false`
|
|
- reference_artifacts_modified: `false`
|
|
- Abaqus_or_other_reference_solver_executed: `false`
|
|
- owned_report_created: `true`
|
|
- generated_build_local_evidence: `true`, ignored under `.harness/build/`
|
|
- pre_existing_untracked_build_test_report_preserved: `true`
|
|
- pre_existing_untracked_reference_verification_report_preserved: `true`
|
|
|
|
## Open Issues
|
|
|
|
- Nonblocking coverage limitation: the approved external reference inventory is one
|
|
flat, symmetric, fully clamped S4 plate. The approved analytical/unit portfolio
|
|
supplies membrane, shear, twist, rigid-mode, rank, drilling-separation and S4R
|
|
common-path evidence. No broader Abaqus or benchmark portfolio is claimed.
|
|
- Known original-MITC4 limitations remain: transverse-shear locking is mitigated by
|
|
the tying field, but distorted-curved membrane locking and broader thin/thick mesh
|
|
convergence are not characterized by this release gate.
|
|
- Source `S4R` maps to the same full-integration FESA kernel and is not compared to
|
|
the optional Abaqus S4R artifacts. This is an approved boundary, not missing
|
|
physics evidence.
|
|
- The fixed numerical drilling stiffness is not a physical stress/resultant/energy
|
|
channel. No drilling calibration, coefficient sweep, energy-ratio gate, or
|
|
director-parallel moment support is claimed.
|
|
- Geometrically nonlinear execution remains outside the current feature even though
|
|
future-only residual/tangent equations are documented. No nonlinear release claim
|
|
is made.
|
|
- No open issue blocks Release Agent review.
|