feat(nonlinear-static-newton-raphson): step 11 - equilibrium-projection-and-reference-gate
This commit is contained in:
@@ -6,25 +6,25 @@
|
||||
- workflow_state: `needs-implementation`
|
||||
- owner_agent: `coordinator-agent`
|
||||
- request_date: `2026-08-18`
|
||||
- last_updated: `2026-08-24` (REWORK-006 passed; Step 1 no-push Harness rerun authorized)
|
||||
- last_updated: `2026-08-28` (REWORK-009 passed; bounded Step 11 all-WindowsApps-filter rerun package prepared)
|
||||
- process_classification: `architectural`
|
||||
- requested_capability: Newton–Raphson 방법을 사용하는 새 nonlinear static analysis procedure
|
||||
- proposed_scope_boundary: 첫 release는 initial configuration 기준 Total Lagrangian, materially linear + geometrically nonlinear MITC4로 제한한다. 요구조건 인터뷰와 8단계 evidence gate를 먼저 완료하며, 승인 전에는 상세 수치·I/O·구현 범위를 확정하거나 기존 linear-static lifecycle을 변경하지 않는다.
|
||||
- naming_note: 사용자 표현 `Newton-Rhapson`은 표준 명칭 `Newton–Raphson`으로 정규화했다.
|
||||
- current_goal: REWORK-006 passed and Step 1 is reset to `pending`; authorize no-push Harness rerun from Step 1 under the approved Ninja/MSVC workspace-write envelope.
|
||||
- constraints: 승인된 Stage 1-5 hashes, physics/scope/tolerance/authoritative output/public compatibility, `rho_M <= 1e-12`, fixed-global source identity, no drilling load channel과 Stage 6 materialization evidence를 보존한다. Step 0 commits `fc16ef6` and `e7c6932`, Step 1 uncommitted implementation changes, phase block evidence and no-reference-artifact-change evidence must be preserved. The approved continuation envelope is MSVC/x64/Debug with Ninja generator, full CTest, `workspace-write`, Codex CLI `0.149.1`, `CODEX_HOME=C:\Users\baram\.codex`, child launch PATH filtering of `C:\Program Files\WindowsApps\Microsoft.PowerShell_*` and `C:\Users\baram\AppData\Local\Microsoft\WindowsApps`, implementation-agent `gpt-5.6-terra`/`xhigh`, hooks retained, no-push, no `danger-full-access`, and runner-retained `--disable unified_exec`. Do not edit feature contracts/reference artifacts/tolerance policies, run Abaqus/Nastran/reference solvers, clean/delete build artifacts, or advance Step 2/Physics/Release until `implementation-report.md`, `build-test.md`, `reference-comparison.md` and passing implementation evidence exist.
|
||||
- current_goal: Run one bounded Step `11` only no-push Harness/Implementation rerun after REWORK-009 proved the all-WindowsApps PATH filter; Step `12`, push, reference mutation, `danger-full-access`, `fesa.env` and runtime/product configuration remain forbidden.
|
||||
- constraints: 승인된 physics/scope/tolerance/authoritative output/public compatibility, `rho_M <= 1e-12`, fixed-global source identity, no drilling load channel, thresholds `1e-2`/typed absolute `1e-3`, four-channel AND, Full Newton, fixed stepping, no line search, 100-iteration limit, `docs/TOLERANCE.md`, reference artifact filenames/hashes, stress optional inspection and `RM3` exclusion을 유지한다. USER-DECISION-004 option 1 keeps local nodal `RF1/RF2/RF3` and physical spatial `RM1/RM2` review-only/nonblocking, with blocking factor-one global applied-plus-reaction resultant force `[3]`, global resultant moment `[3]` and accepted free-DOF residual gates/evidence; global resultant semantics are global origin `[0,0,0]`, current force arms and spatial physical nodal moments. USER-DECISION-006 supersedes/retire prior moment-only `1e-9` and all `fesa.env`/runtime-config discussion: do not add `fesa.env`, config parsing, runtime API, or product behavior. Current authoritative decision fixes both normalized factor-one global FORCE and MOMENT balance gates at `<=1e-8` while preserving exact formulas, sum-of-contribution scales, zero-scale rule, quantities/source identity, blocking/review/warning dispositions, NSNR-069 free-residual gates, HDF5 schema, reference artifacts and `docs/TOLERANCE.md` separation. Sequential reapproval is delegated to Coordinator without intermediate user approval through Stage 4 Numerical/reference, Stage 5 I/O, Stage 6 Implementation Planning materialization, then Step `11` only no-push Harness/Implementation under Codex CLI `0.150.1` USER-DECISION-005A envelope. No push, no `danger-full-access`, no reference mutation/solver and no Step `12` auto-advance. Any required change beyond the fixed `1e-8` global balance threshold stops as blocker.
|
||||
- repository_audit: 기존 worktree에는 `.codex/agents/*.toml`과 `AGENTS.md`의 사용자 변경이 있으며 이를 보존한다.
|
||||
|
||||
## 2. Eight-Stage Worklist
|
||||
|
||||
| stage | owner | status | output paths | acceptance gate | evidence summary | blockers | attempt count |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| 1. Requirements | `requirement-agent` | `passed` | `docs/nonlinear-static-newton-raphson/requirements.md` | `<=400` lines, 24 canonical shall requirements, exact 24-row Matrix, approved semantic loss 0, Stage-1 user question 0 | Approved compact content 395 lines; approval metadata 2 lines, current 397; 24↔24 exact ID sets, duplicate/missing/orphan 0, OQ/questions/trivia/placeholders 0; core semantics and NSNR-083 public precedence retained; forbidden changes 0; user explicitly approved on 2026-08-23. | 없음 | 40 |
|
||||
| 1. Requirements | `requirement-agent` | `passed` | `docs/nonlinear-static-newton-raphson/requirements.md` | USER-DECISION-004 option 1을 requirements/reference acceptance contract에 최소 반영하고 compact requirements contract, existing thresholds, four-channel AND, Full Newton, 100-iteration limit, `docs/TOLERANCE.md`, approved semantic loss 0을 보존함 | Requirement Agent returned revised `requirements.md` status `draft`, ready for Coordinator/user re-approval, SHA-256 `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E`. Coordinator audit passed: hash matched, 401 lines, 24 requirement records, 24 Matrix rows, duplicate/missing/orphan IDs 0, USER-DECISION-004 option 1 expressed, local RF/RM review-only, blocking global applied-plus-reaction force/moment plus accepted free residual present, formulation semantics preserved, AUDIT-001 Stage5/6 handoff present, no tolerance/reference/HDF5/public-scope expansion. User explicitly re-approved this hash on 2026-08-27. | 없음 | 43 |
|
||||
| 2. Research | `research-agent` | `passed` | `docs/nonlinear-static-newton-raphson/research.md` | 필요한 이론·benchmark·source reliability·applicability limit가 충분함 | Owner/Coordinator pass와 2026-08-23 사용자 명시 승인; 10 required sections, S1–S17, 12 benchmark candidates, 11 research-relevant requirement IDs, 14 unique open issues; nonlinear stored reference gap explicit; SHA-256 `C920A6B02381230D1DB419D73FE767D611B36720D27D6410507BA88C3CA28EEE`; forbidden changes 0. | 없음 | 1 |
|
||||
| 3. Formulation | `formulation-agent` | `passed` | `docs/nonlinear-static-newton-raphson/formulation.md` | strong/weak form, kinematics, tangent/residual, integration, state/recovery가 구현 가능한 계약이며 O-ROT/O-MAP/O-DRILL/O-MOM/O-BC가 승인 scope 안에서 해소됨 | Rework attempt 2 owner/Coordinator pass와 사용자 명시 승인: reaction force/generalized moment/spatial moment symbols와 dimensions가 rotation matrix `R_I`와 분리됨; immutable fixed-global source, `rho_M <= 1e-12` admissibility, exact projected physical-work covector, `DP`/`DJ_l`/map-Hessian residual-tangent identity가 §§4.4/5/11.2–11.3/13.1/13.4/17에서 일치함; 18 sections와 7 closures 보존; SHA-256 `DFA629888041D5762FD0DF4271353464A692B325DC0C821A8D8689688C1EAFD0`. | 없음 | 2 |
|
||||
| 4. Numerical/reference review | `numerical-review-agent` | `passed` | `docs/nonlinear-static-newton-raphson/numerical-review.md`; `docs/nonlinear-static-newton-raphson/reference-model.md` | 두 문서가 함께 `pass-for-io-definition`이며 수치 안정성과 exact reference contract가 준비됨 | Corrected owner return, Coordinator audit pass and user explicit approval: status `pass-for-io-definition`; approved formulation hash matched; shellNL/shell artifacts inspected read-only with row counts `49/49/288`, duplicate required wide keys 0 and nonfinite required values 0; stress CSVs are optional read-only inspection/order evidence only; `RM3` excluded; required external comparison uses displacement, reaction force and physical spatial `RM1/RM2`; exact prechecks and `docs/TOLERANCE.md` policy retained. Current hashes: numerical-review `9517E11804C45A6F3822D18821D52EA493AE20353C8FFAD61E960F4315977D01`, reference-model `52D10B1D0C0500B295C5E48BCB3618B309D9696371B8070D4E3DCEE8D3D74CD3`. | 없음 | 2 |
|
||||
| 5. I/O definition | `io-definition-agent` | `passed` | `docs/nonlinear-static-newton-raphson/io.md` | Abaqus subset, semantic mapping, HDF5 schema, diagnostics, CSV projection이 승인됨 | Bounded rework owner status `ready-for-coordinator-review`, SHA-256 `DBB959A68F17D67CA2B42569610B9C1B595A8BFB5502BC194B7E62B656031B28`; Coordinator audit passed and user explicitly approved the same hash. REWORK-002 defects are corrected: every argv token containing literal `--output` fails pre-input/pre-log/pre-output with one `cli-usage` diagnostic; `nsnr-log-v1` uses UTF-8 no BOM/LF/TAB fixed fields with four-channel gates, typed thresholds, branch identity, early-failure `not-evaluated(reason)`, round-trip numerics and escaping; log open/write/flush/close is fail-closed with zero-byte non-Newton success logs; exact `VARIABLE=PRESELECT` output requests are ignored-with-warning; lexical path/stem derivation, single-writer/candidate collision rules, HDF5 schema v1, reference projection, stress/RM3 exclusions and `docs/TOLERANCE.md` policy are preserved. | 없음 | 2 |
|
||||
| 6. Implementation | `implementation-planning-agent`; `implementation-agent` | `in-progress` | `docs/nonlinear-static-newton-raphson/implementation-plan.md`; `docs/nonlinear-static-newton-raphson/implementation-report.md`; `docs/nonlinear-static-newton-raphson/build-test.md`; `docs/nonlinear-static-newton-raphson/reference-comparison.md`; `docs/nonlinear-static-newton-raphson/corrections.md` | 상세 인터뷰와 계획 승인 후 TDD, MSVC/x64/Debug CMake/CTest, blocking reference comparison이 통과함 | REWORK-006 Correction returned `corrected-for-implementation-rerun`; `corrections.md` SHA-256 `7FA66A14E694D0451B4422BB5A233E117F2100231A9644771EFD428AF7AD6B81`. Evidence: nested `workspace-write` launched from VsDevCmd x64 plus dependency env; Ninja/Debug/MSVC Hostx64-x64 configure/build/discovery/full CTest all exit 0; 228 discovered/228 passed; Stop-hook `codex exec` exit 0; focused contract test 1/1; full Python 24 passed plus one pre-existing `xhigh`/`extra high` mismatch; reference hashes unchanged; top phase and Step 1 reset to `pending` only after pass, Step 2 remains pending. | Stage 6 implementation evidence docs still absent; no-push Harness rerun from Step 1 is authorized | 14 |
|
||||
| 3. Formulation | `formulation-agent` | `passed` | `docs/nonlinear-static-newton-raphson/formulation.md` | §14.1만 USER-DECISION-003 option 1로 갱신하고 strong/weak form, kinematics, tangent/residual, integration, state/recovery, O-ROT/O-MAP/O-DRILL/O-MOM/O-BC closure를 보존함 | Owner returned `ready-for-coordinator-and-user-reapproval`, SHA-256 `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9`, §14.1-only diff `34` additions/`5` deletions, revised requirements hash matched, 13/13 contract assertions and diff check passed, no other owner file changes. Coordinator audit passed and user explicitly re-approved this hash on 2026-08-24: exact-zero branch selector is matching external residual-channel scale, nonzero external scale retains relative `max(internal, external)` denominator and `1e-2`, typed absolutes remain `1e-3`, correction gates/four-channel AND/lifecycle/reference disposition unchanged. | 없음 | 3 |
|
||||
| 4. Numerical/reference review | `numerical-review-agent` | `passed` | `docs/nonlinear-static-newton-raphson/numerical-review.md`; `docs/nonlinear-static-newton-raphson/reference-model.md` | USER-DECISION-006 delegated reapproval: both normalized factor-one global FORCE and MOMENT balance gates are fixed `<=1e-8`, with exact formulas, sum-of-contribution scales, zero-scale rule, source identity and USER-DECISION-004 dispositions preserved | Owner returned `pass-for-io-definition`, blockers none. Coordinator audit verified hashes `numerical-review.md` `C00994EF4BB23A237547459E157EE5BDA96B28CAF08F712CD31A8E0ABBF62D2C` and `reference-model.md` `B2E6845AB59A32F78261B7A47506C27F7BF4B61401B34BC5DE3DAD4F03D6ADDA`; both reports record global force/moment normalized gate `<=1e-8`, unchanged formulas/scales/exact-zero/current-arm/spatial moment/factor-one/NSNR-069/`docs/TOLERANCE.md` boundaries, 12 reference hashes/length/mtime unchanged, fine primary/coarse companion, U blocking, UR warning-only, local RF/RM review-only and `RM3`/stress excluded. Root independently verified hashes, target occurrences and `git diff --check` with only LF/CRLF warnings. | 없음 | 6 |
|
||||
| 5. I/O definition | `io-definition-agent` | `passed` | `docs/nonlinear-static-newton-raphson/io.md` | USER-DECISION-006 fixed both normalized factor-one global FORCE and MOMENT balance gates at `<=1e-8` while preserving HDF5 schema/projections/reference paths and `docs/TOLERANCE.md` separation | Owner returned `ready-for-coordinator-review`, blockers none. Coordinator verified raw SHA-256 `ED23274F4F15F7D1DFF886FA8158961362C75960990271D24A5FD010A8D51FD9`; owner/root LF-normalized SHA-256 `53AFBB1DF27FBD9CE6C2E23EE34480882241A859D3FC1993E82DB61ACC6637EB`. `io.md` records both coarse/fine global force and moment internal gates as dimension-separated normalized `<=1e-8`, preserves `/global/equilibrium` schema version/path/shape/source identity, constrained reaction/free residual projections, zero-scale rule, NSNR-069, local RF/RM review-only, U blocking, UR warning-only, `RM3`/stress exclusions, reference paths and external-only `docs/TOLERANCE.md`. | 없음 | 7 |
|
||||
| 6. Implementation | `implementation-planning-agent`; `implementation-agent` | `in-progress` | `docs/nonlinear-static-newton-raphson/implementation-plan.md`; `docs/nonlinear-static-newton-raphson/implementation-report.md`; `docs/nonlinear-static-newton-raphson/build-test.md`; `docs/nonlinear-static-newton-raphson/reference-comparison.md`; `docs/nonlinear-static-newton-raphson/corrections.md`; `docs/nonlinear-static-newton-raphson/translation-displacement-comparison.md` | Step `11` only no-push rerun uses Codex CLI `0.150.1`, `workspace-write`, hooks, Terra/`xhigh`, `--disable unified_exec`, VsDevCmd x64/deps, Ninja/MSVC Debug preset and a child launch PATH that removes every entry matching `\\WindowsApps(?:\\|$)`; Step `12` remains outside scope | REWORK-009 owner returned `corrected-for-implementation-rerun`, blockers none, `corrections.md` SHA-256 `4DC996E3D4CA2D515D19E5D244C3A112AF0C9429335698E03089B77B5E79346A`. Coordinator/root audit verified Section 14 records the confirmed all-WindowsApps filter, exact shell smoke, recovered RED->GREEN, focused passes, Stop `302/302`, no runner/source/test/CMake/phase/upstream/reference/tolerance edits, and one bounded Step `11` rerun recommendation. Step `11` and top phase remain `pending`, Step `12` pending, HEAD `65b56b1`, and canonical evidence docs are absent. | Step `11` rerun owner return missing; Step `12` not authorized | 33 |
|
||||
| 7. Physics evaluation | `physics-evaluation-agent` | `pending` | `docs/nonlinear-static-newton-raphson/physics-evaluation.md` | equilibrium, reaction, direction, path/history, energy, symmetry, model coverage가 `pass-for-release-agent`임 | 없음 | Stage 6 passing evidence 필요 | 0 |
|
||||
| 8. Release readiness | `release-agent` | `pending` | `docs/nonlinear-static-newton-raphson/release.md` | `ready-for-release` recommendation과 acceptance traceability가 완전함 | 없음 | Stage 7 passing evidence 필요 | 0 |
|
||||
|
||||
@@ -33,46 +33,52 @@
|
||||
### Active Dispatch Package
|
||||
|
||||
- feature_id: `nonlinear-static-newton-raphson`
|
||||
- current_dispatch: `stage-6-step1-no-push-harness-rerun`
|
||||
- target_sub_agent: `implementation-agent` via Harness Executor (`python scripts/execute.py nonlinear-static-newton-raphson`; root launch required)
|
||||
- current_dispatch: `STEP11-EXECUTION-004-all-windowsapps-filter-step11-only-rerun-root-executor-required`
|
||||
- target_sub_agent: `implementation-agent` via Harness Executor
|
||||
- required_inputs:
|
||||
- REWORK-006 Correction return: status `corrected-for-implementation-rerun`, `docs/nonlinear-static-newton-raphson/corrections.md` SHA-256 `7FA66A14E694D0451B4422BB5A233E117F2100231A9644771EFD428AF7AD6B81`.
|
||||
- User explicitly approved USER-DECISION-002 option A / DECISION-039: Ninja/MSVC is the accepted Stage 6 validation contract for continuation.
|
||||
- Current isolated worktree: `C:\git\FESADev\.worktrees\nonlinear-static-newton-raphson`; no push.
|
||||
- Step 0 evidence: completed and committed as feature commit `fc16ef6` plus metadata commit `e7c6932`.
|
||||
- Current Step 1 state: `pending` with historical `started_at`; existing uncommitted Domain/Abaqus mapping production and C++ test changes are preserved; Step 2..12 remain pending.
|
||||
- Current hashes: `phases/index.json` `307D8041537D73B579E53F96B052BA035774B65ABF071BB230AAE20CFCF966A7`; phase index `D3F30298EB728F4DECA948827900CF35989F47F009872B43DC4BD997B30C3950`.
|
||||
- Correction files/evidence: tracked `CMakePresets.json` SHA-256 `900EEE9EC564CEA09F2A73B8AC59865A7233E9480FAACD3CFEF60F2ABCDFFD43`; ignored `.harness/config.json` byte-identical to `.harness/config.example.json` SHA-256 `D07429860D472AE37D02D6CD638900FA46175085AF47F179E98601227F8D3C43`; contract test `tests/test_harness_preset_contract.py` SHA-256 `94433B65E155C90837724810A1E773BB990779AFB217268E557AE4E7662B8396`.
|
||||
- Correction validation: nested `workspace-write`/VsDevCmd x64/dependency env; Ninja/Debug/MSVC Hostx64-x64 configure/build/discovery/full all exit 0; 228 discovered/228 passed; Stop-hook `codex exec` exit 0; focused contract test 1/1; full Python 24 passed plus pre-existing `xhigh`/`extra high` mismatch 1.
|
||||
- Root independent review: no blocking finding; read AGENTS/ARCHITECTURE/ADR; focused contract test fresh pass 1/1; `cmake --list-presets` exposes only approved preset; `cmake --preset ... -N` exit 0; `git diff --check` pass; local config/build ignored as intended; `git diff -- reference` clean; no old VS/`.harness/build` commands remain in `implementation-plan.md` or `step0.md`..`step12.md`.
|
||||
- Approved Stage 1-5 hashes remain unchanged: requirements `910E351F3F90FFA42F07D15206B55E62C05EAE821E250424430148337506EBF2`; research `C920A6B02381230D1DB419D73FE767D611B36720D27D6410507BA88C3CA28EEE`; formulation `DFA629888041D5762FD0DF4271353464A692B325DC0C821A8D8689688C1EAFD0`; numerical-review `9517E11804C45A6F3822D18821D52EA493AE20353C8FFAD61E960F4315977D01`; reference-model `52D10B1D0C0500B295C5E48BCB3618B309D9696371B8070D4E3DCEE8D3D74CD3`; io `DBB959A68F17D67CA2B42569610B9C1B595A8BFB5502BC194B7E62B656031B28`.
|
||||
- Use `fesa-cpp-msvc-tdd` and project-local `harness`; execute only Executor-selected Step `11` `equilibrium-projection-and-reference-gate`.
|
||||
- Read `AGENTS.md`, `docs/SOLVER_AGENT_DESIGN.md`, `docs/HARNESS.md`, `docs/HARNESS_WORKFLOW.md`, `.codex/hooks.json`, `docs/nonlinear-static-newton-raphson/coordination.md`, approved Stage 4/5/6 documents, phase indexes, `step11.md`, `step11-output.json`, and `corrections.md` Section 14.
|
||||
- Preserve USER-DECISION-006: both normalized factor-one global FORCE and MOMENT balance gates are fixed inclusive `<=1e-8`; no `fesa.env`, config parsing, runtime API, CLI option, public API, HDF5 schema change or product solver acceptance behavior.
|
||||
- Preserve exact formulas, sum-of-contribution scales, exact-zero rule, source identities, NSNR-069 free residual gates, `docs/TOLERANCE.md` separation, reference artifact immutability, local RF/RM review-only, U blocking, UR warning-only, and `RM3`/stress exclusions.
|
||||
- Launch environment: Codex CLI `0.150.1`, app SHA-256 `CBD657DDFE151D1A6EBAD660BEFFDBD3265DC5AFF4B3A6095124D3E2F0156F2F`, `CODEX_HOME=C:\Users\baram\.codex`, `workspace-write`, hooks retained, implementation-agent `gpt-5.6-terra`/`xhigh`, `--disable unified_exec`, VsDevCmd Hostx64/x64 with approved dependency env vars and Ninja/MSVC Debug preset.
|
||||
- Before nested Codex execution, after VsDevCmd/dependency setup, filter child PATH exactly with entries satisfying `$_ -and $_ -notmatch '\\WindowsApps(?:\\|$)'`; preflight must leave `pwsh` unresolved, resolve `powershell` to `C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`, and print exact `FESA_CODEX_SHELL_SMOKE_OK` with exit `0`.
|
||||
- Use the previously approved Step `11` only no-push wrapper/private single-step path that hard-stops before Step `12`; if only the public all-pending runner path is available and Step `12` cannot be blocked, stop and return to Coordinator.
|
||||
- Preserve current dirty Step `11` implementation/test/comparator/CMake work and recovered RED->GREEN evidence; do not fabricate a new RED by reverting code. Run the Step `11` required focused/full VERIFY commands and let automatic hooks run.
|
||||
- Current workdir: `C:\git\FESADev\.worktrees\nonlinear-static-newton-raphson`.
|
||||
- expected_outputs:
|
||||
- Executor-managed no-push Harness rerun beginning at Step 1. Executor owns branch state, pending selection, retries, timestamps, commits and advancement.
|
||||
- Implementation Agent owns only Executor-selected Step 1 `RED -> observed failure -> minimal GREEN -> VERIFY`, then Step 1 status/summary or blocker payload.
|
||||
- Final Stage 6 evidence remains `implementation-report.md`, `build-test.md`, and `reference-comparison.md` only after the approved phase reaches final verification.
|
||||
- acceptance_gate: Root is authorized to rerun no-push `python scripts/execute.py nonlinear-static-newton-raphson` from the isolated worktree, launched from VsDevCmd x64 with `FESA_GTEST_SOURCE_DIR`, `MKL_DIR`, `TBB_DIR`, `HDF5_DIR`, Codex `0.149.1`, aligned `CODEX_HOME`, filtered WindowsApps PATH, `workspace-write`, hooks retained, `gpt-5.6-terra`/`xhigh`, `--disable unified_exec`, Ninja/MSVC presets, and no `danger-full-access`. Passing Stage 6 still requires successful Harness execution, MSVC/x64/Debug full CTest, required reference comparison, and Coordinator audit of implementation evidence docs.
|
||||
- stop_condition: Stop and report if Step 1 rerun blocks/errors, if the old Visual Studio/FileTracker path recurs, if the nested Codex shell hang recurs, if Ninja/MSVC validation fails, or if any unauthorized `danger-full-access`, push, reference solver/artifact mutation or Step 2 advance is attempted before Step 1 completion.
|
||||
- missing_evidence: no-push Harness Step 1 rerun result and Stage 6 implementation evidence docs.
|
||||
- `phases/nonlinear-static-newton-raphson/step11-output.json`
|
||||
- Executor-owned phase metadata and Step `11` source/test/comparator commit if the Step passes
|
||||
- No `implementation-report.md`, `build-test.md` or canonical `reference-comparison.md` in this Step
|
||||
- acceptance_gate: Implementation/Harness returns Step `11` completed with output path/status/evidence/blockers, no push, Stop/focused CTest evidence green under `windows-msvc-ninja-debug`, fixed `<=1e-8` force/moment gates verified, reference artifact hashes/mtimes unchanged and `git diff -- reference` clean; Step `12` remains pending.
|
||||
- stop_condition: Stop and return classified blocker if the same user-local WindowsApps `pwsh.exe`/`CreateProcessAsUserW` failure recurs after the all-WindowsApps filter, if any change beyond fixed `<=1e-8` is needed, if Step `12` would start, if push/`danger-full-access`/manual hook/reference solver/reference mutation is required, or if runner/source/test/phase/upstream/tolerance edits outside `step11.md` contract are needed.
|
||||
- missing_evidence: Step `11` rerun owner return and Executor commit/status evidence. This Coordinator runtime has no callable `spawn_agent` tool (`tool_search` found no dispatch tool), so root/Executor launch is required.
|
||||
|
||||
### Latest Sub-Agent Return
|
||||
|
||||
- target_sub_agent: `correction-agent`
|
||||
- output_paths:
|
||||
- `docs/nonlinear-static-newton-raphson/corrections.md`
|
||||
- status: `corrected-for-implementation-rerun` (owner); Coordinator decision `passed`
|
||||
- status: `corrected-for-implementation-rerun`; Coordinator decision `passed`
|
||||
- evidence_summary:
|
||||
- `corrections.md` SHA-256 `7FA66A14E694D0451B4422BB5A233E117F2100231A9644771EFD428AF7AD6B81`.
|
||||
- Correction expressed DECISION-039 through tracked `CMakePresets.json`, ignored `.harness/config.json`, updated `.harness/config.example.json`, `.gitignore`, `implementation-plan.md`, and `step0.md`..`step12.md`, and added `tests/test_harness_preset_contract.py`; no Harness Python production change was required.
|
||||
- Nested `workspace-write` with VsDevCmd x64 and dependency environment passed Ninja/Debug/MSVC Hostx64-x64 configure/build/discovery/full CTest, 228 discovered/228 passed, and Stop-hook `codex exec` exit 0.
|
||||
- Focused contract test passed 1/1; full Python was 24 passed plus one pre-existing `xhigh`/`extra high` mismatch.
|
||||
- Top phase and Step 1 were reset to `pending` only after blocker-clear evidence; Step 2 remains pending.
|
||||
- Reference artifact hashes match the approved inventory and `git diff -- reference` is clean.
|
||||
- Correction did not run Harness phase, Step 2, reference solvers, cleanup, commit, push, or `danger-full-access`.
|
||||
- Coordinator/root verified `corrections.md` SHA-256 `4DC996E3D4CA2D515D19E5D244C3A112AF0C9429335698E03089B77B5E79346A` and scoped `git diff --check` exit `0` with only LF/CRLF warning.
|
||||
- Section 14 confirms the prior launch filter missed `C:\Users\baram\AppData\Local\Microsoft\WindowsApps`; filtering all entries matching `\\WindowsApps(?:\\|$)` makes `pwsh` unresolved, selects system Windows PowerShell and passes exact `FESA_CODEX_SHELL_SMOKE_OK`.
|
||||
- Owner recorded recovered old-gate RED, `<=1e-8` GREEN, focused implementation/reference passes, Stop `302/302`, no blockers, no Harness phase/build/full CTest rerun, no commit/push, no reference mutation and no runner/source/test/CMake/phase/upstream/tolerance edits.
|
||||
- blockers:
|
||||
- 없음 for REWORK-006; Stage 6 implementation evidence docs remain absent.
|
||||
- self_audit_findings: Coordinator accepted the Correction return, independently checked hashes, preset/config content, phase pending state, no reference/upstream contract diff, root independent review, and did not run Harness/build/tests/reference solvers.
|
||||
- return_contract_check: output path, corrected status, evidence summary, blockers, no-change assertion and cleanup evidence are present.
|
||||
- acceptance_evidence_check: REWORK-006 is closed; no-push Harness rerun from Step 1 is eligible under the approved envelope.
|
||||
- 없음
|
||||
- self_audit_findings: Coordinator accepts REWORK-009 as a report-only environment correction. It does not reopen Stage 4/5/6 semantics and does not itself complete Step `11`.
|
||||
- return_contract_check: Return includes output path, status, evidence summary and blockers; owner scope was limited to `corrections.md` and root verified the hash.
|
||||
- acceptance_evidence_check: The next eligible action is one bounded Step `11` only no-push Harness/Implementation rerun under the corrected all-WindowsApps child PATH filter.
|
||||
|
||||
### USER-DECISION-004 Selected Path
|
||||
|
||||
- selected: User explicitly approved option 1 on `2026-08-26`.
|
||||
- meaning: exact local nodal `RF1/RF2/RF3` and physical spatial `RM1/RM2` rows remain deterministic source-key/schema/finite/inventory/error-reporting evidence but become review-only/nonblocking; `RM3` remains excluded.
|
||||
- blocking evidence: factor-one global resultant force `[3]`, factor-one global resultant moment `[3]`, and accepted free-DOF residual gates/evidence. Resultant moment uses the existing I/O global-equilibrium contract: global origin `[0,0,0]`, current force arms and spatial physical nodal moments.
|
||||
- unchanged: displacement comparison remains blocking, `UR1/UR2/UR3` remains warning-only, stress CSVs remain optional inspection/no comparison projection, `docs/TOLERANCE.md` applies where external comparison remains, and exact source-ID prechecks are preserved.
|
||||
- prohibited: no averaging/collapse/zero clamp, no tolerance relaxation, no comparator weakening, no reference artifact edit, and no Abaqus S4 internal-equivalence claim.
|
||||
- re-approval path: Stage 1 requirements, Stage 4 Numerical/reference and Stage 5 I/O are re-approved. Stage 6 implementation-planning revision draft is returned, Coordinator-audited, user-approved and materialized by MATERIALIZATION-003. DECISION-042 now supplies the separate explicit Step 11 Harness/Implementation request. Stage 3 formulation has no immediate dispatch because current §11.4 and §13.4 already define full residual/reactions and global resultant identities.
|
||||
|
||||
`MESH-REFINEMENT-SPIKE-001` remains diagnostic evidence that option 3 is not met by the current Abaqus S4 coarse/fine pair. `TRANSLATION-REPORT-001` remains translation-only diagnostic evidence and does not authorize final reference-model, tolerance, comparator, HDF5 schema, implementation, Harness, Step 12, Physics or Release changes.
|
||||
|
||||
### Compact Migration Evidence
|
||||
|
||||
@@ -187,10 +193,56 @@
|
||||
| 2026-08-24 | REWORK-005 FileTracker Correction return and Coordinator audit | `blocked` | Correction returned `blocked` / `needs-user-decision`, changed only `docs/nonlinear-static-newton-raphson/corrections.md` SHA-256 `BCA9DEE6F6F262A70FB5C7A49B2BF06CA3FF8BC6C6838FB20A8B48071CF9D420`. VS18/MSBuild `18.8.2` fails in FESA and gtest at `FileTracker..cctor()` -> `GetLongFilePath` with `E_ACCESSDENIED`; inherited `TEMP`/`TMP` is outside workspace; `/p:TrackFileAccess=false` and `:workspace` echo were not proven; exact process trees were cleaned; Ninja/MSVC 27/27 focused and 228/228 full evidence is preserved but not an approved substitute. | `needs-user-decision` | User must choose A Ninja/MSVC evidence substitution, B isolated `danger-full-access` fallback, or C stop pending external Codex sandbox Temp/FileTracker repair |
|
||||
| 2026-08-24 | USER-DECISION-002 option A and REWORK-006 dispatch | `in-progress` | User explicitly approved option A: Ninja/MSVC is the accepted Stage 6 validation contract. Coordinator/root audit found `.harness/config.json` ignored/absent, CMake presets absent, and adapter preset triplets sufficient to route Stop hook to Ninja without Harness Python production changes. Root dispatched `correction-agent` for preset/config plumbing, preset-contract RED test, planning/phase command rewrite, blocker-clear evidence, and phase reset only after evidence. | `needs-correction` | Await REWORK-006 Correction return; no Harness rerun, Step 2, `danger-full-access`, push, reference solver or reference artifact change |
|
||||
| 2026-08-24 | REWORK-006 Correction return and Coordinator audit | `passed` | Correction returned `corrected-for-implementation-rerun`; `corrections.md` SHA-256 `7FA66A14E694D0451B4422BB5A233E117F2100231A9644771EFD428AF7AD6B81`; Ninja/MSVC Debug configure/build/discovery/full CTest passed with 228/228, Stop-hook `codex exec` exit 0, focused contract test 1/1, full Python 24 passed plus pre-existing `xhigh`/`extra high`; reference hashes unchanged; top phase and Step 1 reset to `pending` only after evidence; root independent review found no blocking issue. | `needs-implementation` | Root is authorized to rerun no-push `python scripts/execute.py nonlinear-static-newton-raphson` from Step 1 under approved Ninja/MSVC workspace-write envelope |
|
||||
| 2026-08-24 | Harness Step 11 reference-comparison block and REWORK-007 dispatch | `needs-rework` | Harness Steps 0..10 completed. Step 11 owner added reference comparator/test files but blocked because copied `shellNL.inp` reaches `nonlinear-nonconvergence` after 100 Newton iterations; `shellNL_results.h5` is absent, `git diff -- reference` is clean, and Step 12 remains pending. Log evidence shows force/correction channels passing while residual moment remains failing; approved convergence contract must not be relaxed silently. | `needs-correction` | Root profile dispatch to bounded `correction-agent`: diagnose/fix only implementation-owned nonlinear solver/convergence defect under approved contracts, or return `upstream-contract` / `needs-user-decision` if the approved moment-denominator contract is the blocker |
|
||||
| 2026-08-24 | REWORK-007 upstream-contract return and Coordinator audit | `blocked` | Correction returned `needs-upstream-decision`, `corrections.md` SHA-256 `63E0FF45AF44F564B276C2400B2D1A9AB5F90FC9E1470F4F8246ED57231B175B`, changed only that report. Proof: shellNL has no external rotational generalized force, so approved `D_M=max(||f_int||inf,||f_ext||inf)` gives `eta_M=1` for every nonzero rotational residual; focused CTest #288 reproduced the failure and 100/100 log records have numerator=denominator, relative branch, pass=0. | `needs-user-decision` | USER-DECISION-003: choose a residual-moment convergence contract path before requirements/formulation/numerical-review/io/planning rework or stop the feature |
|
||||
| 2026-08-24 | USER-DECISION-003 option 1 and Requirements rework dispatch | `in-progress` | User approved option 1: if the matching external residual-channel scale is exact zero, apply the existing typed absolute residual gate; otherwise retain the current relative denominator. Coordinator recorded required re-approval sequence and bounded Stage 1 rework to NSNR-069 in `requirements.md` only. | `needs-requirements` | Root profile dispatch to `requirement-agent`; await revised `requirements.md` return and Coordinator audit before explicit Stage 1 re-approval |
|
||||
| 2026-08-24 | Requirements NSNR-069 option 1 return and Coordinator audit | `passed` | Requirement Agent returned `draft`, `ready-for-coordinator-review`, `requirements.md` SHA-256 `89B6AEC25BD6AF5B79D328EEF63359A82DDB9402AE9482E3082A70C474A7B8B8`. Coordinator verified hash, `git diff --check`, 397 lines, 24/24 records/Matrix rows, scoped NSNR-069/status/tolerance/matrix/handoff diff, unchanged thresholds/four-channel AND/Full Newton/100 iterations/reference disposition, and no forbidden execution or artifact change. | `needs-user-decision` | Ask user to explicitly approve revised `requirements.md`; do not dispatch formulation yet |
|
||||
| 2026-08-24 | Revised Stage 1 approval and Formulation §14.1 dispatch | `in-progress` | User explicitly approved revised `requirements.md` SHA-256 `89B6AEC25BD6AF5B79D328EEF63359A82DDB9402AE9482E3082A70C474A7B8B8`. Coordinator closed the Stage 1 re-approval item and prepared a bounded `formulation-agent` package for `formulation.md` §14.1 only under USER-DECISION-003 option 1. | `needs-formulation` | Root profile dispatch to `formulation-agent`; await §14.1-only return and Coordinator audit; do not start numerical-review/I/O/planning/implementation |
|
||||
| 2026-08-24 | Formulation §14.1 option 1 return and Coordinator audit | `passed` | Formulation Agent returned `ready-for-coordinator-and-user-reapproval`, `formulation.md` SHA-256 `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9`. Coordinator verified hash, §14.1-only diff `34` additions/`5` deletions, revised requirements hash alignment, external-scale exact-zero selector, retained nonzero-external relative gate, unchanged thresholds/correction gates/four-channel AND/lifecycle/reference disposition, and no forbidden execution or artifact change. | `needs-user-decision` | Ask user to explicitly approve revised `formulation.md`; do not dispatch numerical-review yet |
|
||||
| 2026-08-24 | Revised Stage 3 approval and Numerical/reference dispatch | `in-progress` | User explicitly approved revised `formulation.md` SHA-256 `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9`. Coordinator closed REAPPROVAL-002 and prepared a bounded `numerical-review-agent` package to validate USER-DECISION-003 option 1, dimensions/predicates, shellNL readiness and reference disposition. | `needs-numerical-review` | Root profile dispatch to `numerical-review-agent`; await owner return and Coordinator audit; do not start I/O/planning/implementation |
|
||||
| 2026-08-24 | Numerical/reference option 1 return and Coordinator audit | `passed` | Numerical Review Agent returned `pass-for-io-definition`; `numerical-review.md` SHA-256 `E93E0DEF1FD5ECDF956D50C6F8B8F1C073E21650E14EDC97A683DCA4688FE153`, diff `+49/-11`; `reference-model.md` byte-identical SHA-256 `44B619BE2494007D8F2F51F34B9D974F934C26818F5AB8AF2DAA288ABF78D2FC`. Coordinator verified revised branch coverage, unchanged reference disposition, reference hashes/row counts, no concrete HDF5 dataset paths, no forbidden artifact/execution scope and diff check pass. | `needs-user-decision` | Ask user to explicitly approve revised Stage 4 artifacts; do not dispatch I/O yet |
|
||||
| 2026-08-24 | Revised Stage 4 approval and I/O dispatch | `in-progress` | User explicitly approved revised `numerical-review.md` SHA-256 `E93E0DEF1FD5ECDF956D50C6F8B8F1C073E21650E14EDC97A683DCA4688FE153` and unchanged `reference-model.md` SHA-256 `44B619BE2494007D8F2F51F34B9D974F934C26818F5AB8AF2DAA288ABF78D2FC`. Coordinator closed REAPPROVAL-003 and prepared a bounded `io-definition-agent` package for `io.md` only. | `needs-io-definition` | Root profile dispatch to `io-definition-agent`; await owner return and Coordinator audit; do not start planning/implementation/Harness |
|
||||
| 2026-08-24 | I/O option 1 return and Coordinator audit | `passed` | I/O Definition Agent returned `ready-for-coordinator-review`; `io.md` raw SHA-256 `DB0BD8339172FD05712D2B7469966DEB0A6A82CB5A0052817F4725319E741334`, LF-normalized SHA-256 `E0C42775FF5C3963A37DF70B00044DDA244A463A6DD222975C2903A1BFA205AF`, diff `+37/-20`. Coordinator verified approved source hash alignment, residual matching-external-scale exact-zero/nonzero selector, retained nonzero relative denominator, unchanged 39-field `nsnr-log-v1` labels/order, unchanged HDF5/reference projection and dispositions, stress optional/RM3 excluded, diff check pass and reference diff clean. | `needs-user-decision` | Ask user to explicitly approve revised `io.md`; do not dispatch planning/implementation/Harness |
|
||||
| 2026-08-24 | Revised Stage 5 approval and Implementation Planning revision-draft dispatch | `in-progress` | User explicitly approved revised `io.md` raw SHA-256 `DB0BD8339172FD05712D2B7469966DEB0A6A82CB5A0052817F4725319E741334`, LF-normalized SHA-256 `E0C42775FF5C3963A37DF70B00044DDA244A463A6DD222975C2903A1BFA205AF`. Coordinator closed REAPPROVAL-004 and prepared a bounded `implementation-planning-agent` package to draft exact plan/phase revisions for USER-DECISION-003 option 1 while preserving Steps 0..10 history and Step 11 blocked comparator work. | `needs-implementation-plan` | Root profile dispatch to `implementation-planning-agent`; owner returns concise revision draft only; do not materialize planning files or run Harness until user approves the draft |
|
||||
| 2026-08-25 | Implementation Planning option 1 revision draft return and Coordinator audit | `passed` | Implementation Planning owner returned `draft-ready-for-user-review`, no files changed/executed. Draft proposes minimal updates to `implementation-plan.md`, Step `5/7/10/11/12` and phase indexes; Step 11 owns RED-first `NSNR-CTRL-018..021` and `NSNR-LOG-012`, minimal `nonlinear_static_control.cpp` update, comparator preservation, copied `shellNL` reference comparison and full CTest. Coordinator verified approved upstream semantics and Harness ownership boundaries. | `needs-user-decision` | Ask user to explicitly approve the planning revision draft; do not materialize or run Harness |
|
||||
| 2026-08-25 | Implementation Planning revision draft approval and materialization dispatch | `in-progress` | User explicitly approved the audited Implementation Planning revision draft and requested materialization. Coordinator closed REAPPROVAL-005 and prepared bounded materialization dispatch limited to `implementation-plan.md`, Step `5/7/10/11/12`, feature index and top index. | `needs-implementation-plan` | Root profile dispatch to `implementation-planning-agent`; await materialization return and Coordinator audit; do not run Harness/CTest/code/reference/push |
|
||||
| 2026-08-25 | Implementation Planning materialization return and Coordinator audit | `passed` | Owner returned `ready-for-implementation`; approved 8 outputs materialized, Step 11 reset to `pending`, top phase reset to `pending`, Steps 0..10 completed history and Step 11 partial comparator files preserved, Step 12 pending, forbidden source/include/reference/tolerance diff empty, HEAD unchanged and no execution/commit/push. | `ready-for-implementation` | Await separate explicit no-push Harness/Implementation execution request; current Executor-selected pending Step is Step 11 |
|
||||
| 2026-08-25 | Step 11 no-push Harness/Implementation execution authorization | `in-progress` | User explicitly requested no-push Harness/Implementation rerun from Step 11. Coordinator preflight verified isolated linked worktree, branch `feat-nonlinear-static-newton-raphson`, HEAD `65b56b1`, Step 11 `pending` with historical `started_at`, Step 12 `pending`, Codex CLI `0.149.1`, approved `windows-msvc-ninja-debug` preset/config, runner `--disable unified_exec`, and approved dirty state with preserved comparator files. | `needs-implementation` | Launch no-push Harness Executor under DECISION-038/039 envelope; await Step 11 return; no `danger-full-access`, push, reference mutation, reference solver, Step 12, Physics or Release |
|
||||
| 2026-08-25 | Step 11 reference-comparison return and REWORK-008 dispatch package | `needs-rework` | Harness exit `2`; Step 11 blocked; Step 12 pending; `step11-output.json` SHA-256 `0F3B876AF84398EB1D2C90335998115797054B012899DE27E4070A6F533EEF91`. Selector/control/log fix passed and factor-one HDF5 exists, but reference gate `15/16` failed on blocking reaction RMS. Additional read-only diagnosis shows deterministic key mapping and global equilibrium but local reaction redistribution mismatch already present in linear-limit reactions, so Correction must audit implementation-vs-upstream-contract before any production edit. | `needs-correction` | Root profile dispatch to `correction-agent` for REWORK-008 diagnostic; no tolerance/reference/HDF5 schema contract change, reference solver, reference mutation, `danger-full-access`, push, Step 12, Physics or Release |
|
||||
| 2026-08-25 | REWORK-008 upstream-contract return and USER-DECISION-004 gate | `blocked` | Correction returned `needs-upstream-decision`, classification `upstream-contract` / `reference-blocking-model-adequacy-conflict`, Section 13 SHA-256 `C8AC5A5015E5F9622E2964F514F2C06572F953B5244F006044DEDDF0F3D0A194`. It found no reaction computation/storage/mapping defect: residual→reaction→HDF5 mapping exact, constrained `phi=0`, global resultant matches, and local RF/RM mismatch already exists in FESA-linear versus Abaqus-linear while each solver NL≈linear. No forbidden files changed by correction; reference diff clean and HEAD unchanged. | `needs-user-decision` | USER-DECISION-004: choose local nodal reactions review-only with global equilibrium blocking, global resultant-only blocking, or independent formulation-appropriate local-reaction benchmark; do not dispatch further work before explicit choice |
|
||||
| 2026-08-25 | MESH-REFINEMENT-SPIKE-001 numerical-review dispatch | `in-progress` | User added untracked main-checkout `reference/shellNL-meshfine` artifacts and explicitly approved a spike design for USER-DECISION-004 option 3 candidate validation. Coordinator verified read-only hashes/rows and feature-worktree missing state, then recorded a bounded `numerical-review-agent` package for artifact/input-equivalence/row-identity readiness only. | `needs-user-decision` | Root profile dispatch to `numerical-review-agent`; no final option selection, reference solver, artifact mutation, tolerance/comparator/HDF5 schema/implementation/Harness/Step 12/Physics/Release change |
|
||||
| 2026-08-25 | MESH-REFINEMENT-SPIKE-001 diagnostic return and Coordinator audit | `passed` | Fine artifacts copied byte-identically; required displacement/reaction artifacts are valid, stress is optional inventory only with one malformed optional key. Existing executable run exited `0` and produced H5/log hashes. Translation/rotation pass common tolerance, but local RF/RM rows still fail per-row gates; inplane reaction worsens under refinement. Global resultants and free residuals are sound. The same Abaqus S4 coarse/fine pair is not an independent formulation-appropriate local-reaction benchmark. | `needs-user-decision` | Ask user to choose USER-DECISION-004; Coordinator recommends option 1 review-only local nodal rows plus blocking global equilibrium/resultants; no Harness/Step 11 rerun before approval |
|
||||
| 2026-08-26 | TRANSLATION-REPORT-001 focused reporting dispatch | `in-progress` | User approved bounded focused report design for `docs/nonlinear-static-newton-raphson/translation-displacement-comparison.md`: coarse/fine U1/U2/U3 translation-only comparison with exact artifact/HDF5 identity, source-key prechecks, `docs/TOLERANCE.md`, metrics, worst rows, mesh trend and exclusions. | `needs-user-decision` | Root profile dispatch to `implementation-agent`; only the focused report may be created; do not create canonical `reference-comparison.md`, run solver/Harness/reference solver, edit code/comparator/tolerance/reference artifacts, change USER-DECISION-004, or advance Step 11/12 |
|
||||
| 2026-08-26 | TRANSLATION-REPORT-001 return and Coordinator audit | `passed` | Implementation Agent returned `translation-diagnostic-pass-not-a-gate` and created only `docs/nonlinear-static-newton-raphson/translation-displacement-comparison.md` SHA-256 `597D923FB1943CCB2BCF9D9FFC13FD904F795DFEB9CB71B097FF168B78694338`. Coordinator/root audit verified exact artifact hashes, coarse/fine U-key prechecks, `docs/TOLERANCE.md` pass metrics, explicit exclusions, diff check pass, tracked reference diff clean and canonical evidence docs absent. | `needs-user-decision` | Historical pre-decision state; superseded by USER-DECISION-004 option 1 entry below. No Step 11 rerun, Step 12, Physics or Release before required upstream re-approval |
|
||||
| 2026-08-26 | USER-DECISION-004 option 1 approval and requirements dispatch package | `in-progress` | User explicitly selected option 1. Coordinator recorded local nodal RF/RM as review-only/nonblocking, global resultant force/moment plus accepted free residual as blocking reaction/equilibrium evidence, verified Stage 3 formulation has no immediate semantic rework need because §11.4/§13.4 already define reactions/global resultants, and recorded the Stage 5/6 projection audit item for current-position/spatial-moment global equilibrium versus raw-residual implementation helper. | `needs-requirements` | Root profile dispatch to bounded `requirement-agent` for `requirements.md` only; after owner return, Coordinator audit and explicit user approval are required before Stage 4 |
|
||||
| 2026-08-27 | REAPPROVAL-006 Requirements return and Coordinator audit | `passed` | Requirement Agent returned revised `requirements.md` SHA-256 `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E`, status `draft`. Coordinator verified hash, 24/24 requirement and matrix preservation, USER-DECISION-004 option 1 semantics, AUDIT-001 Stage5/6 handoff, preserved formulation meaning, unchanged thresholds/reference immutability and no forbidden gate advancement. | `needs-user-decision` | Ask user to explicitly approve revised `requirements.md`; do not dispatch Stage 4 Numerical/reference until approval |
|
||||
| 2026-08-27 | Revised Stage 1 approval and Stage 4 Numerical/reference dispatch package | `in-progress` | User explicitly approved revised `requirements.md` SHA-256 `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E`. Coordinator closed Stage 1 re-approval and prepared bounded `numerical-review-agent` package requiring `fesa-numerical-review`, USER-DECISION-004 option 1 reaction disposition, coarse/fine reference role review and AUDIT-001 downstream separation. | `needs-numerical-review` | Root profile dispatch to `numerical-review-agent`; allowed outputs only `numerical-review.md` and `reference-model.md`; do not start Stage 5 |
|
||||
| 2026-08-27 | REAPPROVAL-007 Numerical/reference return and Coordinator audit | `passed` | Numerical Review Agent returned `pass-for-io-definition`, blockers none; `numerical-review.md` SHA-256 `0A7224003CFF706E9B4D9F55BA2624805299FAC8F42ECD2BC37E429B26DF0091`, `reference-model.md` SHA-256 `81A82D3B367FF501F3C355F81D4E5DD4677BE58E4182E4EB8EEDBB2462FEA2CE`. Coordinator verified requirements/formulation alignment, fine-primary/coarse-companion roles, local RF/RM review-only with `RM3`/stress excluded, U blocking/UR warning-only, internal normalized `1e-10` global balance gate separated from external `docs/TOLERANCE.md`, NSNR-069 free residual gate and AUDIT-001 Stage5/6 handoff. | `needs-user-decision` | Ask user to explicitly approve revised Stage 4 artifacts; do not dispatch Stage 5 I/O yet |
|
||||
| 2026-08-27 | Revised Stage 4 approval and Stage 5 I/O dispatch package | `in-progress` | User explicitly approved revised `numerical-review.md` SHA-256 `0A7224003CFF706E9B4D9F55BA2624805299FAC8F42ECD2BC37E429B26DF0091` and `reference-model.md` SHA-256 `81A82D3B367FF501F3C355F81D4E5DD4677BE58E4182E4EB8EEDBB2462FEA2CE`. Coordinator closed REAPPROVAL-007 and prepared bounded `io-definition-agent` package requiring `fesa-io-contract`, USER-DECISION-004 option 1 HDF5/reference projection update, AUDIT-001 logical quantity separation and no parser/API/code/reference changes. | `needs-io-definition` | Root profile dispatch to `io-definition-agent`; expected output only `io.md`; await owner return and Coordinator audit; do not start Stage 6/Harness |
|
||||
| 2026-08-27 | REAPPROVAL-008 I/O return and Coordinator audit | `passed` | I/O Definition Agent returned `ready-for-coordinator-review`, blockers none; `io.md` raw SHA-256 `C7400C2B1454BE7287EE22D18BB28DA7AFB27FE6F8287783BB83769A4AB8D83C`, LF-normalized SHA-256 `BF775990D83D95B470F814BE57C9676305119D97E48225E231D4926E7809029F`. Coordinator verified approved source hashes, HDF5 schema v1 authority, `/global/equilibrium` applied-plus-reaction current-position/spatial-moment semantics, distinct free-residual/constrained-resultant/balance-error projections, local RF/RM review-only, `RM3`/stress excluded, U blocking/UR warning-only, fine primary/coarse companion and internal `1e-10` versus external `docs/TOLERANCE.md` boundary. | `needs-user-decision` | Ask user to explicitly approve revised `io.md`; do not start Stage 6 planning/materialization/Harness before approval |
|
||||
| 2026-08-27 | Revised Stage 5 approval and Stage 6 planning re-entry draft dispatch | `in-progress` | User explicitly approved revised `io.md` raw SHA-256 `C7400C2B1454BE7287EE22D18BB28DA7AFB27FE6F8287783BB83769A4AB8D83C`. Coordinator closed REAPPROVAL-008 and prepared bounded DRAFT ONLY `implementation-planning-agent` package requiring `fesa-cpp-msvc-tdd` plus project-local `harness`; the owner must audit existing Step 11+ plan/phase state and return a chat draft only. | `needs-implementation-plan` | Root profile dispatch to `implementation-planning-agent`; no planning-file materialization, Harness, build, CTest, solver, reference solver, source/test/CMake/reference/tolerance edit, commit or push before draft approval |
|
||||
| 2026-08-27 | REAPPROVAL-009 Planning draft return and Coordinator audit | `passed` | Planning Agent returned `draft-ready-for-user-review`, blockers none, no files changed/executed. Coordinator verified the draft is a minimal Step 11/12 revision: preserve Steps `0..10`, reset/rename only Step `11` after approval, keep Step `12` pending, cover AUDIT-001 current-arm/spatial-moment projections, no new HDF5 dataset/public header, internal/external tolerance separation, fine primary/coarse companion and approved Ninja/MSVC commands. | `needs-user-decision` | Ask user to approve or reject the Stage 6 revision draft; do not materialize planning files or run Harness until explicit approval |
|
||||
| 2026-08-27 | REAPPROVAL-009 draft approval and MATERIALIZATION-003 dispatch package | `in-progress` | User explicitly approved the Coordinator-audited 2-Step draft. Coordinator prepared materialization-only dispatch to `implementation-planning-agent`, required `fesa-cpp-msvc-tdd` plus project-local `harness`, fixed current input hashes and allowed only `implementation-plan.md`, `phases/index.json`, phase index, `step11.md` and `step12.md` as outputs. | `needs-implementation-plan` | Root profile dispatch to `implementation-planning-agent`; no Harness/build/CTest/solver/reference solver, code/tests/CMake/upstream/reference/tolerance edit, evidence-doc creation, commit or push |
|
||||
| 2026-08-27 | MATERIALIZATION-003 return and Coordinator audit | `passed` | Planning Agent materialized exactly the allowed five outputs: `implementation-plan.md` `758F8F5BB224E88864338C48221D53D4BD2F8633E04C9F2136FFF9E2D1BADFB8`, `phases/index.json` `536D4BF9427792ECCCE4C9A2980210E050035D0202DB8A700BDD671E0DB218C7`, phase index `D808D5C0F389B444A529FC81A48B5726E4CF282CA51B62F3AECAC4D89EA6A5BF`, `step11.md` `D324F7E1495A25B3B8CEA7A2A6C68D559F8336C3A527A164ECD2D0A82C20A526`, `step12.md` `F2831F7E802A40631C91E638C9079508EF1A97CFE46FACC51DCBB4EC55337452`. Coordinator verified JSON parse, 24/24 requirements mapping, clean placeholder scan, scoped `git diff --check` pass, `NSNR-PROC-019` collision handling, Step `11` pending, Step `12` pending, Steps `0..10` preserved, canonical evidence docs absent, tracked reference diff clean, and no execution/commit/push. | `needs-implementation` | Await separate explicit no-push Step 11 Harness/Implementation request; do not run Harness automatically |
|
||||
| 2026-08-27 | Step 11 no-push Harness/Implementation execution approval | `in-progress` | User explicitly approved `Harness/Implementation 시작`. Coordinator verified current runner CLI takes slug `nonlinear-static-newton-raphson`, current phase has Step `11` pending and Step `12` pending, and prepared a no-push `implementation-agent` via Harness dispatch for Step `11` only under DECISION-038/039. Step `12` is outside this approval; current runner loops over pending steps, so root/Executor must enforce the one-step boundary or stop before Step `12`. | `needs-implementation` | Root may run `python scripts/execute.py nonlinear-static-newton-raphson` only under the recorded no-push Step 11 envelope; await Step `11` return |
|
||||
| 2026-08-27 | Step 11 execution recurrent runtime block | `blocked` | DECISION-042 Step11-only execution used the approved no-push envelope but timed out after `1800s`; `step11-output.json` SHA-256 `9FCBC5CE10E2C1B931EC16CADFADF7684C45FBB0B11D9A404922D607EB16706D`, exit `124`, stderr `Codex timed out after 1800 seconds.`, stdout nested command executions stuck `in_progress`. Retry was prevented by secondary CP949 `UnicodeEncodeError` printing `↻`. Read-only shell smokes under tested flag/env variants did not complete. Step `11` and Step `12` remain pending; no production/test/reference edits, commit or push. | `needs-user-decision` | No automatic correction dispatch; user must choose a runtime/runner route before any Step `11` rerun |
|
||||
| 2026-08-28 | USER-DECISION-005 option A and Step 11 runtime-smoke dispatch | `in-progress` | User approved option A: use official current Codex CLI `0.150.1` to restore the runtime/update path, prove same `workspace-write`/filtered WindowsApps PATH/`CODEX_HOME`/VsDevCmd/hooks/Terra-xhigh/`--disable unified_exec` envelope with a bounded nested shell smoke, then rerun only Step `11` no-push if the smoke passes. | `needs-implementation` | Root may perform the Codex `0.150.1` smoke preflight and, only on pass, launch Step `11` Harness/Implementation under the active dispatch; Step `12`, push, `danger-full-access`, reference solver/artifact mutation and manual hooks remain forbidden |
|
||||
| 2026-08-28 | USER-DECISION-005A smoke pass and Step 11 dispatch confirmation | `passed` | Root supplied smoke success evidence: Codex CLI `0.150.1`, app SHA-256 `CBD657DDFE151D1A6EBAD660BEFFDBD3265DC5AFF4B3A6095124D3E2F0156F2F`, doctor `20 ok/0 fail`, same-envelope smoke `93.621s`, nested exit `0`, command_execution completed, command exit `0`, output `CODEX_SHELL_SMOKE_OK`, stderr empty. Coordinator updated `BLOCKER-002` to smoke-passed and confirmed Step `11` dispatch. | `needs-implementation` | Historical smoke gate pass; superseded by the Step `11` blocked return below |
|
||||
| 2026-08-28 | USER-DECISION-005A Step 11 blocked return | `blocked` | Step `11` only no-push Harness ran after smoke pass; runner exit `2`; Step `11` blocked at `2026-08-28T02:03:23+09:00`; Step `12` pending. Current-arm/spatial projection reproduced and NSNR-069 free residual accepted, but coarse/fine factor-one global moment balance metrics `1.413750912531167e-10`/`2.7454660159924086e-10` exceed approved `1e-10`; CTest `295` and `299` failed. `step11-output.json` SHA-256 `D56EB816DDD63E71D8880CA5AF39C10A38E2BF562A28207D26417716154F1872`; no commits/push; reference hashes/length/mtimes unchanged and `git diff -- reference` empty. | `needs-user-decision` | USER-DECISION-006: choose an upstream convergence-acceptance/global-balance-gate path before any rework, Step `11` retry, Step `12`, Physics or Release |
|
||||
| 2026-08-28 | USER-DECISION-006 superseding global balance threshold and Stage 4 dispatch package | `in-progress` | User withdrew the entire `fesa.env`/runtime-config discussion and superseded the prior moment-only `1e-9` decision. Current authoritative decision fixes both normalized factor-one global FORCE and MOMENT balance gates at `<=1e-8`; all formulas, sum-of-contribution scales, zero-scale rule, quantities/source identity, blocking/review/warning dispositions, NSNR-069, HDF5 schema, reference artifacts and `docs/TOLERANCE.md` separation are preserved. User delegated Stage 4/5/6 reapproval and Step `11` completion without intermediate approval waits, bounded to this threshold-only change. | `needs-numerical-review` | Root/profile dispatch to `numerical-review-agent` with `fesa-numerical-review`; allowed outputs only `numerical-review.md` and `reference-model.md`; do not start Stage 5, planning, Harness, Step `11` retry, Step `12`, reference solver, push or `danger-full-access` before owner return and Coordinator audit |
|
||||
| 2026-08-28 | REAPPROVAL-010 Stage 4 return and Coordinator audit | `passed` | Numerical Review Agent returned `pass-for-io-definition`, blockers none; `numerical-review.md` SHA-256 `C00994EF4BB23A237547459E157EE5BDA96B28CAF08F712CD31A8E0ABBF62D2C`, `reference-model.md` SHA-256 `B2E6845AB59A32F78261B7A47506C27F7BF4B61401B34BC5DE3DAD4F03D6ADDA`. Coordinator verified required output paths/status, both normalized factor-one global force/moment gates `<=1e-8`, unchanged formulas/scales/exact-zero/current-arm/spatial moment/factor-one/NSNR-069/`docs/TOLERANCE.md` boundaries, unchanged dispositions and no forbidden Stage 5/6/source/reference advancement. | `needs-io-definition` | Prepare bounded Stage 5 `io-definition-agent` dispatch; expected output only `io.md` |
|
||||
| 2026-08-28 | REAPPROVAL-011 Stage 5 I/O dispatch package | `in-progress` | Coordinator prepared bounded `io-definition-agent` package requiring `fesa-io-contract` and the passed Stage 4 hashes. Scope is limited to `io.md` global balance gate literals/diagnostics/handoff for force and moment `<=1e-8`; HDF5 schema/projections/reference paths/dispositions and `docs/TOLERANCE.md` separation must be preserved. | `needs-io-definition` | Root/profile dispatch to `io-definition-agent`; await owner return and Coordinator audit; do not start Stage 6 planning/Harness/Step 11 retry |
|
||||
| 2026-08-28 | REAPPROVAL-011 Stage 5 I/O return and Coordinator audit | `passed` | I/O Definition Agent returned `ready-for-coordinator-review`, blockers none; `io.md` raw SHA-256 `ED23274F4F15F7D1DFF886FA8158961362C75960990271D24A5FD010A8D51FD9`, LF-normalized SHA-256 `53AFBB1DF27FBD9CE6C2E23EE34480882241A859D3FC1993E82DB61ACC6637EB`. Coordinator verified both coarse/fine global force and moment internal gates `<=1e-8`, unchanged HDF5 schema/projections/identities/scales/zero-scale/NSNR-069/reference paths and external-only `docs/TOLERANCE.md`, and no `fesa.env`/runtime-config direction. | `needs-implementation-plan` | Prepare bounded Stage 6 `implementation-planning-agent` materialization dispatch; do not run Harness or edit planning files as Coordinator |
|
||||
| 2026-08-28 | REAPPROVAL-012 Stage 6 planning materialization dispatch package | `in-progress` | Coordinator prepared bounded `implementation-planning-agent` package requiring `fesa-cpp-msvc-tdd` plus project-local `harness`. Scope is limited to `implementation-plan.md`, `phases/index.json`, phase index, `step11.md` and `step12.md`; update only obsolete `1e-10` global balance references to force/moment `<=1e-8`, preserve Steps `0..10` and dirty Step `11` implementation work, reset top/Step `11` for rerun only after materialization evidence, and keep Step `12` pending. | `needs-implementation-plan` | Root/profile dispatch to `implementation-planning-agent`; await materialization return and Coordinator audit; no Harness/build/CTest/solver/reference solver, implementation, commit or push |
|
||||
| 2026-08-28 | REAPPROVAL-012 Stage 6 planning materialization return and Coordinator audit | `passed` | Planning owner returned `ready-for-implementation`, blockers none; hashes verified for `implementation-plan.md` `CA3EF7D2E95AA1F15757CD138CEF67E06E51195F59FB8DBE676E5772CC1D6C2C`, `phases/index.json` `307D8041537D73B579E53F96B052BA035774B65ABF071BB230AAE20CFCF966A7`, phase index `E707372018A7F5DE86CDB40277AE567FE86915C47EFDB38A687E71DD65A2C9EB`, `step11.md` `F0DFD7BF2A473F47BCF7F6195DD41569B349474BF93F5D5B642882A037DBB8F8`, and `step12.md` `191432020B9C774BF153EECFD8F9A2EF74AF0014E2405478F541D85B517D7DD0`. Coordinator/root verified JSON parse, top/Step `11` pending, Step `12` pending, Steps `0..10` completed metadata retained, Step `11.started_at` retained, `NSNR-REF-024..025` gate requirements present, and no execution. | `needs-implementation` | Prepare Step `11` only no-push `implementation-agent` Harness package under USER-DECISION-005A; do not start Step `12` |
|
||||
| 2026-08-28 | STEP11-EXECUTION-003 global balance `1e-8` no-push dispatch package | `in-progress` | Coordinator prepared bounded Step `11` only package for `implementation-agent` via Harness. Runner/Executor owns branch, pending selection, retry, timestamps, commits, advancement and top-level phase status; Implementation Agent owns only Step `11` RED -> observed failure -> minimal GREEN -> VERIFY. Package requires `NSNR-REF-022` old-gate RED plus test-first `NSNR-REF-024..025`, no `fesa.env`/product config, reference immutability, no push and no Step `12` auto-advance. | `needs-implementation` | Root/Executor may launch Step `11` only under USER-DECISION-005A; await owner return and stop before Step `12` |
|
||||
| 2026-08-28 | STEP11-EXECUTION-003 runtime/environment return and Coordinator audit | `needs-rework` | Step `11` only wrapper attempt 1 timed out and attempt 2 selected user-local WindowsApps `pwsh.exe`, producing `CreateProcessAsUserW failed: 5 (Access denied)` on every exec. Stop-hook CTest evidence nevertheless passed all `302/302`, including the Step `11` global balance/reference tests; Step `11` remains pending because the agent did not update status/summary and Executor did not commit. Root stopped retry 3 and cleaned PIDs `4240`/`12000`/`16924`. | `needs-correction` | Dispatch bounded report-only `correction-agent` for launch PATH filter diagnosis; no Step `11` rerun or Step `12` before correction return |
|
||||
| 2026-08-28 | REWORK-009 user-local WindowsApps `pwsh.exe` launch filter return and Coordinator audit | `passed` | Correction Agent returned `corrected-for-implementation-rerun`, blockers none, `corrections.md` SHA-256 `4DC996E3D4CA2D515D19E5D244C3A112AF0C9429335698E03089B77B5E79346A`. Coordinator/root verified Section 14: all PATH entries matching `\\WindowsApps(?:\\|$)` filtered, `pwsh` unresolved, system Windows PowerShell selected, exact `FESA_CODEX_SHELL_SMOKE_OK`, recovered RED->GREEN, focused passes, Stop `302/302`, no forbidden edits/execution/commit/push/reference mutation. | `needs-implementation` | Issue one bounded Step `11` only no-push rerun package using corrected launch PATH filter |
|
||||
| 2026-08-28 | STEP11-EXECUTION-004 all-WindowsApps-filter Step 11 rerun package | `in-progress` | Coordinator prepared bounded `implementation-agent`/Harness package: run only Step `11`, preserve fixed `<=1e-8` force/moment gates and all Stage 4/5/6 contracts, use Codex CLI `0.150.1` with `CODEX_HOME`, `workspace-write`, hooks, Terra/`xhigh`, `--disable unified_exec`, VsDevCmd x64/deps, Ninja/MSVC Debug preset and child PATH filtered by `\\WindowsApps(?:\\|$)`. | `needs-implementation` | Root/Executor may launch Step `11` only; hard-stop before Step `12`; no push, `danger-full-access`, reference mutation/solver or manual hooks |
|
||||
|
||||
- current_dispatch: `stage-6-step1-no-push-harness-rerun`
|
||||
- current_dispatch: `STEP11-EXECUTION-004-all-windowsapps-filter-step11-only-rerun-root-executor-required`
|
||||
- current_workflow_state: `needs-implementation`
|
||||
- next_gate_requires_user_approval: `false` for Step 1 no-push Harness rerun; `true` before any `danger-full-access`, Visual Studio fallback, reference solver, push, or manual Step 2 advancement
|
||||
- next_gate_requires_user_approval: `false` only for the delegated threshold-only Stage 4 -> Stage 5 -> Stage 6 planning/materialization -> Step `11` path; `true` for any change beyond fixed `<=1e-8` global force/moment balance gates, `fesa.env`/runtime config, formula/source identity/zero-scale/NSNR-069/HDF5/reference/TOLERANCE change, Step `12`, Physics or Release.
|
||||
|
||||
## 5. Risk, Blocker, and User-Decision Register
|
||||
|
||||
@@ -200,12 +252,42 @@
|
||||
| REWORK-001 | report-contract | Stage 4 returned evidence had a cross-report contradiction on stress CSV and `RM3` comparison disposition. Corrected reports now consistently treat stress CSVs as optional read-only inspection/order evidence only and exclude `RM3` from comparison. | `numerical-review-agent` | closed |
|
||||
| REWORK-002 | io-contract | Stage 5 `io.md` bounded correction completed: public CLI `--output` substring rejection, Newton iteration log schema, exact `VARIABLE=PRESELECT` ignored-with-warning handling, repository-wide non-Newton log lifecycle, DECISION-028/029/030 path/log lifecycle and collision semantics are now recorded in `io.md`. | `io-definition-agent` | closed |
|
||||
| REWORK-003 | harness | Stage 6 attempt 1 timeout/no-retry defect is repaired in Harness infrastructure: timeouts now return structured exit `124` through `MAX_RETRIES`, and implementation-agent profile settings are passed to Codex. Same normalized failure attempt count remains 1; attempt 2 is authorized and same-class recurrence stops automatic rework. | `implementation-agent` via Harness Executor | closed |
|
||||
| BLOCKER-002 | harness-runtime | Nested Codex Windows shell tool execution hung inside Implementation/Correction Codex sessions. It is mitigated for the authorized rerun by Codex CLI `0.149.1`, aligned `CODEX_HOME`, filtered WindowsApps PATH entries, smoke success with exact `CODEX_SHELL_SMOKE_OK` output, and REWORK-004 runner retention of `--disable unified_exec`. Reopen only if the same hang recurs under the exact approved envelope. | external Codex runtime / user-root decision | mitigated |
|
||||
| BLOCKER-002 | harness-runtime | Closed for USER-DECISION-005A route: nested Codex Windows shell tool execution hung under the approved Codex CLI `0.149.1` envelope in DECISION-042, but Codex CLI `0.150.1` same-envelope smoke passed and the Step `11` Harness rerun reached deterministic CTest/reference-gate failures instead of a shell hang. Recurrence of nested command `in_progress` timeout reopens this blocker. | external Codex runtime / user-root decision | closed-smoke-passed-step11-executed |
|
||||
| BLOCKER-003 | dispatch-runtime | This Coordinator runtime exposed no callable `spawn_agent` tool, but root successfully performed the required Correction Agent profile dispatch. | coordinator/root tooling | closed |
|
||||
| REWORK-004 | harness | Corrected: `scripts/execute.py` now passes adjacent `--disable`, `unified_exec` immediately after `codex exec`; `tests/test_execute.py` asserts this while preserving terra/xhigh routing; `corrections.md` records RED/GREEN/VERIFY and no Harness phase/source C++/CMake/reference edits. | `correction-agent` | closed |
|
||||
| REWORK-005 | harness | FileTracker Correction returned `blocked`: VS18/MSBuild `FileTracker` `E_ACCESSDENIED` is classified as environment-owned sandbox/MSBuild interaction; no safe Visual Studio `workspace-write` workaround was proven. User resolved the route by approving option A Ninja/MSVC validation. | `correction-agent` | closed-by-USER-DECISION-002A |
|
||||
| REWORK-006 | harness | Corrected: approved option A is expressed through tracked `CMakePresets.json`, ignored `.harness/config.json`, preset-based implementation-plan/step verification commands, RED-first contract test, workspace-write Ninja/MSVC blocker-clear evidence, and blocked-to-pending phase reset only after pass. | `correction-agent` | closed |
|
||||
| REWORK-007 | upstream-contract | Step 11 reference comparison is blocked because the approved residual-moment convergence denominator makes no-applied-moment shellNL structurally nonconvergent for any nonzero rotational residual. Correction changed only `corrections.md` and returned `needs-upstream-decision`. | `correction-agent` | closed-upstream-contract |
|
||||
| REWORK-008 | upstream-contract | Correction returned `needs-upstream-decision`, classification `reference-blocking-model-adequacy-conflict`: local nodal RF/RM blocking assumes unsupported Abaqus S4 versus FESA MITC4 distribution adequacy, while reaction pipeline/global equilibrium evidence is sound. Section 13 SHA-256 `C8AC5A5015E5F9622E2964F514F2C06572F953B5244F006044DEDDF0F3D0A194`. | `correction-agent` | closed-upstream-contract |
|
||||
| USER-DECISION-004 | user decision | User explicitly approved option 1 on `2026-08-26`: local nodal `RF1/RF2/RF3` and physical spatial `RM1/RM2` rows are review-only/nonblocking with deterministic source-key/schema/finite/inventory/error reporting; `RM3` remains excluded; blocking reaction/equilibrium evidence is factor-one global resultant force `[3]`, global resultant moment `[3]` and accepted free-DOF residual gates/evidence. No tolerance/comparator/reference relaxation is authorized. | user via Coordinator | closed |
|
||||
| REAPPROVAL-006 | upstream-reapproval | USER-DECISION-004 option 1 Stage 1 propagation completed: requirements owner/Coordinator audit passed for `requirements.md` SHA-256 `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E`, and the user explicitly re-approved that hash on `2026-08-27`. Stage 3 formulation has no immediate dispatch because §11.4/§13.4 already define residual/reaction/global-resultant semantics. | `requirement-agent` / Coordinator / user | closed |
|
||||
| REAPPROVAL-007 | upstream-reapproval | USER-DECISION-004 option 1 Stage 4 propagation completed: `numerical-review.md` SHA-256 `0A7224003CFF706E9B4D9F55BA2624805299FAC8F42ECD2BC37E429B26DF0091`, `reference-model.md` SHA-256 `81A82D3B367FF501F3C355F81D4E5DD4677BE58E4182E4EB8EEDBB2462FEA2CE`, owner status `pass-for-io-definition`, Coordinator audit passed, blockers none, and the user explicitly approved both hashes on `2026-08-27`. | `numerical-review-agent` / Coordinator / user | closed |
|
||||
| REAPPROVAL-008 | upstream-reapproval | USER-DECISION-004 option 1 Stage 5 propagation completed: `io.md` raw SHA-256 `C7400C2B1454BE7287EE22D18BB28DA7AFB27FE6F8287783BB83769A4AB8D83C`, LF-normalized SHA-256 `BF775990D83D95B470F814BE57C9676305119D97E48225E231D4926E7809029F`; owner/Coordinator audit passed and the user explicitly approved the raw hash on `2026-08-27`. | `io-definition-agent` / Coordinator / user | closed |
|
||||
| REAPPROVAL-009 | planning-reapproval | Stage 6 implementation planning re-entry draft returned `draft-ready-for-user-review`; Coordinator audit passed; user explicitly approved the draft on `2026-08-27`. Draft proposes only Step `11`/`12` replanning for USER-DECISION-004 option 1 and AUDIT-001 while preserving Steps `0..10`, current uncommitted Step 11 work, approved contracts, no-new-dataset semantics and no execution. | `implementation-planning-agent` / Coordinator / user | closed |
|
||||
| MATERIALIZATION-003 | planning-materialization | Passed: Planning Agent materialized exactly `implementation-plan.md` SHA-256 `758F8F5BB224E88864338C48221D53D4BD2F8633E04C9F2136FFF9E2D1BADFB8`, `phases/index.json` SHA-256 `536D4BF9427792ECCCE4C9A2980210E050035D0202DB8A700BDD671E0DB218C7`, `phases/nonlinear-static-newton-raphson/index.json` SHA-256 `D808D5C0F389B444A529FC81A48B5726E4CF282CA51B62F3AECAC4D89EA6A5BF`, `step11.md` SHA-256 `D324F7E1495A25B3B8CEA7A2A6C68D559F8336C3A527A164ECD2D0A82C20A526`, and `step12.md` SHA-256 `F2831F7E802A40631C91E638C9079508EF1A97CFE46FACC51DCBB4EC55337452`. Coordinator audit found JSON parse clean, no placeholders, scoped `git diff --check` pass, changed planning outputs within allowlist, Step `11`/top phase pending, Steps `0..10` preserved, Step `12` pending, reference diff clean and no Harness/build/solver execution. | `implementation-planning-agent` / Coordinator | passed |
|
||||
| DECISION-042 | user approval | User explicitly approved `Harness/Implementation 시작` for no-push Step `11` execution only. The verified command is `python scripts/execute.py nonlinear-static-newton-raphson`; Step `12` is not authorized and must not start before Coordinator audit. | user via Coordinator | closed |
|
||||
| USER-DECISION-005 | user decision | User approved option A on `2026-08-28`: use official current Codex CLI `0.150.1` to repair/validate the runtime route, run a bounded same-envelope nested shell smoke, and only if it passes rerun Step `11` no-push. Smoke passed with app SHA-256 `CBD657DDFE151D1A6EBAD660BEFFDBD3265DC5AFF4B3A6095124D3E2F0156F2F`, doctor `20 ok/0 fail`, duration `93.621s`, nested exit `0`, command_execution completed and output `CODEX_SHELL_SMOKE_OK`. This does not authorize `danger-full-access`, reference solver/artifact changes, push, Step `12`, manual hooks or runner/source/test/phase edits outside the Step `11` contract. | user via Coordinator | closed-option-A-smoke-passed |
|
||||
| USER-DECISION-006 | user decision | Closed/delegated superseding decision on `2026-08-28`: withdraw the entire `fesa.env`/runtime-config discussion; do not add `fesa.env`, config parsing, runtime API or product behavior. Current authoritative contract fixes both normalized factor-one global FORCE and MOMENT balance gates at `<=1e-8`, preserving exact formulas, sum-of-contribution scales, zero-scale rule, quantities/source identity, blocking/review/warning dispositions, NSNR-069 free-residual gates, HDF5 schema, reference artifacts and `docs/TOLERANCE.md` separation. Coordinator is delegated to run Stage 4/5/6 reapproval and Step `11` no-push completion without intermediate approval waits, but must stop on any change beyond this fixed threshold. | user via Coordinator | closed-delegated |
|
||||
| REAPPROVAL-010 | upstream-reapproval | Passed under delegated USER-DECISION-006 authority: Stage 4 owner returned `pass-for-io-definition`, blockers none, `numerical-review.md` SHA-256 `C00994EF4BB23A237547459E157EE5BDA96B28CAF08F712CD31A8E0ABBF62D2C` and `reference-model.md` SHA-256 `B2E6845AB59A32F78261B7A47506C27F7BF4B61401B34BC5DE3DAD4F03D6ADDA`; Coordinator audit passed against the threshold-only package. | `numerical-review-agent` / Coordinator | passed |
|
||||
| REAPPROVAL-011 | upstream-reapproval | Passed under delegated USER-DECISION-006 authority: Stage 5 owner returned `ready-for-coordinator-review`, blockers none, `io.md` raw SHA-256 `ED23274F4F15F7D1DFF886FA8158961362C75960990271D24A5FD010A8D51FD9`, LF-normalized SHA-256 `53AFBB1DF27FBD9CE6C2E23EE34480882241A859D3FC1993E82DB61ACC6637EB`; Coordinator audit passed against the threshold-only package with schema/projection/reference/TOLERANCE boundaries preserved. | `io-definition-agent` / Coordinator | passed |
|
||||
| REAPPROVAL-012 | planning-materialization | Passed under delegated USER-DECISION-006 authority: Planning owner returned `ready-for-implementation`, blockers none; `implementation-plan.md` SHA-256 `CA3EF7D2E95AA1F15757CD138CEF67E06E51195F59FB8DBE676E5772CC1D6C2C`, `phases/index.json` `307D8041537D73B579E53F96B052BA035774B65ABF071BB230AAE20CFCF966A7`, phase index `E707372018A7F5DE86CDB40277AE567FE86915C47EFDB38A687E71DD65A2C9EB`, `step11.md` `F0DFD7BF2A473F47BCF7F6195DD41569B349474BF93F5D5B642882A037DBB8F8`, `step12.md` `191432020B9C774BF153EECFD8F9A2EF74AF0014E2405478F541D85B517D7DD0`; Coordinator audit passed. | `implementation-planning-agent` / Coordinator | passed |
|
||||
| STEP11-EXECUTION-003 | implementation-dispatch | Needs rework: Step `11` only no-push wrapper attempt 1 timed out and attempt 2 hit inaccessible `C:\Users\baram\AppData\Local\Microsoft\WindowsApps\pwsh.exe` with `CreateProcessAsUserW failed: 5`; Stop-hook CTest evidence passed `302/302`, but Step `11` status/summary/commit are absent. | `implementation-agent` / Harness Executor / Coordinator | needs-rework |
|
||||
| REWORK-009 | harness-environment | Passed: Correction Agent diagnosed the user-local WindowsApps `pwsh.exe` launch filter miss and proved an all-`WindowsApps` PATH-filter same-envelope shell smoke. Output `corrections.md` SHA-256 `4DC996E3D4CA2D515D19E5D244C3A112AF0C9429335698E03089B77B5E79346A`; changed `corrections.md` only; no runner/source/test/CMake/phase/upstream/reference/tolerance edits. | `correction-agent` / Coordinator | passed |
|
||||
| STEP11-EXECUTION-004 | implementation-dispatch | In progress/dispatch-ready: one bounded Step `11` only no-push Harness rerun is authorized under corrected all-WindowsApps child PATH filter. Step `12` is not authorized; same WindowsApps `pwsh.exe` access-denied recurrence must stop without automatic retry. | `implementation-agent` / Harness Executor / Coordinator | in-progress |
|
||||
| BLOCKER-005 | dispatch-runtime | This Coordinator runtime exposes no callable collaboration `spawn_agent` tool and `tool_search` found no dispatch tool. Root completed Stage 4, Stage 5, Stage 6 planning and REWORK-009 profile dispatches; the current Step `11` rerun package is ready, but root/Executor launch is still required before owner evidence can be produced. | coordinator/root tooling | open-root-executor-required |
|
||||
| AUDIT-001 | projection-implementation | Stage 5 `io.md` now separates global applied+reaction balance error, constrained reaction resultant and accepted free residual as distinct deterministic HDF5 projections. Stage 6 planning/implementation must still update tests/implementation so `/global/equilibrium` uses current nodal positions and spatial physical nodal moments about global origin instead of raw full residual, initial coordinates or raw rotational residual shortcuts for general supported nonzero prescribed displacement/rotation cases. | `implementation-planning-agent` / `implementation-agent` | open |
|
||||
| MESH-REFINEMENT-SPIKE-001 | diagnostic-spike | Completed read-only numerical/reference spike for `reference/shellNL-meshfine`: artifacts copied byte-identically, required rows readable, existing executable run successful, primary displacement/rotation passed common tolerance, local RF/RM per-row gates failed, and current coarse/fine Abaqus S4 pair did not meet option 3 independent benchmark condition. | `numerical-review-agent` | passed |
|
||||
| TRANSLATION-REPORT-001 | focused-report | Completed bounded report for coarse/fine `U1/U2/U3` translation displacement only. Output `docs/nonlinear-static-newton-raphson/translation-displacement-comparison.md` SHA-256 `597D923FB1943CCB2BCF9D9FFC13FD904F795DFEB9CB71B097FF168B78694338`; diagnostic non-gate, not canonical `reference-comparison.md`, and does not alter reaction/rotation/stress or USER-DECISION-004 disposition. | `implementation-agent` | passed |
|
||||
| USER-DECISION-002 | user decision | User explicitly chose option A: approve Ninja/MSVC evidence contract for Stage 6 continuation. Option B `danger-full-access` and option C external sandbox wait are not selected. | user via Coordinator | closed |
|
||||
| USER-DECISION-003 | user decision | User approved option 1: if the matching external residual-channel scale is exact zero, use the existing typed absolute residual gate; keep current relative denominator when the external scale is nonzero. This starts required upstream re-approval in order: requirements NSNR-069, formulation §14.1, numerical-review, I/O, then implementation-plan/phase steps before implementation rerun. | user via Coordinator | closed |
|
||||
| REAPPROVAL-001 | upstream-reapproval | USER-DECISION-003 option 1 Stage 1 propagation completed: requirements owner return and Coordinator audit passed for `requirements.md` SHA-256 `89B6AEC25BD6AF5B79D328EEF63359A82DDB9402AE9482E3082A70C474A7B8B8`, and the user explicitly re-approved that hash. | `requirement-agent` / user via Coordinator | closed |
|
||||
| REAPPROVAL-002 | upstream-reapproval | USER-DECISION-003 option 1 Stage 3 propagation completed: formulation owner return and Coordinator audit passed for `formulation.md` SHA-256 `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9`, and the user explicitly re-approved that hash. | `formulation-agent` / user via Coordinator | closed |
|
||||
| REAPPROVAL-003 | upstream-reapproval | USER-DECISION-003 option 1 Stage 4 propagation completed: Numerical Review owner return and Coordinator audit passed for `numerical-review.md` SHA-256 `E93E0DEF1FD5ECDF956D50C6F8B8F1C073E21650E14EDC97A683DCA4688FE153`, `reference-model.md` remained byte-identical at SHA-256 `44B619BE2494007D8F2F51F34B9D974F934C26818F5AB8AF2DAA288ABF78D2FC`, and the user explicitly re-approved both hashes. | `numerical-review-agent` / user via Coordinator | closed |
|
||||
| REAPPROVAL-004 | upstream-reapproval | USER-DECISION-003 option 1 Stage 5 propagation completed: I/O owner return and Coordinator audit passed for `io.md` raw SHA-256 `DB0BD8339172FD05712D2B7469966DEB0A6A82CB5A0052817F4725319E741334`, LF-normalized SHA-256 `E0C42775FF5C3963A37DF70B00044DDA244A463A6DD222975C2903A1BFA205AF`, and the user explicitly re-approved both hashes. | `io-definition-agent` / user via Coordinator | closed |
|
||||
| REAPPROVAL-005 | planning-reapproval | USER-DECISION-003 option 1 Stage 6 planning propagation draft passed Coordinator audit and the user explicitly approved materialization on `2026-08-25`. | `implementation-planning-agent` / user via Coordinator | closed |
|
||||
| MATERIALIZATION-002 | planning-materialization | User-approved Stage 6 planning revision materialized only in `implementation-plan.md`, `step5.md`, `step7.md`, `step10.md`, `step11.md`, `step12.md`, feature index and top index; Steps 0..10 history/commits and partial Step 11 comparator files are preserved, Step 11/top status reset to `pending`, and Step 12 remains `pending`. | `implementation-planning-agent` | closed |
|
||||
| DECISION-040 | user approval | User explicitly approved the audited Implementation Planning revision draft and requested materialization. This approval does not authorize Harness, CTest, code/test/CMake/source edits, reference artifact changes, commit, or push. | user via Coordinator | closed |
|
||||
| DECISION-041 | user approval | User explicitly requested no-push Harness/Implementation rerun from Step 11 under DECISION-038/039: Codex CLI `0.149.1`, aligned `CODEX_HOME`, launch-env WindowsApps PATH filtering, `workspace-write`, hooks retained, `--disable unified_exec`, VsDevCmd x64, dependency env vars, approved Ninja/MSVC Debug preset, no `danger-full-access`, no push, no reference solver and no reference artifact mutation. | user via Coordinator | closed |
|
||||
| RISK-001 | architecture | 기존 `LinearStaticAnalysis` private lifecycle은 단일 factorization/substitution과 final frame만 소유하므로 nonlinear increment/iteration/state commit을 삽입하면 ADR 경계를 위반한다. | `coordinator-agent` routing | open |
|
||||
| RISK-002 | scope | `Newton–Raphson`은 solution algorithm이고 geometric/material/contact nonlinearity 범위를 단독으로 결정하지 않는다. | `requirement-agent` | mitigated by DECISION-001 |
|
||||
| RISK-003 | contract | 현재 `Element`는 displacement-dependent residual/consistent tangent/trial state 계약이 없고 `AnalysisState`는 nonlinear history를 소유하지 않는다. | downstream formulation/architecture gates | open |
|
||||
@@ -254,11 +336,12 @@
|
||||
|
||||
## 6. Rework-Loop Control and Stop Condition
|
||||
|
||||
- normalized_failure_attempts: `requirements-next-question-routing-mismatch`: 1; `requirements-output-failure-atomicity-scope-ambiguity`: 1; `requirements-compact-public-contract-omission`: 1; `formulation-equilibrium-reaction-symbol-collision`: 1; `formulation-moment-admissibility-work-inconsistency`: 1; `numerical-review-cross-report-disposition-contradiction`: 1; `io-contract-public-cli-log-output-request-gap`: 1; `harness-nested-codex-windows-shell-tool-execution-hang`: 2; `harness-msbuild-filetracker-eaccessdenied-workspace-write`: 2
|
||||
- normalized_failure_attempts: `requirements-next-question-routing-mismatch`: 1; `requirements-output-failure-atomicity-scope-ambiguity`: 1; `requirements-compact-public-contract-omission`: 1; `formulation-equilibrium-reaction-symbol-collision`: 1; `formulation-moment-admissibility-work-inconsistency`: 1; `numerical-review-cross-report-disposition-contradiction`: 1; `io-contract-public-cli-log-output-request-gap`: 1; `harness-nested-codex-windows-shell-tool-execution-hang`: 3; `harness-console-cp949-retry-glyph-unicodeencodeerror`: 1; `harness-msbuild-filetracker-eaccessdenied-workspace-write`: 2; `implementation-shellnl-nonlinear-nonconvergence-no-hdf5`: 1; `reference-blocking-model-adequacy-conflict`: 1; `upstream-global-moment-balance-gate-threshold-conflict`: 1; `harness-launch-path-filter-missed-user-windowsapps-pwsh-access-denied`: 2
|
||||
- automatic_rework_limit: 동일 normalized failure classification `2`회
|
||||
- correction_agent_policy: 명확한 implementation failure는 먼저 `implementation-agent`에 반환하고, 반복되거나 원인이 불명확할 때만 `correction-agent`를 dispatch한다.
|
||||
- stop_condition: 동일 classification이 두 번이면 자동 rework를 중단하고 workflow를 `needs-user-decision` 또는 `blocked`로 전환한다.
|
||||
- correction_cycle_authorization: REWORK-006 is closed and no correction dispatch is active. Step 1 no-push Harness rerun is authorized under the approved Ninja/MSVC workspace-write envelope; no Step 2 advancement, push, `danger-full-access`, Visual Studio fallback, or reference solver/artifact action is authorized outside Executor-owned progression.
|
||||
- correction_cycle_authorization: REWORK-008 is closed as `upstream-contract`. MATERIALIZATION-003 and REAPPROVAL-012 are closed as `passed`. USER-DECISION-006 resolves the prior `upstream-global-moment-balance-gate-threshold-conflict` by fixing both normalized global balance gates at `<=1e-8`. STEP11-EXECUTION-003 reached normalized environment failure count `2`, automatic retry was stopped, and REWORK-009 is now passed. STEP11-EXECUTION-004 is the only active implementation dispatch; same WindowsApps `pwsh.exe` access-denied recurrence after the corrected filter stops without another automatic retry.
|
||||
- upstream_reapproval_sequence: Prior USER-DECISION-003 and USER-DECISION-004 sequences remain closed. USER-DECISION-006 supersedes prior moment-only `1e-9` and withdraws `fesa.env`/runtime-config; Stage 4 Numerical/reference is passed by REAPPROVAL-010, Stage 5 I/O is passed by REAPPROVAL-011, Stage 6 planning materialization is passed by REAPPROVAL-012, and REWORK-009 environment correction is passed. Current delegated order is Step `11` no-push Harness/Implementation rerun with corrected all-WindowsApps filter. No intermediate user approval wait is required within the fixed `<=1e-8` global force/moment threshold scope, but runner/test/source/phase/upstream/reference/tolerance edits require separate approval.
|
||||
|
||||
## 7. Final Workflow Closure
|
||||
|
||||
@@ -268,11 +351,12 @@
|
||||
|
||||
## 8. No-Change Assertion
|
||||
|
||||
- source_code: Step 1 Implementation Agent left uncommitted production changes in `include/fesa/model/domain.h`, `include/fesa/model/model_types.h`, `src/fesa/io/abaqus/domain_mapping_context.cpp`, and `src/fesa/model/domain.cpp`; Coordinator did not edit source code.
|
||||
- tests: Step 1 Implementation Agent left uncommitted C++ test changes in `tests/unit/io/abaqus/domain_mapper_test.cpp`, `tests/unit/io/abaqus/domain_mapping_components_test.cpp`, `tests/unit/model/domain_test.cpp`, and `tests/unit/model/model_types_test.cpp`; Coordinator did not edit tests.
|
||||
- CMake: `CMakeLists.txt` 변경 없음; REWORK-006 Correction added tracked `CMakePresets.json` for DECISION-039 Ninja/MSVC validation; Coordinator did not edit CMake configuration.
|
||||
- reference_artifacts: 생성·수정·rename 없음
|
||||
- source_code: Steps 0..10 implementation source changes are committed through Harness; current Step 11 uncommitted implementation edits are preserved, including USER-DECISION-005A current-arm/spatial projection and USER-DECISION-006 fixed `<=1e-8` global balance work. Coordinator did not edit source code.
|
||||
- tests: Current Step 11 uncommitted comparator/test edits are preserved. Recovered rollout evidence shows old-gate RED failure, minimal GREEN for `<=1e-8`, focused procedure/writer/log/reference tests passing, and latest Stop-hook CTest evidence `302/302` passed. Coordinator did not edit tests.
|
||||
- CMake: Step 11 owner modified `tests/CMakeLists.txt`; REWORK-006 added tracked `CMakePresets.json` for DECISION-039 Ninja/MSVC validation. Coordinator did not edit CMake configuration.
|
||||
- reference_artifacts: Root copied four `reference/shellNL-meshfine` artifacts byte-identically into the feature worktree for the approved spike; SHA-256 values match the recorded main-checkout hashes and row counts `729/729/5408`. No reference artifact was generated, renamed, normalized, repaired or modified by Coordinator.
|
||||
- tolerance_policies: 변경 없음
|
||||
- phase_files: Executor/Correction updated `phases/index.json` and `phases/nonlinear-static-newton-raphson/index.json`; Step 0 is completed and committed, Step 1 is reset to `pending` after REWORK-006 blocker-clear evidence, and Steps 2..12 are pending. Coordinator did not edit phase files.
|
||||
- Harness: REWORK-006 Correction updated `.gitignore`, `.harness/config.example.json`, and created ignored `.harness/config.json` for Ninja/MSVC preset selection; no Harness Python production change was required. Coordinator did not run Harness/phase/build/test, advance Step 2, use `danger-full-access`, clean build outputs, commit or push.
|
||||
- feature_documents: REWORK-006 Correction updated `docs/nonlinear-static-newton-raphson/corrections.md` SHA-256 `7FA66A14E694D0451B4422BB5A233E117F2100231A9644771EFD428AF7AD6B81` and `implementation-plan.md`; this coordinator update changed only isolated `coordination.md`; `implementation-report.md`, `build-test.md`, `reference-comparison.md` are still absent.
|
||||
- phase_files: REAPPROVAL-012 Planning owner updated `phases/index.json` and `phases/nonlinear-static-newton-raphson/index.json`; top phase is now `pending`, Steps 0..10 remain completed with existing metadata, Step 11 is `pending` as `equilibrium-projection-and-reference-gate` with historical `started_at=2026-08-24T15:49:08+09:00` retained, and Step 12 is pending. Coordinator did not edit phase files.
|
||||
- Harness: Historical Step `11` executions include DECISION-042 timeout, USER-DECISION-005A `1e-10` global-moment blocker, then REAPPROVAL-012 reset for fixed `<=1e-8`. STEP11-EXECUTION-003 did not complete Harness metadata because nested Codex selected inaccessible `C:\Users\baram\AppData\Local\Microsoft\WindowsApps\pwsh.exe`; REWORK-009 is now passed and STEP11-EXECUTION-004 is the active Step `11` rerun package with all-WindowsApps child PATH filtering. Step `11` and top phase remain `pending`; Step `12` remains pending and outside the active dispatch. Coordinator did not run Harness/phase/build/test command, advance Step 12, use `danger-full-access`, clean build outputs, commit or push.
|
||||
- feature_documents: REWORK-008 Correction updated `docs/nonlinear-static-newton-raphson/corrections.md` Section 13 SHA-256 `C8AC5A5015E5F9622E2964F514F2C06572F953B5244F006044DEDDF0F3D0A194`; Requirement Agent updated only `docs/nonlinear-static-newton-raphson/requirements.md` SHA-256 `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E`; Formulation Agent updated only `docs/nonlinear-static-newton-raphson/formulation.md` SHA-256 `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9`; REAPPROVAL-010 Numerical Review Agent updated Stage 4 reports to `docs/nonlinear-static-newton-raphson/numerical-review.md` SHA-256 `C00994EF4BB23A237547459E157EE5BDA96B28CAF08F712CD31A8E0ABBF62D2C` and `docs/nonlinear-static-newton-raphson/reference-model.md` SHA-256 `B2E6845AB59A32F78261B7A47506C27F7BF4B61401B34BC5DE3DAD4F03D6ADDA`; REAPPROVAL-011 I/O Definition Agent updated only `docs/nonlinear-static-newton-raphson/io.md` raw SHA-256 `ED23274F4F15F7D1DFF886FA8158961362C75960990271D24A5FD010A8D51FD9`, LF-normalized SHA-256 `53AFBB1DF27FBD9CE6C2E23EE34480882241A859D3FC1993E82DB61ACC6637EB`; REAPPROVAL-012 Planning owner materialized `docs/nonlinear-static-newton-raphson/implementation-plan.md` SHA-256 `CA3EF7D2E95AA1F15757CD138CEF67E06E51195F59FB8DBE676E5772CC1D6C2C`, `phases/index.json` SHA-256 `307D8041537D73B579E53F96B052BA035774B65ABF071BB230AAE20CFCF966A7`, phase index SHA-256 `E707372018A7F5DE86CDB40277AE567FE86915C47EFDB38A687E71DD65A2C9EB`, `step11.md` SHA-256 `F0DFD7BF2A473F47BCF7F6195DD41569B349474BF93F5D5B642882A037DBB8F8` and `step12.md` SHA-256 `191432020B9C774BF153EECFD8F9A2EF74AF0014E2405478F541D85B517D7DD0`. Implementation Agent created only `docs/nonlinear-static-newton-raphson/translation-displacement-comparison.md` SHA-256 `597D923FB1943CCB2BCF9D9FFC13FD904F795DFEB9CB71B097FF168B78694338`. This coordinator update changed only isolated `coordination.md`; `implementation-report.md`, `build-test.md`, and canonical `reference-comparison.md` are still absent.
|
||||
- correction_reports: REWORK-009 Correction Agent updated current `docs/nonlinear-static-newton-raphson/corrections.md` Section 14, SHA-256 `4DC996E3D4CA2D515D19E5D244C3A112AF0C9429335698E03089B77B5E79346A`. Coordinator did not edit `corrections.md`.
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
`implementation-report.md`, `build-test.md`, `reference-comparison.md`는 아직 생성되지 않았으므로 현재 Coordinator failure evidence와 Executor의 `step0-output.json` 및 `step1-output.json`을 source failure report로 사용했다.
|
||||
|
||||
Sections 2-6의 Codex `0.147.0` 내용은 initial correction history이고 Sections 7-9는 REWORK-004 history다. Section 10은 FileTracker diagnosis history이며 USER-DECISION-002 option A 이후 current correction과 status는 Section 11이 supersede한다.
|
||||
Sections 2-6의 Codex `0.147.0` 내용은 initial correction history이고 Sections 7-9는 REWORK-004 history다. Section 10은 FileTracker diagnosis history이고 Sections 11-13은 이전 correction history다. Current correction과 status는 Section 14가 supersede한다.
|
||||
|
||||
## 2. Failure Triage
|
||||
|
||||
@@ -318,3 +318,327 @@ Reference artifact no-change evidence: `git diff --name-only -- reference`는 em
|
||||
- status: `corrected-for-implementation-rerun`.
|
||||
- blockers: 이 correction 범위에는 없음. Existing Python `xhigh`/`extra high` mismatch는 명시된 out-of-scope pre-existing failure다.
|
||||
- prohibited actions not performed: Harness phase rerun, Step 2, `danger-full-access`, push, commit, reference solver/artifact mutation, build cleanup/deletion.
|
||||
|
||||
## 12. REWORK-007 Step 11 Nonlinear Nonconvergence Contract Triage
|
||||
|
||||
### 12.1 Metadata
|
||||
|
||||
| key | value |
|
||||
| --- | --- |
|
||||
| feature_id | `nonlinear-static-newton-raphson` |
|
||||
| source failure report | `phases/nonlinear-static-newton-raphson/step11-output.json`; `docs/nonlinear-static-newton-raphson/coordination.md` REWORK-007 |
|
||||
| source implementation plan | `docs/nonlinear-static-newton-raphson/implementation-plan.md`; `phases/nonlinear-static-newton-raphson/step11.md` |
|
||||
| status | `needs-upstream-decision` |
|
||||
| owner_agent | `correction-agent` |
|
||||
| date | `2026-08-24` |
|
||||
|
||||
### 12.2 Failure Triage
|
||||
|
||||
- classification: `upstream-contract`
|
||||
- normalized classification: `implementation-shellnl-nonlinear-nonconvergence-no-hdf5`
|
||||
- attempt: `1`
|
||||
- first failed command:
|
||||
|
||||
```powershell
|
||||
ctest --preset windows-msvc-ninja-debug -R "NonlinearStaticReference|ReferenceTolerance|Mitc4Reference" --output-on-failure
|
||||
```
|
||||
|
||||
- failed target or test: `NonlinearStaticReference.CopiesRunsComparesAndPreservesTheReadOnlyReferenceInventory` (CTest test 288)
|
||||
- evidence tail: copied build-local `shellNL.inp` reaches `severity=error`, `code=nonlinear-nonconvergence` after iteration 100. `generated.HasValue()` is false because no authoritative copied-sibling `shellNL_results.h5` is committed.
|
||||
- correction-agent reproduction: the exact focused test alone failed deterministically in 103.84 seconds with the same diagnostic. The original reference input was not passed to FESA.
|
||||
|
||||
### 12.3 Root Cause Summary
|
||||
|
||||
This is not an implementation defect in the observed convergence calculation. The implementation in `src/fesa/analysis/nonlinear_static_procedure.cpp` supplies same-trial free rotational residual, internal moment and external moment to `EvaluateNewtonConvergence`. `src/fesa/analysis/nonlinear_static_control.cpp` then implements the approved `NSNR-069` and formulation Section 14.1 literally:
|
||||
|
||||
\[
|
||||
D_M=\max(\|f_{int,f}^{\phi}\|_\infty,
|
||||
\|f_{ext,f}^{\phi}\|_\infty),\qquad
|
||||
\eta_M=\frac{\|r_f^{\phi}\|_\infty}{D_M}
|
||||
\]
|
||||
|
||||
for every nonzero \(D_M\), with the typed absolute `1e-3 force-length` branch available only when \(D_M=0\) exactly.
|
||||
|
||||
The approved `reference/shellNL/shellNL.inp` contains only `Set-1, 3, -100000.` under `*CLOAD`; it applies no rotational moment component. Therefore the free rotational external vector is exactly zero and
|
||||
|
||||
\[
|
||||
r_f^{\phi}=f_{int,f}^{\phi}-0=f_{int,f}^{\phi},
|
||||
\qquad
|
||||
D_M=\|f_{int,f}^{\phi}\|_\infty=\|r_f^{\phi}\|_\infty.
|
||||
\]
|
||||
|
||||
For every nonzero rotational residual, \(\eta_M=1>10^{-2}\). The channel can pass only if floating-point assembly produces the exact zero vector, at which point and only then the exact-zero branch is selected. Thus the current approved denominator structurally prevents practical convergence for a no-applied-moment shell case even when its residual is well below the approved typed absolute threshold.
|
||||
|
||||
The reproduced log contains 100/100 parsed iteration records with exact printed equality between `residual_moment_numerator_norm` and `residual_moment_denominator_scale`; all 100 use `branch=relative` and `pass=0`. Representative values are:
|
||||
|
||||
| iteration | numerator | denominator | branch | pass |
|
||||
| ---: | ---: | ---: | --- | ---: |
|
||||
| 1 | `2.363968570753043e-09` | `2.363968570753043e-09` | `relative` | 0 |
|
||||
| 2 | `1.4372536725204554e-06` | `1.4372536725204554e-06` | `relative` | 0 |
|
||||
| 3 | `3.138301877925187e-06` | `3.138301877925187e-06` | `relative` | 0 |
|
||||
| 99 | `3.8876064110127118e-06` | `3.8876064110127118e-06` | `relative` | 0 |
|
||||
| 100 | `4.6441010823627948e-06` | `4.6441010823627948e-06` | `relative` | 0 |
|
||||
|
||||
Every listed numerator is below `1e-3 force-length`, but the approved exact-zero-denominator predicate forbids use of that absolute branch. Changing the implementation alone would contradict the approved requirement and formulation.
|
||||
|
||||
### 12.4 Correction Scope
|
||||
|
||||
- changed report file: `docs/nonlinear-static-newton-raphson/corrections.md`
|
||||
- changed production source/header/test/CMake files: none
|
||||
- preserved dirty Step 11 files: `tests/CMakeLists.txt`, `tests/reference/nonlinear_static_reference_cases_test.cpp`, `tests/reference/nonlinear_static_reference_comparison.cpp`, `tests/reference/nonlinear_static_reference_comparison.h`
|
||||
- excluded upstream files: `requirements.md`, `formulation.md`, `numerical-review.md`, `reference-model.md`, `io.md`, `docs/TOLERANCE.md`
|
||||
- excluded workflow/final reports: phase indexes/status, `implementation-report.md`, `build-test.md`, `reference-comparison.md`
|
||||
- prohibited actions not performed: production/test/CMake change, threshold or denominator relaxation, Step 11 completion, Step 12 advancement, Abaqus/Nastran/reference solver, reference artifact generation/modification, `danger-full-access`, commit, push
|
||||
|
||||
No RED test was added because no implementation correction is authorized: a test requiring this case to pass would encode a new convergence contract before user/upstream approval. The existing focused reference test already provides the failing integration evidence.
|
||||
|
||||
### 12.5 Verification Evidence
|
||||
|
||||
| purpose | exact command/evidence | result |
|
||||
| --- | --- | --- |
|
||||
| focused reproduction | `ctest --preset windows-msvc-ninja-debug -R '^NonlinearStaticReference\.CopiesRunsComparesAndPreservesTheReadOnlyReferenceInventory$' --output-on-failure` | exit `1`; 0/1 passed; test 288 failed in 103.84 s with 100-iteration `nonlinear-nonconvergence` |
|
||||
| iteration-log audit | parse latest copied-run `shellNL_log.txt` fields for every iteration | 100 records; numerator equals denominator in 100/100; `relative` in 100/100; `residual_moment_pass=0` in 100/100 |
|
||||
| implementation trace | `nonlinear_static_procedure.cpp` residual/internal/external channel construction plus `nonlinear_static_control.cpp` denominator evaluation | matches `NSNR-069` and formulation Section 14.1 exactly |
|
||||
| input trace | `reference/shellNL/shellNL.inp` lines 149-151 | one translational direction-3 force; no applied rotational moment |
|
||||
| reference preservation | pre/post SHA-256 plus `git diff -- reference` | all eight declared hashes unchanged; reference diff empty |
|
||||
| full Ninja/MSVC build/CTest | not run | intentionally stopped at decisive `upstream-contract`; no implementation correction exists to verify |
|
||||
| Stop | not applicable | Correction was not a Harness Step and made no production/test/CMake change |
|
||||
| Harness Python pytest | not applicable | no Harness/Hook/agent-config behavior changed |
|
||||
|
||||
### 12.6 Traceability
|
||||
|
||||
| requirement id | task id | test id | failing command | corrected file | acceptance criterion |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `FESA-REQ-NSNR-069` | Step 5 `load-boundary-path-and-convergence-gates`; REWORK-007 | `CORR-NSNR-CONTRACT-001` log audit | focused test 288 | report only | no-applied-moment free rotational residual must have a reachable approved convergence decision; not met by current contract |
|
||||
| `FESA-REQ-NSNR-034` | Step 11 `reference-comparison-gate` | `NSNR-REF-002`, `NSNR-REF-004` via test 288 | focused test 288 | report only | copied shellNL run produces authoritative HDF5 before comparison; blocked by NSNR-069 contract |
|
||||
|
||||
### 12.7 Handoff Recommendation
|
||||
|
||||
- recommendation: return `upstream-contract` / `needs-user-decision` to Coordinator Agent. Do not request an Implementation Agent rerun yet.
|
||||
- narrowest contract alternative: when the matching external residual-channel scale is exactly zero, select the existing typed absolute gate (`||r_f^phi||inf <= 1e-3 force-length`) even if the internal residual is nonzero; retain the current relative denominator when matching external scale is nonzero.
|
||||
- broader contract alternative: make residual convergence pass when either its typed absolute gate or its current relative gate passes. This is simpler and symmetric across force/moment channels but changes acceptance for all load-scale regimes.
|
||||
- scale-based contract alternative: define an explicit nonzero model force-length reference scale for moment residual normalization, including its deterministic characteristic-length source. This is more general but expands the numerical contract and needs formulation/numerical review.
|
||||
- non-solution: changing the reference deck to add an applied moment would not correct the same structural failure for supported no-moment load cases and would also violate immutable reference ownership in this correction.
|
||||
|
||||
Any selected alternative requires the owning upstream documents and tests to be revised and approved before production code changes. Correction Agent does not choose among them.
|
||||
|
||||
### 12.8 Stop Condition
|
||||
|
||||
- upstream ambiguity: the exact approved `max(internal, external)` denominator and exact-zero branch are the demonstrated cause.
|
||||
- implementation stop: any code-only pass would relax/reinterpret `NSNR-069` and formulation Section 14.1.
|
||||
- reference artifact gap: none; all declared reference artifacts exist and remain unchanged.
|
||||
- repeated failure: normalized classification attempt `1`; no automatic second implementation correction is safe before an upstream decision.
|
||||
- final stop: status `needs-upstream-decision`; Step 11 remains blocked and Step 12 remains pending.
|
||||
|
||||
## 13. REWORK-008 Nonlinear Reaction Reference Mismatch Triage
|
||||
|
||||
### 13.1 Metadata
|
||||
|
||||
| key | value |
|
||||
| --- | --- |
|
||||
| feature_id | `nonlinear-static-newton-raphson` |
|
||||
| source failure report | `phases/nonlinear-static-newton-raphson/step11-output.json`; `docs/nonlinear-static-newton-raphson/coordination.md` dispatch `REWORK-008-nonlinear-reaction-reference-mismatch` |
|
||||
| source implementation plan | `docs/nonlinear-static-newton-raphson/implementation-plan.md`; `phases/nonlinear-static-newton-raphson/step11.md` |
|
||||
| status | `needs-upstream-decision` |
|
||||
| owner_agent | `correction-agent` |
|
||||
| date | `2026-08-25` |
|
||||
|
||||
`implementation-report.md`, `build-test.md`, `reference-comparison.md`는 아직 존재하지 않는다. 따라서 immutable `step11-output.json` SHA-256 `0F3B876AF84398EB1D2C90335998115797054B012899DE27E4070A6F533EEF91`, Coordinator dispatch, current implementation/CTest와 read-only result/reference audit를 source evidence로 사용했다.
|
||||
|
||||
### 13.2 Failure Triage
|
||||
|
||||
- initial failure classification: `reference-comparison`
|
||||
- final classification: `upstream-contract`
|
||||
- normalized classification: `reference-blocking-model-adequacy-conflict`
|
||||
- attempt: `1` for `REWORK-008`; 이전 `REWORK-007`은 별도 nonlinear convergence classification이다.
|
||||
- first failed command in Step 11:
|
||||
|
||||
```powershell
|
||||
cmake --build --preset windows-msvc-ninja-debug; ctest --preset windows-msvc-ninja-debug -R '^NonlinearStaticReference\.CopiesRunsComparesAndPreservesTheReadOnlyReferenceInventory$' --output-on-failure
|
||||
```
|
||||
|
||||
- correction-agent reproduction:
|
||||
|
||||
```powershell
|
||||
ctest --preset windows-msvc-ninja-debug -R '^NonlinearStaticReference\.CopiesRunsComparesAndPreservesTheReadOnlyReferenceInventory$' --output-on-failure
|
||||
```
|
||||
|
||||
- failed target or test: `NonlinearStaticReference.CopiesRunsComparesAndPreservesTheReadOnlyReferenceInventory` (fresh CTest test 293)
|
||||
- evidence tail: exit `8`, 0/1 passed, 16.88 s. Row identity/schema/nonfinite prechecks passed before the common tolerance gate reported exactly three failed blocking families: in-plane RF RMS `0.11437709952897851`, transverse RF RMS `0.048448360241294064`, physical spatial RM RMS `0.02746412616679237`, each above `0.01`.
|
||||
|
||||
### 13.3 Root Cause Summary
|
||||
|
||||
Observed reaction computation/storage/mapping path에는 implementation defect evidence가 없다.
|
||||
|
||||
1. `nonlinear_static_procedure.cpp`는 같은 accepted state에서 `residual = internal.force - external.generalized_external_force`를 만들고 `trial.reaction = trial.residual`로 저장한다. `nonlinear_analysis_state.cpp`는 모든 DOF에서 이 두 identity를 검증한다.
|
||||
2. `nonlinear_hdf5_results_writer.cpp`는 translation reaction을 그대로 쓰고 rotational reaction만 승인식 `J_l(phi)^(-T)`로 physical spatial moment에 변환한다. 24 constrained nodes에서 `phi=0`이므로 이 변환은 identity다. Full-precision HDF5 audit에서 constrained translation과 generalized residual의 차이, constrained moment 변환 차이, constrained `phi`가 모두 exact `0`이었다.
|
||||
3. Comparator는 `/model/nodal_constraint_mask`와 `(case, state, instance, node label, component)` exact key를 사용한다. 이번 실행이 schema/missing/extra/duplicate/nonfinite failure가 아니라 family tolerance report까지 도달했으므로 storage와 row mapping precheck도 통과했다.
|
||||
4. Dominant RF3/RM1/RM2 mismatch는 nonlinear 전용 경로에서 생기지 않는다. FESA nonlinear-linear 최대 차이는 RF3 `2.9441580409184098e-06`, RM1 `1.3046948879491538e-05`, RM2 `1.2039316061418504e-05`이고, Abaqus nonlinear-linear 차이는 각각 `0`, `5.0022208599999994e-12`, `1.1141310098e-11`이다. 그럼에도 FESA linear와 Abaqus linear 사이에는 nonlinear과 동일한 local RF3/RM mismatch가 이미 존재한다. 예를 들어 node 31 RF3는 FESA `1059.5675655371299`, reference `339.61334199999999`; node 22 RM1은 FESA `-1564.1175318019484`, reference `-515.62542699999995`다.
|
||||
5. 전체 constrained reaction 합은 FESA nonlinear `[7.9591888635377472e-12, 7.2906680692597092e-12, 100000.00000082512]`, Abaqus nonlinear `[4.5008441418303846e-13, -1.7997131562808022e-12, 99999.999592799955]`로 global balance와 sign이 일치한다. Stored `/global/equilibrium`도 `[-5.2007287365540833e-12, 2.1302730413008675e-11, 99999.999999999985, 1.5669833723712425e-11, 6.4043503405991029e-12, -3.0183203934097235e-11]`다.
|
||||
6. RF1/RF2는 nonlinear에서 새로 생기는 weak geometric membrane reaction이지만 FESA extrema `±1.3774894254907935`와 Abaqus extrema `±1.9166318200000001`의 차이는 storage/mapping 오류가 아니다. Linear Abaqus reaction은 거의 zero이고, independent FESA MITC4와 Abaqus S4가 서로 다른 local nodal support-force redistribution을 만들 수 있다는 approved formulation/model limitation 안에 있다.
|
||||
|
||||
따라서 demonstrated cause는 nonlinear reaction implementation이 아니라 reference blocking quantity의 model-adequacy 전제다. Approved `reference-model.md`는 linear reaction CSV를 review-only로 두면서, 같은 local RF3/RM distribution을 nonlinear에서 blocking으로 승격한다. Project contract는 FESA MITC4의 integration/stabilization/internal behavior가 Abaqus S4와 동등하다고 주장하지 않는다. Global equilibrium은 맞지만 formulation-sensitive local nodal reaction 분포가 1% RMS를 만족해야 한다는 분석적 또는 독립 benchmark 근거는 없다. 이를 code-only로 Abaqus 값에 맞추는 것은 formulation/model adequacy 또는 reference acceptance contract 변경이며 Correction Agent 범위를 벗어난다.
|
||||
|
||||
### 13.4 Correction Scope
|
||||
|
||||
- changed report file in this rework: `docs/nonlinear-static-newton-raphson/corrections.md`
|
||||
- changed production source/header/test/CMake files in this rework: none
|
||||
- preserved pre-existing dirty Step 11 files, including selector/control/log tests, comparator/reference tests, plan/phase/coordination and upstream approval edits
|
||||
- excluded upstream contract files: `requirements.md`, `formulation.md`, `numerical-review.md`, `reference-model.md`, `io.md`, `docs/TOLERANCE.md`
|
||||
- excluded immutable/reference files: `reference/**`, stored Abaqus CSV, HDF5 schema and tolerance policy
|
||||
- prohibited actions not performed: new RED test without an implementation defect, production/comparator/test/CMake change, tolerance weakening, reference artifact generation/modification, Abaqus/Nastran/reference solver, Harness phase execution, Step 12/Physics/Release advancement, `danger-full-access`, commit, push
|
||||
|
||||
No focused RED test was added because the dataflow audit disproved a bounded nonlinear computation/storage/mapping defect. The existing focused integration test is already RED for an upstream blocking/model-adequacy assumption; encoding a replacement expected result before upstream approval would itself change that contract.
|
||||
|
||||
### 13.5 Verification Evidence
|
||||
|
||||
Visual Studio environment는 `VsDevCmd.bat -arch=x64 -host_arch=x64`로 설정했고, `.harness/config.json`/preset가 요구한 `FESA_GTEST_SOURCE_DIR=C:/git/googletest`, `MKL_DIR=C:/Program Files (x86)/Intel/oneAPI/mkl/2026.1/lib/cmake/mkl`, `TBB_DIR=C:/Program Files (x86)/Intel/oneAPI/tbb/2023.1/lib/cmake/tbb`, `HDF5_DIR=C:/Program Files/HDF_Group/HDF5/2.1.1/cmake`를 사용했다.
|
||||
|
||||
| purpose | exact command/evidence | exit/result |
|
||||
| --- | --- | --- |
|
||||
| focused reproduction | `ctest --preset windows-msvc-ninja-debug -R '^NonlinearStaticReference\.CopiesRunsComparesAndPreservesTheReadOnlyReferenceInventory$' --output-on-failure` | exit `8`; 0/1 passed; only three reaction-family RMS gates failed |
|
||||
| reaction dataflow audit | `nonlinear_static_procedure.cpp` residual/reaction assignment, `nonlinear_analysis_state.cpp` identities, `nonlinear_hdf5_results_writer.cpp` physical-moment projection and comparator exact-key prechecks; build-local datasets dumped with `$hdf5Bin='C:\Program Files\HDF_Group\HDF5\2.1.1\bin'; $env:PATH="$hdf5Bin;$env:PATH"; & "$hdf5Bin\h5dump.exe" -m %.17g -d <dataset> <results.h5>` | exit `0`; constrained pipeline differences and constrained rotation were exact zero |
|
||||
| nonlinear/linear audit | join build-local FESA HDF5 and immutable CSV rows by exact `(instance, node label, component)` in read-only PowerShell | exit `0`; dominant mismatch is already present in both solvers' linear results and survives nonlinear unchanged |
|
||||
| targeted nonlinear output | `.harness/build-ninja-msvc-debug/reference/nonlinear-static-reference/shellNL/shellnl-s4-final-441332835013800-0/shellNL_results.h5` | SHA-256 `A82349F1AABDC2B042A7DBF643D0D917B04245B64E5D73F9507B83A2D67FDE91` |
|
||||
| targeted linear output | `.harness/build-ninja-msvc-debug/reference/nonlinear-static-reference/shell/shell-s4-linear-limit-441349319977100-1/shell_results.h5` | SHA-256 `167248AB523484FB6F515AE6A309C7380B4A1226B74BE03B207F4532C3064B66` |
|
||||
| configure | `cmake --preset windows-msvc-ninja-debug` | exit `0`; 0.342 s; configure/generate complete |
|
||||
| build | `cmake --build --preset windows-msvc-ninja-debug` | exit `0`; 0.116 s; `ninja: no work to do.` |
|
||||
| CTest discovery | `ctest --preset windows-msvc-ninja-debug --show-only=json-v1` | exit `0`; 294 tests discovered |
|
||||
| full MSVC CTest | `ctest --preset windows-msvc-ninja-debug --output-on-failure` | exit `8`; 293/294 passed; only test 293 failed with the same three RMS values; test 294 comparator invalid-HDF5/warning checks passed |
|
||||
| source failure hash | `Get-FileHash phases/nonlinear-static-newton-raphson/step11-output.json -Algorithm SHA256` | exit `0`; `0F3B876AF84398EB1D2C90335998115797054B012899DE27E4070A6F533EEF91` |
|
||||
| reference preservation | `git diff -- reference` | exit `0`; empty diff |
|
||||
| repository identity | `git rev-parse HEAD` | exit `0`; `65b56b1755e4537b48b44476375b6235da732648` |
|
||||
| Stop | not applicable | Correction Agent session은 Harness Step이 아니며 production/test/CMake를 변경하지 않았다. Full preset build/CTest를 직접 실행했다. |
|
||||
| Harness Python pytest | not applicable | Harness Python, Hook, agent config behavior를 변경하지 않았다. |
|
||||
|
||||
### 13.6 Traceability
|
||||
|
||||
| requirement id | task id | test id | failing command | corrected file | acceptance criterion |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `FESA-REQ-NSNR-019` | Step 10 reaction/HDF5 path; REWORK-008 | `CORR-NSNR-REACTION-PIPELINE-001` read-only audit | focused test 293 | report only | accepted full residual, constrained reaction and HDF5 physical moment mapping are identical at constrained zero-rotation DOFs; met |
|
||||
| `FESA-REQ-NSNR-034` | Step 11 `reference-comparison-gate`; REWORK-008 | `NSNR-REF-015`, `NSNR-REF-017` via test 293 | focused test 293 and full CTest | report only | exact keys/prechecks pass, but three local reaction families exceed blocking RMS `0.01`; not met because approved reference quantity assumes unsupported local S4/MITC4 distribution agreement |
|
||||
| `FESA-REQ-NSNR-034` | Step 11 model-adequacy audit | `CORR-NSNR-LINEAR-CROSSCHECK-001` | read-only HDF5/CSV audit | report only | distinguish nonlinear reaction implementation error from pre-existing formulation-sensitive local redistribution; implementation-error hypothesis rejected |
|
||||
|
||||
### 13.7 Handoff Recommendation
|
||||
|
||||
- recommendation: return `upstream-contract` / `needs-user-decision` to Coordinator Agent. Do not request an Implementation Agent rerun and do not advance Step 12 until an upstream alternative is explicitly selected and approved.
|
||||
- recommended narrow alternative: align nonlinear local nodal RF/RM disposition with the approved linear reference contract—keep local rows as read-only model-adequacy/physics-review evidence, while blocking reaction evidence is global force/moment equilibrium plus free-residual checks. Blocking displacement comparison remains unchanged.
|
||||
- local-to-global alternative: retain reaction as a blocking external quantity only after projecting it to formulation-independent global resultant force/moment families; keep exact local nodal rows as warning/characterization evidence.
|
||||
- local-blocking alternative: if exact local RF/RM rows must remain blocking, Numerical Review/Reference Model owners must supply an analytical or independent formulation-appropriate benchmark, or explicitly approve Abaqus S4 local nodal reaction distribution as an FESA MITC4 model-adequacy target after a mesh/formulation study. Implementation must not calibrate reactions to Abaqus without that decision.
|
||||
- excluded alternative: tolerance relaxation, row averaging/collapse, comparator weakening or reference artifact rewriting is not acceptable.
|
||||
|
||||
Each viable alternative changes blocking quantity/model-adequacy ownership in `requirements.md`, `numerical-review.md`, `reference-model.md`, `io.md` and the implementation/reference plan. Correction Agent does not select or edit those contracts.
|
||||
|
||||
### 13.8 Stop Condition
|
||||
|
||||
- upstream ambiguity: current contracts simultaneously disclaim Abaqus S4 internal equivalence, make linear local reaction review-only, and require the same formulation-sensitive local distribution as nonlinear blocking evidence.
|
||||
- implementation stop: no nonlinear reaction computation, storage or exact-key mapping defect was reproduced; a code-only pass would alter formulation/reference meaning.
|
||||
- reference artifact gap: none; required artifacts exist, remained read-only and have empty reference diff.
|
||||
- environment blocker: none; configure/build/discovery completed and full CTest reproduced only the intended reference failure.
|
||||
- repeated failure: `REWORK-008` classification attempt `1`; no automatic implementation correction is safe before the upstream decision.
|
||||
- final stop: status `needs-upstream-decision`; Step 11 remains blocked, Step 12 remains pending, and Physics/Release remain ineligible.
|
||||
|
||||
## 14. REWORK-009 User-local WindowsApps PowerShell Launch Correction
|
||||
|
||||
### 14.1 Metadata
|
||||
|
||||
| key | value |
|
||||
| --- | --- |
|
||||
| feature_id | `nonlinear-static-newton-raphson` |
|
||||
| source failure report | `phases/nonlinear-static-newton-raphson/step11-output.json`; `docs/nonlinear-static-newton-raphson/coordination.md` dispatch `REWORK-009-user-windowsapps-pwsh-launch-filter-root-dispatch-required` |
|
||||
| source implementation plan | `docs/nonlinear-static-newton-raphson/implementation-plan.md`; `phases/nonlinear-static-newton-raphson/step11.md` |
|
||||
| status | `corrected-for-implementation-rerun` |
|
||||
| owner_agent | `correction-agent` |
|
||||
| date | `2026-08-28` |
|
||||
|
||||
`implementation-report.md`, `build-test.md`, `reference-comparison.md`는 아직 존재하지 않는다. 따라서 current `step11-output.json` SHA-256 `BF3A1CA6DD35EA8414710018D7F1644A1D2C6C2BCF87C11F74DA2A01BBEAB3AD`, Coordinator dispatch, preserved attempt-1 TDD evidence와 attempt-2 Stop evidence를 source evidence로 사용했다.
|
||||
|
||||
### 14.2 Failure Triage
|
||||
|
||||
- classification: `harness`
|
||||
- normalized classification: `harness-launch-path-filter-missed-user-windowsapps-pwsh-access-denied`
|
||||
- attempt: `2` under `STEP11-EXECUTION-003`; attempt 1은 1,800초 timeout이고 attempt 2는 아래 shell launch failure다.
|
||||
- first failed command boundary:
|
||||
|
||||
```powershell
|
||||
codex exec --json --model gpt-5.6-terra --config 'model_reasoning_effort="xhigh"' --sandbox workspace-write --dangerously-bypass-hook-trust --cd C:\git\FESADev\.worktrees\nonlinear-static-newton-raphson --disable unified_exec -
|
||||
```
|
||||
|
||||
- failed target: attempt-2 nested Codex의 첫 PowerShell tool launch.
|
||||
- evidence tail: nested Codex `0.150.1`이 `C:\Users\baram\AppData\Local\Microsoft\WindowsApps\pwsh.exe`를 선택했다. `workspace-write` runner가 `CreateProcessAsUserW failed: 5 (Access denied)`로 이를 거부해 소스 확인, RED/VERIFY 명령과 Step status update가 실행되지 않았다. Codex process 자체는 `exitCode=0`이지만 blocker agent message만 반환했으므로 Step 성공 evidence가 아니다.
|
||||
- state evidence: `HEAD=65b56b1755e4537b48b44476375b6235da732648`; Step 11 `pending`; Step 12 `pending`.
|
||||
|
||||
### 14.3 Root Cause Summary
|
||||
|
||||
이번 실패는 solver, comparator 또는 `1e-8` gate defect가 아니라 Harness child launch environment defect다.
|
||||
|
||||
1. 이전 launcher filter는 `C:\Program Files\WindowsApps\Microsoft.PowerShell_*` entry만 제거했다.
|
||||
2. 따라서 `C:\Users\baram\AppData\Local\Microsoft\WindowsApps` entry와 그 아래 `pwsh.exe` execution alias가 PATH에 남았다.
|
||||
3. Nested Codex shell resolver는 남은 user-local alias를 선택했고, Windows native `workspace-write` sandbox는 그 alias의 child process 생성을 Windows error 5로 거부했다.
|
||||
4. PATH에서 `\\WindowsApps(?:\\|$)`에 일치하는 모든 entry를 제거하면 현재 환경의 Program Files entry 세 개와 user-local entry 한 개가 함께 제거된다. 이때 `pwsh`는 resolve되지 않고 `powershell`은 `C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`로 resolve된다.
|
||||
5. Root가 같은 Codex CLI `0.150.1`, `gpt-5.6-terra`, `xhigh`, `--disable unified_exec`, `workspace-write`, `CODEX_HOME=C:\Users\baram\.codex` envelope에서 이 filter를 적용한 nested smoke는 위 Windows PowerShell을 선택해 exact `FESA_CODEX_SHELL_SMOKE_OK`를 출력하고 exit `0`으로 끝났다. Correction audit의 독립 direct smoke도 같은 executable, exact output과 exit `0`을 확인했다.
|
||||
|
||||
따라서 repository runner나 Step 11 implementation을 고칠 필요가 없다. Rerun launch에서 PATH predicate만 전체 WindowsApps entry를 제거하도록 바로잡으면 된다.
|
||||
|
||||
### 14.4 Correction Scope
|
||||
|
||||
- changed report file: `docs/nonlinear-static-newton-raphson/corrections.md`
|
||||
- changed source/header/test/CMake/runner/phase files: none
|
||||
- excluded upstream contracts: `requirements.md`, `formulation.md`, `numerical-review.md`, `reference-model.md`, `io.md`, `implementation-plan.md`, `docs/TOLERANCE.md`
|
||||
- excluded immutable evidence: `reference/**`, stored CSVs and reference inputs
|
||||
- preserved dirty implementation: all existing Step 11 source, test, comparator, CMake and phase changes
|
||||
- prohibited actions not performed: Harness phase execution, Step 11 implementation, Step 12, full build/CTest rerun, manual Hook execution, commit, push, `danger-full-access`, reference solver or artifact mutation
|
||||
|
||||
Correction은 repository code 변경이 아니라 corrected child-launch envelope와 재실행 경계를 확정한다. Production C++ 변경이 없으므로 새 RED test는 필요하지 않다.
|
||||
|
||||
### 14.5 Verification Evidence
|
||||
|
||||
| purpose | exact command/evidence | exit/result |
|
||||
| --- | --- | --- |
|
||||
| failure artifact audit | `Get-FileHash phases/nonlinear-static-newton-raphson/step11-output.json -Algorithm SHA256`; JSON `exitCode`, `stderr`, blocker message 검사 | exit `0`; SHA-256 `BF3A1CA6DD35EA8414710018D7F1644A1D2C6C2BCF87C11F74DA2A01BBEAB3AD`; nested process path와 `CreateProcessAsUserW failed: 5` 확인 |
|
||||
| filter audit | `($env:PATH -split ';') \| Where-Object { $_ -notmatch '\\WindowsApps(?:\\|$)' }`를 child-only PATH로 적용한 뒤 `Get-Command codex,pwsh,powershell` 확인 | four WindowsApps entries removed; Codex `codex-cli 0.150.1`; `pwsh=<none>`; `powershell=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe` |
|
||||
| independent direct smoke | filtered PATH에서 `powershell.exe -NoProfile -Command '[Console]::WriteLine($PSHOME); [Console]::WriteLine("FESA_CODEX_SHELL_SMOKE_OK")'` | exit `0`; `$PSHOME=C:\Windows\System32\WindowsPowerShell\v1.0`; exact `FESA_CODEX_SHELL_SMOKE_OK` |
|
||||
| same-envelope nested Codex smoke | Coordinator/root evidence: Codex `0.150.1`, Terra/xhigh, `--disable unified_exec`, `workspace-write`, aligned `CODEX_HOME`, all-WindowsApps filter | exit `0`; selected system Windows PowerShell and printed exact `FESA_CODEX_SHELL_SMOKE_OK` |
|
||||
| recovered attempt-1 RED | `ctest --preset windows-msvc-ninja-debug -R 'GlobalForceAndMoment' --output-on-failure` before comparator GREEN | exit `8`; preserved old `<=1e-10` rejected both `5e-9` and exact `1e-8` in `NSNR-REF-024` |
|
||||
| recovered attempt-1 GREEN | same focused GlobalForceAndMoment CTest after comparator-only shared gate became `1e-8` | exit `0`; 2/2 passed, including inclusive boundary and exact-zero-scale tests |
|
||||
| focused implementation evidence | attempt-1 focused procedure, HDF5 and global-balance runs; attempt-2 `LastTest.log` named-test audit | `NSNR-PROC-019`, `NSNR-HDF5-014`, `NSNR-REF-022`, `NSNR-REF-024`, `NSNR-REF-025` all present as passed |
|
||||
| attempt-2 Stop full CTest | `.harness/build-ninja-msvc-debug/Testing/Temporary/LastTest.log`, SHA-256 `41CA3D4E410F7BFD55E50FC7D40A79D00D26116945C468E74F0E38720E676447` | 302 `Testing` rows, 0 failure markers, final `302/302`; root/Coordinator records full `302/302` pass |
|
||||
| new full build/CTest | not run | existing evidence was sufficient and dispatch prohibited unnecessary Harness/build/CTest rerun |
|
||||
| Stop | not applicable | Correction Agent session은 Harness Step이 아니며 code/test/CMake를 변경하지 않았다. |
|
||||
| Harness Python pytest | not applicable | runner, Hook 또는 agent config를 변경하지 않았다. |
|
||||
|
||||
Attempt-1 RED/GREEN은 recovered immutable execution evidence이며 이 correction에서 재현하거나 새로 주장한 RED가 아니다. Current code를 old threshold로 되돌리지 않았고 reference artifact도 실행·수정하지 않았다.
|
||||
|
||||
### 14.6 Traceability
|
||||
|
||||
| requirement id | task id | test id | failing command | corrected file | acceptance criterion |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| `FESA-REQ-NSNR-019` | Step 11 `equilibrium-projection-and-reference-gate`; REWORK-009 | `NSNR-PROC-019`, `NSNR-HDF5-014`, `NSNR-REF-022`, `NSNR-REF-024..025` | nested `codex exec` first shell launch | `corrections.md` report-only launch correction | Step 11 agent can read/run the preserved current-arm, spatial-moment and distinct global force/moment evidence under `workspace-write` |
|
||||
| `FESA-REQ-NSNR-034` | Step 11 reference gate; REWORK-009 | `NSNR-REF-020..025` | nested `codex exec` first shell launch | `corrections.md` report-only launch correction | implementation-owned reference checks can complete without changing disposition, reference artifacts or tolerance |
|
||||
| Harness Step execution contract | `STEP11-EXECUTION-003`; `REWORK-009` | `CORR-HARNESS-SHELL-002` | user-local WindowsApps `pwsh.exe` launch | `corrections.md` | all PATH entries matching `\\WindowsApps(?:\\|$)` are absent; system Windows PowerShell launches and exact smoke exits `0` |
|
||||
|
||||
### 14.7 Handoff Recommendation
|
||||
|
||||
- recommendation: return `corrected-for-implementation-rerun` to Coordinator Agent and request one bounded Implementation Agent rerun of Step 11 only.
|
||||
- exact launch correction: reuse the approved `STEP11-EXECUTION-003` Step11-only wrapper and change only the launch PATH filter to the following predicate after VsDevCmd x64/dependency environment setup and before `codex exec`:
|
||||
|
||||
```powershell
|
||||
$step11PathEntries = $env:PATH -split ';' | Where-Object {
|
||||
$_ -and $_ -notmatch '\\WindowsApps(?:\\|$)'
|
||||
}
|
||||
$env:PATH = $step11PathEntries -join ';'
|
||||
$env:CODEX_HOME = 'C:\Users\baram\.codex'
|
||||
$env:FESA_HARNESS_CODEX_SANDBOX = 'workspace-write'
|
||||
```
|
||||
|
||||
- preserve exact runtime: Codex CLI `0.150.1`; implementation-agent `gpt-5.6-terra`/`xhigh`; `--disable unified_exec`; project PreToolUse/Stop hooks; VsDevCmd x64; approved `FESA_GTEST_SOURCE_DIR`, `MKL_DIR`, `TBB_DIR`, `HDF5_DIR`.
|
||||
- preflight must resolve `powershell` to `C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`, leave `pwsh` unresolved, and print exact `FESA_CODEX_SHELL_SMOKE_OK` with exit `0`.
|
||||
- run only Executor-selected Step 11, no `--push`; hard-stop before Step 12. Do not use `danger-full-access`, run a reference solver, mutate reference artifacts or alter runner/source/test/CMake/phase/upstream/tolerance files as part of this launch correction.
|
||||
|
||||
### 14.8 Stop Condition
|
||||
|
||||
- repeated failure: normalized classification count is already `2`; if the corrected all-WindowsApps filter still produces the same `CreateProcessAsUserW` failure, do not start another automatic retry. Return `needs-environment-fix` to Coordinator with the new output artifact.
|
||||
- environment blocker: cleared for one bounded Step 11 rerun by the same-envelope smoke; no repository-local code fix is required.
|
||||
- upstream ambiguity: none introduced by this correction; fixed `1e-8` force/moment gate and all approved contracts remain unchanged.
|
||||
- reference artifact gap: none examined or changed in this correction.
|
||||
- final stop: status `corrected-for-implementation-rerun`; Step 11 and Step 12 remain `pending` until Executor/Implementation owner action.
|
||||
|
||||
@@ -1599,7 +1599,15 @@ on any increment/recovery/output failure:
|
||||
### 14.1 Four convergence channels
|
||||
|
||||
Let free translation and rotation-coordinate subvectors carry superscripts \(u\)
|
||||
and \(\phi\). Residual channels use
|
||||
and \(\phi\). Define the matching external residual-channel scales
|
||||
|
||||
\[
|
||||
S_{ext}^u=\|\mathbf f_{ext,f}^u\|_\infty,
|
||||
\qquad
|
||||
S_{ext}^\phi=\|\mathbf f_{ext,f}^\phi\|_\infty.
|
||||
\]
|
||||
|
||||
When the matching external scale is nonzero, residual channels retain
|
||||
|
||||
\[
|
||||
\eta_R^u=
|
||||
@@ -1615,10 +1623,31 @@ and \(\phi\). Residual channels use
|
||||
\|\mathbf f_{ext,f}^\phi\|_\infty)}
|
||||
\]
|
||||
|
||||
when the matching denominator is nonzero. They pass iff
|
||||
\(\eta_R^u\le10^{-2}\) and \(\eta_R^\phi\le10^{-2}\).
|
||||
An exact-zero denominator instead passes iff the numerator is at most
|
||||
\(10^{-3}\) model-consistent force or \(10^{-3}\) model-consistent force-length.
|
||||
for \(S_{ext}^u>0\) and for \(S_{ext}^\phi>0\), respectively. Each nonzero-external-scale
|
||||
channel passes iff its ratio is \(\le10^{-2}\). An exact-zero matching external
|
||||
scale instead selects the existing typed absolute residual gate:
|
||||
|
||||
\[
|
||||
\boxed{
|
||||
S_{ext}^u=0
|
||||
\ \Longrightarrow
|
||||
\|\mathbf r_f^u\|_\infty\le10^{-3}
|
||||
\quad\text{model-consistent force},}
|
||||
\]
|
||||
|
||||
\[
|
||||
\boxed{
|
||||
S_{ext}^\phi=0
|
||||
\ \Longrightarrow
|
||||
\|\mathbf r_f^\phi\|_\infty\le10^{-3}
|
||||
\quad\text{model-consistent force-length}.}
|
||||
\]
|
||||
|
||||
The exact-zero branch selector is the matching external scale itself, not
|
||||
\(\max(\|\mathbf f_{int,f}\|_\infty,
|
||||
\|\mathbf f_{ext,f}\|_\infty)\). Therefore a nonzero internal residual does not
|
||||
select the relative branch when its matching external scale is exactly zero. When
|
||||
the external scale is nonzero, only the retained relative gate applies.
|
||||
|
||||
Let
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
> For Harness workers: this plan is an approved Stage 6 planning artifact. It authorizes planning files only. It does not authorize `scripts/execute.py`, C++ implementation, build, CTest, reference solver execution, or evidence-document creation.
|
||||
|
||||
**Goal:** `nonlinear-static-newton-raphson` 기능을 C++17/MSVC/CMake/CTest TDD 순서로 구현하고, 승인된 nonlinear MITC4 Newton-Raphson 절차, HDF5 schema v1, log lifecycle, shellNL/shell reference comparison을 검증한다.
|
||||
**Goal:** `nonlinear-static-newton-raphson` 기능을 C++17/MSVC/CMake/CTest TDD 순서로 완결하고, current-position/spatial-moment global equilibrium, accepted free residual, fine-primary/coarse-companion reference gate와 HDF5 schema v1을 검증한다.
|
||||
|
||||
**Architecture:** App layer가 argv 검증, lexical output path derivation, move-only `OutputWriteLease`, log open/close와 final HDF5 writer 호출 순서를 소유한다. 입력 parse/map은 정확히 한 번 수행하고, `StepDefinition::ProcedureKind()`로 linear와 nonlinear procedure executor를 분리한다. `LinearStaticAnalysis`의 기존 private lifecycle에는 nonlinear 조건문을 넣지 않고, 기존 linear numerical/HDF5 의미는 repository-wide output name/log lifecycle 변경만 제외하고 보존한다.
|
||||
**Architecture:** App layer가 argv 검증, lexical output path derivation, move-only `OutputWriteLease`, log open/close와 final HDF5 writer 호출 순서를 소유한다. 입력 parse/map은 정확히 한 번 수행하고, `StepDefinition::ProcedureKind()`로 linear와 nonlinear procedure executor를 분리한다. Nonlinear accepted state는 current arm과 spatial physical moment로 applied-plus-reaction balance error를 만들고 기존 `/global/equilibrium`에 저장하며, comparator는 existing schema-v1 nodal datasets에서 constrained reaction resultant와 accepted free residual을 별도로 재구성한다. `LinearStaticAnalysis`의 기존 private lifecycle에는 nonlinear 조건문을 넣지 않는다.
|
||||
|
||||
**Tech Stack:** C++17, MSVC on Windows, CMake, CTest, GoogleTest, Intel oneAPI MKL/TBB, HDF5, Abaqus `.inp` approved subset, Python 3 Harness scripts.
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
| key | value |
|
||||
| --- | --- |
|
||||
| feature_id | `nonlinear-static-newton-raphson` |
|
||||
| status | `approved-planning-files-materialized` |
|
||||
| status | `ready-for-implementation` |
|
||||
| owner_agent | `implementation-planning-agent` |
|
||||
| date | `2026-08-24` |
|
||||
| approval | User approved the final 13-Step draft on `2026-08-24`; Coordinator recorded `DECISION-036`. |
|
||||
| date | `2026-08-28` |
|
||||
| approval | User approved the original 13-Step draft on `2026-08-24`, USER-DECISION-003 revision, and delegated the Coordinator-audited REAPPROVAL-012 Stage 6 reapproval/materialization with both normalized factor-one global force and moment balance gates fixed at `<=1e-8` on `2026-08-28`. |
|
||||
| source_requirement | `docs/nonlinear-static-newton-raphson/requirements.md` |
|
||||
| source_research | `docs/nonlinear-static-newton-raphson/research.md` |
|
||||
| source_formulation | `docs/nonlinear-static-newton-raphson/formulation.md` |
|
||||
@@ -30,21 +30,52 @@
|
||||
|
||||
| document | SHA-256 |
|
||||
| --- | --- |
|
||||
| `requirements.md` | `910E351F3F90FFA42F07D15206B55E62C05EAE821E250424430148337506EBF2` |
|
||||
| `research.md` | `C920A6B02381230D1DB419D73FE767D611B36720D27D6410507BA88C3CA28EEE` |
|
||||
| `formulation.md` | `DFA629888041D5762FD0DF4271353464A692B325DC0C821A8D8689688C1EAFD0` |
|
||||
| `numerical-review.md` | `9517E11804C45A6F3822D18821D52EA493AE20353C8FFAD61E960F4315977D01` |
|
||||
| `reference-model.md` | `52D10B1D0C0500B295C5E48BCB3618B309D9696371B8070D4E3DCEE8D3D74CD3` |
|
||||
| `io.md` | `DBB959A68F17D67CA2B42569610B9C1B595A8BFB5502BC194B7E62B656031B28` |
|
||||
| `requirements.md` | `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E` |
|
||||
| `research.md` raw | `4F63D23E03D1A68E5F8563B678FDD6F761F9558165778EF0433133EFAD303570` |
|
||||
| `formulation.md` | `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9` |
|
||||
| `numerical-review.md` | `C00994EF4BB23A237547459E157EE5BDA96B28CAF08F712CD31A8E0ABBF62D2C` |
|
||||
| `reference-model.md` | `B2E6845AB59A32F78261B7A47506C27F7BF4B61401B34BC5DE3DAD4F03D6ADDA` |
|
||||
| `io.md` raw | `ED23274F4F15F7D1DFF886FA8158961362C75960990271D24A5FD010A8D51FD9` |
|
||||
| `io.md` LF-normalized | `53AFBB1DF27FBD9CE6C2E23EE34480882241A859D3FC1993E82DB61ACC6637EB` |
|
||||
|
||||
## Readiness Check
|
||||
|
||||
- Upstream document status: Stage 1 requirements approved, Stage 2 research passed, Stage 3 formulation ready for numerical review and approved downstream, Stage 4 numerical/reference review passed for I/O definition, Stage 5 I/O definition approved.
|
||||
- Upstream document status: Stage 1 requirements, Stage 4 numerical/reference review and Stage 5 I/O definition are complete; REAPPROVAL-012 fixes both factor-one normalized global force and moment balance gates at `<=1e-8`. Stage 3 formulation §§11.4/13.4 already supplies the accepted residual/reaction/global-resultant meaning.
|
||||
- Missing decisions: none.
|
||||
- Missing required comparison files: none for declared blocking/reference families.
|
||||
- Missing required comparison files: none. Fine primary, coarse companion and linear-control exact inputs/CSVs are present; stress files are optional inventory only.
|
||||
- Planning can proceed: yes.
|
||||
- REWORK-008의 local reaction blocking conflict는 USER-DECISION-004 option 1로 해소되었다. Local nodal RF/RM은 review-only이고 factor-one global force/moment balance와 accepted free residual이 blocking이다. `AUDIT-001` current-arm/spatial-moment implementation seam은 Step 11에서 RED-first로 닫는다.
|
||||
- Step 11에는 보존해야 할 uncommitted `NSNR-CTRL-018..021`, `NSNR-LOG-012`, `NSNR-PROC-019`,
|
||||
`NSNR-HDF5-014`, `NSNR-REF-001..023`, residual-selector GREEN과 comparator/CMake 작업이 있다.
|
||||
새 계획은 이를 reset/replay하지 않는다.
|
||||
- `implementation-report.md`, `build-test.md`, canonical `reference-comparison.md`는 아직 없고 Step 12가 actual evidence에서만 생성한다.
|
||||
- `CMakePresets.json` tracks the approved `windows-msvc-ninja-debug` contract. The ignored `.harness/config.json` selects the matching configure/build/test presets and `.harness/build-ninja-msvc-debug` binary directory.
|
||||
|
||||
## Implementation Scope
|
||||
|
||||
Included behavior:
|
||||
|
||||
- Existing schema-v1 `/global/equilibrium [6]`에 global origin `[0,0,0]`, accepted current
|
||||
position `X+u`, independently spatial-converted applied/reaction moments를 사용하는
|
||||
applied-plus-reaction balance error를 기록한다.
|
||||
- Existing schema-v1 nodal datasets와 exact constraint mask에서 accepted free residual,
|
||||
constrained reaction resultant와 global balance error를 서로 다른 evidence로 재구성한다.
|
||||
- Fine nonlinear primary, coarse nonlinear companion와 linear control을 exact read-only artifact로
|
||||
비교한다. U는 blocking, UR은 warning-only, local RF/RM은 review-only, RM3/stress는 excluded다.
|
||||
- Internal global force/moment는 dimension-separated normalized `1e-8`, accepted free residual은
|
||||
NSNR-069으로 blocking 검증하고 external families만 `docs/TOLERANCE.md`를 사용한다.
|
||||
|
||||
Excluded behavior and non-goals:
|
||||
|
||||
- New HDF5 dataset/schema version, public header/API, tolerance, reference artifact 또는 solver scope
|
||||
추가가 아니다.
|
||||
- `fesa.env`, runtime configuration, CLI option 또는 product solver acceptance behavior를 추가하지
|
||||
않는다. `1e-8`은 comparator-owned internal verification gate의 fixed value다.
|
||||
- Local nodal reaction을 global sum으로 대체하거나 Abaqus S4와 FESA MITC4 내부 정식화
|
||||
동등성을 주장하지 않는다.
|
||||
- Steps 0–10 구현/history replay, selector RED 재현, Abaqus/reference solver 실행, Physics/Release
|
||||
판정은 포함하지 않는다.
|
||||
|
||||
## Global Constraints
|
||||
|
||||
- Use `RED -> observed failure -> minimal GREEN -> focused VERIFY -> full CTest` in every implementation Step.
|
||||
@@ -54,8 +85,12 @@
|
||||
- Do not create `implementation-report.md`, `build-test.md`, or `reference-comparison.md` before Step 12 produces actual command evidence.
|
||||
- Do not run Harness from this planning approval. `scripts/execute.py` requires a separate explicit request.
|
||||
- Implementation and Harness execution remain unauthorized by this materialized plan until the user separately requests Executor execution.
|
||||
- Preserve source label/instance identity, deterministic row order, deterministic diagnostics, finite checks, and docs/TOLERANCE.md exactly.
|
||||
- Preserve `U1/U2/U3` blocking and `UR1/UR2/UR3` warning-only. For shellNL, preserve constrained `RF1/RF2`, `RF3`, physical spatial `RM1/RM2` blocking, and exclude `RM3` plus stress from numeric comparison.
|
||||
- Preserve source label/instance identity, deterministic row order, deterministic diagnostics, finite checks, and `docs/TOLERANCE.md` exactly.
|
||||
- Residual force/moment channel은 finite-first 검사 뒤 matching external scale 자체로 분기한다. Exact zero이면 denominator output exact `0`과 typed absolute `1.0e-3`; nonzero이면 retained `max(internal,external)` denominator와 dimensionless relative `1.0e-2`만 사용한다. Tolerance band, zero clamp, `max(1,...)`, absolute/relative OR는 금지한다.
|
||||
- Correction gates, four-channel logical AND, Full Newton, fixed load-factor stepping, maximum 100 iterations와 `nsnr-log-v1` 39-field label/order/TAB schema는 변경하지 않는다.
|
||||
- Preserve `U1/U2/U3` blocking and `UR1/UR2/UR3` warning-only. Fine/coarse constrained `RF1/RF2`, `RF3`, physical spatial `RM1/RM2` remain review-only with complete deterministic precheck/error reporting; exclude `RM3` and stress from numeric comparison.
|
||||
- Preserve schema version 1 and all existing HDF5 paths/shapes/components. Do not add a summary dataset or public header.
|
||||
- Keep internal global balance/free-residual gates separate from external `docs/TOLERANCE.md`; do not add a floor, `max(1,S)`, zero clamp, averaging or collapse.
|
||||
- Launch every Harness process from VsDevCmd with `-arch=x64 -host_arch=x64` and inherit `FESA_GTEST_SOURCE_DIR`, `MKL_DIR`, `TBB_DIR`, and `HDF5_DIR`. The tracked preset selects Ninja and MSVC Debug without hard-coding machine-local dependency paths.
|
||||
|
||||
## Repository Seam Map
|
||||
@@ -68,11 +103,12 @@
|
||||
| Domain | `StaticStepDefinition` in `include/fesa/model/model_types.h`; `StepDefinition` in `include/fesa/model/domain.h`. | Store procedure identity, `NLGEOM`, raw four `*STATIC` values and provenance. Do not store derived factor sequence or PRESELECT state. |
|
||||
| Parser mapping | `src/fesa/io/abaqus/domain_mapping_context.cpp`, `step_definition_mapper.cpp`. | Accept nonlinear static subset, warning no-op PRESELECT, reject unsupported procedure fail-closed. |
|
||||
| MITC4 | `include/fesa/elements/mitc4_shell.h`, `src/fesa/elements/mitc4_shell.cpp` are linear small-rotation. | Add separate nonlinear MITC4 files with `Create(...)` from four nodes, four initial frames, `ShellSection`, and `LinearElasticMaterial`; element kernels compute internal residual/tangent/recovery only. |
|
||||
| Loads/control | Current loads are assembled for linear static RHS. | Step 5 owns global-once fixed CLOAD external vector `f_ext` and exact external load tangent `K_ext`, including projected moment `J_l`/map-Hessian terms, with no incident-element multiplication. Step 5 also owns exact convergence constants: relative `1.0e-2`, zero-scale `1.0e-3` with channel-specific units. Step 10 forms `r = f_int - f_ext` and `K_T = K_int - K_ext`. |
|
||||
| Loads/control | Preserved partial Step 11 work already changes residual selection to matching external scale exact-zero/nonzero and adds `NSNR-CTRL-018..021`/`NSNR-LOG-012`. | Preserve without replay/redesign; run focused regression before the new equilibrium/reference gate. |
|
||||
| Equilibrium projection | `src/fesa/analysis/nonlinear_static_procedure.cpp` currently sums raw full residual with initial Domain coordinates and raw rotational covectors. | Apply the constraint mask before rotational conversion; use accepted `X+u`; convert applied and constrained-reaction rotational covectors independently with `InverseTransposeLeftJacobianSO3(phi)`; store applied-plus-reaction balance only. |
|
||||
| Source identity | `SourceEntityId { instance_name, source_label, source_label_text }` and `EntityIndex` exist in `include/fesa/core/source_identity.h`; nodes are stored in stable Domain order. | Step 8 baseline uses both `EntityIndex` and full `SourceEntityId`, requires one node baseline per Domain node in stable internal order, rejects label-only or mismatched identities, and preserves identity into HDF5/reference mapping. |
|
||||
| Solver | `MklPardisoSolver` uses SPD `mtype=2` and upper-triangle copy. | Preserve unchanged; add `TangentSolver` and MKL unsymmetric full CSR `mtype=11`. |
|
||||
| Results writer | `ResultsWriter` is the backend-neutral linear writer; `Hdf5ResultsWriter` writes schema-v0 single-frame linear output. | Add `NonlinearResultsWriter` backend-neutral boundary and `NonlinearHdf5ResultsWriter` schema-v1 implementation with delayed finalization after log close. |
|
||||
| Tests | `fesa_unit_tests`, `fesa_integration_tests`, `fesa_reference_tests` use executable-wide labels. | Add focused test sources and use `ctest -R` regex; do not globally relabel existing tests as nonlinear. |
|
||||
| Results writer | `NonlinearHdf5ResultsWriter` already writes schema-v1 `/global/equilibrium`, but its location attribute is `global-origin`. | Preserve dataset path/shape/components and change exact location identity to `global-balance-error`; no new dataset or public writer boundary. |
|
||||
| Tests | Existing integration/HDF5 tests and partial nonlinear comparator are registered in existing executables. | Add RED to existing sources; preserve the current CMake registration and use focused `ctest -R` regex without a new target or global relabel. |
|
||||
|
||||
## Work Breakdown
|
||||
|
||||
@@ -89,7 +125,7 @@
|
||||
| 8 | `nonlinear-state-commit-rollback` | 3-7 | Factor-zero baseline construction with `EntityIndex` plus `SourceEntityId`, trial/committed nonlinear state, accepted frames, rollback/preservation. |
|
||||
| 9 | `nonlinear-hdf5-schema-v1-writer` | 8 | Nonlinear HDF5 schema v1 writer using `std::vector<Diagnostic>`. |
|
||||
| 10 | `prepared-analysis-flow-and-full-procedure` | 0-9 | Single parse/map prepared analysis flow, separate linear/nonlinear executors, delayed writer finalization. |
|
||||
| 11 | `reference-comparison-gate` | 0-10 | shellNL nonlinear and shell linear real-input reference comparison. |
|
||||
| 11 | `equilibrium-projection-and-reference-gate` | 0-10 | Preserve partial selector/comparator work; add new current-arm/spatial-moment, HDF5 location, fine/coarse disposition/internal-gate RED tests; make minimal procedure/writer/comparator GREEN; run focused/full verification. |
|
||||
| 12 | `execution-closure-and-evidence-docs` | 0-11 | Fresh MSVC evidence, deterministic repeat/reference audit, actual-output evidence docs. |
|
||||
|
||||
## TDD Test Plan
|
||||
@@ -101,20 +137,21 @@
|
||||
| `NSNR-ROT-*` | finite rotation invariants, `J_l`, branch margin, director update. | 2 |
|
||||
| `NSNR-ELEM-KIN-*` | nonlinear MITC4 creation inputs, TL shell kinematics, fixed-size four-GP recovery rows, degeneracy fail-closed, linear limit. | 3 |
|
||||
| `NSNR-ELEM-TAN-*` | same-trial internal residual/tangent, directional derivative, objectivity, symmetry only for internal/no-external cases. | 4 |
|
||||
| `NSNR-CTRL-*` | load factor path, absolute boundary path, global-once fixed loads and load tangent, moment admissibility, typed four convergence gates with `relative`/`zero-scale` branches and non-injectable exact thresholds/units. | 5 |
|
||||
| `NSNR-CTRL-*` | Existing coverage plus preserved partial `NSNR-CTRL-018..021`: matching-external exact-zero absolute boundaries, retained nonzero relative boundaries, nonfinite-first/no-clamp selection, unchanged correction gates/four-channel AND. Do not replay/fabricate selector RED. | 5,11 |
|
||||
| `NSNR-SOLVER-*` | nonsymmetric tangent solve, 0x0, nonfinite/failure translation, SPD solver unchanged. | 6 |
|
||||
| `NSNR-LOG-*` | serializer-owned 39-field UTF-8/LF/TAB Newton log from explicit stage/failure/channel records and fail-closed write/flush/close. | 7 |
|
||||
| `NSNR-LOG-*` | Existing serializer coverage plus preserved partial `NSNR-LOG-012`: evaluator-produced zero/nonzero-external decisions retain exact denominator, branch, threshold, unit and 39 fields. | 7,11 |
|
||||
| `NSNR-STATE-*` | factor-zero baseline creation with stable node order and full source identity, trial/committed separation, accepted frame order, full schema-v1 state inventory, finite atomic commit, rollback. | 8 |
|
||||
| `NSNR-HDF5-*` | `NonlinearResultsWriter` boundary, schema v1 metadata/model/frame datasets, factor-zero metadata, atomic finalization. | 9 |
|
||||
| `NSNR-PROC-*` | full procedure orchestration, single parse/map, log close before HDF5, deterministic repeat. | 10 |
|
||||
| `NSNR-REF-*` | original artifact snapshot, temp input copy run, HDF5-to-original-CSV identity mapping, tolerance, classification, report data. | 11 |
|
||||
| `NSNR-EVID-*` | fresh evidence docs and diff/hash/warning audits from actual command outputs. | 12 |
|
||||
| `NSNR-HDF5-*` | Existing schema-v1 coverage plus `NSNR-HDF5-014` exact `/global/equilibrium` `location=global-balance-error`; path/shape/components/version unchanged. | 9,11 |
|
||||
| `NSNR-PROC-*` | Existing procedure coverage plus collision-resolved `NSNR-PROC-019` exact test `NonlinearStaticProcedure.NonzeroPrescribedMotionWritesCurrentArmSpatialAppliedPlusReactionBalance`. Approved draft label `NSNR-PROC-011` is not reused because completed Step 10 already owns it. | 10,11 |
|
||||
| `NSNR-REF-*` | Preserve `NSNR-REF-001..023`, including the current-case old-gate RED in `022`; add `024` inclusive `1e-8` force/moment boundary plus approved between-threshold regression and `025` exact-zero-scale force/moment regression before changing the comparator gate. | 11 |
|
||||
| `NSNR-EVID-*` | `001..007` freshness, disposition, fine/internal inventory, AUDIT-001, command/provenance and actual-output report checks. | 12 |
|
||||
|
||||
## CMake And CTest Plan
|
||||
|
||||
- Add C++ sources to `src/fesa/CMakeLists.txt` under existing `fesa_solver`.
|
||||
- Add unit tests to `fesa_unit_tests`, integration tests to `fesa_integration_tests`, reference tests to `fesa_reference_tests`.
|
||||
- Preserve current executable-wide labels. Use focused regex such as `ctest --preset windows-msvc-ninja-debug -R "NonlinearStaticReference|ReferenceTolerance|Mitc4Reference" --output-on-failure`.
|
||||
- Step 11 adds no target or `add_test`: procedure/HDF5 tests use existing executables and current partial `tests/CMakeLists.txt` comparator registration is preserved without unrelated edits.
|
||||
- If scoped per-test labels are introduced, the Step that introduces the mechanism must test it and avoid changing labels for unrelated discovered tests.
|
||||
- Configure/build/test commands:
|
||||
|
||||
@@ -125,6 +162,17 @@ ctest --preset windows-msvc-ninja-debug --show-only=json-v1
|
||||
ctest --preset windows-msvc-ninja-debug --output-on-failure
|
||||
```
|
||||
|
||||
## Candidate Files and Ownership
|
||||
|
||||
Candidate paths guide the Implementation Agent and do not finalize a new public API.
|
||||
|
||||
| Step | candidate files | responsibility boundary |
|
||||
| --- | --- | --- |
|
||||
| 11 RED | `tests/integration/analysis/nonlinear_static_procedure_test.cpp`; `tests/unit/io/hdf5/nonlinear_hdf5_results_writer_test.cpp`; existing partial `tests/reference/nonlinear_static_reference_{comparison.h,comparison.cpp,cases_test.cpp}` | New behavior must fail before production edits; comparator extensions remain test-private. |
|
||||
| 11 GREEN | `src/fesa/analysis/nonlinear_static_procedure.cpp`; `src/fesa/io/hdf5/nonlinear_hdf5_results_writer.cpp` | Current-arm/spatial-moment balance and exact dataset location only; no public header/state/schema expansion. |
|
||||
| 11 preserve | `src/fesa/analysis/nonlinear_static_control.cpp`; `tests/unit/analysis/nonlinear_static_control_test.cpp`; `tests/unit/analysis/newton_iteration_log_test.cpp`; `tests/CMakeLists.txt` | Preserve uncommitted selector/tests/registration and verify them; do not reset, recreate or redesign. |
|
||||
| 12 evidence | `docs/PRD.md`; `docs/ARCHITECTURE.md`; `docs/ADR.md`; feature `implementation-report.md`, `build-test.md`, `reference-comparison.md` | Directly superseded global statements and actual evidence only; no C++/test/CMake ownership. |
|
||||
|
||||
## Data Flow Contract
|
||||
|
||||
1. CLI receives `fesa.exe <model.inp>`.
|
||||
@@ -132,40 +180,55 @@ ctest --preset windows-msvc-ninja-debug --output-on-failure
|
||||
3. App derives `<stem>_results.h5` and `<stem>_log.txt` beside the lexically normalized user-addressed `.inp`.
|
||||
4. App acquires move-only `OutputWriteLease` and retains it until all log and HDF5 work ends.
|
||||
5. App opens/truncates the log, then `PrepareAnalysisInput(input_path)` parses/maps once into `Domain`.
|
||||
6. Procedure executor receives injected `ParallelFor` plus `LinearSolver` or `TangentSolver` and computes a fully validated linear or nonlinear state without opening HDF5. Nonlinear assembly forms `r = f_int - f_ext` and `K_T = K_int - K_ext` from Step 4 internal quantities and Step 5 global-once external quantities. Nonlinear state construction preserves each node's stable `EntityIndex` and full `SourceEntityId`; source label alone is never a row identity.
|
||||
6. Procedure executor receives injected `ParallelFor` plus `LinearSolver` or `TangentSolver` and computes a fully validated state without opening HDF5. Nonlinear assembly forms `r=f_int-f_ext` and `K_T=K_int-K_ext`, preserves the existing convergence decisions, then computes accepted global balance in stable node order. For each node it sets `x=X+u`, masks constrained residual components before converting reaction rotation, converts applied and reaction rotational covectors independently with `InverseTransposeLeftJacobianSO3(phi)`, and accumulates `applied+reaction` force and `x cross force + spatial moment` about `[0,0,0]`.
|
||||
7. App closes the log successfully before invoking injected `ResultsWriter` or `NonlinearResultsWriter`.
|
||||
8. HDF5 is the authoritative solver output. CSV views are comparison/debug artifacts only.
|
||||
8. HDF5 is authoritative. Existing schema-v1 `/global/equilibrium [6]` stores only the applied-plus-reaction balance error with `location=global-balance-error`; existing nodal datasets/mask reconstruct accepted free residual and constrained reaction resultant without new datasets.
|
||||
9. Comparator copies exact inputs to unique build-local directories, runs only the copies, and executes `ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT`. CSV views are comparison/debug artifacts only.
|
||||
|
||||
## Reference Inventory
|
||||
|
||||
| path | role | rows | SHA-256 |
|
||||
| --- | --- | ---: | --- |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine.inp` | primary nonlinear input | input | `40DF1CE77311C8D799564A21A60F3BDEBB8148D52CAE22B7292FDFAD32018220` |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine displacements.csv` | required blocking/warning CSV | 729 | `740819FF8AED0E279961581F7CDBFA12784CFBA3A488C35A652E80103F64433F` |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine reactions.csv` | required review-only CSV | 729 | `AEB01C98C596792B0E5F2B86A81945CAB0BEB0C6969CFC6738C6F81DF1F94363` |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine stresses.csv` | optional inventory artifact | 5,408 | `6D6213AB5DB9D6B1F5FBD641367D08BACC805967B6C5A95BCE0E1A5395377782` |
|
||||
| `reference/shellNL/shellNL.inp` | nonlinear input | input | `4BF3ECB0F7F1E8462C573E993DBC97AC5D920C91CF6F23AD4C6891D77FFBADA2` |
|
||||
| `reference/shellNL/shellNL displacements.csv` | required displacement CSV | 49 | `4E0F99CA9372B1ADF7FAF102F43BC0B887DC743FDEDA378E4342D2CF8E0C0786` |
|
||||
| `reference/shellNL/shellNL reactions.csv` | required reaction CSV | 49 | `001CB1541A9E94424E5E650509D46BC8724970DF4DE47184D9DB09C7938AB069` |
|
||||
| `reference/shellNL/shellNL stresses.csv` | nonblocking inventory artifact | 288 | `5500E5114B1C44887528E30CEC054A1EB0F68BE3F4B8CE81FA59FC74A881483F` |
|
||||
| `reference/shellNL/shellNL displacements.csv` | required blocking/warning CSV | 49 | `4E0F99CA9372B1ADF7FAF102F43BC0B887DC743FDEDA378E4342D2CF8E0C0786` |
|
||||
| `reference/shellNL/shellNL reactions.csv` | required review-only CSV | 49 | `001CB1541A9E94424E5E650509D46BC8724970DF4DE47184D9DB09C7938AB069` |
|
||||
| `reference/shellNL/shellNL stresses.csv` | optional inventory artifact | 288 | `5500E5114B1C44887528E30CEC054A1EB0F68BE3F4B8CE81FA59FC74A881483F` |
|
||||
| `reference/shell/shell.inp` | linear input | input | `4005851E1AB22FD3A16AC17A8D5DA3E051233F69F37419079F3553AD134ECFCF` |
|
||||
| `reference/shell/shell displacements.csv` | required displacement CSV | 49 | `C81D94E0B4A849F87AA0F79C83A79B94D5661AC79E44ED826919AB432C87746B` |
|
||||
| `reference/shell/shell reactions.csv` | nonblocking inventory artifact | 49 | `0E34EEC27E700C3C0C744C1DAFD8A3B95EFEF34B8616FE96665876586FE82D41` |
|
||||
| `reference/shell/shell stresses.csv` | nonblocking inventory artifact | 288 | `2B75A5B0DEB045A283C9BB7E9B1153B79F7537FF487214BF4A23316B59B660A7` |
|
||||
|
||||
Blocking and warning families:
|
||||
External comparison families:
|
||||
|
||||
| family | components | rows | disposition |
|
||||
| --- | --- | ---: | --- |
|
||||
| `linear.translation` | `U1,U2,U3`, nodes `1..49` | 147 | blocking |
|
||||
| `linear.rotation` | `UR1,UR2,UR3`, nodes `1..49` | 147 | warning-only |
|
||||
| `nonlinear.translation` | `U1,U2,U3`, nodes `1..49` | 147 | blocking |
|
||||
| `nonlinear.rotation` | `UR1,UR2,UR3`, nodes `1..49` | 147 | warning-only |
|
||||
| `nonlinear.reaction_inplane_force` | `RF1,RF2`, constrained nodes | 48 | blocking |
|
||||
| `nonlinear.reaction_transverse_force` | `RF3`, constrained nodes | 24 | blocking |
|
||||
| `nonlinear.reaction_physical_moment` | `RM1,RM2`, constrained nodes | 48 | blocking |
|
||||
| `coarse.translation` | `U1,U2,U3`, nodes `1..49` | 147 | blocking |
|
||||
| `coarse.rotation` | `UR1,UR2,UR3`, nodes `1..49` | 147 | warning-only |
|
||||
| `coarse.local_reaction_inplane_force` | `RF1,RF2`, 24 constrained nodes | 48 | review-only |
|
||||
| `coarse.local_reaction_transverse_force` | `RF3`, 24 constrained nodes | 24 | review-only |
|
||||
| `coarse.local_reaction_physical_moment` | `RM1,RM2`, 24 constrained nodes | 48 | review-only |
|
||||
| `fine.translation` | `U1,U2,U3`, nodes `1..729` | 2,187 | blocking |
|
||||
| `fine.rotation` | `UR1,UR2,UR3`, nodes `1..729` | 2,187 | warning-only |
|
||||
| `fine.local_reaction_inplane_force` | `RF1,RF2`, 104 constrained nodes | 208 | review-only |
|
||||
| `fine.local_reaction_transverse_force` | `RF3`, 104 constrained nodes | 104 | review-only |
|
||||
| `fine.local_reaction_physical_moment` | `RM1,RM2`, 104 constrained nodes | 208 | review-only |
|
||||
|
||||
Constrained node labels for shellNL reactions: `1,3,4,5,6,7,8,9,14,15,16,17,22,23,24,25,26,27,28,29,30,31,32,33`.
|
||||
Internal blocking families for each fine/coarse accepted factor-one state are free force residual,
|
||||
free moment residual, global force balance and global moment balance. Global force/moment use separate
|
||||
normalized `<=1e-8` gates; free residual uses NSNR-069. Constrained reaction resultant force `[3]`
|
||||
and moment `[3]` is a distinct review-only summary.
|
||||
|
||||
Exact shellNL `Frame`: `Increment 10: Step Time = 1.000`.
|
||||
Constrained labels: coarse `1,3..9,14..17,22..33`; fine `1,3..9,34..57,82..153`.
|
||||
|
||||
Step 11 must not run original reference input paths directly. It snapshots exact original artifact inventory, copies input bytes unchanged into a unique build-local temp case directory, runs `FesaApplication` on the copied `.inp`, consumes copied-sibling `_results.h5` and `_log.txt`, compares generated HDF5 to original read-only CSVs, and then verifies original reference directory inventory, bytes, timestamps, and hashes are unchanged. HDF5 source path identity matches the copied user-addressed input; source content identity matches the approved input hash.
|
||||
Exact fine and coarse nonlinear `Frame`: `Increment 10: Step Time = 1.000`.
|
||||
|
||||
Step 11 must not run original reference input paths directly. It snapshots each exact original artifact inventory, copies input bytes unchanged into a unique build-local case directory, runs `FesaApplication` on the copy, consumes copied-sibling `_results.h5` and `_log.txt`, compares generated HDF5 to original read-only CSVs, and verifies original inventory, bytes, timestamps and hashes are unchanged. HDF5 path identity matches the copied input and source content identity matches the approved input hash.
|
||||
|
||||
## Acceptance Traceability Matrix
|
||||
|
||||
@@ -176,10 +239,10 @@ Step 11 must not run original reference input paths directly. It snapshots exact
|
||||
| `FESA-REQ-NSNR-041` | 1,3,10 | `NSNR-IO-*`, `NSNR-ELEM-KIN-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-074` | 2,8,10 | `NSNR-ROT-*`, `NSNR-STATE-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-006` | 4,6,10 | `NSNR-ELEM-TAN-*`, `NSNR-SOLVER-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-007` | 5,10 | `NSNR-CTRL-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-069` | 5,10 | `NSNR-CTRL-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-070` | 5,10 | `NSNR-CTRL-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-008` | 5,10 | `NSNR-CTRL-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-007` | 5,10,11 | `NSNR-CTRL-021`, `NSNR-PROC-*`, `NSNR-REF-019` |
|
||||
| `FESA-REQ-NSNR-069` | 5,10,11 | `NSNR-CTRL-018..020`, `NSNR-LOG-012`, `NSNR-REF-019` |
|
||||
| `FESA-REQ-NSNR-070` | 5,10,11 | `NSNR-CTRL-021`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-008` | 5,10,11 | `NSNR-CTRL-020`, `NSNR-PROC-*`, `NSNR-REF-019` |
|
||||
| `FESA-REQ-NSNR-014` | 5,10 | `NSNR-CTRL-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-046` | 5,10 | `NSNR-CTRL-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-048` | 5,10 | `NSNR-CTRL-*`, `NSNR-PROC-*` |
|
||||
@@ -187,14 +250,14 @@ Step 11 must not run original reference input paths directly. It snapshots exact
|
||||
| `FESA-REQ-NSNR-063` | 5,10 | `NSNR-CTRL-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-016` | 1,5 | `NSNR-IO-*`, `NSNR-CTRL-*` |
|
||||
| `FESA-REQ-NSNR-011` | 8,9,10 | `NSNR-STATE-*`, `NSNR-HDF5-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-019` | 4,8,10 | `NSNR-ELEM-TAN-*`, `NSNR-STATE-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-019` | 4,8,10,11 | `NSNR-ELEM-TAN-*`, `NSNR-STATE-*`, `NSNR-PROC-019`, `NSNR-HDF5-014`, `NSNR-REF-022`, `NSNR-REF-024..025` |
|
||||
| `FESA-REQ-NSNR-020` | 1 | `NSNR-IO-*` |
|
||||
| `FESA-REQ-NSNR-021` | 8,9,10 | `NSNR-STATE-*`, `NSNR-HDF5-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-024` | 7,10 | `NSNR-LOG-*`, `NSNR-PROC-*` |
|
||||
| `FESA-REQ-NSNR-021` | 8,9,10,11 | `NSNR-STATE-*`, `NSNR-HDF5-*`, `NSNR-PROC-*`, `NSNR-HDF5-014` |
|
||||
| `FESA-REQ-NSNR-024` | 7,10,11 | `NSNR-LOG-012`, `NSNR-PROC-*`, `NSNR-REF-019` |
|
||||
| `FESA-REQ-NSNR-083` | 0,10,12 | `NSNR-CLI-*`, `NSNR-PROC-*`, `NSNR-EVID-*` |
|
||||
| `FESA-REQ-NSNR-026` | 8,10,11,12 | `NSNR-STATE-*`, `NSNR-PROC-*`, `NSNR-REF-*`, `NSNR-EVID-*` |
|
||||
| `FESA-REQ-NSNR-030` | 2,3,4,5,6,7,8,9,10,11 | `NSNR-ROT-*`, `NSNR-ELEM-*`, `NSNR-CTRL-*`, `NSNR-SOLVER-*`, `NSNR-LOG-*`, `NSNR-STATE-*`, `NSNR-HDF5-*`, `NSNR-PROC-*`, `NSNR-REF-*` |
|
||||
| `FESA-REQ-NSNR-034` | 11 | `NSNR-REF-*` |
|
||||
| `FESA-REQ-NSNR-026` | 8,10,11,12 | `NSNR-STATE-*`, `NSNR-PROC-*`, `NSNR-REF-020..023`, `NSNR-EVID-*` |
|
||||
| `FESA-REQ-NSNR-030` | 2,3,4,5,6,7,8,9,10,11 | `NSNR-ROT-*`, `NSNR-ELEM-*`, `NSNR-CTRL-*`, `NSNR-SOLVER-*`, `NSNR-LOG-*`, `NSNR-STATE-*`, `NSNR-HDF5-014`, `NSNR-PROC-019`, `NSNR-REF-022`, `NSNR-REF-024..025` |
|
||||
| `FESA-REQ-NSNR-034` | 11,12 | `NSNR-REF-020..023`, `NSNR-EVID-003..007` |
|
||||
|
||||
## Numerical Review Coverage
|
||||
|
||||
@@ -208,7 +271,9 @@ Step 11 must not run original reference input paths directly. It snapshots exact
|
||||
| patch/sign recovery | 3,4 |
|
||||
| load/boundary path and `rho_M` | 5,10 |
|
||||
| Newton factor/iteration lifecycle | 5,7,10 |
|
||||
| four convergence gates | 5,7,10 |
|
||||
| four convergence gates | 5,7,10,11; preserved partial selector/control/log work is regression-verified in Step 11 |
|
||||
| global balance/current-arm/spatial moment | 11 |
|
||||
| review-only local reaction and fine/coarse reference | 11,12 |
|
||||
| commit/rollback/determinism | 8,10,11,12 |
|
||||
|
||||
## Validation Commands
|
||||
@@ -226,21 +291,51 @@ ctest --preset windows-msvc-ninja-debug --show-only=json-v1
|
||||
ctest --preset windows-msvc-ninja-debug --output-on-failure
|
||||
```
|
||||
|
||||
Focused CTest commands are written explicitly in each `stepN.md`.
|
||||
Step 11 focused commands additionally include:
|
||||
|
||||
```powershell
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearConvergence|NewtonIterationLog)\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearStaticProcedure|NonlinearHdf5ResultsWriter)\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^NonlinearStaticReference\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearStaticReference|ReferenceTolerance|Mitc4Reference)\." --output-on-failure
|
||||
```
|
||||
|
||||
Harness Python validation is not in scope unless a Step changes Harness Python behavior, hook behavior, or agent configuration.
|
||||
|
||||
## Risks And Downstream Handoff
|
||||
|
||||
- Main implementation risk: current `LinearStaticAnalysis` owns parse/map and HDF5 write internally. Step 10 must refactor through prepared analysis flow so log close precedes HDF5 finalization for both linear and nonlinear runs.
|
||||
- Main numerical risk: nonlinear MITC4 tangent and finite rotation derivatives must pass internal derivative/objectivity tests before reference comparison can be meaningful.
|
||||
- Main backend risk: nonlinear tangent can be nonsymmetric. Preserve SPD `MklPardisoSolver` unchanged and add separate `TangentSolver`.
|
||||
- Handoff to Implementation Agent through Coordinator: execute Steps 0..12 in order, one current Step at a time, with RED observed failure evidence before GREEN implementation, then focused/full CTest. Final reference gate is Step 11; evidence-document closure is Step 12.
|
||||
- Current numerical risk: nonzero prescribed motion exposes the existing raw-residual/initial-arm
|
||||
shortcut. The minimal fix must preserve same-state, stable-order and mask-before-spatial-conversion
|
||||
semantics; passing zero-prescribed shellNL cases alone is insufficient evidence.
|
||||
- Current reference risk: fine/coarse U and internal balance/free-residual are blocking, but local RF/RM
|
||||
may still show large review-only errors. Do not convert those findings into omitted rows, relaxed
|
||||
tolerance or a blocking gate.
|
||||
- Current worktree risk: Step 11 contains partial selector/comparator/CMake edits. Preserve and continue
|
||||
those files; do not delete, reset, replay selector RED or replace the comparator design wholesale.
|
||||
- Handoff to Implementation Agent through Coordinator: after a separate explicit Harness request,
|
||||
resume only Executor-selected Step 11. Preserve existing `NSNR-PROC-019`, `NSNR-HDF5-014` and
|
||||
`NSNR-REF-020..023`; first re-observe the current-case old-gate RED, then add `NSNR-REF-024..025`
|
||||
before changing the comparator-only shared force/moment gate to `1e-8`. Verify preserved
|
||||
selector/log tests, then run focused/full preset validation.
|
||||
Step 12 remains actual-evidence closure.
|
||||
|
||||
## Harness Step Draft
|
||||
|
||||
| Step | name | one-module scope | prerequisites | stop condition |
|
||||
| ---: | --- | --- | --- | --- |
|
||||
| 11 | `equilibrium-projection-and-reference-gate` | Nonlinear accepted equilibrium projection, exact HDF5 location and test-private reference gate | Steps 0–10 completed; approved upstream hashes; partial Step 11 work preserved; VsDevCmd/preset dependency environment | Stop on unexpected RED, public API/schema/tolerance/reference change, reference mutation, or any focused/full failure. |
|
||||
| 12 | `execution-closure-and-evidence-docs` | Fresh evidence reports plus directly superseded PRD/ARCH/ADR statements | Step 11 completed with actual command/reference evidence | Stop if Step 11 is incomplete, evidence is stale/untraceable, a code/test/CMake change is needed, or any final command fails. |
|
||||
|
||||
Both Step files contain exact commands, file ownership, RED/GREEN/VERIFY order and prohibitions.
|
||||
Materialization does not select or execute either Step.
|
||||
|
||||
## Open Issues
|
||||
|
||||
None.
|
||||
None blocking planning. Revised upstream contracts and exact required artifacts are complete; actual
|
||||
RED/GREEN/build/reference outcomes remain Step 11/12 evidence and are not pre-claimed.
|
||||
|
||||
## Plan Approval Boundary
|
||||
|
||||
The user-approved plan and pending phase files do not authorize Harness execution. `scripts/execute.py nonlinear-static-newton-raphson` requires a separate explicit user request.
|
||||
The Coordinator-audited REAPPROVAL-012 revision authorizes this planning/phase materialization and
|
||||
blocked-to-pending recovery. It does not itself execute Harness; Executor invocation remains under
|
||||
the Coordinator's separately audited execution authority.
|
||||
|
||||
@@ -4,20 +4,22 @@
|
||||
|
||||
- feature_id: `nonlinear-static-newton-raphson`
|
||||
- source_requirement: `docs/nonlinear-static-newton-raphson/requirements.md`
|
||||
- source_requirement_sha256: `910E351F3F90FFA42F07D15206B55E62C05EAE821E250424430148337506EBF2`
|
||||
- source_requirement_sha256: `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E`
|
||||
- source_research: `docs/nonlinear-static-newton-raphson/research.md`
|
||||
- source_research_sha256: `C920A6B02381230D1DB419D73FE767D611B36720D27D6410507BA88C3CA28EEE`
|
||||
- source_research_sha256: `4F63D23E03D1A68E5F8563B678FDD6F761F9558165778EF0433133EFAD303570`
|
||||
- source_formulation: `docs/nonlinear-static-newton-raphson/formulation.md`
|
||||
- source_formulation_sha256: `DFA629888041D5762FD0DF4271353464A692B325DC0C821A8D8689688C1EAFD0`
|
||||
- source_formulation_sha256: `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9`
|
||||
- source_numerical_review: `docs/nonlinear-static-newton-raphson/numerical-review.md`
|
||||
- source_numerical_review_sha256: `9517E11804C45A6F3822D18821D52EA493AE20353C8FFAD61E960F4315977D01`
|
||||
- source_numerical_review_sha256: `C00994EF4BB23A237547459E157EE5BDA96B28CAF08F712CD31A8E0ABBF62D2C`
|
||||
- source_reference_model: `docs/nonlinear-static-newton-raphson/reference-model.md`
|
||||
- source_reference_model_sha256: `52D10B1D0C0500B295C5E48BCB3618B309D9696371B8070D4E3DCEE8D3D74CD3`
|
||||
- source_reference_model_sha256: `B2E6845AB59A32F78261B7A47506C27F7BF4B61401B34BC5DE3DAD4F03D6ADDA`
|
||||
- decision_source: `USER-DECISION-004 option 1`
|
||||
- balance_gate_decision: user-approved factor-one global force/moment normalized gate `<=1e-8`
|
||||
- repository_policy: `AGENTS.md`, `docs/SOLVER_AGENT_DESIGN.md`, `docs/PRD.md`,
|
||||
`docs/ARCHITECTURE.md`, `docs/ADR.md`, `docs/TOLERANCE.md`
|
||||
- status: `ready-for-coordinator-review`
|
||||
- owner_agent: `io-definition-agent`
|
||||
- date: `2026-08-23`
|
||||
- date: `2026-08-28`
|
||||
- authoritative_output: input sibling `<stem>_results.h5`
|
||||
- diagnostic_log: input sibling `<stem>_log.txt`
|
||||
- hdf5_schema_version: `1`
|
||||
@@ -386,15 +388,15 @@ failure도 entered iteration이 없으면 iteration record가 없는 log file만
|
||||
| 7 | `failing_stage` | `none` for completed gate records, otherwise failing stage enum |
|
||||
| 8 | `residual_force_channel` | literal `residual_force` or `not-evaluated(reason)` |
|
||||
| 9 | `residual_force_numerator_norm` | `||r_f^u||_inf` or `not-evaluated(reason)` |
|
||||
| 10 | `residual_force_denominator_scale` | `max(||f_int,f^u||_inf,||f_ext,f^u||_inf)` or `not-evaluated(reason)` |
|
||||
| 11 | `residual_force_branch` | `relative`, `zero-scale`, or `not-evaluated(reason)` |
|
||||
| 10 | `residual_force_denominator_scale` | matching `||f_ext,f^u||_inf`가 exact zero이면 exact `0`; nonzero이면 `max(||f_int,f^u||_inf,||f_ext,f^u||_inf)`; 또는 `not-evaluated(reason)` |
|
||||
| 11 | `residual_force_branch` | matching external scale이 nonzero이면 `relative`, exact zero이면 `zero-scale`, 또는 `not-evaluated(reason)` |
|
||||
| 12 | `residual_force_threshold` | `1e-2` for `relative`, `1e-3` for `zero-scale`, or `not-evaluated(reason)` |
|
||||
| 13 | `residual_force_threshold_unit` | `1`, `force`, or `not-evaluated(reason)` |
|
||||
| 14 | `residual_force_pass` | `0`, `1`, or `not-evaluated(reason)` |
|
||||
| 15 | `residual_moment_channel` | literal `residual_moment` or `not-evaluated(reason)` |
|
||||
| 16 | `residual_moment_numerator_norm` | `||r_f^phi||_inf` or `not-evaluated(reason)` |
|
||||
| 17 | `residual_moment_denominator_scale` | `max(||f_int,f^phi||_inf,||f_ext,f^phi||_inf)` or `not-evaluated(reason)` |
|
||||
| 18 | `residual_moment_branch` | `relative`, `zero-scale`, or `not-evaluated(reason)` |
|
||||
| 17 | `residual_moment_denominator_scale` | matching `||f_ext,f^phi||_inf`가 exact zero이면 exact `0`; nonzero이면 `max(||f_int,f^phi||_inf,||f_ext,f^phi||_inf)`; 또는 `not-evaluated(reason)` |
|
||||
| 18 | `residual_moment_branch` | matching external scale이 nonzero이면 `relative`, exact zero이면 `zero-scale`, 또는 `not-evaluated(reason)` |
|
||||
| 19 | `residual_moment_threshold` | `1e-2` for `relative`, `1e-3` for `zero-scale`, or `not-evaluated(reason)` |
|
||||
| 20 | `residual_moment_threshold_unit` | `1`, `force*length`, or `not-evaluated(reason)` |
|
||||
| 21 | `residual_moment_pass` | `0`, `1`, or `not-evaluated(reason)` |
|
||||
@@ -417,13 +419,29 @@ failure도 entered iteration이 없으면 iteration record가 없는 log file만
|
||||
| 38 | `outcome` | `accepted`, `continue`, `nonconverged`, or `failed` |
|
||||
| 39 | `diagnostic_code` | `none` or approved diagnostic code |
|
||||
|
||||
Completed gate record는 `failing_stage=none`이고 네 channel의 identity, numerator/norm,
|
||||
denominator/scale, branch, typed threshold, pass를 모두 finite 또는 enum value로 노출한다.
|
||||
Denominator가 exact zero이면 branch는 `zero-scale`이고 typed threshold는 residual force
|
||||
`1e-3 force`, residual moment `1e-3 force*length`, correction translation `1e-3 length`,
|
||||
correction rotation `1e-3 dimensionless`다. Denominator가 nonzero이면 branch는 `relative`이고
|
||||
threshold는 dimensionless `1e-2`다. Empty free channel은 numerator와 denominator가 exact zero인
|
||||
`zero-scale` branch로 평가한다.
|
||||
`nsnr-log-v1`의 39개 field label, order와 TAB-separated `label=value` serialization은
|
||||
변경하지 않는다. Completed gate record는 `failing_stage=none`이고 네 channel의 identity,
|
||||
numerator/norm, denominator/scale, branch, typed threshold, pass를 모두 finite 또는 enum
|
||||
value로 노출한다.
|
||||
|
||||
Residual channel은 required residual/internal/external vector와 그 infinity norm을 모두 finite로
|
||||
확인한 뒤 matching external scale `S_ext^u=||f_ext,f^u||_inf` 또는
|
||||
`S_ext^phi=||f_ext,f^phi||_inf` 자체로 branch를 선택한다. Matching external scale이 exact
|
||||
zero이면 `residual_*_denominator_scale=0`, `residual_*_branch=zero-scale`로 직렬화하고 numerator에
|
||||
typed absolute `1e-3 force` 또는 `1e-3 force*length`를 inclusive `<=`로 직접 적용한다.
|
||||
이 exact `0`은 matching external selector를 직렬화하며 divisor 또는 internal-inclusive max가
|
||||
아니다. Selector predicate는 `S_ext==0`이고 tolerance band, zero clamp, `max(1,...)`를 쓰지 않는다.
|
||||
Internal scale 또는 residual numerator가 nonzero여도 이 branch를 `relative`로 바꾸지 않는다.
|
||||
Matching external scale이 nonzero이면 `residual_*_denominator_scale`은 retained
|
||||
`max(||f_int,f||_inf,||f_ext,f||_inf)`이고 `residual_*_branch=relative`이며, numerator/denominator
|
||||
ratio에 dimensionless `1e-2`를 inclusive `<=`로 적용한다. 이 branch에 typed absolute gate를
|
||||
OR로 추가하지 않는다.
|
||||
|
||||
Correction channel은 기존 계약 그대로 current-trial incremental-solution denominator가 exact
|
||||
zero이면 `zero-scale`과 typed `1e-3 length` 또는 `1e-3 dimensionless`를, nonzero이면
|
||||
`relative`와 dimensionless `1e-2`를 사용한다. Empty free channel은 exact-zero numerator/scale의
|
||||
typed `zero-scale` branch로 평가한다. 네 channel의 pass는 `combined_pass`에서 logical AND로만
|
||||
결합한다.
|
||||
|
||||
Early failure record는 entered iteration 하나에 대응한다. 이미 계산된 earlier fields는 실제
|
||||
finite value를 기록하고, 실패 stage 뒤의 모든 later field는 `not-evaluated(reason)`을 기록한다.
|
||||
@@ -523,19 +541,43 @@ row는 정확히 하나다. Factor zero는 이 dataset에 row를 갖지 않고 `
|
||||
| generalized internal force | `/steps/Step-1/frames/<frame>/nodal/generalized_internal_force` | `[node_count,6]` float64 | node row; `[FI1,FI2,FI3,MI_PHI1,MI_PHI2,MI_PHI3]` | `[force x3,force*length x3]`; work-conjugate to `[u,phi]`; nodal |
|
||||
| generalized external force | `/steps/Step-1/frames/<frame>/nodal/generalized_external_force` | `[node_count,6]` float64 | node row; `[FE1,FE2,FE3,ME_PHI1,ME_PHI2,ME_PHI3]` | `[force x3,force*length x3]`; work-conjugate to `[u,phi]`; approved physical moment projection 후 fixed-global dead loads; nodal |
|
||||
| generalized residual | `/steps/Step-1/frames/<frame>/nodal/generalized_residual` | `[node_count,6]` float64 | node row; `[RU1,RU2,RU3,RPHI1,RPHI2,RPHI3]` | `[force x3,force*length x3]`; nonlinear solution coordinate의 full assembled `f_int-f_ext`; nodal |
|
||||
| reaction / physical residual projection | `/steps/Step-1/frames/<frame>/nodal/reaction` | `[node_count,6]` float64 | node row; `[RF1,RF2,RF3,RM1,RM2,RM3]` | `[force x3,force*length x3]`; global; constrained entry는 physical reaction, free entry는 same-state equilibrium evidence; rotational columns는 `J_l(phi)^(-T)` spatial moment conversion |
|
||||
| reaction / spatial full-residual projection | `/steps/Step-1/frames/<frame>/nodal/reaction` | `[node_count,6]` float64 | node row; `[RF1,RF2,RF3,RM1,RM2,RM3]` | `[force x3,force*length x3]`; global; translation은 full generalized residual과 같고 rotation은 `J_l(phi)^(-T)` spatial moment conversion. Constrained reaction은 mask를 generalized residual에 먼저 적용한 뒤 변환하며 accepted free residual의 authority는 이 dataset이 아니라 `nodal/generalized_residual`이다. |
|
||||
| shell local frame | `/steps/Step-1/frames/<frame>/element/shell/local_frame` | `[element_count,4,3,3]` float64 | element row, midsurface location row `GP1..GP4`, axis row `[E1,E2,E3]`, global component column `[X,Y,Z]` | dimensionless; physical recovery용 fixed-initial shell local frame; rotating Abaqus output frame이 아님 |
|
||||
| generalized strain | `/steps/Step-1/frames/<frame>/element/shell/generalized_strain` | `[element_count,4,8]` float64 | element row, `GP1..GP4`; `[E11,E22,G12,K11,K22,K12,G13,G23]` | `[1,1,1,1/length,1/length,1/length,1,1]`; fixed-reference shell local; midsurface |
|
||||
| section resultant | `/steps/Step-1/frames/<frame>/element/shell/section_resultant` | `[element_count,4,8]` float64 | element row, `GP1..GP4`; `[N11,N22,N12,M11,M22,M12,Q13,Q23]` | `[force/length x3,force x3,force/length x2]`; fixed-reference shell local; midsurface |
|
||||
| in-plane stress | `/steps/Step-1/frames/<frame>/element/shell/stress` | `[element_count,4,3,3]` float64 | element row, `GP1..GP4`, section position `[BOTTOM,MIDDLE,TOP]`, component `[S11,S22,S12]` | `force/length^2`; fixed-reference shell local; direct bottom/middle/top evaluation |
|
||||
| physical strain energy | `/steps/Step-1/frames/<frame>/global/energy` | `[1]` float64 | `[PHYSICAL_STRAIN_ENERGY]` | `force*length`; deterministic element reduction; numerical drilling stabilization 제외 |
|
||||
| global equilibrium | `/steps/Step-1/frames/<frame>/global/equilibrium` | `[6]` float64 | `[FORCE_1,FORCE_2,FORCE_3,MOMENT_1,MOMENT_2,MOMENT_3]` | `[force x3,force*length x3]`; global Cartesian; moment about global origin `[0,0,0]`, current force arms와 spatial physical nodal moments 사용 |
|
||||
| global applied-plus-reaction balance error | `/steps/Step-1/frames/<frame>/global/equilibrium` | `[6]` float64 | `[FORCE_1,FORCE_2,FORCE_3,MOMENT_1,MOMENT_2,MOMENT_3]` | `[force x3,force*length x3]`; global Cartesian; formulation §13.4의 applied-plus-constrained-reaction balance error; moment about global origin `[0,0,0]`, current force arms와 spatial physical nodal moments 사용; `location=global-balance-error` |
|
||||
|
||||
Trial Newton state, iteration history, line search, cutback attempt, damping, automatic
|
||||
stabilization, numerical drilling stress, drilling energy ratio, `S33`, `S13`, `S23`,
|
||||
nodal stress extrapolation, element-corner stress, averaged stress, Abaqus integration-point
|
||||
number에 대한 HDF5 dataset은 만들지 않는다.
|
||||
|
||||
#### 7.5.1 Equilibrium Projection and Schema Compatibility
|
||||
|
||||
Schema version `1`과 기존 `/global/equilibrium` path/shape는 유지한다. 기존 계약이 이미
|
||||
global origin `[0,0,0]`, current force arm과 spatial physical nodal moment를 지정했으므로 이
|
||||
dataset의 authoritative meaning은 처음부터 formulation §13.4의 **global
|
||||
applied-plus-reaction balance error**다. Raw full-residual sum, initial-coordinate arm 또는 raw
|
||||
rotation-coordinate covector를 이 path에 쓰는 것은 schema-compatible implementation이 아니다.
|
||||
이 의미 명확화는 path, shape 또는 component를 바꾸지 않으므로 schema version을 올리지 않는다.
|
||||
|
||||
같은 accepted frame의 세 equilibrium quantity는 다음처럼 서로 다른 HDF5 projection으로
|
||||
재구성된다. 별도 중복 summary dataset은 만들지 않는다.
|
||||
|
||||
| logical quantity | authoritative HDF5 projection | coordinates / units | disposition |
|
||||
| --- | --- | --- | --- |
|
||||
| accepted free residual | `/model/nodal_constraint_mask==0`인 component를 `/nodal/generalized_residual`에서 선택한다. NSNR-069 scale은 같은 free component의 `/nodal/generalized_internal_force`와 `/nodal/generalized_external_force`에서 계산한다. | translation channel은 global force, rotation-coordinate channel은 generalized force-length | `blocking-internal` |
|
||||
| constrained reaction resultant | `/model/nodal_constraint_mask`를 `/nodal/generalized_residual`에 먼저 적용해 constrained generalized reaction을 만들고, rotation block만 accepted `phi`의 `J_l(phi)^(-T)`로 spatial moment로 변환한다. Current position은 `/model/nodes.coordinates + /nodal/displacement[UX,UY,UZ]`다. Stable node order로 `sum(F_react)`와 `sum(x cross F_react + M_react)`를 계산한다. | global force `[3]`, global spatial force-length moment `[3]` about `[0,0,0]` | `review-only-summary` |
|
||||
| applied-plus-reaction balance error | required dataset `/global/equilibrium`; applied contribution은 accepted `/nodal/generalized_external_force`의 translation block과 `J_l(phi)^(-T)`로 변환한 rotational block, reaction contribution은 바로 위 constrained projection을 사용한다. Stable node order로 formulation §13.4의 합을 계산한다. | global force `[3]`, global spatial force-length moment `[3]` about `[0,0,0]` | `blocking-internal` |
|
||||
|
||||
Componentwise constraint selection은 spatial moment 변환보다 먼저 수행한다. 따라서 partial
|
||||
rotational constraint나 nonzero prescribed rotation에서도 constrained reaction resultant에 free
|
||||
generalized residual이 섞이지 않는다. Local `/nodal/reaction` display나 full residual sum을 위 세
|
||||
quantity 중 다른 하나의 substitute로 사용하지 않는다. Nonzero prescribed translation에서는
|
||||
initial position이 아니라 accepted current position을 force arm으로 사용한다.
|
||||
|
||||
### 7.6 Diagnostics Dataset
|
||||
|
||||
`/diagnostics`는 mandatory이며 row가 0개일 수 있다.
|
||||
@@ -568,9 +610,13 @@ CSV는 FESA output이 아니다. HDF5에서 추출한 deterministic CSV view는
|
||||
|
||||
| case id | role | exact path | comparison disposition |
|
||||
| --- | --- | --- | --- |
|
||||
| `shellnl-s4-final` | nonlinear input | `reference/shellNL/shellNL.inp` | required source input |
|
||||
| `shellnl-s4-final` | displacement CSV | `reference/shellNL/shellNL displacements.csv` | required comparison |
|
||||
| `shellnl-s4-final` | reaction CSV | `reference/shellNL/shellNL reactions.csv` | constrained nodes/components only required comparison |
|
||||
| `shellnl-meshfine-s4-final` | primary nonlinear input | `reference/shellNL-meshfine/shellNL-meshfine.inp` | required source input |
|
||||
| `shellnl-meshfine-s4-final` | displacement CSV | `reference/shellNL-meshfine/shellNL-meshfine displacements.csv` | required blocking/warning comparison |
|
||||
| `shellnl-meshfine-s4-final` | reaction CSV | `reference/shellNL-meshfine/shellNL-meshfine reactions.csv` | constrained nodes/components only required review |
|
||||
| `shellnl-meshfine-s4-final` | stress CSV | `reference/shellNL-meshfine/shellNL-meshfine stresses.csv` | optional read-only inspection/order evidence only |
|
||||
| `shellnl-s4-final` | companion nonlinear input | `reference/shellNL/shellNL.inp` | required source input |
|
||||
| `shellnl-s4-final` | displacement CSV | `reference/shellNL/shellNL displacements.csv` | required blocking/warning comparison |
|
||||
| `shellnl-s4-final` | reaction CSV | `reference/shellNL/shellNL reactions.csv` | constrained nodes/components only required review |
|
||||
| `shellnl-s4-final` | stress CSV | `reference/shellNL/shellNL stresses.csv` | optional read-only inspection/order evidence only |
|
||||
| `shell-s4-linear-limit` | linear control input | `reference/shell/shell.inp` | existing linear MITC4 contract의 required regression input |
|
||||
| `shell-s4-linear-limit` | displacement CSV | `reference/shell/shell displacements.csv` | required regression comparison |
|
||||
@@ -578,21 +624,22 @@ CSV는 FESA output이 아니다. HDF5에서 추출한 deterministic CSV view는
|
||||
| `shell-s4-linear-limit` | stress CSV | `reference/shell/shell stresses.csv` | optional read-only inspection/order evidence only |
|
||||
|
||||
Reference artifact file은 workflow에서 rename, rewrite, normalize, zero-clamp, repair,
|
||||
regenerate하지 않는다.
|
||||
regenerate하지 않는다. Fine과 coarse nonlinear case는 각각 자기 input/CSV에 독립적으로
|
||||
비교하며 cross-mesh row mapping이나 interpolation을 만들지 않는다.
|
||||
|
||||
### 8.2 Accepted-State and Frame Mapping
|
||||
|
||||
- `shellnl-s4-final`은 accepted factor-one HDF5 frame만 비교한다. 해당 frame은
|
||||
`/steps/Step-1/accepted_frames`에서 `is_factor_one=1`이고 `load_factor=1.0`인 unique row다.
|
||||
그 `frame_index`가 `/steps/Step-1/frames/<frame>`를 선택한다.
|
||||
- Required `shellNL` CSV row는 exact `Frame` value
|
||||
`Increment 10: Step Time = 1.000`만 가져야 하며, 이는 accepted factor-one state로
|
||||
논리 매핑한다. Required row에 다른 `Frame` 값이 있으면 schema mismatch다.
|
||||
- `shellnl-meshfine-s4-final`과 `shellnl-s4-final`은 각각 accepted factor-one HDF5 frame만
|
||||
비교한다. 해당 frame은 `/steps/Step-1/accepted_frames`에서 `is_factor_one=1`이고
|
||||
`load_factor=1.0`인 unique row다. 그 `frame_index`가
|
||||
`/steps/Step-1/frames/<frame>`를 선택한다.
|
||||
- 두 nonlinear case의 required CSV row는 exact `Frame` value
|
||||
`Increment 10: Step Time = 1.000`만 가져야 하며, 이는 각 case의 accepted
|
||||
factor-one state로 논리 매핑한다. Required row에 다른 `Frame` 값이 있으면 schema mismatch다.
|
||||
- `shell-s4-linear-limit` CSV에는 `Frame` column이 없으며
|
||||
`docs/linear-static-mitc4-shell/io.md`의 existing linear MITC4 final frame
|
||||
`/steps/Step-1/frames/0`에 매핑한다.
|
||||
- Trial Newton state, iteration log line, optional stress inventory row는 reference row가
|
||||
아니다.
|
||||
- Trial Newton state, iteration log line, optional stress inventory row는 reference row가 아니다.
|
||||
|
||||
### 8.3 Nodal Displacement Projection
|
||||
|
||||
@@ -602,93 +649,141 @@ Required logical key는 다음과 같다.
|
||||
(case_id, accepted_state, canonical_instance_name, source_node_label, component)
|
||||
```
|
||||
|
||||
두 case 모두 instance `PART-1-1`에서 node label `1..49`가 정확히 한 번씩 필요하다.
|
||||
Instance matching은 case-insensitive로 수행하되 report에는 raw spelling을 보존한다.
|
||||
Instance `PART-1-1`에서 linear/coarse case는 node label `1..49`, fine case는 `1..729`를
|
||||
각각 정확히 한 번 요구한다. Instance matching은 case-insensitive로 수행하되 report에는 raw
|
||||
spelling을 보존한다. Row order는 identity가 아니다.
|
||||
|
||||
| CSV column | comparison component | nonlinear HDF5 source | linear regression HDF5 source |
|
||||
| --- | --- | --- | --- |
|
||||
| `U-U1` | `U1` | `nodal/displacement` column `UX` | `nodal/displacement` column `UX` |
|
||||
| `U-U2` | `U2` | `nodal/displacement` column `UY` | `nodal/displacement` column `UY` |
|
||||
| `U-U3` | `U3` | `nodal/displacement` column `UZ` | `nodal/displacement` column `UZ` |
|
||||
| `UR-UR1` | `UR1` | `nodal/displacement` column `URX` | `nodal/displacement` column `URX` |
|
||||
| `UR-UR2` | `UR2` | `nodal/displacement` column `URY` | `nodal/displacement` column `URY` |
|
||||
| `UR-UR3` | `UR3` | `nodal/displacement` column `URZ` | `nodal/displacement` column `URZ` |
|
||||
| `U-U1` | `U1` | factor-one `nodal/displacement` column `UX` | final `nodal/displacement` column `UX` |
|
||||
| `U-U2` | `U2` | factor-one `nodal/displacement` column `UY` | final `nodal/displacement` column `UY` |
|
||||
| `U-U3` | `U3` | factor-one `nodal/displacement` column `UZ` | final `nodal/displacement` column `UZ` |
|
||||
| `UR-UR1` | `UR1` | factor-one `nodal/displacement` column `URX` | final `nodal/displacement` column `URX` |
|
||||
| `UR-UR2` | `UR2` | factor-one `nodal/displacement` column `URY` | final `nodal/displacement` column `URY` |
|
||||
| `UR-UR3` | `UR3` | factor-one `nodal/displacement` column `URZ` | final `nodal/displacement` column `URZ` |
|
||||
|
||||
`U1/U2/U3`는 blocking이다. `UR1/UR2/UR3`는 두 case 모두 warning-only다. UR warning
|
||||
`U1/U2/U3`는 blocking이다. `UR1/UR2/UR3`는 모든 case에서 warning-only다. UR warning
|
||||
exceedance는 blocking verdict를 바꾸지 않는다.
|
||||
|
||||
### 8.4 Nonlinear Constrained Reaction Projection
|
||||
### 8.4 Nonlinear Local Reaction Review Projection
|
||||
|
||||
Reaction comparison은 `shellnl-s4-final`에만 적용하며 input boundary mask의 constrained node
|
||||
중 아래 24개 node에만 적용한다.
|
||||
Reaction review row는 input boundary mask로 선택한다.
|
||||
|
||||
```text
|
||||
1,3,4,5,6,7,8,9,14,15,16,17,22,23,24,25,26,27,28,29,30,31,32,33
|
||||
```
|
||||
- coarse `shellnl-s4-final`: `1,3..9,14..17,22..33` — 24 nodes;
|
||||
- fine `shellnl-meshfine-s4-final`: `1,3..9,34..57,82..153` — 104 nodes.
|
||||
|
||||
승인 input에서 이 24개 node는 여섯 global DOF가 모두 constrained다. Comparator는 required
|
||||
HDF5 reaction row eligibility를 CSV zero value가 아니라 `/model/nodal_constraint_mask`와
|
||||
source node identity에서 도출한다.
|
||||
승인 input에서 위 node들은 여섯 global DOF가 모두 constrained다. Comparator는 row
|
||||
eligibility를 CSV zero value나 row position이 아니라 `/model/nodal_constraint_mask`와 source
|
||||
node identity에서 도출한다. Translation reaction은 factor-one
|
||||
`nodal/generalized_residual`의 constrained `RU1..RU3`이고, rotational reaction은 constrained
|
||||
`RPHI1..RPHI3`를 먼저 선택한 뒤 accepted `phi`의 `J_l(phi)^(-T)`로 변환한 spatial physical
|
||||
moment다. Stored all-six-constrained rows에서는 factor-one `/nodal/reaction`의 대응 column과
|
||||
동일해야 한다.
|
||||
|
||||
| CSV columns | logical family | HDF5 source | disposition |
|
||||
| CSV columns | coarse family | fine family | disposition |
|
||||
| --- | --- | --- | --- |
|
||||
| `RF-RF1`, `RF-RF2` | `nonlinear.reaction_inplane_force` | factor-one `/nodal/reaction` columns `RF1,RF2` | blocking |
|
||||
| `RF-RF3` | `nonlinear.reaction_transverse_force` | factor-one `/nodal/reaction` column `RF3` | blocking |
|
||||
| `RM-RM1`, `RM-RM2` | `nonlinear.reaction_physical_moment` | factor-one `/nodal/reaction` columns `RM1,RM2`; `J_l(phi)^(-T)` 변환 뒤 spatial physical moment | blocking |
|
||||
| `RM-RM3` | excluded | comparison projection 없음 | blocking 및 warning-only family에서 제외 |
|
||||
| `RF-RF1`, `RF-RF2` | `coarse.local_reaction_inplane_force` | `fine.local_reaction_inplane_force` | `review-only` |
|
||||
| `RF-RF3` | `coarse.local_reaction_transverse_force` | `fine.local_reaction_transverse_force` | `review-only` |
|
||||
| `RM-RM1`, `RM-RM2` | `coarse.local_reaction_physical_moment` | `fine.local_reaction_physical_moment` | `review-only` |
|
||||
| `RM-RM3` | comparison projection 없음 | comparison projection 없음 | `excluded` |
|
||||
|
||||
Raw generalized rotation-coordinate residual column은 Abaqus `RM` CSV column과 직접 비교하지
|
||||
않는다.
|
||||
Raw generalized rotation-coordinate residual은 Abaqus `RM` CSV column과 직접 비교하지 않는다.
|
||||
Review-only family도 source key, schema, inventory, finite value와 모든 row/common-policy error를
|
||||
보고한다. 그 precheck 또는 numerical finding은 blocking verdict를 바꾸지 않는다.
|
||||
|
||||
### 8.5 Comparison Families
|
||||
### 8.5 Internal Factor-One Equilibrium Projection
|
||||
|
||||
Internal equilibrium은 Abaqus CSV comparison이 아니다. Fine primary와 coarse companion의
|
||||
각 accepted factor-one HDF5 frame에서 Section 7.5.1의 projection을 사용한다.
|
||||
|
||||
| family id | exact HDF5 rows/components | gate |
|
||||
| --- | --- | --- |
|
||||
| `coarse.accepted_free_force_residual` | 75 free `RU1/RU2/RU3` rows와 같은 rows의 internal/external force | NSNR-069 force channel |
|
||||
| `coarse.accepted_free_moment_residual` | 75 free `RPHI1/RPHI2/RPHI3` rows와 같은 rows의 internal/external generalized moment | NSNR-069 moment channel |
|
||||
| `coarse.global_force_balance` | factor-one `/global/equilibrium` `FORCE_1..3` | normalized `<=1e-8` |
|
||||
| `coarse.global_moment_balance` | factor-one `/global/equilibrium` `MOMENT_1..3` | normalized `<=1e-8` |
|
||||
| `fine.accepted_free_force_residual` | 1,875 free `RU1/RU2/RU3` rows와 같은 rows의 internal/external force | NSNR-069 force channel |
|
||||
| `fine.accepted_free_moment_residual` | 1,875 free `RPHI1/RPHI2/RPHI3` rows와 같은 rows의 internal/external generalized moment | NSNR-069 moment channel |
|
||||
| `fine.global_force_balance` | factor-one `/global/equilibrium` `FORCE_1..3` | normalized `<=1e-8` |
|
||||
| `fine.global_moment_balance` | factor-one `/global/equilibrium` `MOMENT_1..3` | normalized `<=1e-8` |
|
||||
|
||||
Global balance의 force scale은 applied/reaction nodal force contribution의 2-norm 합 중 큰
|
||||
값, moment scale은 current-arm force moment와 spatial physical nodal moment contribution의
|
||||
2-norm 합 중 큰 값이다. Force와 moment를 분리해 `norm(balance_error)/scale<=1e-8`을
|
||||
적용한다. Scale이 exact zero이면 balance error도 exact zero일 때만 pass한다. Absolute floor,
|
||||
`max(1,S)` 또는 zero clamp는 없다. Accepted free residual은 NSNR-069의 external-channel exact-zero/
|
||||
nonzero branch를 그대로 재현한다. 이 internal gate에는 `docs/TOLERANCE.md`, Abaqus value 또는
|
||||
local reaction error를 적용하지 않는다.
|
||||
|
||||
Constrained reaction resultant force `[3]`와 moment `[3]`는 Section 7.5.1의 distinct
|
||||
`review-only-summary`로 함께 계산·보고한다. `/global/equilibrium`, constrained reaction
|
||||
resultant와 accepted free residual 중 어느 하나를 다른 quantity의 대체 dataset으로 쓰지 않는다.
|
||||
|
||||
### 8.6 External Comparison Families
|
||||
|
||||
External tolerance source는 정확히 `docs/TOLERANCE.md`다. 별도 absolute floor, `max(1,S)`
|
||||
clamp, row averaging, source-order matching, component calibration, zero clamp는 허용하지
|
||||
clamp, row averaging, source-order matching, component calibration 또는 zero clamp는 허용하지
|
||||
않는다.
|
||||
|
||||
| family id | case | components | required row count | units / coordinates | disposition |
|
||||
| --- | --- | --- | ---: | --- | --- |
|
||||
| `linear.translation` | `shell-s4-linear-limit` | `U1,U2,U3` on nodes `1..49` | 147 | length / global | blocking regression |
|
||||
| `linear.rotation` | `shell-s4-linear-limit` | `UR1,UR2,UR3` on nodes `1..49` | 147 | dimensionless / fixed-initial global | warning-only |
|
||||
| `nonlinear.translation` | `shellnl-s4-final` | `U1,U2,U3` on nodes `1..49` | 147 | length / global | blocking |
|
||||
| `nonlinear.rotation` | `shellnl-s4-final` | `UR1,UR2,UR3` on nodes `1..49` | 147 | dimensionless / fixed-initial global | warning-only |
|
||||
| `nonlinear.reaction_inplane_force` | `shellnl-s4-final` | `RF1,RF2` on constrained nodes | 48 | force / fixed-initial global plane | blocking |
|
||||
| `nonlinear.reaction_transverse_force` | `shellnl-s4-final` | `RF3` on constrained nodes | 24 | force / fixed-initial global transverse | blocking |
|
||||
| `nonlinear.reaction_physical_moment` | `shellnl-s4-final` | `RM1,RM2` on constrained nodes | 48 | force*length / global spatial | blocking |
|
||||
| `coarse.translation` | `shellnl-s4-final` | `U1,U2,U3` on nodes `1..49` | 147 | length / global | blocking |
|
||||
| `coarse.rotation` | `shellnl-s4-final` | `UR1,UR2,UR3` on nodes `1..49` | 147 | dimensionless / fixed-initial global | warning-only |
|
||||
| `coarse.local_reaction_inplane_force` | `shellnl-s4-final` | `RF1,RF2` on constrained nodes | 48 | force / global shell plane | review-only |
|
||||
| `coarse.local_reaction_transverse_force` | `shellnl-s4-final` | `RF3` on constrained nodes | 24 | force / global transverse | review-only |
|
||||
| `coarse.local_reaction_physical_moment` | `shellnl-s4-final` | `RM1,RM2` on constrained nodes | 48 | force*length / global spatial | review-only |
|
||||
| `fine.translation` | `shellnl-meshfine-s4-final` | `U1,U2,U3` on nodes `1..729` | 2,187 | length / global | blocking |
|
||||
| `fine.rotation` | `shellnl-meshfine-s4-final` | `UR1,UR2,UR3` on nodes `1..729` | 2,187 | dimensionless / fixed-initial global | warning-only |
|
||||
| `fine.local_reaction_inplane_force` | `shellnl-meshfine-s4-final` | `RF1,RF2` on constrained nodes | 208 | force / global shell plane | review-only |
|
||||
| `fine.local_reaction_transverse_force` | `shellnl-meshfine-s4-final` | `RF3` on constrained nodes | 104 | force / global transverse | review-only |
|
||||
| `fine.local_reaction_physical_moment` | `shellnl-meshfine-s4-final` | `RM1,RM2` on constrained nodes | 208 | force*length / global spatial | review-only |
|
||||
|
||||
Reference-model read-only scale audit value는 다음과 같다.
|
||||
Reference-model read-only scale audit value는 다음과 같다. 이 값은 calibration 상수가 아니다.
|
||||
|
||||
| family id | `S=max(abs(reference))` | `0.01*S` |
|
||||
| --- | ---: | ---: |
|
||||
| `linear.translation` | `2.37408203e-5` | `2.37408203e-7` |
|
||||
| `linear.rotation` | `7.60725743e-6` | `7.60725743e-8` |
|
||||
| `nonlinear.translation` | `2.37408203e-5` | `2.37408203e-7` |
|
||||
| `nonlinear.rotation` | `7.60725743e-6` | `7.60725743e-8` |
|
||||
| `nonlinear.reaction_inplane_force` | `1.91663182` | `1.91663182e-2` |
|
||||
| `nonlinear.reaction_transverse_force` | `1.17769805e4` | `1.17769805e2` |
|
||||
| `nonlinear.reaction_physical_moment` | `1.95418418e4` | `1.95418418e2` |
|
||||
| `coarse.translation` | `2.37408203e-5` | `2.37408203e-7` |
|
||||
| `coarse.rotation` | `7.60725743e-6` | `7.60725743e-8` |
|
||||
| `coarse.local_reaction_inplane_force` | `1.91663182` | `1.91663182e-2` |
|
||||
| `coarse.local_reaction_transverse_force` | `1.17769805e4` | `1.17769805e2` |
|
||||
| `coarse.local_reaction_physical_moment` | `1.95418418e4` | `1.95418418e2` |
|
||||
| `fine.translation` | `2.57957054e-5` | `2.57957054e-7` |
|
||||
| `fine.rotation` | `6.58704994e-6` | `6.58704994e-8` |
|
||||
| `fine.local_reaction_inplane_force` | `5.38827419e-1` | `5.38827419e-3` |
|
||||
| `fine.local_reaction_transverse_force` | `2.78506128e3` | `2.78506128e1` |
|
||||
| `fine.local_reaction_physical_moment` | `4.71557520e3` | `4.71557520e1` |
|
||||
|
||||
### 8.6 Row Prechecks
|
||||
### 8.7 Row Prechecks
|
||||
|
||||
아래 조건 중 하나라도 거짓이면 comparator는 tolerance 계산 전에 실패한다.
|
||||
Tolerance 또는 internal metric 전에 다음을 검사한다.
|
||||
|
||||
1. Exact declared input path와 required CSV path가 존재하고 readable이다.
|
||||
1. 각 case의 exact declared input과 해당 disposition에 필요한 CSV가 존재하고 readable이다.
|
||||
2. Reference CSV header는 surrounding whitespace trim 뒤 필요한 column을 가진다.
|
||||
3. `shellnl-s4-final` required row는 exact approved `Frame` value만 포함한다.
|
||||
3. 두 nonlinear case required row는 exact approved `Frame` value만 포함한다.
|
||||
4. HDF5 metadata, model rows, accepted-frame table, factor-one frame, required result dataset이
|
||||
문서화된 shape, component name, finite value를 가진다.
|
||||
5. Wide CSV row는 이 문서의 component mapping으로 component row로 expand한다.
|
||||
6. Required source wide key와 expanded component key는 unique하다. Duplicate reference 또는
|
||||
HDF5 key는 실패다.
|
||||
7. 각 declared family에서 FESA와 reference projected key set은 정확히 같아야 한다. Missing row와
|
||||
extra row는 모두 실패다.
|
||||
8. 모든 required numeric value는 finite다. Nonfinite HDF5 또는 CSV value는 tolerance 전 실패다.
|
||||
9. `shellNL` reaction row는 constrained mask와 exact 24-node list에서 선택한다. Free-node CSV
|
||||
row는 inventory only이며 zero reaction target으로 해석하지 않는다.
|
||||
10. Required row를 omit, synthesize, average, substitute identity로 sort, normalize, zero-clamp,
|
||||
repair하지 않는다.
|
||||
문서화된 shape, component name, attributes와 finite value를 가진다.
|
||||
5. Wide CSV row는 이 문서의 component mapping으로 component row로 deterministically expand한다.
|
||||
6. Source wide key와 expanded component key는 unique하다. Duplicate reference 또는 HDF5 key는
|
||||
affected family를 tolerance 전에 fail한다.
|
||||
7. Input node inventory와 source constraint mask로 expected key set을 만든다. CSV zero value나 row
|
||||
position으로 reaction identity를 추론하지 않는다.
|
||||
8. 각 declared external family에서 FESA와 reference projected key set은 exact equal해야 한다.
|
||||
Missing row와 extra row를 모두 fail한다.
|
||||
9. Required HDF5/CSV value, derived scale, norm과 metric은 모두 finite여야 한다.
|
||||
10. Internal free residual은 exact free mask와 force/moment channel을 보존한다. Global balance는 모든
|
||||
applied source와 constrained reaction을 stable source order로 정확히 한 번 사용한다.
|
||||
11. Local review row를 global resultant로 collapse하거나 대체하지 않는다. Review-only precheck/error는
|
||||
deterministic review failure로 기록하지만 blocking verdict를 변경하지 않는다.
|
||||
12. Warning-only precheck/tolerance failure는 deterministic warning을 만들고 blocking verdict를
|
||||
변경하지 않는다. Blocking precheck failure만 전체 external comparison을 fail한다.
|
||||
13. Row omission/synthesis, averaging, source-order matching, clamp, normalization 또는 artifact repair를
|
||||
허용하지 않는다.
|
||||
|
||||
### 8.7 Stress CSV Disposition
|
||||
### 8.8 Stress CSV Disposition
|
||||
|
||||
Optional stress CSV identity는 다음과 같다.
|
||||
|
||||
@@ -697,13 +792,16 @@ Optional stress CSV identity는 다음과 같다.
|
||||
element_corner_node_label, section_surface, component)
|
||||
```
|
||||
|
||||
현재 stress CSV는 element-corner node row와 `SPOS/SNEG` section surface에서 `S-S11`,
|
||||
`S-S22`, `S-S33`, `S-S12`를 포함하며, 저장된 ascending element-label block `1..36` 순서를
|
||||
갖는다. FESA HDF5는 `GP1..GP4`와 `BOTTOM/MIDDLE/TOP`에서 direct `[S11,S22,S12]`만 emit한다.
|
||||
Stored stress CSV는 element-corner node row와 `SPOS/SNEG` section surface에서 `S-S11`,
|
||||
`S-S22`, `S-S33`, `S-S12`를 포함한다. `reference/shell/shell stresses.csv`는 사용자가
|
||||
변경한 ascending element-label block `1..36` 순서를 갖지만 row order는 identity가 아니다.
|
||||
Fine stress CSV의 element `1`, `SNEG`, `Node Label=ss` 한 행은 optional excluded artifact
|
||||
finding으로만 기록한다. Artifact를 수정하지 않는다.
|
||||
|
||||
따라서 두 case의 stress CSV는 optional read-only inspection 및 order evidence only다. HDF5
|
||||
comparison projection, `S33` synthesis, nodal extrapolation, corner averaging, Gauss-to-corner
|
||||
matching, element-label-order identity는 없다.
|
||||
FESA HDF5는 `GP1..GP4`와 `BOTTOM/MIDDLE/TOP`에서 direct `[S11,S22,S12]`만 emit한다.
|
||||
따라서 모든 stored stress CSV는 optional read-only inspection/order evidence only다. HDF5
|
||||
numerical-comparison projection, `S33` synthesis, nodal extrapolation, corner averaging,
|
||||
Gauss-to-corner matching 또는 element-label-order matching은 없다.
|
||||
|
||||
## 9. Validation Rules
|
||||
|
||||
@@ -723,13 +821,14 @@ matching, element-label-order identity는 없다.
|
||||
| aggregate moment | exact-zero case 또는 preprocessing 및 모든 entered trial에서 `rho_M<=1e-12` | model/solver, exit `4` 또는 `5` |
|
||||
| nonlinear static data | 네 positive finite values, endpoint `1.0`, fixed increment sequence with final exact factor one | input, exit `3` |
|
||||
| Newton iteration | iteration identity `1..100`; iteration `100` acceptance 가능; iteration `101` 없음; line search/cutback/retry/fallback 없음 | solver, exit `5` |
|
||||
| convergence channels | residual force, residual moment, correction translation, correction rotation이 모두 inclusive `<=` rule 또는 typed zero-scale threshold 통과 | solver, exit `5` |
|
||||
| convergence channels | finite-first 평가 뒤 residual force/moment는 matching external scale exact-zero이면 typed absolute `1e-3`, nonzero이면 retained `max(internal,external)` relative `1e-2`; correction translation/rotation은 기존 denominator branch; 네 channel 모두 inclusive `<=`이고 logical AND | solver, exit `5` |
|
||||
| nonfinite data | required residual, tangent, correction, state, load, recovery, output value가 acceptance 전 finite | solver/output, exit `5` 또는 `6` |
|
||||
| commit/rollback | complete converged candidate만 commit; failure는 prior committed state와 prior authoritative final HDF5 보존 | solver/output, exit `5` 또는 `6` |
|
||||
| HDF5 schema | exact paths, shapes, attributes, schema version, row identities, finite values, accepted-frame table, diagnostics; final replace는 log close success 뒤에만 허용 | output, exit `6` |
|
||||
| HDF5 schema | exact paths, shapes, attributes, schema version, row identities, finite values, accepted-frame table, diagnostics; `/global/equilibrium`은 applied-plus-reaction balance error이고 accepted free residual/constrained reaction resultant와 분리됨; final replace는 log close success 뒤에만 허용 | output, exit `6` |
|
||||
| equilibrium projection | accepted free rows는 generalized residual과 exact free mask, constrained reaction은 mask-before-spatial-conversion, global balance는 applied plus constrained reaction/current arm/origin `[0,0,0]`; factor-one global force와 moment는 각각 dimension-separated normalized `<=1e-8`; 세 quantity가 같은 accepted state를 공유하되 서로 대체되지 않음 | solver/output/reference internal gate |
|
||||
| log | UTF-8 no BOM, LF, TAB-separated fixed `label=value` schema; entered Newton iteration마다 record 하나; no per-iteration stderr duplication; no-Newton procedure는 zero-byte empty log; open/write/flush/close fail-closed | output, exit `6` |
|
||||
| reference rows | exact required artifacts, headers, row keys, component keys, finite values, factor-one frame mapping | reference precheck |
|
||||
| tolerance | exact `docs/TOLERANCE.md` family-scale row/RMS policy; blocking/warning disposition 보존 | reference verification |
|
||||
| reference rows | fine primary/coarse companion/linear-control exact artifacts, headers, row keys, component keys, finite values, factor-one frame mapping과 disposition별 precheck | reference precheck |
|
||||
| tolerance | external family에만 exact `docs/TOLERANCE.md` row/RMS policy 적용; U blocking, UR warning-only, local RF/RM review-only 보존; internal global balance/free residual gate와 혼합 금지 | reference/internal verification |
|
||||
|
||||
Downstream test가 다뤄야 하는 approved diagnostic code는 다음을 포함한다.
|
||||
|
||||
@@ -785,21 +884,34 @@ Downstream handoff to Implementation Planning Agent through Coordinator:
|
||||
MITC4 contract의 regression으로 남는지 test한다.
|
||||
- HDF5 schema version `1`을 위 accepted-frame schema 그대로 구현한다. Factor-zero non-frame
|
||||
handling, unique factor-one frame selection, triad/director projection, no
|
||||
compression/chunking, no trial-state HDF5 history를 포함한다.
|
||||
compression/chunking, no trial-state HDF5 history를 포함한다. `/global/equilibrium` path/shape는
|
||||
유지하되 authoritative meaning을 applied-plus-reaction balance error로 검증한다.
|
||||
- `AUDIT-001`을 별도 test로 닫는다. Accepted free residual은 generalized residual/internal/external
|
||||
force와 exact free mask, constrained reaction resultant는 mask-before-`J_l(phi)^(-T)`와 accepted
|
||||
current arm, global balance는 applied plus constrained reaction을 사용한다. Nonzero prescribed
|
||||
translation/rotation case에서도 initial arm, raw rotational covector 또는 raw full-residual sum을
|
||||
세 quantity의 공통 substitute로 쓰지 않는다.
|
||||
- 비대칭 lifecycle을 보존한다. Log는 usage validation, lexical path derivation, single-writer
|
||||
lock 뒤 live current-run audit이고, log create/open/truncate는 Analysis 전 abort, write/flush는
|
||||
즉시 abort, close failure는 HDF5 commit을 block한다. HDF5 final은 log close와 candidate
|
||||
self-check 성공 뒤에만 replace하며 failure는 prior valid final과 current log를 손상하지 않는다.
|
||||
- Newton log parser/schema test는 UTF-8 no BOM, LF, physical TAB-separated fixed
|
||||
`label=value` field order, finite round-trip numerics, escaping, completed-gate four-channel
|
||||
metrics, early-failure `not-evaluated(reason)`, no-Newton zero-byte log, zero per-iteration
|
||||
stderr duplication, flush-before-next/return을 포함한다.
|
||||
- Exact CSV paths, trimmed headers, exact `shellNL` `Frame` value, source node/component
|
||||
identity, constrained reaction mask, missing/extra/duplicate rows, nonfinite values를
|
||||
tolerance 전에 precheck한다.
|
||||
- Declared family에는 `docs/TOLERANCE.md`만 적용한다. `U`는 blocking, `UR`은 warning-only,
|
||||
`RF1/RF2`, `RF3`, physical spatial `RM1/RM2`는 blocking으로 유지하고 `RM3`와 모든 stress
|
||||
CSV value는 제외한다.
|
||||
`label=value` 39-field order, finite round-trip numerics, escaping, completed-gate four-channel
|
||||
metrics, residual matching-external-scale exact-zero/nonzero branch와 retained nonzero-scale
|
||||
denominator, typed thresholds, four-channel AND, early-failure `not-evaluated(reason)`, no-Newton
|
||||
zero-byte log, zero per-iteration stderr duplication, flush-before-next/return을 포함한다.
|
||||
- Fine primary, coarse companion과 linear control의 exact CSV path, trimmed header, 두 nonlinear
|
||||
case의 exact factor-one `Frame`, source node/component identity, constrained reaction mask,
|
||||
missing/extra/duplicate row와 nonfinite value를 tolerance 전에 precheck한다. Row order를 identity로
|
||||
쓰지 않는다.
|
||||
- External declared family에는 `docs/TOLERANCE.md`만 적용한다. `U1/U2/U3`는 blocking,
|
||||
`UR1/UR2/UR3`는 warning-only, local `RF1/RF2/RF3`와 spatial physical `RM1/RM2`는
|
||||
review-only다. Local `RM3`와 모든 stress CSV value는 제외한다. Review-only row의
|
||||
schema/inventory/error report를 생략하거나 blocking으로 되돌리지 않는다.
|
||||
- Fine/coarse factor-one global force/moment balance는 dimension-separated normalized `<=1e-8`,
|
||||
accepted free force/moment residual은 NSNR-069으로 blocking 검증한다. 이 internal gate에
|
||||
Abaqus CSV나 `docs/TOLERANCE.md` scale을 사용하지 않는다. Constrained reaction resultant는
|
||||
distinct review-only summary로 보고한다.
|
||||
- Optional stress CSV는 read-only inventory/order evidence only로 유지한다. Nodal stress
|
||||
extrapolation, corner averaging, `S33` synthesis, element-label-order matching을 추가하지
|
||||
않는다.
|
||||
|
||||
@@ -1,188 +1,233 @@
|
||||
# Nonlinear Static Newton-Raphson 수치 검토
|
||||
|
||||
## 1. Metadata and source formulation
|
||||
## 1. Metadata
|
||||
|
||||
- feature_id: `nonlinear-static-newton-raphson`
|
||||
- source_formulation: `docs/nonlinear-static-newton-raphson/formulation.md`
|
||||
- source_formulation_status: `ready-for-numerical-review`
|
||||
- source_formulation_sha256: `DFA629888041D5762FD0DF4271353464A692B325DC0C821A8D8689688C1EAFD0`
|
||||
- source_formulation_sha256: `878028F7B8EC1B91DA9BF00AF78825F50EB0B71046E840A0EEA595AFFD5E14B9`
|
||||
- source_requirements: `docs/nonlinear-static-newton-raphson/requirements.md`
|
||||
- source_requirements_sha256: `910E351F3F90FFA42F07D15206B55E62C05EAE821E250424430148337506EBF2`
|
||||
- source_requirements_sha256: `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E`
|
||||
- source_research: `docs/nonlinear-static-newton-raphson/research.md`
|
||||
- source_research_sha256: `C920A6B02381230D1DB419D73FE767D611B36720D27D6410507BA88C3CA28EEE`
|
||||
- source_research_sha256: `4F63D23E03D1A68E5F8563B678FDD6F761F9558165778EF0433133EFAD303570`
|
||||
- repository_policy: `AGENTS.md`, `docs/SOLVER_AGENT_DESIGN.md`, `docs/TOLERANCE.md`
|
||||
- related_linear_contracts: `docs/linear-static-mitc4-shell/numerical-review.md`,
|
||||
`docs/linear-static-mitc4-shell/reference-model.md`
|
||||
- decision_source: `USER-DECISION-004 option 1`
|
||||
- balance_gate_decision: user-approved factor-one global force/moment normalized gate `<=1e-8`
|
||||
- diagnostic_evidence: `docs/nonlinear-static-newton-raphson/corrections.md` §13,
|
||||
`docs/nonlinear-static-newton-raphson/translation-displacement-comparison.md`
|
||||
- status: `pass-for-io-definition`
|
||||
- owner_agent: `numerical-review-agent`
|
||||
- date: `2026-08-23`
|
||||
- date: `2026-08-28`
|
||||
|
||||
이 검토는 정식화를 수학 및 수치 알고리즘 계약으로만 검토했다. C++ API, HDF5 schema,
|
||||
implementation plan, reference solver 실행, reference artifact 생성/수정은 수행하지 않았다.
|
||||
이 검토는 정식화를 수학·수치 알고리즘 계약으로 검토하고 기존 reference artifact를
|
||||
읽기 전용으로 조사했다. C++ API, 최종 HDF5 dataset path, implementation plan 또는
|
||||
reference artifact를 설계·실행·생성·수정하지 않았다.
|
||||
|
||||
## 2. Review Verdict
|
||||
|
||||
- verdict: `pass-for-io-definition`
|
||||
- reason: 승인 정식화는 fixed-initial-reference Total Lagrangian MITC4, finite rotation
|
||||
state, nonlinear `24 -> 20` map, objective drilling, fixed-global load work,
|
||||
same-trial residual/tangent, Full Newton convergence, recovery와 state commit/rollback
|
||||
의미를 구현 가능한 수치 계약으로 닫고 있다. 차원, 부호, DOF 순서, 적분, reaction
|
||||
의미 또는 reference identity와 충돌하는 blocking defect는 확인되지 않았다.
|
||||
- reference readiness: `reference/shellNL` 및 `reference/shell`의 선언 파일과 CSV는
|
||||
읽을 수 있고 row identity/precheck/tolerance 계약을 정의할 수 있다.
|
||||
- boundary: 이 verdict는 I/O Definition 진입 허가이며 implementation, reference comparison
|
||||
pass, physics evaluation 또는 release readiness 승인이 아니다.
|
||||
|
||||
`reference/shellNL`은 `nlgeom=YES`와 factor-one final frame을 갖는 저장 reference로 사용할 수
|
||||
있지만, 주요 `U3`와 stress 값은 선형 `reference/shell`과 거의 같다. 관찰된 nonlinear 신호는
|
||||
주로 약한 in-plane coupling이다(`RF1/RF2` 최대 약 `1.9166`, `U1/U2` 최대 약
|
||||
`1.29e-11`). 따라서 이 CSV 세트만으로 finite-rotation objectivity, exact tangent,
|
||||
rollback 또는 큰 변위 benchmark를 통과했다고 판단하지 않는다. 해당 항목은 아래의
|
||||
blocking internal tests로 분리한다.
|
||||
- reason: 승인 정식화는 fixed-initial-reference Total Lagrangian MITC4, finite rotation,
|
||||
nonlinear `24 -> 20` map, objective drilling, same-trial residual/tangent, reaction의
|
||||
spatial-moment 변환과 current-arm global balance를 구현 가능한 수치 계약으로 정의한다.
|
||||
Revised requirements와 충돌하는 formulation defect는 없다.
|
||||
- reaction disposition: local nodal `RF1/RF2/RF3`와 physical spatial `RM1/RM2`는 exact
|
||||
source-key/schema/inventory/finite/error evidence를 유지하는 `review-only`다. 이 값은
|
||||
formulation-sensitive nodal redistribution이므로 blocking verdict를 결정하지 않는다.
|
||||
Local `RM3`는 계속 제외한다.
|
||||
- blocking equilibrium: 각 nonlinear case의 factor-one accepted state에서 `(a)` global
|
||||
applied-plus-reaction force balance, `(b)` global applied-plus-reaction moment balance,
|
||||
`(c)` accepted free-DOF force/moment residual evidence가 blocking이다. `(d)` constrained
|
||||
reaction resultant는 별도 quantity로 보존하지만 balance error를 대신하지 않는다.
|
||||
- reference readiness: `reference/shell`, `reference/shellNL`와
|
||||
`reference/shellNL-meshfine`의 선언 input 및 필요한 displacement/reaction CSV가 존재하고
|
||||
읽을 수 있다. Fine case는 사용자가 요청한 mesh-refined nonlinear evidence이며 coarse
|
||||
case와 서로의 reference에 독립적으로 비교한다.
|
||||
- boundary: `pass-for-io-definition`은 I/O 계약을 다시 정의할 수 있다는 뜻이며 reference
|
||||
comparison pass, implementation completion, physics 또는 release 승인이 아니다.
|
||||
|
||||
## 3. Critical Findings
|
||||
|
||||
### Confirmed defects
|
||||
### 3.1 Confirmed defects
|
||||
|
||||
없음. Formulation Agent 또는 Research Agent로 즉시 되돌릴 confirmed numerical defect는 없다.
|
||||
Formulation Agent 또는 Research Agent로 반환할 confirmed defect는 없다. Formulation
|
||||
§11.4는 constrained generalized reaction과 spatial physical moment를 구분하고, §13.4는
|
||||
global origin `[0,0,0]`, current nodal position과 physical spatial moment를 사용하는
|
||||
applied-plus-reaction balance를 명시한다.
|
||||
|
||||
### Numerical risks requiring downstream evidence
|
||||
### 3.2 Required downstream correction: `AUDIT-001`
|
||||
|
||||
- `shellNL`의 stored reference는 geometric nonlinearity가 켜진 최종 상태 비교에는 충분하지만
|
||||
response amplitude가 작아 finite-rotation/tangent/objectivity 검증을 대신하지 못한다.
|
||||
- Abaqus stress CSV는 `(instance, element label, element-corner node label,
|
||||
section point, component)` identity로 완전하지만 FESA의 approved Gauss-location direct
|
||||
bottom/middle/top recovery와 location이 다르다. Current stored order는 element label
|
||||
`1..36` ascending block이며 이를 바꾸지 않는다. Nodal extrapolation/averaging을 만들지
|
||||
않고 stress CSV는 comparison family에서 제외한다.
|
||||
- External `UR` comparison은 기존 MITC4 정책에 따라 `warning-only`다. Rotation/director
|
||||
correctness는 `Q`, `d`, branch, objectivity invariant tests에서 blocking으로 확인해야 한다.
|
||||
Stage 5/6은 같은 accepted state에서 다음 세 quantity를 서로 바꿔 쓰지 않아야 한다.
|
||||
|
||||
### Open questions
|
||||
1. **Global applied-plus-reaction balance error**: applied와 constrained reaction을 더한
|
||||
force `[3]`와 moment `[3]`; blocking.
|
||||
2. **Constrained reaction resultant**: constrained reaction만 합한 force `[3]`와 current-arm
|
||||
moment `[3]`; distinct nonblocking reaction summary.
|
||||
3. **Accepted free residual**: stable free-DOF source/component rows와 force/moment channel gate;
|
||||
blocking.
|
||||
|
||||
현재 I/O Definition 진입을 막는 open question은 없다. Large-response public benchmark,
|
||||
MMS, broader locking/distortion characterization은 유용하지만 승인된 Stage 4 pass 조건은 아니다.
|
||||
현재 nonlinear implementation helper는 full residual을 합하고 initial Domain coordinates와
|
||||
raw rotational generalized residual을 사용한다. 현재 `shellNL`/`shellNL-meshfine` support는
|
||||
prescribed `u=phi=0`이므로 initial/current support arm과 generalized/spatial support moment가
|
||||
일치하고, 이 helper는 작은 free residual을 제외하면 constrained reaction resultant에
|
||||
가깝다. 그러나 applied load를 더한 balance error는 아니며 세 quantity 중 어느 것도
|
||||
일반적으로 대체하지 못한다. 지원 범위의 nonzero prescribed translation/rotation에서는
|
||||
반드시 current position과 `J_l(phi)^(-T)` spatial-moment conversion을 적용해야 한다.
|
||||
|
||||
### 3.3 Numerical risks and nonblocking artifact issue
|
||||
|
||||
- Fine stress CSV에는 element `1`, `SNEG`의 `Node Label=ss` 한 행이 있다. Stress는 승인된
|
||||
FESA Gauss direct recovery와 위치가 다르고 수치 comparison에서 제외되므로 이 optional
|
||||
inspection artifact의 malformed identity는 I/O 진입 blocker가 아니다. Artifact를 repair,
|
||||
normalize 또는 rewrite하지 않는다.
|
||||
- Coarse/fine Abaqus `S4`와 FESA MITC4가 동일한 local support reaction distribution을
|
||||
만들어야 한다는 formulation evidence는 없다. Global balance와 free residual로 blocking
|
||||
physics를 검증하고 local rows는 오차를 숨기지 않은 채 review-only로 남긴다.
|
||||
- Stored cases의 response는 weak geometric-nonlinear regime다. Reference displacement pass가
|
||||
tangent, objectivity, finite-rotation 또는 rollback 검증을 대신하지 않는다.
|
||||
|
||||
### 3.4 Open questions
|
||||
|
||||
I/O Definition 진입을 막는 open question은 없다. Public large-response benchmark, shell MMS와
|
||||
broader locking/distortion portfolio는 useful future evidence지만 이번 gate의 추가 조건이 아니다.
|
||||
|
||||
## 4. Numerical Risk Assessment
|
||||
|
||||
| risk label | assessment | required control / downstream evidence |
|
||||
| --- | --- | --- |
|
||||
| `rigid_body_modes` | 물리/internal/drill energy가 finite rigid motion에서 objective해야 하며 pure drill만 regularized 되어야 한다. | finite rigid translation/rotation superposition에서 strain, stress, physical energy, drill gamma, residual을 blocking invariant로 확인한다. |
|
||||
| `patch_test` | Green-Lagrange direct strain과 MITC tied shear가 같은 trial geometry와 같은 first/second variation을 써야 한다. | membrane, bending, twist, transverse-shear patch를 linear limit와 finite valid trial perturbation에서 각각 확인한다. |
|
||||
| `symmetry` | applied nodal moment가 없으면 physical/drill tangent는 exact arithmetic에서 symmetric이다. Fixed-spatial moment work tangent는 일반적으로 nonsymmetric이다. | no-moment case만 scaled symmetry check 대상으로 두고, moment case를 임의 symmetrization하지 않는다. |
|
||||
| `positive_definiteness` | nonlinear tangent는 load state, compression, near-buckling에서 indefinite일 수 있다. Positive definiteness는 일반 gate가 아니다. | stress-free constrained linear limit의 nonsingular solve와 singular negative case를 분리하고, factorization failure를 숨기지 않는다. |
|
||||
| `hourglass` | S4/S4R 모두 `2 x 2 x 2` full integration이므로 one-point reduced hourglass path는 승인 범위 밖이다. | source type으로 reduced/selective integration 또는 hourglass stabilization을 선택하지 않는 unit/integration test가 필요하다. |
|
||||
| `shear_locking` | MITC shear tying은 transverse-shear locking을 완화하지만 모든 thin-shell mesh에서 locking-free를 보장하지 않는다. | patch/reference evidence를 blocking으로 두고 broader thin/thick convergence는 nonblocking characterization으로 둔다. |
|
||||
| `volumetric_locking` | approved plane-stress shell, St. Venant-Kirchhoff-type material restriction에서는 `N/A`다. | 3-D incompressible material 또는 `nu >= 0.5` 의미로 확장하지 않는다. |
|
||||
| `membrane_locking` | original-style MITC4는 curved/distorted nonlinear meshes에서 membrane locking 위험이 남는다. | known limitation으로 기록한다. MITC4+ 성능 또는 Abaqus S4/S4R internal equivalence를 주장하지 않는다. |
|
||||
| `distortion` | positive Jacobian이라도 severe distortion/warpage는 conditioning과 stress accuracy를 악화할 수 있다. | 모든 Gauss/tying/center/recovery location의 finite, positive predicate를 fail-closed로 적용한다. 추가 quality cutoff는 요구하지 않는다. |
|
||||
| `singular_jacobian` | `J0 <= 0`, `j <= 0`, invalid reciprocal basis, invalid polar stretch는 residual/tangent를 무효화한다. | failed location을 omit/average/clamp/repair하지 않고 model/trial failure로 처리한다. |
|
||||
| `conditioning` | thin shells, small fixed drill scale, near-mechanism constraints는 Kff conditioning을 악화시킬 수 있다. | scaled matrix diagnostics만 사용하고 solver regularization/fallback으로 singularity를 숨기지 않는다. |
|
||||
| `convergence` | Full Newton은 same-trial consistent tangent에 의존한다. No line search/cutback이므로 difficult step은 deterministic nonconvergence가 될 수 있다. | NSNR-069/070 four-channel gates, iteration `1..100`, nonfinite rejection, no hidden retry를 integration tests로 고정한다. |
|
||||
| `rigid_body_modes` | Physical/internal/drill energy는 finite rigid motion에서 objective하고 pure drill만 regularized 되어야 한다. | finite rigid superposition에서 strain, stress, physical energy, drill gamma/energy와 residual covariance를 blocking invariant로 확인한다. |
|
||||
| `patch_test` | Green-Lagrange direct strain과 MITC tied shear는 같은 trial 및 first/second variation을 써야 한다. | membrane, bending, twist, transverse-shear patch와 linear limit을 확인한다. |
|
||||
| `symmetry` | Applied nodal moment가 없으면 physical/drill tangent는 exact arithmetic에서 symmetric이다. Fixed-spatial moment work tangent는 일반적으로 nonsymmetric다. | no-moment case만 scaled symmetry gate를 적용하고 moment case는 derivative consistency로 검증한다. |
|
||||
| `positive_definiteness` | Nonlinear tangent는 compression/near-buckling에서 indefinite일 수 있다. | positive definiteness를 global gate로 만들지 않고 singular/malformed tangent와 물리적 indefiniteness를 구분한다. |
|
||||
| `hourglass` | S4/S4R 모두 `2 x 2 x 2` full integration이며 reduced/hourglass path는 범위 밖이다. | source label로 integration 또는 stabilization을 바꾸지 않는 test가 필요하다. |
|
||||
| `shear_locking` | MITC shear tying은 transverse-shear locking을 완화하지만 general locking-free를 보장하지 않는다. | patch/reference evidence를 blocking으로, broader thin/thick study를 characterization으로 둔다. |
|
||||
| `volumetric_locking` | approved plane-stress shell과 `nu < 0.5` 범위에서는 `N/A`다. | 3-D incompressible behavior claim으로 확장하지 않는다. |
|
||||
| `membrane_locking` | original-style MITC4는 curved/distorted nonlinear mesh에서 membrane locking 위험이 남는다. | known limitation으로 보존하고 MITC4+ 또는 Abaqus 내부 성능을 상속한다고 주장하지 않는다. |
|
||||
| `distortion` | positive Jacobian만으로 accuracy는 보장되지 않지만 별도 calibrated quality cutoff는 승인되지 않았다. | 모든 Gauss/tying/center/recovery location을 fail-closed 검사한다. |
|
||||
| `singular_jacobian` | `J0<=0`, `j<=0`, invalid reciprocal basis/polar stretch는 residual/tangent를 무효화한다. | failed point를 omit, average, clamp 또는 repair하지 않는다. |
|
||||
| `conditioning` | thin geometry, small fixed drill scale와 near mechanism은 conditioning을 악화시킨다. | scale-aware diagnostics를 쓰고 hidden regularization/fallback을 금지한다. |
|
||||
| `convergence` | Full Newton은 same-trial consistent tangent에 의존하고 line search/cutback이 없다. | NSNR-069/070, four-channel AND, iteration `1..100`, finite-first와 no retry를 고정한다. |
|
||||
| `reaction_distribution` | local nodal support distribution은 element formulation/mesh/stabilization에 민감하다. | exact local error report는 유지하되 global balance/free residual만 blocking한다. |
|
||||
|
||||
## 5. Consistency Checks
|
||||
|
||||
| check | result | evidence |
|
||||
| --- | --- | --- |
|
||||
| units and dimensions | `pass` | Translation/force, rotation/moment, stress/resultant dimensions are separated. Convergence channels keep force, force-length, length and dimensionless rotation separate. |
|
||||
| signs and residual convention | `pass` | Global residual is `f_int - f_ext`; constrained full residual is reaction and free residual is equilibrium evidence. Fixed-global dead force has no configuration derivative. |
|
||||
| DOF ordering and free/constrained assumptions | `pass` | Per-node global order is `[UX, UY, UZ, URX, URY, URZ]`; Newton solve uses stable free coordinates with `Delta q_c = 0`. Valid `0 x 0` free system is trivial success. |
|
||||
| coordinate transforms | `pass` | `Q=Exp(phi^)Q0`, left-spatial update, `J_l` variation, physical swing map and spatial reaction moment conversion are explicitly defined. |
|
||||
| kinematic operator / B matrix | `pass` | Green-Lagrange strain, MITC shear projection and both first/second variations use the same trial identity. |
|
||||
| constitutive contract | `pass` | Constant symmetric `C5` maps engineering Green-Lagrange strain to second Piola-Kirchhoff stress; no material history is introduced. |
|
||||
| Jacobian rules | `pass` | Fixed reference `J0` is integration measure; current `j` and `det F_c` are validity checks. Failed locations are not skipped. |
|
||||
| integration policy | `pass` | S4 and S4R share four midsurface Gauss points times two thickness points; reduced/selective integration is prohibited. |
|
||||
| residual/tangent consistency | `pass` | Complete tangent includes material, geometric, map-Hessian, objective drill Hessian and fixed-spatial moment work derivative terms. |
|
||||
| tangent symmetry expectation | `pass` | Symmetric only for conservative no-applied-moment case; generally nonsymmetric moment tangent must remain unsymmetrized. |
|
||||
| output locations | `pass-with-handoff` | Nodal U/UR/RF/RM and shell stress/resultant logical quantities are defined; exact HDF5 projection remains I/O-owned. Current nodal SPOS/SNEG stress CSV는 Gauss direct recovery와 일대일 대응하지 않으므로 external numerical comparison은 N/A다. |
|
||||
| units and dimensions | `pass` | Translation residual/reaction은 force, rotation residual/reaction moment는 force-length다. Force와 moment family 및 norm scale을 혼합하지 않는다. |
|
||||
| signs | `pass` | `r=f_int-f_ext`; constrained entry는 reaction, free entry는 equilibrium evidence다. Balance는 `applied+reaction`이고 reaction resultant는 reaction만 합한다. |
|
||||
| DOF ordering | `pass` | Global node order `[UX,UY,UZ,URX,URY,URZ]`; stable free/constrained partition과 `Delta q_c=0`을 보존한다. |
|
||||
| coordinates and moment conversion | `pass-with-handoff` | Global origin `[0,0,0]`, current arm `X+u`, spatial moment `J_l(phi)^(-T) r_phi`가 승인 의미다. `AUDIT-001` 구현 projection audit가 남는다. |
|
||||
| kinematic operator | `pass` | Green-Lagrange strain, MITC shear projection 및 first/second variation은 same-trial identity다. |
|
||||
| constitutive contract | `pass` | Constant symmetric `C5`가 fixed-reference engineering strain을 second Piola-Kirchhoff stress로 매핑하며 material history가 없다. |
|
||||
| Jacobian rules | `pass` | Fixed `J0`가 integration measure, current `j`와 `det(Fc)`가 validity predicate다. |
|
||||
| integration | `pass` | S4/S4R 공통 four midsurface by two thickness points; reduced/selective integration은 금지한다. |
|
||||
| residual/tangent | `pass` | Material/geometric/map-Hessian/drill/moment-work derivative가 complete same-trial tangent를 이룬다. |
|
||||
| recovery locations | `pass-with-handoff` | Nodal U/UR/reaction 및 Gauss direct shell recovery logical meaning은 정의되었다. Final dataset projection은 I/O-owned다. |
|
||||
| reference identity | `pass` | Case/state/instance/source label/component로 match하고 row order를 identity로 쓰지 않는다. |
|
||||
|
||||
## 6. Verification Readiness
|
||||
|
||||
### Blocking internal numerical tests
|
||||
### 6.1 Blocking internal numerical tests
|
||||
|
||||
Implementation Planning shall carry these as feature-required tests before any reference-comparison success claim:
|
||||
기존 승인 수치 portfolio를 유지한다.
|
||||
|
||||
Mixed translation/rotation 검사는 fixed-reference characteristic length
|
||||
`L=max(||X_I-X_J||)`와 node block `Dq=diag(L I3,I3)`를 사용한다. Tangent test direction은
|
||||
`||p_hat||inf=1`, perturbation은 `q +/- h Dq p_hat`으로 두고
|
||||
`h={1e-3,3e-4,1e-4,3e-5,1e-5,3e-6,1e-6,3e-7}` 전부를 검사한다. Roundoff plateau 전
|
||||
최소 두 interval에서 centered-difference observed order `>=1.5`이고 한 interior point가
|
||||
scaled error `<=1e-6`여야 한다. Single-`h` 우연 통과는 허용하지 않는다.
|
||||
1. Stress-free `q=0` linear MITC4 residual/tangent/recovery와 physical/drill split.
|
||||
2. `||Q^TQ-I||_F<=1e-12`, `|det(Q)-1|<=1e-12`, `d=Qe3` 및 branch margin.
|
||||
3. Mixed translation/rotation scaled tangent directional derivative schedule와 interior scaled
|
||||
error `<=1e-6`; zero analytical direction `<=1e-10`.
|
||||
4. No-applied-moment scaled tangent symmetry `<=1e-12`; applied moment는 derivative
|
||||
consistency만 검사한다.
|
||||
5. Finite rigid objectivity의 scaled physical strain/stress/energy/drill/residual `<=1e-10`.
|
||||
6. Membrane/bending/twist/shear patch, component order와 bottom/top stress sign.
|
||||
7. Fixed-global force/moment identity, `rho_M<=1e-12`, absolute prescribed path와 zero
|
||||
constrained Newton correction.
|
||||
8. Exact fixed-factor sequence, factor one, iterations `1..100`, pass at 100, no 101/cutback/retry.
|
||||
9. NSNR-069/070의 finite-first exact-zero/nonzero branches, inclusive thresholds와 four-channel AND.
|
||||
10. Trial/recovery/solve/output failure rollback과 deterministic assembly/frame/row/diagnostic order.
|
||||
|
||||
1. Linear limit: at stress-free `q=0`, nonlinear element residual/tangent/recovery reduce to approved linear MITC4 signs, `2 x 2 x 2` integration and physical/drill split.
|
||||
2. Rotation state invariants: every committed/trial `Q` satisfies `||Q^T Q-I||_F <= 1e-12`,
|
||||
`|det(Q)-1| <= 1e-12`, and `d=Q e3`. Global/swing/twist `pi` branch angular margin은
|
||||
`sqrt(epsilon_double)`, 약 `1.4901161193847656e-8` rad보다 커야 한다.
|
||||
3. Tangent directional derivative: compare `Dq^T K_T Dq p_hat` with the central
|
||||
residual derivative under the schedule above in separated force and moment channels.
|
||||
Zero analytical directions require exact-zero construction and scaled absolute error
|
||||
`<=1e-10`; nonfinite metric은 허용하지 않는다.
|
||||
4. No-moment tangent symmetry: after work-conjugate congruence `Dq^T K_T Dq`, no-applied-moment
|
||||
tangent scaled Frobenius symmetry error `<=1e-12`; applied fixed-spatial moment cases are checked for
|
||||
exact derivative consistency, not symmetry.
|
||||
5. Finite rigid objectivity: superposed finite rigid motion leaves physical strain/stress,
|
||||
physical energy, drill gamma/energy and internal residual at scaled `<=1e-10` levels.
|
||||
6. Patch/sign recovery: membrane, bending, twist and transverse shear patch states preserve
|
||||
component order and bottom/top stress signs.
|
||||
Analytical strain/resultant/stress error is relative `<=1e-9`.
|
||||
7. Load and boundary path: fixed-global force/moment source identity, `rho_M <= 1e-12`
|
||||
rejection/projection, absolute factor-one boundary path and zero constrained Newton
|
||||
correction are tested independently.
|
||||
8. Newton lifecycle: factor identities use ordinal `j*h` values strictly below one,
|
||||
followed by one exact assigned `1.0`; cumulative `lambda += h`와 tolerance-based duplicate
|
||||
endpoint는 금지한다. For `shellNL` the expected intended factors are `0.1, 0.2, ...,
|
||||
1.0`. Iterations are `1..100`, pass at `100` is allowed, iteration `101` is forbidden.
|
||||
9. Convergence gates: NSNR-069/070 four-channel inclusive `<=` rules, typed zero-scale
|
||||
`1e-3` thresholds and nonfinite rejection are tested without adding energy or line-search gates.
|
||||
10. Commit/rollback and determinism: failed trial, recovery, solve or output does not mutate
|
||||
the prior committed state or prior authoritative final result; row/diagnostic order is stable.
|
||||
### 6.2 Factor-one blocking equilibrium contract
|
||||
|
||||
### Downstream reference comparisons
|
||||
각 nonlinear case의 accepted factor-one state에 대해
|
||||
|
||||
The required stored-reference cases and logical quantities are defined in
|
||||
`docs/nonlinear-static-newton-raphson/reference-model.md`.
|
||||
\[
|
||||
\mathbf a_{F,I}=\mathbf F_I^{appl},\qquad
|
||||
\mathbf c_{F,I}=\mathbf F_I^{react},
|
||||
\]
|
||||
|
||||
- `shellnl-s4-final` is the primary nonlinear external reference at accepted factor one.
|
||||
- `shell-s4-linear-limit` is the read-only linear-limit/reference-identity regression for the
|
||||
same S4 mesh. Current stress element-label ordering is inventoried without becoming a
|
||||
comparison quantity.
|
||||
\[
|
||||
\mathbf a_{M,I}=(\mathbf x_I-\mathbf 0)\times\mathbf F_I^{appl}
|
||||
+\mathbf M_I^{appl},\qquad
|
||||
\mathbf c_{M,I}=(\mathbf x_I-\mathbf 0)\times\mathbf F_I^{react}
|
||||
+\mathbf M_I^{react}
|
||||
\]
|
||||
|
||||
External comparison uses only accepted-state quantities and `docs/TOLERANCE.md`. Missing,
|
||||
extra, duplicate or nonfinite required rows fail before tolerance. The comparison result itself
|
||||
is Implementation Agent ownership.
|
||||
를 stable source-node order로 계산한다. `x=X+u`이고 applied physical moment는 formulation
|
||||
§13.4의 effective physical-work moment다. Define
|
||||
|
||||
\[
|
||||
\mathbf e_F=\sum_I(\mathbf a_{F,I}+\mathbf c_{F,I}),\quad
|
||||
S_F=\max\left(\sum_I\|\mathbf a_{F,I}\|_2,
|
||||
\sum_I\|\mathbf c_{F,I}\|_2\right),
|
||||
\]
|
||||
|
||||
\[
|
||||
\mathbf e_M=\sum_I(\mathbf a_{M,I}+\mathbf c_{M,I}),\quad
|
||||
S_M=\max\left(\sum_I\|\mathbf a_{M,I}\|_2,
|
||||
\sum_I\|\mathbf c_{M,I}\|_2\right).
|
||||
\]
|
||||
|
||||
Force와 moment는 각각 `rho_F=||e_F||2/S_F`, `rho_M=||e_M||2/S_M`로 검사하고 둘 다
|
||||
`<=1e-8`이어야 한다. 이 threshold는 승인된 nonlinear acceptance value이며,
|
||||
unclamped sum-of-contribution scale과 dimension-separated form은 승인된 linear MITC4
|
||||
global-equilibrium convention을 유지한다. `S=0`이면 balance도
|
||||
exact zero일 때만 `0`, 아니면 fail하며 absolute floor, `max(1,S)` 또는 zero clamp를 두지 않는다.
|
||||
|
||||
Accepted free residual은 cross-unit combined norm을 만들지 않는다. Factor-one accepted trial의
|
||||
free translation-force와 free rotation-moment rows가 각각 NSNR-069의 exact gate를 다시
|
||||
재현해야 한다: matching external scale이 nonzero이면 approved infinity-norm relative gate
|
||||
`<=1e-2`, exact zero이면 typed absolute `<=1e-3` force 또는 force-length다. 두 channel 모두
|
||||
finite-first로 통과해야 한다.
|
||||
|
||||
### 6.3 Downstream reference comparisons
|
||||
|
||||
- `shellnl-meshfine-s4-final`: 사용자가 요청한 mesh-refined primary nonlinear case.
|
||||
- `shellnl-s4-final`: coarse nonlinear companion regression.
|
||||
- `shell-s4-linear-limit`: existing linear-limit/source-identity regression.
|
||||
|
||||
각 case의 `U1/U2/U3`는 blocking이고 `UR1/UR2/UR3`는 warning-only다. Coarse/fine은 각자의
|
||||
input/CSV와 독립 family로 비교하며 cross-mesh interpolation, row collapse 또는 observed-order
|
||||
claim을 만들지 않는다. Local RF/RM family는 common external tolerance로 오차를 전부
|
||||
기록하지만 review-only다. `RM3`와 stress는 수치 comparison에서 제외한다.
|
||||
|
||||
## 7. Required Revisions
|
||||
|
||||
### Formulation Agent
|
||||
|
||||
None before I/O Definition. The current formulation is numerically sufficient for the I/O
|
||||
contract. Current source element/node SPOS/SNEG stress CSV에 맞추기 위한 extrapolation,
|
||||
averaging 또는 새 recovery 의미는 추가하지 않는다.
|
||||
없음. §11.4/§13.4의 reaction, spatial moment와 global balance 의미는 revised requirements를
|
||||
충족한다.
|
||||
|
||||
### Research Agent
|
||||
|
||||
None before I/O Definition. Public large-response benchmarks and shell MMS remain useful future
|
||||
evidence, but the current Stage 4 gate does not require another research pass.
|
||||
없음. Stored fine-mesh case와 internal invariant portfolio가 이번 I/O gate에 충분하다.
|
||||
|
||||
### I/O Definition Agent
|
||||
|
||||
Define parser/semantic/HDF5/log projection for the logical quantities and row identities in
|
||||
`reference-model.md`. Preserve the split between blocking internal nonlinear tests and external
|
||||
stored reference comparison; do not claim Abaqus internal equivalence.
|
||||
`reference-model.md`의 logical quantities와 source identity를 최종 projection으로 연결한다.
|
||||
`AUDIT-001`의 balance error, constrained reaction resultant, accepted free residual을 별도
|
||||
quantity로 유지한다. Current-arm/spatial-moment semantics와 factor-one identity를 보존하고
|
||||
local RF/RM review-only disposition을 blocking으로 되돌리지 않는다.
|
||||
|
||||
## 8. Downstream Handoff
|
||||
|
||||
For I/O Definition Agent through Coordinator:
|
||||
Coordinator를 통해 I/O Definition Agent에 전달한다.
|
||||
|
||||
- Use accepted factor-one frames only for external reference comparison; trial Newton states are
|
||||
not reference quantities.
|
||||
- Preserve required source identity: case, accepted state, instance, node label and component.
|
||||
Stress artifact의 element/node/section identity와 stored element-label order는 read-only
|
||||
inventory로 보존하되 FESA comparison row로 합성하지 않는다.
|
||||
- Keep `U1/U2/U3` blocking and `UR1/UR2/UR3` warning-only. For `shellNL`, compare
|
||||
constrained `RF1/RF2`, `RF3`, and spatial physical `RM1/RM2` in the separate blocking
|
||||
families from `reference-model.md`. `RM3`와 stress는 comparison에서 제외한다.
|
||||
- Apply `docs/TOLERANCE.md` exactly; do not add an independent absolute floor, row averaging,
|
||||
source-order matching, or calibration gate.
|
||||
- Treat `shellNL` as weak but valid nonlinear final-state reference evidence; require the
|
||||
blocking internal tests above for tangent/objectivity/rollback/finite-rotation correctness.
|
||||
- `pass-for-io-definition`; blockers: 없음.
|
||||
- External families는 `docs/TOLERANCE.md`를 그대로 사용한다. Independent absolute floor,
|
||||
averaging, collapse, source-order matching, clamp 또는 calibration gate를 추가하지 않는다.
|
||||
- Internal factor-one global force/moment balance는 Section 6.2의 dimension-separated normalized
|
||||
`1e-8` gate, accepted free residual은 NSNR-069 force/moment gate를 사용한다.
|
||||
- Fine primary와 coarse companion nonlinear cases 모두 U blocking/UR warning-only를 유지한다.
|
||||
- Local RF1/RF2, RF3, spatial RM1/RM2는 separate review-only families이며 error/precheck를
|
||||
생략하지 않는다. RM3/stress는 excluded다.
|
||||
- Fine optional stress identity anomaly는 그대로 기록하고 artifact를 수정하지 않는다.
|
||||
- Abaqus S4와 FESA MITC4의 formulation, integration, stabilization 또는 내부 알고리즘
|
||||
동등성을 주장하지 않는다.
|
||||
|
||||
@@ -4,234 +4,294 @@
|
||||
|
||||
- feature_id: `nonlinear-static-newton-raphson`
|
||||
- source_requirements: `docs/nonlinear-static-newton-raphson/requirements.md`
|
||||
- source_requirements_sha256: `89C1AB5F1BEDB7C5F6AD0726ED62F0982181EA8746EDE4661183FD3D18A2408E`
|
||||
- source_research: `docs/nonlinear-static-newton-raphson/research.md`
|
||||
- source_formulation: `docs/nonlinear-static-newton-raphson/formulation.md`
|
||||
- source_numerical_review: `docs/nonlinear-static-newton-raphson/numerical-review.md`
|
||||
- decision_source: `USER-DECISION-004 option 1`
|
||||
- balance_gate_decision: user-approved factor-one global force/moment normalized gate `<=1e-8`
|
||||
- status: `pass-for-io-definition`
|
||||
- owner_agent: `numerical-review-agent`
|
||||
- date: `2026-08-23`
|
||||
- date: `2026-08-28`
|
||||
- artifact_policy: `read-only-existing-files`
|
||||
- tolerance_policy: `docs/TOLERANCE.md`
|
||||
- external_tolerance_policy: `docs/TOLERANCE.md`
|
||||
|
||||
이 문서는 logical reference quantity, source identity, component matching, row precheck와
|
||||
blocking/warning 분류만 정의한다. 최종 HDF5 dataset projection은 I/O Definition Agent 소유다.
|
||||
이 문서는 logical quantity, source identity, component matching, row precheck와
|
||||
blocking/warning-only/review-only 분류를 정의한다. 최종 HDF5 dataset projection은 I/O
|
||||
Definition Agent 소유이며 이 문서에는 dataset path를 정의하지 않는다.
|
||||
|
||||
## 2. Reference Acceptance Scope
|
||||
|
||||
Required scope는 두 stored case다.
|
||||
세 stored case를 사용한다.
|
||||
|
||||
- `shellnl-s4-final`: `nlgeom=YES` nonlinear static S4 final accepted state를 비교하는
|
||||
primary external reference case.
|
||||
- `shell-s4-linear-limit`: 같은 S4 mesh의 `nlgeom=NO` read-only linear-limit/reference-identity
|
||||
regression case. 이 case는 nonlinear response evidence가 아니며, 현재 stress CSV의 element-label
|
||||
ordering을 row-order matching으로 사용하지 않는다.
|
||||
- `shellnl-meshfine-s4-final`: 사용자가 추가하고 검증을 요청한 729-node/676-element
|
||||
mesh-refined nonlinear primary case. External `U1/U2/U3`와 factor-one internal equilibrium은
|
||||
blocking이다.
|
||||
- `shellnl-s4-final`: 49-node/36-element coarse nonlinear companion regression. Fine case와
|
||||
별도 reference에 대해 external `U1/U2/U3`와 factor-one internal equilibrium을 blocking으로
|
||||
검증한다.
|
||||
- `shell-s4-linear-limit`: 같은 coarse topology의 `NLGEOM=NO` linear-limit/source-identity
|
||||
regression. Nonlinear response evidence로 부르지 않는다.
|
||||
|
||||
`shellNL`은 final-state reference comparison에는 충분하지만 weak nonlinear response다. Dominant
|
||||
`U3`/stress 값이 linear case와 거의 같으므로 finite-rotation objectivity, consistent tangent,
|
||||
commit/rollback과 convergence lifecycle은 `numerical-review.md`의 blocking internal tests로 검증한다.
|
||||
모든 selected case에서 displacement `U1/U2/U3`는 blocking, `UR1/UR2/UR3`는
|
||||
warning-only다. Coarse/fine local nodal `RF1/RF2/RF3`와 physical spatial `RM1/RM2`는
|
||||
common external policy로 exact error/precheck evidence를 만들되 review-only이고 전체 blocking
|
||||
verdict를 바꾸지 않는다. Local `RM3`와 stress는 numerical comparison에서 제외한다.
|
||||
|
||||
## 3. Reference Case Inventory with exact input and required CSV paths
|
||||
Coarse와 fine은 각자의 input/CSV에 독립적으로 비교한다. 두 mesh 사이 node interpolation,
|
||||
row pairing, averaging, collapse, observed convergence order 또는 direct coarse/fine equality
|
||||
gate를 만들지 않는다. Fine case 추가는 Abaqus S4와 FESA MITC4의 element formulation,
|
||||
integration, stabilization 또는 internal behavior equivalence를 의미하지 않는다.
|
||||
|
||||
| case id | artifact role | required comparison artifact | exact path | observed status |
|
||||
## 3. Reference Case Inventory
|
||||
|
||||
### 3.1 Exact input and CSV paths
|
||||
|
||||
| case id | purpose | exact path | required disposition | observed status |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `shellnl-s4-final` | nonlinear input | yes | `reference/shellNL/shellNL.inp` | readable; S4, 49 nodes, 36 elements, `NLGEOM=YES` |
|
||||
| `shellnl-s4-final` | displacement reference | yes | `reference/shellNL/shellNL displacements.csv` | 49 finite unique node rows; one factor-one Frame |
|
||||
| `shellnl-s4-final` | reaction reference | yes | `reference/shellNL/shellNL reactions.csv` | 49 finite unique node rows; one factor-one Frame |
|
||||
| `shellnl-s4-final` | stress review evidence | no | `reference/shellNL/shellNL stresses.csv` | 288 finite unique rows; element labels `1..36` in stored ascending blocks |
|
||||
| `shell-s4-linear-limit` | linear control input | yes | `reference/shell/shell.inp` | readable; S4, 49 nodes, 36 elements, `NLGEOM=NO` |
|
||||
| `shell-s4-linear-limit` | displacement reference | yes | `reference/shell/shell displacements.csv` | 49 finite unique node rows; no `Frame` column |
|
||||
| `shell-s4-linear-limit` | reaction review evidence | no | `reference/shell/shell reactions.csv` | 49 finite unique node rows |
|
||||
| `shell-s4-linear-limit` | stress review evidence | no | `reference/shell/shell stresses.csv` | 288 finite unique rows; element labels `1..36` in stored ascending blocks |
|
||||
| `shell-s4-linear-limit` | linear input | `reference/shell/shell.inp` | required | readable; S4, 49 nodes, 36 elements, `NLGEOM=NO` |
|
||||
| `shell-s4-linear-limit` | displacement reference | `reference/shell/shell displacements.csv` | required blocking/warning | 49 unique finite rows; single final static state |
|
||||
| `shell-s4-linear-limit` | reaction inventory | `reference/shell/shell reactions.csv` | inspection-only | 49 unique finite rows |
|
||||
| `shell-s4-linear-limit` | stress ordering inventory | `reference/shell/shell stresses.csv` | optional inspection | 288 rows; element labels `1..36` in contiguous ascending blocks |
|
||||
| `shellnl-s4-final` | coarse nonlinear input | `reference/shellNL/shellNL.inp` | required | readable; S4, 49 nodes, 36 elements, `NLGEOM=YES` |
|
||||
| `shellnl-s4-final` | displacement reference | `reference/shellNL/shellNL displacements.csv` | required blocking/warning | 49 unique finite rows; exact factor-one Frame |
|
||||
| `shellnl-s4-final` | local reaction reference | `reference/shellNL/shellNL reactions.csv` | required review-only | 49 unique finite inventory rows; exact factor-one Frame |
|
||||
| `shellnl-s4-final` | stress inventory | `reference/shellNL/shellNL stresses.csv` | optional inspection | 288 rows; element labels `1..36` in contiguous ascending blocks |
|
||||
| `shellnl-meshfine-s4-final` | fine nonlinear input | `reference/shellNL-meshfine/shellNL-meshfine.inp` | required | readable; S4, 729 nodes, 676 elements, `NLGEOM=YES` |
|
||||
| `shellnl-meshfine-s4-final` | displacement reference | `reference/shellNL-meshfine/shellNL-meshfine displacements.csv` | required blocking/warning | 729 unique finite rows; exact factor-one Frame |
|
||||
| `shellnl-meshfine-s4-final` | local reaction reference | `reference/shellNL-meshfine/shellNL-meshfine reactions.csv` | required review-only | 729 unique finite inventory rows; exact factor-one Frame |
|
||||
| `shellnl-meshfine-s4-final` | stress inventory | `reference/shellNL-meshfine/shellNL-meshfine stresses.csv` | optional inspection | 5,408 rows in ascending element blocks; one malformed optional node label `ss` |
|
||||
|
||||
`required comparison artifact=no`인 파일도 이번 review에서 읽기 가능성, row identity,
|
||||
finite values와 current ordering을 확인했다. 그러나 해당 파일은 missing-required-artifact
|
||||
판정이나 tolerance family를 만들지 않는다.
|
||||
`reference/shell/shell stresses.csv`는 사용자 변경 후 element label `1..36` 순서로 저장되어
|
||||
있음을 확인했다. Row order는 matching identity가 아니며 deterministic inspection display에만
|
||||
사용한다. Fine stress의 `Element Label=1`, `SNEG`, `Node Label=ss` 한 행은 optional excluded
|
||||
artifact issue다. 이 파일을 rename, repair, normalize 또는 rewrite하지 않는다.
|
||||
|
||||
두 `.inp`는 같은 node/element/connectivity, material/section, instance, boundary와 center-node
|
||||
`CLOAD`를 사용한다. Text 차이는 heading identity, `NLGEOM=NO -> YES`, 그리고 `*STATIC`
|
||||
data `1.,1.,1e-05,1. -> 0.1,1.,0.001,0.1`이다. 따라서 `shellNL`은 실제 nonlinear
|
||||
selector와 승인된 fixed increment `0.1`을 갖지만, 두 deck 차이를 오직 `NLGEOM` 하나의
|
||||
isolated effect라고 표현하지 않는다.
|
||||
Coarse와 fine nonlinear input은 homogeneous isotropic material `E=2.1e11`, `nu=0.3`,
|
||||
shell thickness `0.5`, center node-set load `DOF 3 = -100000`, all-six-DOF perimeter support,
|
||||
`*STATIC 0.1,1.,0.001,0.1`을 사용한다. Fine case는 같은 physical setup의 refined topology다.
|
||||
|
||||
Read-only SHA-256 observations:
|
||||
### 3.2 Read-only artifact hashes
|
||||
|
||||
| path | SHA-256 |
|
||||
| exact path | SHA-256 |
|
||||
| --- | --- |
|
||||
| `reference/shellNL/shellNL.inp` | `4BF3ECB0F7F1E8462C573E993DBC97AC5D920C91CF6F23AD4C6891D77FFBADA2` |
|
||||
| `reference/shellNL/shellNL displacements.csv` | `4E0F99CA9372B1ADF7FAF102F43BC0B887DC743FDEDA378E4342D2CF8E0C0786` |
|
||||
| `reference/shellNL/shellNL reactions.csv` | `001CB1541A9E94424E5E650509D46BC8724970DF4DE47184D9DB09C7938AB069` |
|
||||
| `reference/shellNL/shellNL stresses.csv` | `5500E5114B1C44887528E30CEC054A1EB0F68BE3F4B8CE81FA59FC74A881483F` |
|
||||
| `reference/shell/shell.inp` | `4005851E1AB22FD3A16AC17A8D5DA3E051233F69F37419079F3553AD134ECFCF` |
|
||||
| `reference/shell/shell displacements.csv` | `C81D94E0B4A849F87AA0F79C83A79B94D5661AC79E44ED826919AB432C87746B` |
|
||||
| `reference/shell/shell reactions.csv` | `0E34EEC27E700C3C0C744C1DAFD8A3B95EFEF34B8616FE96665876586FE82D41` |
|
||||
| `reference/shell/shell stresses.csv` | `2B75A5B0DEB045A283C9BB7E9B1153B79F7537FF487214BF4A23316B59B660A7` |
|
||||
| `reference/shellNL/shellNL.inp` | `4BF3ECB0F7F1E8462C573E993DBC97AC5D920C91CF6F23AD4C6891D77FFBADA2` |
|
||||
| `reference/shellNL/shellNL displacements.csv` | `4E0F99CA9372B1ADF7FAF102F43BC0B887DC743FDEDA378E4342D2CF8E0C0786` |
|
||||
| `reference/shellNL/shellNL reactions.csv` | `001CB1541A9E94424E5E650509D46BC8724970DF4DE47184D9DB09C7938AB069` |
|
||||
| `reference/shellNL/shellNL stresses.csv` | `5500E5114B1C44887528E30CEC054A1EB0F68BE3F4B8CE81FA59FC74A881483F` |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine.inp` | `40DF1CE77311C8D799564A21A60F3BDEBB8148D52CAE22B7292FDFAD32018220` |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine displacements.csv` | `740819FF8AED0E279961581F7CDBFA12784CFBA3A488C35A652E80103F64433F` |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine reactions.csv` | `AEB01C98C596792B0E5F2B86A81945CAB0BEB0C6969CFC6738C6F81DF1F94363` |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine stresses.csv` | `6D6213AB5DB9D6B1F5FBD641367D08BACC805967B6C5A95BCE0E1A5395377782` |
|
||||
|
||||
## 4. Source Identity and Component Contract
|
||||
|
||||
### 4.1 Accepted-state identity
|
||||
### 4.1 Case and accepted-state identity
|
||||
|
||||
- Abaqus identifiers are case-insensitive semantic identities. Input spelling
|
||||
`Part-1-1` and CSV spelling `PART-1-1` match as one instance while original text is
|
||||
retained in artifacts and reports; no file or row is rewritten.
|
||||
- `shellnl-s4-final` rows require exact CSV `Frame` value
|
||||
`Increment 10: Step Time = 1.000`, mapped logically to the accepted factor-one state.
|
||||
- `shell-s4-linear-limit` rows have no `Frame` column and map to the single final static state.
|
||||
- Row order is never a matching identity. It may only be used for deterministic reporting after
|
||||
source keys are matched.
|
||||
- Instance identity는 case-insensitive semantic match다. Artifact spelling `Part-1-1`과
|
||||
`PART-1-1`은 같은 instance이지만 file text를 rewrite하지 않는다.
|
||||
- 두 nonlinear case required rows의 exact CSV Frame은
|
||||
`Increment 10: Step Time = 1.000`이며 accepted factor-one state에 대응한다.
|
||||
- Linear case에는 `Frame` column이 없고 single final static state로 해석한다.
|
||||
- Row order는 identity가 아니다. Stable key match 후 deterministic reporting order로만 정렬한다.
|
||||
|
||||
### 4.2 Nodal displacement contract
|
||||
### 4.2 Nodal displacement and rotation
|
||||
|
||||
Required mapping is `U-U1/U-U2/U-U3 -> U1/U2/U3` and
|
||||
`UR-UR1/UR-UR2/UR-UR3 -> UR1/UR2/UR3`. U is global length; UR is the
|
||||
dimensionless fixed-initial global rotation-vector output. Logical key is
|
||||
CSV `U-U1/U-U2/U-U3`는 logical `U1/U2/U3`, `UR-UR1/UR-UR2/UR-UR3`는
|
||||
logical `UR1/UR2/UR3`에 대응한다. Key는
|
||||
|
||||
```text
|
||||
(case_id, accepted_state, canonical_instance_name, source_node_label, component)
|
||||
```
|
||||
|
||||
Both cases require source node labels `1..49` exactly once. U components form one
|
||||
blocking translation family and UR components form one warning-only rotation family,
|
||||
preserving the project MITC4 classification.
|
||||
이다. Coarse/linear은 labels `1..49`, fine은 `1..729`를 각각 정확히 한 번 요구한다.
|
||||
U는 global length/blocking, UR은 fixed-initial global rotation-vector/warning-only다.
|
||||
|
||||
### 4.3 Nonlinear reaction contract
|
||||
### 4.3 Local reaction review contract
|
||||
|
||||
Reaction comparison applies only to `shellnl-s4-final` and only to the input boundary
|
||||
`Set-2` nodes:
|
||||
Reaction source rows는 input `Set-2` constraint mask로 선택한다.
|
||||
|
||||
```text
|
||||
1,3,4,5,6,7,8,9,14,15,16,17,22,23,24,25,26,27,28,29,30,31,32,33
|
||||
```
|
||||
- coarse: `1, 3..9, 14..17, 22..33` — 24 nodes, all six DOFs constrained.
|
||||
- fine: `1, 3..9, 34..57, 82..153` — 104 nodes, all six DOFs constrained.
|
||||
|
||||
All six global components are constrained at these 24 nodes. Other CSV node rows remain
|
||||
part of file/schema/finite inventory but are not numerical reaction rows: FESA free entries
|
||||
are equilibrium residual evidence, not Abaqus free-node zero reactions.
|
||||
다른 CSV node rows는 file/schema/finite inventory지만 local reaction numerical rows가 아니다.
|
||||
Free FESA entries는 reaction이 아니라 accepted free residual evidence다.
|
||||
|
||||
| CSV components | logical quantity | FESA meaning | disposition |
|
||||
| CSV components | logical quantity | matching FESA meaning | disposition |
|
||||
| --- | --- | --- | --- |
|
||||
| `RF-RF1`, `RF-RF2` | fixed-initial shell-plane reaction force | constrained translational full residual, global force | blocking family |
|
||||
| `RF-RF3` | fixed-initial transverse reaction force | constrained translational full residual, global force | blocking family |
|
||||
| `RM-RM1`, `RM-RM2` | tangent-plane spatial reaction moment | `J_l(phi)^(-T)` conversion of the constrained generalized reaction, global force-length | blocking family |
|
||||
| `RM-RM3` | director/drilling-axis reaction review value | stabilization-dependent; no physical external equivalence target | excluded |
|
||||
| `RF-RF1`, `RF-RF2` | in-plane local reaction force | constrained translational full residual, global force | `review-only` |
|
||||
| `RF-RF3` | transverse local reaction force | constrained translational full residual, global force | `review-only` |
|
||||
| `RM-RM1`, `RM-RM2` | tangent-plane physical reaction moment | constrained generalized residual converted by `J_l(phi)^(-T)`, global spatial force-length | `review-only` |
|
||||
| `RM-RM3` | director/drilling-axis row | no approved physical external equivalence target | `excluded` |
|
||||
|
||||
In-plane and transverse force are distinct model-fixed logical projections and therefore
|
||||
use distinct families. Raw generalized rotation-coordinate residual is not matched directly
|
||||
to the CSV `RM` value.
|
||||
Raw generalized rotational residual을 CSV RM에 직접 match하지 않는다. Review-only는 row omission을
|
||||
허용한다는 뜻이 아니다. Exact row precheck와 common-policy error/RMS를 모두 보고하되 그 결과가
|
||||
blocking verdict를 변경하지 않는다는 뜻이다.
|
||||
|
||||
### 4.4 Stress review identity and comparison exclusion
|
||||
### 4.4 Distinct factor-one equilibrium quantities
|
||||
|
||||
Stress rows have read-only identity
|
||||
각 nonlinear case에서 같은 accepted factor-one state를 사용한다.
|
||||
|
||||
| logical quantity | source identity / projection | components | disposition |
|
||||
| --- | --- | --- | --- |
|
||||
| accepted free residual | input mask로 결정한 stable free `(instance,node,global DOF component)` rows; force와 moment channel 분리 | free `UX/UY/UZ`; free `URX/URY/URZ` generalized covectors | `blocking-internal` |
|
||||
| constrained reaction resultant | constrained source rows만 current arm과 spatial physical moment로 합산 | force `[1,2,3]`; moment `[1,2,3]` | `review-only-summary` |
|
||||
| applied-plus-reaction balance error | all resolved applied sources plus constrained reactions; global origin `[0,0,0]`; `x=X+u`; physical spatial nodal moments | force `[1,2,3]`; moment `[1,2,3]` | `blocking-internal` |
|
||||
|
||||
Constrained reaction resultant force is `sum(F_react)`. Its moment is
|
||||
`sum(x cross F_react + M_react)`. Balance error adds the corresponding applied force and
|
||||
`x cross F_appl + M_appl`. Accepted free residual is neither sum. 세 quantity는 exact
|
||||
source/state identity를 공유하지만 interchangeable하지 않다.
|
||||
|
||||
현재 stored case의 constrained prescribed `u=phi=0` 때문에 support current arm과 initial arm,
|
||||
generalized moment와 spatial moment가 수치적으로 일치한다. 이는 supported general nonzero
|
||||
prescribed translation/rotation에서 initial arm/raw rotational residual을 재사용할 근거가 아니다.
|
||||
|
||||
### 4.5 Stress inventory and exclusion
|
||||
|
||||
Stress inspection key는
|
||||
|
||||
```text
|
||||
(case_id, accepted_state, instance, element label,
|
||||
element-corner node label, SPOS/SNEG section surface, component)
|
||||
```
|
||||
|
||||
Every current element has its four connectivity nodes and one `SPOS` plus one `SNEG`
|
||||
row per node. The files are ordered in contiguous ascending element-label blocks `1..36`;
|
||||
this exact artifact order is retained and no node/surface secondary reorder is applied.
|
||||
이다. Stored stress는 element-corner SPOS/SNEG rows이고 FESA 승인 recovery는 midsurface Gauss
|
||||
locations의 direct bottom/middle/top `[S11,S22,S12]`다. Nodal extrapolation/averaging을 만들지
|
||||
않으며 `S-S11/S-S22/S-S12/S-S33` 어느 것도 external family에 포함하지 않는다.
|
||||
|
||||
The identity is nevertheless not the approved FESA recovery location: FESA emits direct
|
||||
`[S11,S22,S12]` at four midsurface Gauss locations and bottom/middle/top positions, without
|
||||
nodal extrapolation or averaging, and does not emit `S33`. Consequently no stress column
|
||||
forms a blocking or warning-only comparison family. Stress files remain optional read-only
|
||||
review evidence only.
|
||||
### 4.6 External comparison families
|
||||
|
||||
### 4.5 Comparison families
|
||||
|
||||
| family id | components and source set | row count | units / coordinates | disposition |
|
||||
| family id | components / source rows | rows | units / coordinates | disposition |
|
||||
| --- | --- | ---: | --- | --- |
|
||||
| `linear.translation` | `U1,U2,U3`, nodes `1..49` | 147 | length / global | blocking regression |
|
||||
| `linear.rotation` | `UR1,UR2,UR3`, nodes `1..49` | 147 | dimensionless / fixed-initial global | warning-only |
|
||||
| `nonlinear.translation` | `U1,U2,U3`, nodes `1..49` | 147 | length / global | blocking |
|
||||
| `nonlinear.rotation` | `UR1,UR2,UR3`, nodes `1..49` | 147 | dimensionless / fixed-initial global | warning-only |
|
||||
| `nonlinear.reaction_inplane_force` | `RF1,RF2`, 24 constrained nodes | 48 | force / fixed-initial global plane | blocking |
|
||||
| `nonlinear.reaction_transverse_force` | `RF3`, 24 constrained nodes | 24 | force / fixed-initial global transverse | blocking |
|
||||
| `nonlinear.reaction_physical_moment` | `RM1,RM2`, 24 constrained nodes | 48 | force-length / global spatial | blocking |
|
||||
| `linear.translation` | U1/U2/U3; nodes `1..49` | 147 | length / global | `blocking` |
|
||||
| `linear.rotation` | UR1/UR2/UR3; nodes `1..49` | 147 | dimensionless / fixed-initial global | `warning-only` |
|
||||
| `coarse.translation` | U1/U2/U3; nodes `1..49` | 147 | length / global | `blocking` |
|
||||
| `coarse.rotation` | UR1/UR2/UR3; nodes `1..49` | 147 | dimensionless / fixed-initial global | `warning-only` |
|
||||
| `coarse.local_reaction_inplane_force` | RF1/RF2; 24 constrained nodes | 48 | force / global shell plane | `review-only` |
|
||||
| `coarse.local_reaction_transverse_force` | RF3; 24 constrained nodes | 24 | force / global transverse | `review-only` |
|
||||
| `coarse.local_reaction_physical_moment` | RM1/RM2; 24 constrained nodes | 48 | force-length / global spatial | `review-only` |
|
||||
| `fine.translation` | U1/U2/U3; nodes `1..729` | 2,187 | length / global | `blocking` |
|
||||
| `fine.rotation` | UR1/UR2/UR3; nodes `1..729` | 2,187 | dimensionless / fixed-initial global | `warning-only` |
|
||||
| `fine.local_reaction_inplane_force` | RF1/RF2; 104 constrained nodes | 208 | force / global shell plane | `review-only` |
|
||||
| `fine.local_reaction_transverse_force` | RF3; 104 constrained nodes | 104 | force / global transverse | `review-only` |
|
||||
| `fine.local_reaction_physical_moment` | RM1/RM2; 104 constrained nodes | 208 | force-length / global spatial | `review-only` |
|
||||
|
||||
### 4.7 Internal blocking verification families
|
||||
|
||||
| family id | exact rows/components | gate |
|
||||
| --- | --- | --- |
|
||||
| `coarse.accepted_free_force_residual` | 75 free translation DOFs | NSNR-069 force channel, factor one |
|
||||
| `coarse.accepted_free_moment_residual` | 75 free rotation DOFs | NSNR-069 moment channel, factor one |
|
||||
| `coarse.global_force_balance` | 3 global balance-error components | normalized `<=1e-8` |
|
||||
| `coarse.global_moment_balance` | 3 global balance-error components | normalized `<=1e-8` |
|
||||
| `fine.accepted_free_force_residual` | 1,875 free translation DOFs | NSNR-069 force channel, factor one |
|
||||
| `fine.accepted_free_moment_residual` | 1,875 free rotation DOFs | NSNR-069 moment channel, factor one |
|
||||
| `fine.global_force_balance` | 3 global balance-error components | normalized `<=1e-8` |
|
||||
| `fine.global_moment_balance` | 3 global balance-error components | normalized `<=1e-8` |
|
||||
|
||||
이 internal families에는 Abaqus CSV value 또는 `docs/TOLERANCE.md`를 적용하지 않는다.
|
||||
Approved analytical/invariant gates이며 exact definitions는 `numerical-review.md` §6.2다.
|
||||
|
||||
## 5. Row Prechecks
|
||||
|
||||
Before tolerance, the comparator shall fail the affected comparison if any required condition
|
||||
below is false.
|
||||
Tolerance 또는 internal metric 전에 다음을 검사한다.
|
||||
|
||||
1. Exact declared input path and every `required comparison artifact=yes` CSV path for the
|
||||
case exist and are readable.
|
||||
2. Required headers are present after trimming surrounding whitespace from header names.
|
||||
3. `shellnl-s4-final` contains only the exact required `Frame` value for required rows.
|
||||
4. Wide CSV rows expand to component rows using the component contract in Section 4.
|
||||
5. Required source row keys are unique. Duplicate wide keys or duplicate expanded component keys fail.
|
||||
6. Displacement projection requires all 49 source nodes and declared components. Nonlinear
|
||||
reaction projection derives the exact 24-node/component set from the input constraint mask;
|
||||
it does not infer reaction identity from CSV zero values.
|
||||
7. FESA and reference required projected row-key sets are exactly equal: missing and extra rows
|
||||
both fail.
|
||||
8. Every required numeric value is finite. Nonfinite required FESA or CSV value fails before tolerance.
|
||||
9. Optional stress inventory uses `(instance, element label, node label, section point)` and verifies
|
||||
the current ascending element-label blocks, connectivity nodes and SPOS/SNEG pair. This inspection
|
||||
does not create a stress equality gate.
|
||||
10. Required rows are not omitted, synthesized, normalized, averaged, sorted into a different identity,
|
||||
zero-clamped, or repaired.
|
||||
1. 각 case의 exact declared input과 해당 disposition에 필요한 CSV가 존재하고 readable하다.
|
||||
2. Header는 surrounding whitespace만 trim하고 required names/components가 모두 있어야 한다.
|
||||
3. Nonlinear required rows의 Frame은 exact factor-one identity여야 한다.
|
||||
4. Wide CSV는 Section 4 contract로 component rows에 결정적으로 expand한다.
|
||||
5. Wide key와 expanded key는 unique해야 한다. Duplicate는 affected family를 tolerance 전에 fail한다.
|
||||
6. Input node inventory와 source constraint mask로 expected key set을 만든다. CSV zero values 또는
|
||||
row position에서 reaction identity를 추론하지 않는다.
|
||||
7. FESA와 reference projected key sets는 exact equal해야 한다. Missing과 extra rows를 모두 fail한다.
|
||||
8. Required FESA/CSV/internal values와 derived scales/norms는 모두 finite여야 한다.
|
||||
9. Internal free residual rows는 exact free mask와 force/moment partition을 보존한다. Global balance는
|
||||
모든 applied source와 constrained reaction을 stable source order로 한 번씩만 사용한다.
|
||||
10. Local review rows는 global resultant로 collapse하거나 대체하지 않는다. Review precheck failure는
|
||||
deterministic review failure로 기록하지만 blocking verdict를 변경하지 않는다.
|
||||
11. Warning-only precheck/tolerance failure는 deterministic warning을 만들고 blocking verdict를
|
||||
변경하지 않는다. Blocking precheck failure는 전체 comparison을 fail한다.
|
||||
12. Row omission/synthesis, averaging, source-order matching, clamp, normalization 또는 artifact repair를
|
||||
허용하지 않는다.
|
||||
|
||||
Observed read-only inventory used for this contract:
|
||||
Observed read-only nodal CSV audit:
|
||||
|
||||
| CSV | observed wide key columns | duplicate wide keys | nonfinite observed values | observed element labels |
|
||||
| --- | --- | ---: | ---: | --- |
|
||||
| `reference/shellNL/shellNL displacements.csv` | `Frame`, `Part Instance Name`, `Node Label` | 0 | 0 | N/A |
|
||||
| `reference/shellNL/shellNL reactions.csv` | `Frame`, `Part Instance Name`, `Node Label` | 0 | 0 | N/A |
|
||||
| `reference/shellNL/shellNL stresses.csv` | `Frame`, `Part Instance Name`, `Element Label`, `Node Label`, `Section Point` | 0 | 0 | `1..36` |
|
||||
| `reference/shell/shell displacements.csv` | `Part Instance Name`, `Node Label` | 0 | 0 | N/A |
|
||||
| `reference/shell/shell reactions.csv` | `Part Instance Name`, `Node Label` | 0 | 0 | N/A |
|
||||
| `reference/shell/shell stresses.csv` | `Part Instance Name`, `Element Label`, `Node Label`, `Section Point` | 0 | 0 | `1..36` |
|
||||
| CSV | wide rows | duplicate keys | nonfinite required values | status |
|
||||
| --- | ---: | ---: | ---: | --- |
|
||||
| `reference/shell/shell displacements.csv` | 49 | 0 | 0 | readable |
|
||||
| `reference/shellNL/shellNL displacements.csv` | 49 | 0 | 0 | readable |
|
||||
| `reference/shellNL/shellNL reactions.csv` | 49 | 0 | 0 | readable |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine displacements.csv` | 729 | 0 | 0 | readable |
|
||||
| `reference/shellNL-meshfine/shellNL-meshfine reactions.csv` | 729 | 0 | 0 | readable |
|
||||
|
||||
## 6. Tolerance and Blocking/Warning Policy
|
||||
|
||||
Use exactly `docs/TOLERANCE.md` for every external reference family. This report does not invent
|
||||
or calibrate tolerance values.
|
||||
### 6.1 External families
|
||||
|
||||
For each comparison family:
|
||||
Section 4.6의 모든 external blocking, warning-only와 review-only error report는
|
||||
`docs/TOLERANCE.md`를 그대로 사용한다.
|
||||
|
||||
- `S = max(abs(reference_value_i))`, using reference values only.
|
||||
- near-zero band is `0.01*S`.
|
||||
- if `abs(reference_value_i) <= 0.01*S`, row passes iff `abs(fesa-reference) <= 0.01*S`.
|
||||
- otherwise row passes iff relative error `<= 0.05`.
|
||||
- family relative RMS is `RMS(error)/S <= 0.01`.
|
||||
- no independent absolute-error floor, `max(1, S)` clamp, row omission, averaging, or zero clamp is allowed.
|
||||
- if `S = 0`, the family passes only when all FESA values are exactly zero; otherwise report
|
||||
`zero-reference-scale-nonzero-error`.
|
||||
- Reference-only `S=max(abs(reference_i))`, near-zero band `B=0.01*S`.
|
||||
- `abs(reference_i)<=B`이면 `abs(fesa-reference)<=B`.
|
||||
- 그 외 row는 relative error `<=0.05`.
|
||||
- 모든 row와 `RMS(error)/S<=0.01`이 함께 pass해야 family가 pass한다.
|
||||
- Independent absolute floor, `max(1,S)`, omission, averaging 또는 zero clamp는 없다.
|
||||
- `S=0`이면 모든 FESA 값도 exact zero일 때만 pass한다.
|
||||
|
||||
Families are separated by the exact case/logical quantities in Section 4.5. Current
|
||||
reference-only scales provide a reproducible reader/comparator audit:
|
||||
Observed reference-only scales는 reader/family audit evidence이며 calibration 값이 아니다.
|
||||
|
||||
| family | `S` | `B=0.01*S` |
|
||||
| --- | ---: | ---: |
|
||||
| `linear.translation` | `2.37408203e-5` | `2.37408203e-7` |
|
||||
| `linear.rotation` | `7.60725743e-6` | `7.60725743e-8` |
|
||||
| `nonlinear.translation` | `2.37408203e-5` | `2.37408203e-7` |
|
||||
| `nonlinear.rotation` | `7.60725743e-6` | `7.60725743e-8` |
|
||||
| `nonlinear.reaction_inplane_force` | `1.91663182` | `1.91663182e-2` |
|
||||
| `nonlinear.reaction_transverse_force` | `1.17769805e4` | `1.17769805e2` |
|
||||
| `nonlinear.reaction_physical_moment` | `1.95418418e4` | `1.95418418e2` |
|
||||
| family | rows | `S` | `B=0.01*S` |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| `linear.translation` | 147 | `2.37408203e-5` | `2.37408203e-7` |
|
||||
| `linear.rotation` | 147 | `7.60725743e-6` | `7.60725743e-8` |
|
||||
| `coarse.translation` | 147 | `2.37408203e-5` | `2.37408203e-7` |
|
||||
| `coarse.rotation` | 147 | `7.60725743e-6` | `7.60725743e-8` |
|
||||
| `coarse.local_reaction_inplane_force` | 48 | `1.91663182` | `1.91663182e-2` |
|
||||
| `coarse.local_reaction_transverse_force` | 24 | `1.17769805e4` | `1.17769805e2` |
|
||||
| `coarse.local_reaction_physical_moment` | 48 | `1.95418418e4` | `1.95418418e2` |
|
||||
| `fine.translation` | 2,187 | `2.57957054e-5` | `2.57957054e-7` |
|
||||
| `fine.rotation` | 2,187 | `6.58704994e-6` | `6.58704994e-8` |
|
||||
| `fine.local_reaction_inplane_force` | 208 | `5.38827419e-1` | `5.38827419e-3` |
|
||||
| `fine.local_reaction_transverse_force` | 104 | `2.78506128e3` | `2.78506128e1` |
|
||||
| `fine.local_reaction_physical_moment` | 208 | `4.71557520e3` | `4.71557520e1` |
|
||||
|
||||
Any `blocking` family row or RMS failure fails the reference comparison for the feature.
|
||||
`warning-only` failures produce deterministic warning evidence but do not change the blocking
|
||||
verdict. `RM3` and stress artifacts create neither a blocking nor warning-only tolerance family.
|
||||
Blocking family의 precheck/row/RMS failure만 전체 external-reference verdict를 fail한다.
|
||||
Warning-only는 warning, review-only는 deterministic review finding/error table을 남기지만
|
||||
blocking verdict를 바꾸지 않는다. `RM3`와 stress는 family를 만들지 않는다.
|
||||
|
||||
### 6.2 Internal equilibrium families
|
||||
|
||||
- Accepted free force/moment residual은 factor-one accepted trial에서 NSNR-069을 그대로
|
||||
재현한다. Nonzero matching external scale이면 infinity-norm relative `<=1e-2`; exact-zero
|
||||
scale이면 typed absolute `<=1e-3` force 또는 force-length다.
|
||||
- Global force/moment balance는 `numerical-review.md` §6.2의 sum-of-contribution scale과
|
||||
dimension-separated normalized metric을 사용하며 각각 `<=1e-8`이다.
|
||||
- Internal gate에 external family tolerance, absolute floor, reference-derived scale 또는 local
|
||||
nodal reaction error를 섞지 않는다.
|
||||
|
||||
## 7. Open Issues and I/O Handoff
|
||||
|
||||
Open issues blocking I/O Definition: 없음.
|
||||
|
||||
I/O Definition Agent handoff:
|
||||
I/O Definition Agent handoff through Coordinator:
|
||||
|
||||
- Project only the comparison quantities in Sections 4.2, 4.3 and 4.5 to authoritative FESA
|
||||
result datasets without changing source identity or final comparison disposition.
|
||||
- Preserve `Frame` handling for `shellnl-s4-final` as accepted factor-one state identity; do not expose
|
||||
trial Newton history as reference rows.
|
||||
- Derive constrained reaction identity from the input mask. Compare `RM1/RM2` with the global
|
||||
spatial physical reaction moment, not the raw generalized rotation-coordinate covector.
|
||||
- Preserve approved Gauss direct stress recovery. Do not create element-corner stress,
|
||||
extrapolation, averaging or a stress CSV projection for the current optional SPOS/SNEG artifacts.
|
||||
- Keep `RM3`, `S-S33`, `S-S11`, `S-S22` and `S-S12` out of current comparison families.
|
||||
- Use the common tolerance policy exactly as written above and in `docs/TOLERANCE.md`.
|
||||
- Fine primary와 coarse companion nonlinear case의 accepted factor-one identity를 보존한다.
|
||||
- Section 4.4의 `(a)` applied-plus-reaction balance error, `(b)` constrained reaction resultant,
|
||||
`(c)` accepted free residual을 separate logical quantities로 최종 projection한다.
|
||||
- Global moment는 origin `[0,0,0]`, current `X+u` force arm과 spatial physical nodal moment를
|
||||
사용한다. General nonzero prescribed translation/rotation에서도 initial arm/raw rotational
|
||||
residual을 재사용하지 않는다.
|
||||
- Local RF/RM은 exact source-key/schema/inventory/finite/error reporting이 있는 review-only다.
|
||||
Local rows를 global sum으로 대체하거나 blocking으로 되돌리지 않는다.
|
||||
- Approved Gauss direct stress recovery를 유지한다. Optional element-corner stress artifact에
|
||||
맞춘 extrapolation/averaging 또는 stress comparison projection을 만들지 않는다.
|
||||
- Common external tolerance와 exact prechecks를 변경하지 않는다.
|
||||
|
||||
Reference artifact status: complete for I/O Definition. No declared required input or required
|
||||
comparison CSV is missing or unreadable. Optional stress CSVs are present and readable as inventory
|
||||
evidence only. No reference artifact was generated, renamed, repaired, normalized, or modified.
|
||||
Reference artifact status: required input/displacement/reaction artifacts are present and readable.
|
||||
Optional fine stress identity issue는 transparent nonblocking inventory finding이다. 어떤 reference
|
||||
artifact도 생성, rename, repair, normalize 또는 수정하지 않았다.
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
## 1. Metadata
|
||||
- feature_id: `nonlinear-static-newton-raphson`
|
||||
- title: `Nonlinear Static Analysis Using Newton–Raphson`
|
||||
- status: `approved`
|
||||
- status: `draft`
|
||||
- owner_agent: `requirement-agent`
|
||||
- date: `2026-08-22`
|
||||
- approved_by: user
|
||||
- approval_date: `2026-08-23`
|
||||
- date: `2026-08-27`
|
||||
- approved_by: pending user re-approval
|
||||
- approval_date: pending
|
||||
- authoritative_scope: materially linear, geometrically nonlinear `S4/S4R -> FESA-MITC4`
|
||||
- independence: FESA는 독립 solver이며 Abaqus 또는 Midas의 내부 알고리즘 동등성을 주장하지 않는다.
|
||||
- unit_policy: `.inp` 단위계를 추론하거나 변환하지 않고 사용자가 일관되게 제공한 단위계를 보존한다.
|
||||
@@ -26,7 +26,7 @@ FESA는 하나의 지원 nonlinear static step을 scalar load factor로 증가
|
||||
- factor-1 absolute prescribed `*BOUNDARY` targets와 four-value nonlinear `*STATIC`
|
||||
- four-channel residual/correction convergence, maximum 100 iterations, no line search
|
||||
- separate trial state, atomic commit/rollback, accepted-frame HDF5와 per-iteration text log
|
||||
- deterministic assembly, iteration, frame, result, diagnostic order와 stored-reference verification
|
||||
- deterministic assembly, iteration, frame, result, diagnostic order와 factor-one global reaction/equilibrium 및 stored-reference verification
|
||||
|
||||
## 4. Out Of Scope
|
||||
- material nonlinearity, nonlinear material history, combined material/geometric nonlinearity
|
||||
@@ -138,16 +138,16 @@ Exact Total Lagrangian shell equations, strain/stress measures, rotation map det
|
||||
trace_to: {parent_need: "NEED-NSNR-002", downstream_agents: ["Numerical Review Agent", "Implementation Planning Agent"]}
|
||||
status: approved
|
||||
- id: FESA-REQ-NSNR-069
|
||||
statement: "The FESA solver shall evaluate translational-force and rotational-moment free-residual convergence with channel-separated infinity-norm gates."
|
||||
statement: "The FESA solver shall evaluate translational-force and rotational-moment free-residual convergence with channel-separated infinity-norm gates selected by each matching external residual-channel scale."
|
||||
category: numerical
|
||||
rationale: "Force and moment dimensions require separate scales."
|
||||
source: user
|
||||
priority: must
|
||||
verification_method: test
|
||||
acceptance_criteria: "For a nonzero matching-channel denominator max(||internal||inf, ||external||inf), the same-trial residual ratio passes iff <=1e-2; an exact-zero denominator instead passes iff its numerator is <=1e-3 model-consistent force or <=1e-3 model-consistent force-length, respectively."
|
||||
tolerance: "Relative 1e-2 dimensionless; zero-scale absolute 1e-3 force and 1e-3 force-length."
|
||||
acceptance_criteria: "For each residual channel, a nonzero matching external-channel scale retains denominator max(||internal||inf, ||external||inf), and the same-trial residual ratio passes iff <=1e-2; an exact-zero matching external-channel scale instead applies the typed absolute gate, which passes iff its numerator is <=1e-3 model-consistent force or <=1e-3 model-consistent force-length, respectively."
|
||||
tolerance: "Relative 1e-2 dimensionless for nonzero matching external-channel scale; exact-zero matching external-channel absolute 1e-3 force and 1e-3 force-length."
|
||||
trace_to: {parent_need: "NEED-NSNR-002", downstream_agents: ["Numerical Review Agent", "Implementation Planning Agent"]}
|
||||
status: approved
|
||||
status: draft
|
||||
- id: FESA-REQ-NSNR-070
|
||||
statement: "The FESA solver shall evaluate translational and rotational free-correction convergence with channel-separated infinity-norm gates."
|
||||
category: numerical
|
||||
@@ -248,14 +248,14 @@ Exact Total Lagrangian shell equations, strain/stress measures, rotation map det
|
||||
trace_to: {parent_need: "NEED-NSNR-003", downstream_agents: ["Formulation Agent", "Numerical Review Agent", "Implementation Planning Agent"]}
|
||||
status: approved
|
||||
- id: FESA-REQ-NSNR-019
|
||||
statement: "The FESA solver shall preserve stable source identity and stable assembly order and shall derive free residual and constrained reaction from the complete assembled equilibrium at the same state."
|
||||
statement: "The FESA solver shall preserve stable source identity and stable assembly order and shall keep the accepted free residual, constrained reaction resultant, and global applied-plus-reaction balance error as distinct equilibrium quantities derived at the same accepted state."
|
||||
category: physics
|
||||
rationale: "Equilibrium evidence must remain traceable to source entities and DOFs."
|
||||
rationale: "Reaction and equilibrium evidence must remain traceable without treating physically distinct projections as interchangeable."
|
||||
source: docs
|
||||
priority: must
|
||||
verification_method: test
|
||||
acceptance_criteria: "Input instance/label/component maps deterministically through assembly, state, diagnostic, result, and comparison; full residual at a trial or accepted state yields free-equilibrium evidence and constrained reactions."
|
||||
tolerance: "Source/component identity and discrete order exact; equilibrium uses approved numerical tolerances."
|
||||
acceptance_criteria: "Input instance/label/component maps deterministically through assembly, state, diagnostic, result, and comparison; accepted free entries remain free-equilibrium evidence, constrained entries form physical reactions, and the constrained-reaction resultant remains distinct from the global applied-plus-reaction balance error. Blocking factor-one equilibrium quantities are global applied-plus-reaction force [3] and moment [3] balance errors plus accepted free residual. Every global moment is about global origin [0,0,0] and uses current force arms plus spatial physical nodal moments."
|
||||
tolerance: "Source/component, quantity identity, origin, and discrete order exact; equilibrium and reference values use their separately approved numerical tolerances."
|
||||
trace_to: {parent_need: "NEED-NSNR-002, NEED-NSNR-004", downstream_agents: ["Formulation Agent", "Numerical Review Agent", "I/O Definition Agent"]}
|
||||
status: approved
|
||||
- id: FESA-REQ-NSNR-020
|
||||
@@ -314,25 +314,25 @@ Exact Total Lagrangian shell equations, strain/stress measures, rotation map det
|
||||
trace_to: {parent_need: "NEED-NSNR-003, NEED-NSNR-004", downstream_agents: ["Numerical Review Agent", "Implementation Planning Agent"]}
|
||||
status: approved
|
||||
- id: FESA-REQ-NSNR-030
|
||||
statement: "The FESA solver shall pass an approved verification portfolio covering the materially linear small-displacement limit, tangent consistency, equilibrium/reaction, symmetry or objectivity, and commit/rollback behavior."
|
||||
statement: "The FESA solver shall pass an approved verification portfolio covering the materially linear small-displacement limit, tangent consistency, factor-one global applied-plus-reaction balance and accepted free residual, symmetry or objectivity, and commit/rollback behavior."
|
||||
category: verification
|
||||
rationale: "Convergence alone does not establish nonlinear solver correctness."
|
||||
source: docs
|
||||
priority: must
|
||||
verification_method: analysis
|
||||
acceptance_criteria: "Numerical Review defines blocking cases and quantities for every listed category, and implementation passes each approved analytical, invariant, physics, or comparison gate."
|
||||
tolerance: "Case-specific tolerances are owned by Numerical Review; existing linear-limit tolerance remains unchanged."
|
||||
acceptance_criteria: "Numerical Review defines blocking cases and quantities for every listed category, and implementation passes each approved analytical, invariant, physics, or comparison gate. Reaction/equilibrium acceptance separately blocks on factor-one global applied-plus-reaction force [3] and moment [3] balance errors and accepted free-DOF residual evidence; constrained-reaction resultants retain a distinct identity, and local nodal reaction distribution does not decide the blocking verdict."
|
||||
tolerance: "Case-specific invariant tolerances are owned by Numerical Review; external comparisons use docs/TOLERANCE.md; existing linear-limit tolerance remains unchanged."
|
||||
trace_to: {parent_need: "NEED-NSNR-004", downstream_agents: ["Research Agent", "Formulation Agent", "Numerical Review Agent"]}
|
||||
status: approved
|
||||
- id: FESA-REQ-NSNR-034
|
||||
statement: "The FESA solver shall compare only approved accepted-state quantities against stored reference artifacts using stable source/component matching and the common docs/TOLERANCE.md policy."
|
||||
statement: "The FESA solver shall compare only approved accepted-state quantities against stored reference artifacts using stable source/component matching, the approved blocking/warning/review disposition, and the common docs/TOLERANCE.md policy."
|
||||
category: verification
|
||||
rationale: "Reference acceptance must be deterministic and independent of solver execution."
|
||||
source: docs
|
||||
priority: must
|
||||
verification_method: reference-comparison
|
||||
acceptance_criteria: "Numerical Review selects the exact existing input and required CSV quantities; precheck rejects missing, extra, duplicate, or nonfinite required rows before blocking/warning family comparison, without averaging or row-order matching."
|
||||
tolerance: "docs/TOLERANCE.md family-scale policy; exact artifacts and families are a Numerical Review-owned readiness gap."
|
||||
acceptance_criteria: "Numerical Review selects the exact existing input and required CSV quantities; precheck rejects missing, extra, duplicate, or nonfinite required rows before numerical comparison, without averaging, collapse, row-order matching, zero clamp, or reference repair. U1/U2/U3 remain blocking and UR1/UR2/UR3 remain warning-only. Local nodal RF1/RF2/RF3 and physical spatial RM1/RM2 retain deterministic source-key/schema/finite/inventory/error reporting but are review-only and never change the blocking verdict; local RM3 and stress remain excluded from numerical comparison."
|
||||
tolerance: "docs/TOLERANCE.md family-scale policy for external blocking, warning-only, and review-only error reporting; exact artifact roles, local review projection, family membership, and row schema are a Numerical Review-owned readiness gap."
|
||||
trace_to: {parent_need: "NEED-NSNR-004", downstream_agents: ["Numerical Review Agent", "I/O Definition Agent"]}
|
||||
status: approved
|
||||
```
|
||||
@@ -341,7 +341,10 @@ Exact Total Lagrangian shell equations, strain/stress measures, rotation map det
|
||||
| quantity | dimension / coordinates | role |
|
||||
| --- | --- | --- |
|
||||
| nodal displacement and committed rotation/director state | length and dimensionless rotation; global | accepted-state kinematics and rollback |
|
||||
| full residual and constrained reaction | force or force-length; global DOF | equilibrium and reaction evidence |
|
||||
| accepted free-DOF residual | force or force-length; global DOF | blocking accepted-state equilibrium evidence |
|
||||
| local nodal `RF1/RF2/RF3`, physical spatial `RM1/RM2` | force or force-length; global | deterministic review-only/nonblocking distribution evidence; `RM3` excluded |
|
||||
| constrained-reaction resultant force `[3]` and moment `[3]` | force and force-length; global; moment about `[0,0,0]` with current arms and spatial physical moments | distinct reaction summary; not interchangeable with global balance error |
|
||||
| applied-plus-reaction balance error force `[3]` and moment `[3]` | force and force-length; global; same origin/arm/moment convention | blocking factor-one reaction/equilibrium evidence |
|
||||
| MITC4 internal force, stress and strain | model-consistent dimensions; approved element frame/configuration | formulation, physics and reference verification |
|
||||
| scalar load factor and accepted frame identity | dimensionless | path, commit and output ordering |
|
||||
| four convergence channels | typed as NSNR-069/070 | internal iteration acceptance only |
|
||||
@@ -349,13 +352,14 @@ Exact Total Lagrangian shell equations, strain/stress measures, rotation map det
|
||||
|
||||
## 10. Tolerance Policy
|
||||
- `.inp` values remain in the user's consistent unit system; FESA performs no unit inference or conversion.
|
||||
- Only nonzero-scale convergence ratios are dimensionless and pass with `<=1e-2`.
|
||||
- Exact-zero residual thresholds are `1e-3` force and `1e-3` force-length; correction thresholds are `1e-3` length and `1e-3` dimensionless rotation. Equal literals do not merge their dimensions.
|
||||
- External comparisons use `docs/TOLERANCE.md`; internal invariant, tangent, endpoint-arithmetic and physics tolerances are fixed by Numerical Review before implementation.
|
||||
- Residual ratios with nonzero matching external-channel scale and correction ratios with nonzero current-trial incremental-solution denominator are dimensionless and pass with `<=1e-2`.
|
||||
- Exact-zero matching external-channel residual thresholds are `1e-3` force and `1e-3` force-length; exact-zero correction-denominator thresholds are `1e-3` length and `1e-3` dimensionless rotation. Equal literals do not merge their dimensions.
|
||||
- External blocking, warning-only, and review-only error reporting use `docs/TOLERANCE.md` without changing their verdict disposition; internal invariant, tangent, endpoint-arithmetic, free-residual and global-balance tolerances are fixed by Numerical Review before implementation.
|
||||
|
||||
## 11. Reference Case Requirements
|
||||
- The current Stage-1 gap is selection of exact stored nonlinear input and only the CSV quantities required for acceptance.
|
||||
- Numerical Review owns artifact readiness, blocking/warning families, source/component identity and HDF5 projection; this gap does not require another Stage-1 user question.
|
||||
- Stored nonlinear candidates use exact read-only input/displacement pairs `reference/shellNL/shellNL.inp` with `reference/shellNL/shellNL displacements.csv`, and `reference/shellNL-meshfine/shellNL-meshfine.inp` with `reference/shellNL-meshfine/shellNL-meshfine displacements.csv`. Exact local-reaction review artifacts are `reference/shellNL/shellNL reactions.csv` and `reference/shellNL-meshfine/shellNL-meshfine reactions.csv`; they are not missing-required blocking artifacts. The existing linear-limit pair is `reference/shell/shell.inp` and `reference/shell/shell displacements.csv`.
|
||||
- Numerical Review shall fix which exact nonlinear candidate case or cases are blocking versus diagnostic, the factor-one HDF5 projection, required source rows/components and comparison families, and the internal tolerances for global balance/free-residual gates. `U1/U2/U3` are blocking, `UR1/UR2/UR3` are warning-only, local nodal RF/RM rows are review-only, and `RM3` and stress have no numerical comparison projection.
|
||||
- All selected local review rows retain deterministic identity, schema, finite-value, inventory, and error reporting even though they cannot fail the blocking verdict. A physical global resultant sum is not a substitute identity for those local rows, and no row is averaged, collapsed, omitted, zero-clamped, or repaired.
|
||||
- Agents do not run Abaqus, Nastran or another reference solver and do not create, rename, repair or normalize stored reference artifacts.
|
||||
|
||||
## 12. Requirement Verification Matrix
|
||||
@@ -367,7 +371,7 @@ Exact Total Lagrangian shell equations, strain/stress measures, rotation map det
|
||||
| `NSNR-074` | physics | user | must | analysis | finite committed/trial triad/director state and rollback | invariant tolerance downstream | Formulation; Numerical Review | approved |
|
||||
| `NSNR-006` | numerical | user | must | test | same-trial residual/tangent and fresh factorization/solve | identity/order exact | Formulation; Numerical Review; Planning | approved |
|
||||
| `NSNR-007` | numerical | user | must | test | all four free-DOF gates pass; constrained residual is reaction | NSNR-069/070 | Numerical Review; Planning | approved |
|
||||
| `NSNR-069` | numerical | user | must | test | force/moment residual relative or typed zero-scale gates | `1e-2`; typed `1e-3` | Numerical Review; Planning | approved |
|
||||
| `NSNR-069` | numerical | user | must | test | force/moment residual relative gate for nonzero external scale; typed absolute gate for exact-zero external scale | `1e-2`; typed `1e-3` | Numerical Review; Planning | draft |
|
||||
| `NSNR-070` | numerical | user | must | test | translation/rotation correction relative or typed zero-scale gates | `1e-2`; typed `1e-3` | Numerical Review; Planning | approved |
|
||||
| `NSNR-008` | numerical | user | must | test | finite data, iterations 1..100, pass at 100 allowed | predicates/count exact | Numerical Review; Planning | approved |
|
||||
| `NSNR-014` | constraint | user | must | test | unchanged full correction; no line search/fallback/energy gate | identity exact | Numerical Review; Planning | approved |
|
||||
@@ -377,21 +381,21 @@ Exact Total Lagrangian shell equations, strain/stress measures, rotation map det
|
||||
| `NSNR-063` | physics | user | must | test | absolute factor-one BC target and separate correction | path/source exact | Formulation; Numerical Review | approved |
|
||||
| `NSNR-016` | input | user | must | test | four-value STATIC mapping and validation | endpoint exact | I/O; Planning | approved |
|
||||
| `NSNR-011` | functional | user | must | test | separate trial, atomic commit, prior-state preservation | state exact | Formulation; Numerical Review; Planning | approved |
|
||||
| `NSNR-019` | physics | docs | must | test | stable source/assembly and full-equilibrium residual/reaction | identity/order exact | Formulation; Numerical Review; I/O | approved |
|
||||
| `NSNR-019` | physics | docs | must | test | distinct free residual, constrained-reaction resultants and applied+reaction balance; current-arm/spatial-moment semantics | quantity/origin/identity/order exact | Formulation; Numerical Review; I/O | approved |
|
||||
| `NSNR-020` | input | docs | must | test | unsupported meaning fails closed | inventory exact | I/O; Planning | approved |
|
||||
| `NSNR-021` | output | user | must | test | accepted commit/frame bijection and failure-safe HDF5 final | identity exact | Numerical Review; I/O; Planning | approved |
|
||||
| `NSNR-024` | output | user | must | test | one ordered diagnostic summary per entered iteration and persistent live log | semantic identity exact | I/O; Planning | approved |
|
||||
| `NSNR-083` | output | user | must | test | repository names; every literal --output form unrecognized with pre-input/pre-Analysis/pre-output exit 2 and no alias/deprecation; asymmetric lifecycle; linear regression | public identity/precedence exact | I/O; Planning; Numerical Review | approved |
|
||||
| `NSNR-026` | constraint | docs | must | test | deterministic factor/iteration/assembly/frame/result/log order | discrete order exact | Numerical Review; Planning | approved |
|
||||
| `NSNR-030` | verification | docs | must | analysis | blocking small-limit/tangent/physics/rollback portfolio | case-specific downstream | Research; Formulation; Numerical Review | approved |
|
||||
| `NSNR-034` | verification | docs | must | reference-comparison | stored artifacts, deterministic matching and precheck | docs/TOLERANCE.md | Numerical Review; I/O | approved |
|
||||
| `NSNR-030` | verification | docs | must | analysis | blocking small-limit/tangent/global applied+reaction balance/free-residual/physics/rollback portfolio | case-specific downstream; external policy unchanged | Research; Formulation; Numerical Review | approved |
|
||||
| `NSNR-034` | verification | docs | must | reference-comparison | U blocking, UR warning-only, local RF/RM review-only, exact matching/precheck | docs/TOLERANCE.md | Numerical Review; I/O | approved |
|
||||
|
||||
## 13. Open Questions
|
||||
없음. Specialist gaps are owned by downstream stages and are escalated only if they would change approved scope, physics, tolerance, authoritative output or public compatibility.
|
||||
|
||||
## 14. Downstream Handoff
|
||||
- Research/Formulation: exact Total Lagrangian MITC4 equations, strain/stress measures, rotation map/side/frame, drilling and consistent derivatives.
|
||||
- Numerical Review: endpoint arithmetic, tangent/objectivity/state-invariant checks, benchmark portfolio, performance adequacy and exact reference artifacts/quantities.
|
||||
- I/O Definition: HDF5 schema/projection/chunking/factor-0 handling, log representation/failure presentation and path/collision conventions.
|
||||
- Implementation Planning: backend adapters, output ownership primitive, candidate filename, performance targets and requirement-traced TDD plan.
|
||||
- Research/Formulation: exact Total Lagrangian MITC4 equations, strain/stress measures, rotation map/side/frame, drilling and consistent derivatives; Formulation propagates NSNR-069's exact-zero matching external-channel typed absolute branch and retained nonzero external-scale relative denominator.
|
||||
- Numerical Review: verify the revised NSNR-069 branch and unchanged thresholds/four-channel AND, endpoint arithmetic, tangent/objectivity/state-invariant checks, benchmark portfolio and performance adequacy. Fix exact coarse/fine reference roles, local review projection/families, and factor-one global balance/free-residual tolerances while preserving local RF/RM review-only, `RM3` exclusion, displacement/rotation disposition, exact prechecks, immutable artifacts and common external tolerance.
|
||||
- I/O Definition: HDF5 schema/projection/chunking/factor-0 handling, log representation/failure presentation and path/collision conventions. Audit and keep separately identifiable `(a)` global applied-plus-reaction balance error, `(b)` constrained-reaction resultant and `(c)` accepted free residual; global moments use current positions and spatial physical nodal moments about `[0,0,0]`, including supported nonzero prescribed translation/rotation cases.
|
||||
- Implementation Planning: backend adapters, output ownership primitive, candidate filename, performance targets and requirement-traced TDD plan. Stage 6 must test the three equilibrium identities separately and must not reuse one implementation dataset as another without proving its approved projection semantics.
|
||||
- Coordinator: escalate only a downstream proposal that changes the approved scope, physics, convergence tolerance, authoritative-result meaning or public output contract; do not advance the workflow on this document alone.
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
# Translation Displacement Comparison Report
|
||||
|
||||
## 1. Metadata and scope
|
||||
|
||||
- feature_id: `nonlinear-static-newton-raphson`
|
||||
- report_id: `TRANSLATION-REPORT-001`
|
||||
- date: `2026-08-26`
|
||||
- owner_agent: `implementation-agent` (bounded diagnostic dispatch)
|
||||
- dispatch coordination SHA-256: `D7CE6264EE3FD20FB6CD74CF1FC28E05EEEEFA67B25AF737D2DF989059A72D6F`
|
||||
- status: `translation-diagnostic-pass-not-a-gate`
|
||||
- tolerance source: `docs/TOLERANCE.md`
|
||||
|
||||
This focused report recomputes only global translational displacement components
|
||||
`U1/U2/U3` for the existing coarse `reference/shellNL` case and the added fine
|
||||
`reference/shellNL-meshfine` case. It is diagnostic evidence for the observed
|
||||
mesh sensitivity; it does not create or replace the canonical Stage 6
|
||||
`reference-comparison.md`. In particular, it is not Step 12 implementation
|
||||
evidence and does not change any workflow gate.
|
||||
|
||||
The two meshes are compared separately to their own read-only Abaqus CSV
|
||||
artifacts. No coarse-to-fine node interpolation, row pairing, averaging, or
|
||||
direct FESA-to-FESA error was used.
|
||||
|
||||
## 2. Artifact inventory and accepted-frame identity
|
||||
|
||||
All paths below are relative to the feature worktree. SHA-256 and byte counts
|
||||
were recomputed before comparison.
|
||||
|
||||
| mesh | artifact | path | bytes | SHA-256 |
|
||||
| --- | --- | --- | ---: | --- |
|
||||
| coarse | input | `reference/shellNL/shellNL.inp` | 4,778 | `4BF3ECB0F7F1E8462C573E993DBC97AC5D920C91CF6F23AD4C6891D77FFBADA2` |
|
||||
| coarse | translation CSV | `reference/shellNL/shellNL displacements.csv` | 7,542 | `4E0F99CA9372B1ADF7FAF102F43BC0B887DC743FDEDA378E4342D2CF8E0C0786` |
|
||||
| coarse | FESA HDF5 | `.harness/build-ninja-msvc-debug/reference/nonlinear-static-reference/shellNL/shellnl-s4-final-441600152250700-0/shellNL_results.h5` | 934,602 | `9744814BEBF33486F526F821EDC7D96F072F34E988D70A00AC7AA063570FFA40` |
|
||||
| fine | input | `reference/shellNL-meshfine/shellNL-meshfine.inp` | 56,516 | `40DF1CE77311C8D799564A21A60F3BDEBB8148D52CAE22B7292FDFAD32018220` |
|
||||
| fine | translation CSV | `reference/shellNL-meshfine/shellNL-meshfine displacements.csv` | 111,184 | `740819FF8AED0E279961581F7CDBFA12784CFBA3A488C35A652E80103F64433F` |
|
||||
| fine | FESA HDF5 | `.harness/build-ninja-msvc-debug/reference/meshfine-diagnostic/run-1787669003801/shellNL-meshfine_results.h5` | 10,547,651 | `81A3C431E2977D2482D212877C3C306FFBB19CD1F0C47FBF1C936AE06CC93ACA` |
|
||||
|
||||
For both HDF5 artifacts, `/steps/Step-1/accepted_frames` has ten accepted rows.
|
||||
The unique row satisfying `is_factor_one=1` and `load_factor=1.0` is
|
||||
`frame_index=9`, `increment_index=10`, and `iteration_count=2`. Translation
|
||||
values were projected only from
|
||||
`/steps/Step-1/frames/9/nodal/displacement`, columns `[UX, UY, UZ]`:
|
||||
|
||||
| mesh | HDF5 node rows | displacement shape | CSV wide rows | exact CSV Frame |
|
||||
| --- | ---: | --- | ---: | --- |
|
||||
| coarse | 49 | `[49, 6]` | 49 | `Increment 10: Step Time = 1.000` |
|
||||
| fine | 729 | `[729, 6]` | 729 | `Increment 10: Step Time = 1.000` |
|
||||
|
||||
## 3. Source identity and prechecks
|
||||
|
||||
The comparison key is
|
||||
|
||||
```text
|
||||
(accepted_state=factor-one, canonical_instance_name, source_node_label, component)
|
||||
```
|
||||
|
||||
`canonical_instance_name` is matched case-insensitively; the CSV/HDF5 source
|
||||
spelling itself is not rewritten. CSV columns were selected after trimming only
|
||||
surrounding header whitespace. The `U-U1/U-U2/U-U3` columns map respectively to
|
||||
HDF5 `UX/UY/UZ`. Row order is not part of the identity and was not used for
|
||||
matching.
|
||||
|
||||
| mesh | component rows | duplicate CSV wide/component/HDF5 keys | nonfinite CSV/HDF5 values | missing HDF5 keys | extra HDF5 keys | precheck |
|
||||
| --- | ---: | --- | --- | ---: | ---: | --- |
|
||||
| coarse | 147 | `0 / 0 / 0` | `0 / 0` | 0 | 0 | pass |
|
||||
| fine | 2,187 | `0 / 0 / 0` | `0 / 0` | 0 | 0 | pass |
|
||||
|
||||
Each CSV contains only the exact factor-one `Frame` value shown above. Thus the
|
||||
row prechecks required before numerical tolerance evaluation pass for the
|
||||
translation projection in each mesh.
|
||||
|
||||
## 4. Applied tolerance policy
|
||||
|
||||
`U1/U2/U3` remain one global-length, blocking translation family within each
|
||||
case. The component rows in Section 6 are diagnostics only: they use the same
|
||||
case-family scale and near-zero band below and do not introduce a component
|
||||
scale, component-specific tolerance, or a new approved family.
|
||||
|
||||
For the reference values `r_i` and FESA values `f_i`, `docs/TOLERANCE.md` is
|
||||
applied exactly:
|
||||
|
||||
\[
|
||||
S=\max_i|r_i|,\qquad B=0.01S,\qquad e_i=|f_i-r_i|.
|
||||
\]
|
||||
|
||||
- If `|r_i| <= B`, the row passes iff `e_i <= B`.
|
||||
- Otherwise, the row passes iff `e_i / |r_i| <= 0.05`.
|
||||
- The whole family also requires `RMS(e_i) / S <= 0.01`.
|
||||
- There is no independent absolute-error gate, `max(1,S)` floor, zero clamp,
|
||||
row omission, or averaging. A zero-scale family would require exact FESA
|
||||
zero; neither translation family has zero reference scale.
|
||||
|
||||
## 5. Translation-family results
|
||||
|
||||
| mesh | rows | `S` | `B=0.01S` | near-zero / significant rows | row failures | max absolute error | max significant-row relative error | RMS error | `L2(error)` | relative RMS | verdict |
|
||||
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
|
||||
| coarse | 147 | `2.3740820300000001e-05` | `2.3740820300000003e-07` | 122 / 25 | 0 | `1.9037855439354404e-07` | `8.5711169439298945e-03` | `2.4530813178127803e-08` | `2.9742030342848264e-07` | `1.0332757195473908e-03` | pass |
|
||||
| fine | 2,187 | `2.5795705400000001e-05` | `2.5795705400000002e-07` | 1,626 / 561 | 0 | `1.6193812501096337e-07` | `6.2777164841928829e-03` | `5.8615647876386634e-09` | `2.7411825664926473e-07` | `2.2723025777921402e-04` | pass |
|
||||
|
||||
Both sets have zero row failures and relative RMS values below the common
|
||||
`0.01` threshold. This is a translation-only diagnostic pass; it is not a
|
||||
full external-reference verdict for the nonlinear-static feature.
|
||||
|
||||
## 6. Component diagnostics under the unchanged family scale
|
||||
|
||||
The `near-zero/significant` counts and every row decision below use the Section 5
|
||||
family band `B`, not a component-derived scale. A dash for maximum relative
|
||||
error means all rows of that component were near-zero and were therefore judged
|
||||
only by the approved absolute-band rule.
|
||||
|
||||
### 6.1 Coarse mesh
|
||||
|
||||
| component | rows | near-zero / significant | row failures | max absolute error | max significant-row relative error | RMS error | `L2(error)` | worst row `(node; fesa; reference; abs error)` |
|
||||
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
|
||||
| U1 | 49 | 49 / 0 | 0 | `5.9371608358817413e-12` | — | `1.7563955953584068e-12` | `1.2294769167508847e-11` | `12; -8.7994083858817417e-12; -2.8622475500000000e-12; 5.9371608358817413e-12` |
|
||||
| U2 | 49 | 49 / 0 | 0 | `5.9379769034414602e-12` | — | `1.7566506185832881e-12` | `1.2296554330083018e-11` | `19; 8.7996068934414599e-12; 2.8616299900000001e-12; 5.9379769034414602e-12` |
|
||||
| U3 | 49 | 24 / 25 | 0 | `1.9037855439354404e-07` | `8.5711169439298945e-03` | `4.2488614702881049e-08` | `2.9742030292016737e-07` | `2; -2.3550441745606457e-05; -2.3740820300000001e-05; 1.9037855439354404e-07` |
|
||||
|
||||
### 6.2 Fine mesh
|
||||
|
||||
| component | rows | near-zero / significant | row failures | max absolute error | max significant-row relative error | RMS error | `L2(error)` | worst row `(node; fesa; reference; abs error)` |
|
||||
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | --- |
|
||||
| U1 | 729 | 729 / 0 | 0 | `5.6550975712048108e-12` | — | `1.5513648050863109e-12` | `4.1886849737330394e-11` | `27; -1.1143569120481096e-13; 5.5436618799999999e-12; 5.6550975712048108e-12` |
|
||||
| U2 | 729 | 729 / 0 | 0 | `5.6547834814404039e-12` | — | `1.5512360377367428e-12` | `4.1883373018892053e-11` | `16; -1.1132282144040392e-13; 5.5434606599999999e-12; 5.6547834814404039e-12` |
|
||||
| U3 | 729 | 168 / 561 | 0 | `1.6193812501096337e-07` | `6.2777164841928829e-03` | `1.0152527787009038e-08` | `2.7411825024924402e-07` | `2; -2.5633767274989038e-05; -2.5795705400000001e-05; 1.6193812501096337e-07` |
|
||||
|
||||
## 7. Deterministically ordered largest absolute-error rows
|
||||
|
||||
Rows are listed by descending absolute error, then source node label and
|
||||
component for a deterministic display. `part-1-1` below is the canonical
|
||||
case-insensitive instance identity.
|
||||
|
||||
| mesh | rank | key `(instance, node, component)` | FESA | reference | absolute error | applied rule and metric |
|
||||
| --- | ---: | --- | ---: | ---: | ---: | --- |
|
||||
| coarse | 1 | `(part-1-1, 2, U3)` | `-2.3550441745606457e-05` | `-2.3740820300000001e-05` | `1.9037855439354404e-07` | relative; `8.0190386005130586e-03` |
|
||||
| coarse | 2 | `(part-1-1, 35, U3)` | `-1.2104431681576916e-05` | `-1.2190867900000000e-05` | `8.6436218423083233e-08` | relative; `7.0902432158323394e-03` |
|
||||
| coarse | 3 | `(part-1-1, 39, U3)` | `-1.2104431681576916e-05` | `-1.2190867900000000e-05` | `8.6436218423083233e-08` | relative; `7.0902432158323394e-03` |
|
||||
| fine | 1 | `(part-1-1, 2, U3)` | `-2.5633767274989038e-05` | `-2.5795705400000001e-05` | `1.6193812501096337e-07` | relative; `6.2777164841928829e-03` |
|
||||
| fine | 2 | `(part-1-1, 21, U3)` | `-2.3863834908375246e-05` | `-2.3782464300000001e-05` | `8.1370608375244783e-08` | relative; `3.4214540322150206e-03` |
|
||||
| fine | 3 | `(part-1-1, 69, U3)` | `-2.3863834908375246e-05` | `-2.3782464300000001e-05` | `8.1370608375244783e-08` | relative; `3.4214540322150206e-03` |
|
||||
|
||||
## 8. Mesh trend interpretation
|
||||
|
||||
The fine-mesh translation relative RMS divided by the coarse-mesh translation
|
||||
relative RMS is
|
||||
|
||||
\[
|
||||
\frac{2.2723025777921402\times10^{-4}}
|
||||
{1.0332757195473908\times10^{-3}}
|
||||
=0.21991251074664606.
|
||||
\]
|
||||
|
||||
This is a `78.008748925335397%` reduction in the separately measured
|
||||
reference-normalized translation RMS. It is consistent with the hypothesis
|
||||
that the coarse-case discrepancy is mesh-sensitive, and the fine case also
|
||||
passes the same row/RMS policy.
|
||||
|
||||
It is not an observed order of convergence, a proof of monotonic convergence,
|
||||
or a solution-accuracy claim outside these translation rows: the two models have
|
||||
different meshes and distinct external-reference outputs, and no common-mesh
|
||||
interpolation or mesh-size-rate study was performed.
|
||||
|
||||
## 9. Explicit exclusions and no-change assertion
|
||||
|
||||
This report deliberately excludes:
|
||||
|
||||
- all reaction quantities;
|
||||
- `UR1/UR2/UR3` rotations;
|
||||
- all stress quantities, including the user-noted `reference/shell` element-label
|
||||
ordering change;
|
||||
- Newton convergence lifecycle and iteration-log acceptance beyond identifying
|
||||
the accepted factor-one HDF5 frame;
|
||||
- `USER-DECISION-004` disposition;
|
||||
- Step 11 and Step 12 status, Physics Evaluation, and Release readiness.
|
||||
|
||||
No source, test, CMake, comparator, tolerance policy, phase file, canonical
|
||||
reference-comparison report, declared input, or reference artifact was modified
|
||||
for this report. The report also does not create `implementation-report.md`,
|
||||
`build-test.md`, or `reference-comparison.md`.
|
||||
|
||||
## 10. Handoff
|
||||
|
||||
Within this narrow scope there is no artifact, identity, finite-value, or
|
||||
translation-tolerance blocker. The report is handed to the Coordinator as
|
||||
translation-only diagnostic evidence; gate ownership and all excluded work remain
|
||||
unchanged.
|
||||
@@ -134,6 +134,10 @@ Add tests first.
|
||||
- `NSNR-PROC-017`: failed nonlinear run preserves prior final HDF5 according to output lifecycle.
|
||||
- `NSNR-PROC-018`: deterministic repeat produces same sparse structure, nodal source-identity order, result row order, diagnostics, and log line ordering.
|
||||
|
||||
### USER-DECISION-003 option-1 revision addendum
|
||||
|
||||
Step 10의 completed status, summary, timestamps와 commits는 보존한다. Existing procedure는 same-trial free residual/internal/external vectors를 force와 moment channel별로 분리하여 `EvaluateNewtonConvergence`에 전달하고 fresh same-iteration correction을 별도로 전달한다. 따라서 option 1의 production correction은 Step 11의 `nonlinear_static_control.cpp`에 한정하며 `nonlinear_static_procedure.cpp`, prepared-analysis API와 log writer production 변경은 예상하지 않는다. Step 11의 shellNL copied-input run과 log assertions이 unloaded rotational external channel의 exact-zero branch, loaded force channel의 retained relative branch, four-channel AND 및 intended factors `0.1..1.0`을 integration 수준에서 검증한다.
|
||||
|
||||
Run:
|
||||
|
||||
```powershell
|
||||
@@ -171,3 +175,4 @@ Update only Step 10 status and one-line payload. Executor owns timestamps, commi
|
||||
- Do not insert nonlinear branches into `LinearStaticAnalysis` private lifecycle. 이유: new procedure owns its own lifecycle.
|
||||
- Do not replace final HDF5 on failed analysis, log failure, or HDF5 failure. 이유: asymmetric preservation contract requires prior valid final preservation.
|
||||
- Do not construct MKL/TBB/HDF5 backends inside procedure executors. 이유: dependencies are injected so tests can observe lifecycle and no backend type crosses analysis/core public boundaries.
|
||||
- Do not duplicate the option-1 selector in the procedure or log writer. 이유: the existing procedure already transports the three residual vectors separately and convergence ownership remains in `nonlinear_static_control`.
|
||||
|
||||
@@ -1,79 +1,143 @@
|
||||
# Step 11: reference-comparison-gate
|
||||
# Step 11: equilibrium-projection-and-reference-gate
|
||||
|
||||
## 목적
|
||||
|
||||
USER-DECISION-004 option 1과 `AUDIT-001`을 구현·검증한다. 같은 accepted factor-one state에서
|
||||
accepted free residual, constrained reaction resultant, global applied-plus-reaction balance error를
|
||||
서로 다른 quantity로 재구성하고, 기존 schema-v1 `/global/equilibrium`에는 balance error만 저장한다.
|
||||
Fine nonlinear case는 primary, coarse nonlinear case는 companion으로 검증한다. Local nodal
|
||||
`RF1/RF2/RF3`와 physical spatial `RM1/RM2`는 deterministic review-only evidence이고 blocking
|
||||
verdict를 바꾸지 않는다. Global force와 moment balance는 각각 fixed normalized `<=1e-8`
|
||||
comparator gate를 사용하며 runtime configuration 또는 product solver acceptance로 노출하지 않는다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `AGENTS.md`
|
||||
- `docs/PRD.md`
|
||||
- `docs/ARCHITECTURE.md`
|
||||
- `docs/ADR.md`
|
||||
- `docs/CODINGSTYLE.md`
|
||||
- `docs/TOLERANCE.md`
|
||||
- `docs/nonlinear-static-newton-raphson/reference-model.md`
|
||||
- `docs/nonlinear-static-newton-raphson/io.md`
|
||||
- `docs/nonlinear-static-newton-raphson/numerical-review.md`
|
||||
- `docs/nonlinear-static-newton-raphson/requirements.md`
|
||||
- `docs/nonlinear-static-newton-raphson/research.md`
|
||||
- `docs/nonlinear-static-newton-raphson/formulation.md` §§11.4, 13.1, 13.4, 14.1
|
||||
- `docs/nonlinear-static-newton-raphson/numerical-review.md` §§3.2, 6.2, 6.3
|
||||
- `docs/nonlinear-static-newton-raphson/reference-model.md` §§3–6
|
||||
- `docs/nonlinear-static-newton-raphson/io.md` §§7.3–7.5.1, 8.1–8.7
|
||||
- `docs/nonlinear-static-newton-raphson/implementation-plan.md`
|
||||
- `docs/nonlinear-static-newton-raphson/corrections.md` §13
|
||||
- `phases/nonlinear-static-newton-raphson/index.json`
|
||||
- `include/fesa/analysis/nonlinear_analysis_state.h`
|
||||
- `include/fesa/analysis/nonlinear_static_procedure.h`
|
||||
- `include/fesa/analysis/nonlinear_static_control.h`
|
||||
- `src/fesa/analysis/nonlinear_static_procedure.cpp`
|
||||
- `src/fesa/analysis/nonlinear_static_control.cpp`
|
||||
- `include/fesa/results/nonlinear_results_writer.h`
|
||||
- `include/fesa/io/hdf5/nonlinear_hdf5_results_writer.h`
|
||||
- `src/fesa/io/hdf5/nonlinear_hdf5_results_writer.cpp`
|
||||
- `tests/integration/analysis/nonlinear_static_procedure_test.cpp`
|
||||
- `tests/unit/io/hdf5/nonlinear_hdf5_results_writer_test.cpp`
|
||||
- `tests/unit/analysis/nonlinear_static_control_test.cpp`
|
||||
- `tests/unit/analysis/newton_iteration_log_test.cpp`
|
||||
- `tests/reference/reference_tolerance_policy.h`
|
||||
- `tests/reference/reference_tolerance_policy.cpp`
|
||||
- `tests/reference/reference_comparison.h`
|
||||
- `tests/reference/reference_comparison.cpp`
|
||||
- `tests/reference/mitc4_reference_comparison.h`
|
||||
- `tests/reference/mitc4_reference_comparison.cpp`
|
||||
- Step 9 files: `include/fesa/results/nonlinear_results_writer.h`, `include/fesa/io/hdf5/nonlinear_hdf5_results_writer.h`
|
||||
- Step 10 files: `include/fesa/analysis/prepared_analysis.h`, `src/fesa/app/fesa_application.cpp`
|
||||
- `tests/reference/nonlinear_static_reference_comparison.h`
|
||||
- `tests/reference/nonlinear_static_reference_comparison.cpp`
|
||||
- `tests/reference/nonlinear_static_reference_cases_test.cpp`
|
||||
- `tests/CMakeLists.txt`
|
||||
- `.harness/config.json`
|
||||
- `CMakePresets.json`
|
||||
|
||||
## 이전 Step 전제
|
||||
## 이전 Step과 보존 전제
|
||||
|
||||
Step 10 runs copied input files through FESA and writes authoritative HDF5 outputs after log close.
|
||||
- Steps 0–10은 completed다. 그 status, summary, timestamp, commit 또는 구현을 replay, amend,
|
||||
reset하거나 다시 작성하지 않는다.
|
||||
- 현재 worktree의 `NSNR-CTRL-018..021`, `NSNR-LOG-012`, `NSNR-PROC-019`,
|
||||
`NSNR-HDF5-014`, residual-selector GREEN과 `NSNR-REF-001..023` comparator/CMake 작업은
|
||||
이전 blocked Step 11에서 생성된 보존 대상이다. 삭제·재생성·reset하지 말고 현재 내용에서
|
||||
계속한다.
|
||||
- 현재 comparator의 shared `<=1e-10` global force/moment gate는 이전 blocker를 재현하는
|
||||
보존된 implementation state다. 새 RED가 approved between-threshold metric을 거부하는 것을
|
||||
증명한 뒤 comparator 내부 gate만 `<=1e-8`로 변경한다.
|
||||
- Selector RED는 이미 과거 실행 evidence에 속한다. 이 재실행에서 selector RED를 fabricate하거나
|
||||
다시 실패시키지 않는다. 기존 테스트가 계속 green인지 focused VERIFY에서 확인한다.
|
||||
- Step 12는 pending이며 이 Step에서 시작하지 않는다.
|
||||
|
||||
## 소유 파일
|
||||
|
||||
- Create: `tests/reference/nonlinear_static_reference_comparison.h`
|
||||
- Create: `tests/reference/nonlinear_static_reference_comparison.cpp`
|
||||
- Create: `tests/reference/nonlinear_static_reference_cases_test.cpp`
|
||||
- Modify: `tests/CMakeLists.txt`
|
||||
RED test를 먼저 추가한 뒤 필요한 production file만 최소 수정한다.
|
||||
|
||||
## 인터페이스
|
||||
- Modify test first: `tests/integration/analysis/nonlinear_static_procedure_test.cpp`
|
||||
- Modify test first: `tests/unit/io/hdf5/nonlinear_hdf5_results_writer_test.cpp`
|
||||
- Preserve and extend test-private comparator: `tests/reference/nonlinear_static_reference_comparison.h`
|
||||
- Preserve and extend test-private comparator: `tests/reference/nonlinear_static_reference_comparison.cpp`
|
||||
- Preserve and extend tests: `tests/reference/nonlinear_static_reference_cases_test.cpp`
|
||||
- Preserve existing registration; edit only if the current sources are not registered:
|
||||
`tests/CMakeLists.txt`
|
||||
- Minimal GREEN: `src/fesa/analysis/nonlinear_static_procedure.cpp`
|
||||
- Minimal GREEN: `src/fesa/io/hdf5/nonlinear_hdf5_results_writer.cpp`
|
||||
- Preserve existing partial GREEN/tests without redesign:
|
||||
`src/fesa/analysis/nonlinear_static_control.cpp`,
|
||||
`tests/unit/analysis/nonlinear_static_control_test.cpp`,
|
||||
`tests/unit/analysis/newton_iteration_log_test.cpp`
|
||||
|
||||
No public header, new CMake target, new HDF5 dataset, schema-version change or reference artifact is
|
||||
owned by this Step.
|
||||
|
||||
## Authoritative HDF5 입력과 test-private report 경계
|
||||
|
||||
Comparator는 아래 existing schema-v1 paths만 읽는다.
|
||||
|
||||
```text
|
||||
/model/nodes [node_count]
|
||||
/model/nodal_constraint_mask [node_count,6]
|
||||
/steps/Step-1/accepted_frames unique factor-one row
|
||||
/steps/Step-1/frames/<frame>/nodal/displacement [node_count,6]
|
||||
/steps/Step-1/frames/<frame>/nodal/generalized_internal_force [node_count,6]
|
||||
/steps/Step-1/frames/<frame>/nodal/generalized_external_force [node_count,6]
|
||||
/steps/Step-1/frames/<frame>/nodal/generalized_residual [node_count,6]
|
||||
/steps/Step-1/frames/<frame>/nodal/reaction [node_count,6]
|
||||
/steps/Step-1/frames/<frame>/global/equilibrium [6]
|
||||
```
|
||||
|
||||
`/global/equilibrium` component order is
|
||||
`FORCE_1,FORCE_2,FORCE_3,MOMENT_1,MOMENT_2,MOMENT_3` and its required
|
||||
`location` is `global-balance-error`.
|
||||
|
||||
Preserve the current test-private types and make only the extensions needed by the approved
|
||||
dispositions and distinct internal evidence. Add the required standard `<array>` and `<optional>`
|
||||
includes to the test-private header. Candidate signature-level shape:
|
||||
|
||||
```cpp
|
||||
namespace fesa::test {
|
||||
|
||||
struct NonlinearReferenceCase {
|
||||
std::string case_id;
|
||||
std::filesystem::path original_input_path;
|
||||
std::filesystem::path displacement_csv_path;
|
||||
std::filesystem::path reaction_csv_path;
|
||||
std::filesystem::path stress_inventory_path;
|
||||
std::filesystem::path execution_directory;
|
||||
};
|
||||
|
||||
struct ArtifactSnapshot {
|
||||
std::filesystem::path path;
|
||||
std::string sha256;
|
||||
std::uintmax_t byte_size;
|
||||
std::filesystem::file_time_type last_write_time;
|
||||
};
|
||||
|
||||
enum class NonlinearReferenceDisposition {
|
||||
kBlocking,
|
||||
kWarningOnly,
|
||||
kExcluded
|
||||
kReviewOnly,
|
||||
kExcluded,
|
||||
};
|
||||
|
||||
struct NonlinearReferenceRowKey {
|
||||
std::string case_id;
|
||||
std::string accepted_state;
|
||||
std::string instance_name;
|
||||
std::int64_t source_node_label;
|
||||
std::string component;
|
||||
};
|
||||
|
||||
struct NonlinearReferenceFamilyReport {
|
||||
struct NonlinearReferencePrecheckFinding {
|
||||
std::string family_identity;
|
||||
std::vector<std::string> components;
|
||||
NonlinearReferenceDisposition disposition;
|
||||
std::size_t row_count;
|
||||
ReferenceToleranceFamilyDecision tolerance;
|
||||
std::string diagnostic_code;
|
||||
std::vector<NonlinearReferenceRowKey> affected_keys;
|
||||
};
|
||||
|
||||
struct GeneratedRunArtifacts {
|
||||
std::filesystem::path copied_input_path;
|
||||
std::filesystem::path generated_results_hdf5;
|
||||
std::filesystem::path generated_log_path;
|
||||
struct NonlinearInternalEquilibriumReport {
|
||||
std::string family_identity;
|
||||
std::size_t row_count;
|
||||
double numerator;
|
||||
double scale;
|
||||
std::optional<double> normalized_metric;
|
||||
bool passed;
|
||||
std::string diagnostic_code;
|
||||
};
|
||||
|
||||
struct ConstrainedReactionResultantReport {
|
||||
std::array<double, 3> force;
|
||||
std::array<double, 3> moment;
|
||||
};
|
||||
|
||||
struct NonlinearReferenceComparisonReport {
|
||||
@@ -85,103 +149,257 @@ struct NonlinearReferenceComparisonReport {
|
||||
std::vector<ArtifactSnapshot> pre_run_artifacts;
|
||||
std::vector<ArtifactSnapshot> post_run_artifacts;
|
||||
std::vector<NonlinearReferenceFamilyReport> families;
|
||||
std::vector<NonlinearReferencePrecheckFinding> precheck_findings;
|
||||
std::vector<NonlinearInternalEquilibriumReport> internal_equilibrium;
|
||||
ConstrainedReactionResultantReport constrained_reaction_resultant;
|
||||
bool external_blocking_passed;
|
||||
bool internal_blocking_passed;
|
||||
bool blocking_passed;
|
||||
};
|
||||
|
||||
enum class NonlinearReferenceClassification {
|
||||
kPassed,
|
||||
kFailed,
|
||||
kWarningOnlyDifferences
|
||||
};
|
||||
|
||||
Result<std::vector<ArtifactSnapshot>> ArtifactCheck(
|
||||
const NonlinearReferenceCase& reference_case);
|
||||
Result<std::filesystem::path> CopyInputToExecutionDirectory(
|
||||
const NonlinearReferenceCase& reference_case);
|
||||
Result<GeneratedRunArtifacts> RunFesaApplicationOnCopiedInput(
|
||||
const NonlinearReferenceCase& reference_case,
|
||||
const std::filesystem::path& copied_input_path);
|
||||
Result<NonlinearReferenceComparisonReport> CompareHdf5ToReferenceCsv(
|
||||
const NonlinearReferenceCase& reference_case,
|
||||
const std::filesystem::path& hdf5_results_path);
|
||||
NonlinearReferenceClassification ClassifyReferenceComparison(
|
||||
const NonlinearReferenceComparisonReport& report);
|
||||
NonlinearReferenceComparisonReport BuildReferenceComparisonReport(
|
||||
const NonlinearReferenceCase& reference_case,
|
||||
const std::filesystem::path& hdf5_results_path);
|
||||
|
||||
} // namespace fesa::test
|
||||
```
|
||||
|
||||
These are test-support interfaces only. Match the existing aggregate/data style and avoid a public
|
||||
solver API. For an exact-zero internal scale, leave `normalized_metric` empty and use
|
||||
`diagnostic_code` plus the exact-zero numerator/pass rule instead of writing NaN or Inf.
|
||||
|
||||
## Required physical algorithm
|
||||
|
||||
For each node in stable Domain order at the accepted state:
|
||||
|
||||
1. Read `X` from Domain/model identity and `u, phi` from the accepted state. Set `x=X+u`.
|
||||
2. Read generalized applied force/covector from `generalized_external_force`.
|
||||
3. Build constrained generalized reaction by applying the exact component mask to
|
||||
`generalized_residual` before any rotational conversion.
|
||||
4. Convert applied and constrained-reaction rotational covectors independently with
|
||||
`InverseTransposeLeftJacobianSO3(phi)`. Do not convert their sum as a shortcut and do not mix
|
||||
free generalized residual into reaction.
|
||||
5. Accumulate, about global origin `[0,0,0]`:
|
||||
|
||||
```text
|
||||
F_applied += applied spatial force
|
||||
M_applied += x cross F_applied_node + applied spatial physical moment
|
||||
F_reaction += constrained reaction spatial force
|
||||
M_reaction += x cross F_reaction_node + reaction spatial physical moment
|
||||
global balance error = [F_applied + F_reaction,
|
||||
M_applied + M_reaction]
|
||||
```
|
||||
|
||||
Store only the six-component balance error in the existing accepted-frame
|
||||
`global_equilibrium` and existing `/global/equilibrium` dataset. Reconstruct the constrained
|
||||
reaction resultant and accepted free residual separately in the comparator; do not add summary
|
||||
datasets or a public header.
|
||||
|
||||
For internal blocking gates:
|
||||
|
||||
- Force scale is `max(sum(||F_applied_node||2), sum(||F_reaction_node||2))`.
|
||||
- Moment scale is
|
||||
`max(sum(||x cross F_applied_node + M_applied_node||2),
|
||||
sum(||x cross F_reaction_node + M_reaction_node||2))`.
|
||||
- Force and moment use separate `||balance_error||2/scale <= 1e-8` gates. If scale is exact zero,
|
||||
only exact-zero balance passes. No floor, `max(1,scale)` or clamp is allowed.
|
||||
- Accepted free translation-force and rotation-moment rows use the exact free mask and reproduce
|
||||
NSNR-069: nonzero matching external scale uses
|
||||
`||residual||inf/max(||internal||inf,||external||inf) <= 1e-2`; exact-zero external scale uses
|
||||
typed absolute `<=1e-3`. Finite checks occur first.
|
||||
- `docs/TOLERANCE.md` is not used for these internal gates.
|
||||
|
||||
## RED
|
||||
|
||||
Add tests first.
|
||||
기존 dirty `NSNR-PROC-019`, `NSNR-HDF5-014`, `NSNR-REF-020..023`은 재작성하지 않는다.
|
||||
먼저 existing `NSNR-REF-022`를 실행해 old shared gate failure를 다시 관찰·기록한 뒤,
|
||||
`NSNR-REF-024..025`를 comparator threshold 변경 전에 test-first로 추가한다. Procedure/HDF5
|
||||
behavior는 threshold rework를 위해 추가 변경하지 않는다.
|
||||
|
||||
- `NSNR-REF-001`: artifact check verifies exact pre-run SHA-256 for every declared input/CSV path.
|
||||
- `NSNR-REF-002`: original `reference/shellNL/shellNL.inp` bytes are copied unchanged into a unique build-local temp case directory and only the copied `.inp` is passed to `FesaApplication`.
|
||||
- `NSNR-REF-003`: original `reference/shell/shell.inp` bytes are copied unchanged into a unique build-local temp case directory and only the copied `.inp` is passed to `FesaApplication`.
|
||||
- `NSNR-REF-004`: copied shellNL run produces copied-sibling `shellNL_results.h5` and `shellNL_log.txt`; copied shell run produces copied-sibling `shell_results.h5` and `shell_log.txt`.
|
||||
- `NSNR-REF-005`: HDF5 source path identity matches the copied user-addressed input path, and source content identity matches the approved original input hash.
|
||||
- `NSNR-REF-006`: exact post-run SHA-256, byte size, timestamp, and inventory for all original declared reference artifacts match pre-run snapshots.
|
||||
- `NSNR-REF-007`: shellNL displacement/reaction rows require exact `Frame` value `Increment 10: Step Time = 1.000`.
|
||||
- `NSNR-REF-008`: required CSV wide rows expand to unique `(case_id, accepted_state, instance, source_node_label, component)` keys.
|
||||
- `NSNR-REF-009`: HDF5 rows and CSV rows reject missing, extra, duplicate, and nonfinite required rows before tolerance.
|
||||
- `NSNR-REF-010`: `linear.translation` has 147 blocking rows.
|
||||
- `NSNR-REF-011`: `linear.rotation` has 147 warning-only rows.
|
||||
- `NSNR-REF-012`: `nonlinear.translation` has 147 blocking rows.
|
||||
- `NSNR-REF-013`: `nonlinear.rotation` has 147 warning-only rows.
|
||||
- `NSNR-REF-014`: shellNL constrained nodes select only labels `1,3,4,5,6,7,8,9,14,15,16,17,22,23,24,25,26,27,28,29,30,31,32,33`.
|
||||
- `NSNR-REF-015`: `RF1/RF2` has 48 blocking rows, `RF3` has 24 blocking rows, and `RM1/RM2` has 48 blocking rows.
|
||||
- `NSNR-REF-016`: `RM3` and stress quantities create no numeric comparison family.
|
||||
- `NSNR-REF-017`: docs/TOLERANCE.md family policy is applied exactly and warning-only failures do not change blocking verdict.
|
||||
- `NSNR-REF-018`: stress CSV files are hash-audited as nonblocking inventory artifacts and their schema/order is not a blocking verdict.
|
||||
- Approved draft label `NSNR-PROC-011` collides with completed Step 10's historical
|
||||
`NSNR-PROC-011` increment-loop identity. Preserve that history and use collision-resolved test ID
|
||||
`NSNR-PROC-019` with exact GTest symbol
|
||||
`NonlinearStaticProcedure.NonzeroPrescribedMotionWritesCurrentArmSpatialAppliedPlusReactionBalance`.
|
||||
Use a supported nonlinear shell input with nonzero prescribed translation and rotation plus a
|
||||
resolved fixed-global load. Independently reconstruct the six balance components from accepted
|
||||
`X,u,phi`, external force and masked residual. Expected RED: the current helper uses initial
|
||||
coordinates, raw full-residual summation and raw rotational residual, so the current-arm/spatial
|
||||
expected vector or distinct constrained/free projection assertion fails.
|
||||
- `NSNR-HDF5-014`
|
||||
`NonlinearHdf5ResultsWriter.WritesSchemaV1GlobalBalanceErrorLocation` checks existing path/shape,
|
||||
exact component names, schema version 1 and `location=global-balance-error`. Expected RED: current
|
||||
writer emits `location=global-origin`.
|
||||
- `NSNR-REF-020`
|
||||
`NonlinearStaticReference.AuditsFinePrimaryAndCoarseCompanionArtifacts` checks all exact fine,
|
||||
coarse and linear input/CSV hashes, fine/coarse independent execution directories and case roles.
|
||||
Expected RED: current case inventory supports only coarse nonlinear and linear cases.
|
||||
- `NSNR-REF-021`
|
||||
`NonlinearStaticReference.ReviewOnlyLocalReactionsCannotChangeBlockingVerdict` injects or observes
|
||||
failing local RF/RM row/RMS decisions while U and internal blocking families pass. It requires
|
||||
deterministic local error/precheck reporting and an unchanged blocking pass. Expected RED:
|
||||
current local RF/RM dispositions are `kBlocking`.
|
||||
- `NSNR-REF-022`
|
||||
`NonlinearStaticReference.BlocksOnGlobalBalanceAndAcceptedFreeResidual` fails each coarse/fine
|
||||
global-force, global-moment, free-force-residual and free-moment-residual family one at a time,
|
||||
then passes all. It also asserts the constrained reaction resultant is a distinct review summary.
|
||||
Expected RED for this re-execution: the preserved comparator applies the old shared `<=1e-10`
|
||||
gate, so the approved coarse metric `1.413750912531167e-10` and fine metric
|
||||
`2.7454660159924086e-10` are rejected even though both are below `1e-8`.
|
||||
- `NSNR-REF-023`
|
||||
`NonlinearStaticReference.RejectsMissingExtraDuplicateAndNonfiniteRowsBeforeToleranceAndRecordsReviewOnlyFindings`
|
||||
covers blocking, warning-only and review-only families. Blocking precheck failure changes the
|
||||
blocking verdict; warning/review failures remain ordered findings. Expected RED: the current
|
||||
comparator cannot retain review-only precheck findings independently of the blocking verdict.
|
||||
- `NSNR-REF-024`
|
||||
`NonlinearStaticReference.GlobalForceAndMomentBalanceUseApprovedInclusiveOneEighthGate` uses a
|
||||
test-private balance evaluator for distinct force and moment family identities. It requires an
|
||||
approved between-threshold metric such as `5e-9` and exact `1e-8` to pass, and
|
||||
`nextafter(1e-8,+infinity)` to fail for both identities. Expected decisive RED: the preserved
|
||||
shared `<=1e-10` comparison rejects `5e-9` and `1e-8`.
|
||||
- `NSNR-REF-025`
|
||||
`NonlinearStaticReference.GlobalForceAndMomentExactZeroScaleRequiresExactZeroBalance` exercises
|
||||
force and moment identities independently and requires exact-zero scale plus exact-zero numerator
|
||||
to pass while any nonzero numerator fails without NaN/Inf or a fabricated normalized metric. This
|
||||
is an unchanged-contract regression and may already pass in the RED batch; it must be present
|
||||
before GREEN.
|
||||
|
||||
Run:
|
||||
Run and record the observed failures:
|
||||
|
||||
```powershell
|
||||
cmake --build --preset windows-msvc-ninja-debug
|
||||
ctest --preset windows-msvc-ninja-debug -R "NonlinearStaticReference|ReferenceTolerance|Mitc4Reference" --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearStaticProcedure|NonlinearHdf5ResultsWriter|NonlinearStaticReference)\." --output-on-failure
|
||||
```
|
||||
|
||||
Expected: new tests fail. Unexpected pass stops.
|
||||
The new tests must fail for the stated reasons. A compile failure caused only by the test-first
|
||||
enum/report extension is valid RED when the diagnostic identifies the missing planned production/
|
||||
test-support behavior. An unexpected pass or unrelated failure stops the Step for classification.
|
||||
|
||||
## GREEN
|
||||
## Minimal GREEN
|
||||
|
||||
Implement `ARTIFACT CHECK -> COPY -> RUN -> COMPARE -> CLASSIFY -> REPORT` while preserving the required public gate wording `ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT` in reports. The runner never passes the original reference input path to `FesaApplication`; it copies input bytes unchanged into a unique build-local temp case directory, runs the copied `.inp`, consumes copied-sibling `_results.h5` and `_log.txt`, and compares HDF5 data to original read-only CSVs. Use exact declared paths and hashes:
|
||||
1. Replace the private raw-residual/initial-coordinate global helper in
|
||||
`src/fesa/analysis/nonlinear_static_procedure.cpp` with the Required physical algorithm above.
|
||||
Keep stable node order, mask-before-conversion, independent applied/reaction conversion and
|
||||
finite failure behavior. Do not change the public procedure header or accepted-state layout.
|
||||
2. In `src/fesa/io/hdf5/nonlinear_hdf5_results_writer.cpp`, preserve the path, shape, component
|
||||
names and schema version; change the exact `/global/equilibrium` location attribute to
|
||||
`global-balance-error` and keep writer validation finite/fail-closed.
|
||||
3. Extend the existing comparator without deleting its partial work:
|
||||
- add fine primary inventory and keep coarse companion/linear control independent;
|
||||
- add `kReviewOnly` and keep local RF/RM key/schema/inventory/finite/row/RMS evidence;
|
||||
- reconstruct the constrained reaction resultant and accepted free residual from the exact HDF5
|
||||
paths/mask; never use `/nodal/reaction` or `/global/equilibrium` as a substitute for all three;
|
||||
- apply internal gates exactly as specified above, using one test-private/internal shared
|
||||
`1.0e-8` constant for both distinct force and moment families;
|
||||
- keep U blocking, UR warning-only, local RF/RM review-only, RM3/stress excluded;
|
||||
- reject blocking missing/extra/duplicate/nonfinite rows before tolerance and retain ordered
|
||||
nonblocking findings;
|
||||
- set overall blocking verdict from blocking external U families AND all internal global/free
|
||||
families only.
|
||||
4. Preserve existing `NSNR-CTRL-018..021`, `NSNR-LOG-012`, Full Newton, fixed factors, iteration
|
||||
limit, 39-field log schema and the already corrected residual selector unchanged.
|
||||
5. Do not change production solver/configuration behavior for the balance threshold. No `fesa.env`,
|
||||
environment variable, CLI option, public API or HDF5 schema change is part of this GREEN.
|
||||
|
||||
| path | rows | SHA-256 |
|
||||
| --- | ---: | --- |
|
||||
| `reference/shellNL/shellNL.inp` | input | `4BF3ECB0F7F1E8462C573E993DBC97AC5D920C91CF6F23AD4C6891D77FFBADA2` |
|
||||
| `reference/shellNL/shellNL displacements.csv` | 49 | `4E0F99CA9372B1ADF7FAF102F43BC0B887DC743FDEDA378E4342D2CF8E0C0786` |
|
||||
| `reference/shellNL/shellNL reactions.csv` | 49 | `001CB1541A9E94424E5E650509D46BC8724970DF4DE47184D9DB09C7938AB069` |
|
||||
| `reference/shellNL/shellNL stresses.csv` | 288 | `5500E5114B1C44887528E30CEC054A1EB0F68BE3F4B8CE81FA59FC74A881483F` |
|
||||
| `reference/shell/shell.inp` | input | `4005851E1AB22FD3A16AC17A8D5DA3E051233F69F37419079F3553AD134ECFCF` |
|
||||
| `reference/shell/shell displacements.csv` | 49 | `C81D94E0B4A849F87AA0F79C83A79B94D5661AC79E44ED826919AB432C87746B` |
|
||||
| `reference/shell/shell reactions.csv` | 49 | `0E34EEC27E700C3C0C744C1DAFD8A3B95EFEF34B8616FE96665876586FE82D41` |
|
||||
| `reference/shell/shell stresses.csv` | 288 | `2B75A5B0DEB045A283C9BB7E9B1153B79F7537FF487214BF4A23316B59B660A7` |
|
||||
## Exact read-only artifact inventory
|
||||
|
||||
Use docs/TOLERANCE.md exactly: family scale `S=max(abs(reference))`, near-zero band `0.01*S`, non-near relative error `<=0.05`, family `RMS(error)/S<=0.01`, zero-scale exact zero only. Original reference directory inventory, bytes, timestamps, and hashes must be unchanged after the run.
|
||||
| case | exact path | rows | SHA-256 |
|
||||
| --- | --- | ---: | --- |
|
||||
| fine primary | `reference/shellNL-meshfine/shellNL-meshfine.inp` | input | `40DF1CE77311C8D799564A21A60F3BDEBB8148D52CAE22B7292FDFAD32018220` |
|
||||
| fine primary | `reference/shellNL-meshfine/shellNL-meshfine displacements.csv` | 729 | `740819FF8AED0E279961581F7CDBFA12784CFBA3A488C35A652E80103F64433F` |
|
||||
| fine primary | `reference/shellNL-meshfine/shellNL-meshfine reactions.csv` | 729 | `AEB01C98C596792B0E5F2B86A81945CAB0BEB0C6969CFC6738C6F81DF1F94363` |
|
||||
| fine optional | `reference/shellNL-meshfine/shellNL-meshfine stresses.csv` | 5,408 | `6D6213AB5DB9D6B1F5FBD641367D08BACC805967B6C5A95BCE0E1A5395377782` |
|
||||
| coarse companion | `reference/shellNL/shellNL.inp` | input | `4BF3ECB0F7F1E8462C573E993DBC97AC5D920C91CF6F23AD4C6891D77FFBADA2` |
|
||||
| coarse companion | `reference/shellNL/shellNL displacements.csv` | 49 | `4E0F99CA9372B1ADF7FAF102F43BC0B887DC743FDEDA378E4342D2CF8E0C0786` |
|
||||
| coarse companion | `reference/shellNL/shellNL reactions.csv` | 49 | `001CB1541A9E94424E5E650509D46BC8724970DF4DE47184D9DB09C7938AB069` |
|
||||
| coarse optional | `reference/shellNL/shellNL stresses.csv` | 288 | `5500E5114B1C44887528E30CEC054A1EB0F68BE3F4B8CE81FA59FC74A881483F` |
|
||||
| linear control | `reference/shell/shell.inp` | input | `4005851E1AB22FD3A16AC17A8D5DA3E051233F69F37419079F3553AD134ECFCF` |
|
||||
| linear control | `reference/shell/shell displacements.csv` | 49 | `C81D94E0B4A849F87AA0F79C83A79B94D5661AC79E44ED826919AB432C87746B` |
|
||||
| linear optional | `reference/shell/shell reactions.csv` | 49 | `0E34EEC27E700C3C0C744C1DAFD8A3B95EFEF34B8616FE96665876586FE82D41` |
|
||||
| linear optional | `reference/shell/shell stresses.csv` | 288 | `2B75A5B0DEB045A283C9BB7E9B1153B79F7537FF487214BF4A23316B59B660A7` |
|
||||
|
||||
## VERIFY
|
||||
For every case, snapshot original inventory, bytes, SHA-256, size and timestamp; copy only the `.inp`
|
||||
bytes to a unique build-local directory; run only the copy; consume copied-sibling `_results.h5` and
|
||||
`_log.txt`; compare against original read-only CSVs; then prove the original inventory is unchanged.
|
||||
|
||||
## External comparison and classification
|
||||
|
||||
- Fine and coarse `U1/U2/U3` are separate blocking families.
|
||||
- Linear `U1/U2/U3` is a blocking regression family.
|
||||
- All `UR1/UR2/UR3` families are warning-only.
|
||||
- Fine/coarse local `RF1/RF2`, `RF3`, spatial `RM1/RM2` are separate review-only families with exact
|
||||
mask-derived keys and complete common-policy error reports.
|
||||
- `RM3` and all stress values have no numerical family. Stress files remain hash-audited optional
|
||||
inventory; the known fine malformed optional stress key is not repaired.
|
||||
- External families use exactly `docs/TOLERANCE.md`: reference-only `S=max(abs(reference))`,
|
||||
`B=0.01*S`, near-zero row `abs(error)<=B`, other-row relative `<=0.05`, family
|
||||
`RMS(error)/S<=0.01`, exact-zero family exact-zero FESA only. No absolute floor, averaging,
|
||||
collapse, row-order identity, clamp or tolerance relaxation.
|
||||
|
||||
The final gate order is literally:
|
||||
|
||||
```text
|
||||
ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT
|
||||
```
|
||||
|
||||
## Focused and full VERIFY
|
||||
|
||||
After minimal GREEN, run in this order and retain command, exit code, duration and output tail for
|
||||
Step 12:
|
||||
|
||||
```powershell
|
||||
cmake --preset windows-msvc-ninja-debug
|
||||
cmake --build --preset windows-msvc-ninja-debug
|
||||
ctest --preset windows-msvc-ninja-debug -R "NonlinearStaticReference|ReferenceTolerance|Mitc4Reference" --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearConvergence|NewtonIterationLog)\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearStaticProcedure|NonlinearHdf5ResultsWriter)\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^NonlinearStaticReference\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearStaticReference|ReferenceTolerance|Mitc4Reference)\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug --show-only=json-v1
|
||||
ctest --preset windows-msvc-ninja-debug --output-on-failure
|
||||
```
|
||||
|
||||
Use the ignored `.harness/config.json` preset contract. The Harness process must inherit VsDevCmd x64 and `FESA_GTEST_SOURCE_DIR`, `MKL_DIR`, `TBB_DIR`, and `HDF5_DIR` from its parent launch environment.
|
||||
The Harness launch environment must be VsDevCmd x64 and inherit `FESA_GTEST_SOURCE_DIR`, `MKL_DIR`,
|
||||
`TBB_DIR`, and `HDF5_DIR`. Do not substitute the solution-only MSBuild path.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- New RED tests fail first for their declared current behavior, then pass after minimal GREEN.
|
||||
- `/global/equilibrium` remains schema v1 `[6]` with the same component names and stores only the
|
||||
current-arm/spatial-moment applied-plus-reaction balance error with
|
||||
`location=global-balance-error`.
|
||||
- Fine/coarse global force and moment normalized metrics are each `<=1e-8`; exact-zero scale follows
|
||||
the exact-zero rule.
|
||||
- Fine/coarse accepted free force and moment residual gates pass NSNR-069 independently.
|
||||
- Fine/coarse U blocking and linear U regression pass `docs/TOLERANCE.md`.
|
||||
- UR differences remain warning-only. Local RF/RM findings remain review-only and cannot fail the
|
||||
blocking verdict. RM3/stress remain excluded.
|
||||
- Missing/extra/duplicate/nonfinite blocking rows fail before tolerance; warning/review findings are
|
||||
deterministic and nonblocking.
|
||||
- Original reference artifact content, inventory, size, timestamp and hash are unchanged.
|
||||
- Focused tests, test discovery and full CTest pass without new compiler warnings.
|
||||
|
||||
## 상태 기록
|
||||
|
||||
Update only Step 11 status and one-line payload. Executor owns timestamps, commits, retry, and advancement.
|
||||
On success, update only Step 11 to `completed` and add one concise `summary`. On an implementation,
|
||||
build, test or reference-comparison failure, classify it and update only the Executor-selected Step's
|
||||
allowed payload. Executor owns retry, timestamps, commits, advancement and top-level status. Do not
|
||||
start Step 12.
|
||||
|
||||
## 금지사항
|
||||
|
||||
- Do not rewrite, rename, normalize, or repair `.inp` or CSV artifacts. 이유: reference artifacts are immutable external evidence.
|
||||
- Do not run `FesaApplication` on original `reference/shellNL/shellNL.inp` or `reference/shell/shell.inp`. 이유: CLI derives sibling outputs and would mutate the reference directory.
|
||||
- Do not compare `RM3`. 이유: approved contract excludes stabilization-dependent drilling reaction.
|
||||
- Do not numerically compare stress CSV data. 이유: stress artifacts are nonblocking inventory only in this feature.
|
||||
- Do not average, omit, synthesize, or row-order match reference rows. 이유: source/component identity prechecks are mandatory.
|
||||
- Do not edit any reference artifact. 이유: exact stored files are immutable external evidence.
|
||||
- Do not run FESA on an original reference `.inp`. 이유: derived sibling outputs would mutate the
|
||||
reference directory.
|
||||
- Do not add HDF5 datasets, change schema version/path/shape/components or add public headers. 이유:
|
||||
Stage 5 requires reconstruction from existing schema-v1 datasets.
|
||||
- Do not use initial coordinates or raw rotational covectors for global physical moment. 이유:
|
||||
`AUDIT-001` requires accepted current arms and spatial moment conversion.
|
||||
- Do not apply the constraint mask after spatial conversion. 이유: partial rotational constraints
|
||||
would mix free residual into reaction.
|
||||
- Do not use `/global/equilibrium`, local `/nodal/reaction` or a raw full-residual sum as a substitute
|
||||
for all three equilibrium quantities. 이유: their physical identities differ.
|
||||
- Do not make local reaction rows blocking or omit their review evidence. 이유: USER-DECISION-004
|
||||
fixes review-only with deterministic findings.
|
||||
- Do not compare `RM3` or stress values, average/collapse rows, match by row order, clamp zero values,
|
||||
add `max(1,S)`, relax tolerance or repair CSVs. 이유: approved identity/tolerance contracts forbid it.
|
||||
- Do not add `fesa.env`, runtime configuration, product solver acceptance, CLI or public API behavior
|
||||
for the `1e-8` gate. 이유: this fixed threshold belongs only to comparator-owned internal verification.
|
||||
- Do not replay or fabricate selector RED, delete partial Step 11 work, reset history, commit, push,
|
||||
run a reference solver, start Step 12, or claim Physics/Release readiness.
|
||||
- Stop and return a classified blocker if the required behavior needs an upstream contract, public
|
||||
API, HDF5 schema, tolerance or reference-artifact change.
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# Step 12: execution-closure-and-evidence-docs
|
||||
|
||||
## 목적
|
||||
|
||||
Step 11이 실제로 통과한 뒤에만 fresh MSVC/CTest와 reference gate evidence를 수집하고 Stage 6
|
||||
canonical reports를 actual output으로 작성한다. 직접 superseded된 PRD/ARCHITECTURE/ADR 문장만
|
||||
최소 동기화한다. 이 Step은 solver 동작을 새로 구현하지 않는다.
|
||||
|
||||
## 읽어야 할 파일
|
||||
|
||||
- `AGENTS.md`
|
||||
@@ -8,85 +14,219 @@
|
||||
- `docs/ADR.md`
|
||||
- `docs/CODINGSTYLE.md`
|
||||
- `docs/TOLERANCE.md`
|
||||
- `docs/nonlinear-static-newton-raphson/implementation-plan.md`
|
||||
- `docs/SOLVER_AGENT_DESIGN.md`
|
||||
- `docs/HARNESS.md`
|
||||
- `docs/HARNESS_WORKFLOW.md`
|
||||
- `docs/nonlinear-static-newton-raphson/requirements.md`
|
||||
- `docs/nonlinear-static-newton-raphson/numerical-review.md`
|
||||
- `docs/nonlinear-static-newton-raphson/reference-model.md`
|
||||
- `docs/nonlinear-static-newton-raphson/io.md`
|
||||
- `docs/nonlinear-static-newton-raphson/formulation.md` §§11.4, 13.1, 13.4, 14.1
|
||||
- `docs/nonlinear-static-newton-raphson/numerical-review.md` §§3.2, 6.2, 6.3
|
||||
- `docs/nonlinear-static-newton-raphson/reference-model.md` §§3–6
|
||||
- `docs/nonlinear-static-newton-raphson/io.md` §§7.5.1, 8.1–8.7
|
||||
- `docs/nonlinear-static-newton-raphson/implementation-plan.md`
|
||||
- `docs/nonlinear-static-newton-raphson/corrections.md` §13
|
||||
- `phases/nonlinear-static-newton-raphson/index.json`
|
||||
- Step 0-11 modified source/test/CMake files
|
||||
- `phases/nonlinear-static-newton-raphson/step11.md`
|
||||
- All source/test/CMake files actually changed by Steps 0–11
|
||||
- `.harness/config.json`
|
||||
- `CMakePresets.json`
|
||||
|
||||
## 이전 Step 전제
|
||||
## 시작 전 hard gate
|
||||
|
||||
Steps 0-11 have implemented and verified CLI lifecycle, Domain contract, nonlinear MITC4, controls, tangent solver, log, state, HDF5 schema v1, full prepared procedure, and reference comparison tests.
|
||||
- Steps 0–10의 completed history를 그대로 유지한다.
|
||||
- Step 11 must be `completed` with an actual summary and passing RED/GREEN/VERIFY evidence.
|
||||
- If Step 11 is not completed, stop without creating/updating evidence docs or global docs.
|
||||
- Do not infer Step 11 success from a prior blocked run, diagnostic spike or translation-only report.
|
||||
|
||||
## 소유 파일
|
||||
|
||||
- Modify: `docs/PRD.md`
|
||||
- Modify: `docs/ARCHITECTURE.md`
|
||||
- Modify: `docs/ADR.md`
|
||||
- Create: `docs/nonlinear-static-newton-raphson/implementation-report.md`
|
||||
- Create: `docs/nonlinear-static-newton-raphson/build-test.md`
|
||||
- Create: `docs/nonlinear-static-newton-raphson/reference-comparison.md`
|
||||
- Modify only directly superseded statements: `docs/PRD.md`
|
||||
- Modify only directly superseded statements: `docs/ARCHITECTURE.md`
|
||||
- Modify only directly superseded decisions or add the minimum accepted decision record:
|
||||
`docs/ADR.md`
|
||||
- Create from actual outputs: `docs/nonlinear-static-newton-raphson/implementation-report.md`
|
||||
- Create from actual outputs: `docs/nonlinear-static-newton-raphson/build-test.md`
|
||||
- Create from actual outputs: `docs/nonlinear-static-newton-raphson/reference-comparison.md`
|
||||
|
||||
No C++ production file is owned by this Step.
|
||||
No C++ production, public header, test, CMake, Harness, reference or tolerance file is owned by this
|
||||
Step.
|
||||
|
||||
## 인터페이스
|
||||
## RED: evidence freshness audit
|
||||
|
||||
Evidence documents must record actual observed outputs:
|
||||
Perform this audit before writing reports. The expected initial result is failure because the three
|
||||
canonical reports are missing or do not contain this Step's fresh evidence.
|
||||
|
||||
```text
|
||||
implementation-report.md: RED/GREEN/VERIFY command log, Step summaries, diagnostics, implementation-owned decisions.
|
||||
build-test.md: fresh configure/build/discovery/full CTest commands, exit codes, duration, stdout/stderr tail, warning audit, failure classification.
|
||||
reference-comparison.md: exact artifact inventory, HDF5 paths, projection, row prechecks, tolerance, per-family decisions, classification, no-change assertion.
|
||||
```
|
||||
- `NSNR-EVID-001`: `implementation-report.md` is missing or stale unless it records every Step 11 new
|
||||
RED test, the observed reason, minimal GREEN diff, focused/full VERIFY and preserved
|
||||
`NSNR-CTRL-018..021`/`NSNR-LOG-012` evidence.
|
||||
- `NSNR-EVID-002`: `build-test.md` is missing or stale unless it records fresh configure, build,
|
||||
discovery, focused/full CTest commands with exit code, duration, output tail, MSVC x64 Debug
|
||||
environment, warning audit and failure classification.
|
||||
- `NSNR-EVID-003`: `reference-comparison.md` is missing or stale unless it records the literal
|
||||
`ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT` run with exact paths/hashes, generated HDF5/log
|
||||
paths, projection, row decisions, metrics, classification and no-change evidence.
|
||||
- `NSNR-EVID-004`: evidence or global docs are stale if they still classify local RF/RM as blocking,
|
||||
omit review-only findings, identify coarse shellNL as the only nonlinear case, or describe
|
||||
`/global/equilibrium` as raw full-residual/initial-arm evidence.
|
||||
- `NSNR-EVID-005`: reference evidence is stale if it lacks fine-primary/coarse-companion/linear-control
|
||||
inventory, separate U/UR/local reaction families, four coarse and four fine internal blocking
|
||||
equilibrium families, the inclusive `1e-8` force/moment boundary and exact-zero-scale regressions,
|
||||
and the distinct constrained-reaction summary.
|
||||
- `NSNR-EVID-006`: implementation evidence is stale unless it closes `AUDIT-001` with actual tests for
|
||||
nonzero prescribed translation/rotation, `x=X+u`, mask-before-conversion, independent
|
||||
`InverseTransposeLeftJacobianSO3(phi)` conversion, and `location=global-balance-error`.
|
||||
- `NSNR-EVID-007`: command evidence is stale if copied from an earlier run, omits artifact pre/post
|
||||
immutability, lacks command output/exit/duration, changes the required stage order, or claims a
|
||||
verdict before CLASSIFY.
|
||||
|
||||
## RED
|
||||
Record this expected failing freshness audit in `implementation-report.md` only after fresh evidence
|
||||
has been collected. If the audit unexpectedly passes before this Step's commands, stop and report the
|
||||
evidence provenance conflict.
|
||||
|
||||
Before writing evidence docs, run an evidence freshness audit by checking that the three evidence docs do not already contain current command outputs from this final Step.
|
||||
## GREEN: fresh evidence execution
|
||||
|
||||
- `NSNR-EVID-001`: missing or stale `implementation-report.md` is a failing precondition.
|
||||
- `NSNR-EVID-002`: missing or stale `build-test.md` is a failing precondition.
|
||||
- `NSNR-EVID-003`: missing or stale `reference-comparison.md` is a failing precondition.
|
||||
- `NSNR-EVID-004`: PRD/ARCHITECTURE/ADR still contain directly superseded global CLI/procedure/output statements.
|
||||
- `NSNR-EVID-005`: reference artifact pre-run SHA inventory must match Step 11 values.
|
||||
Use the ignored `.harness/config.json` and tracked `windows-msvc-ninja-debug` preset. The parent
|
||||
environment must be VsDevCmd x64 and contain `FESA_GTEST_SOURCE_DIR`, `MKL_DIR`, `TBB_DIR`, and
|
||||
`HDF5_DIR`.
|
||||
|
||||
Expected: evidence freshness audit fails before this Step writes docs. If it unexpectedly passes with current evidence already present, stop and report to Coordinator.
|
||||
|
||||
## GREEN
|
||||
|
||||
- Run fresh MSVC x64 Debug configure/build/discovery/full CTest.
|
||||
- Run focused nonlinear reference comparison repeat.
|
||||
- Run deterministic repeat/reference checks required by Step 11.
|
||||
- Run warning audit from build output.
|
||||
- Run `git diff --check` and `git status --short`.
|
||||
- Run reference artifact post-run SHA audit and compare to pre-run values.
|
||||
- Update only directly superseded PRD/ARCHITECTURE/ADR statements for CLI removal, prepared linear/nonlinear procedure boundary, output naming, log lifecycle, and nonlinear HDF5 schema.
|
||||
- Create the three Stage 6 evidence docs from actual command outputs only.
|
||||
|
||||
## VERIFY
|
||||
|
||||
Use the ignored `.harness/config.json` preset contract. The Harness process must inherit VsDevCmd x64 and `FESA_GTEST_SOURCE_DIR`, `MKL_DIR`, `TBB_DIR`, and `HDF5_DIR` from its parent launch environment. Run:
|
||||
### 1. Fresh build and regression evidence
|
||||
|
||||
```powershell
|
||||
cmake --preset windows-msvc-ninja-debug
|
||||
cmake --build --preset windows-msvc-ninja-debug
|
||||
ctest --preset windows-msvc-ninja-debug --show-only=json-v1
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearConvergence|NewtonIterationLog)\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearStaticProcedure|NonlinearHdf5ResultsWriter)\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "NonlinearStaticReference" --output-on-failure
|
||||
```
|
||||
|
||||
Record command, working directory, exit code, duration, stdout/stderr tail and failed-test inventory.
|
||||
Audit new compiler warnings. Stop at the first decisive failure and classify it as
|
||||
`configure | compile | link | test | reference-comparison | harness | environment | upstream-contract`.
|
||||
|
||||
### 2. Final reference gate in literal order
|
||||
|
||||
#### ARTIFACT CHECK
|
||||
|
||||
- Verify every exact fine/coarse/linear input/CSV path and SHA-256 from `reference-model.md` and
|
||||
`step11.md`.
|
||||
- Verify readable headers, exact nonlinear factor-one Frame, source node/component inventories,
|
||||
uniqueness and finite required values.
|
||||
- Snapshot original inventory, size, timestamps and hashes before any copied-input run.
|
||||
- Verify generated results will be written only under unique build-local copied-input directories.
|
||||
|
||||
#### COMPARE
|
||||
|
||||
```powershell
|
||||
ctest --preset windows-msvc-ninja-debug -R "^NonlinearStaticReference\." --output-on-failure
|
||||
ctest --preset windows-msvc-ninja-debug -R "^(NonlinearStaticReference|ReferenceTolerance|Mitc4Reference)\." --output-on-failure
|
||||
```
|
||||
|
||||
Compare by `(case_id, accepted_state, canonical_instance_name, source_node_label, component)`, never
|
||||
by row order. Apply `docs/TOLERANCE.md` only to external U/UR/local-review families. Apply internal
|
||||
`1e-8` force/moment balance and NSNR-069 free-residual gates separately. Preserve the exact
|
||||
blocking/warning/review/excluded dispositions.
|
||||
|
||||
#### CLASSIFY
|
||||
|
||||
- Blocking pass requires fine/coarse U families, linear U regression and all eight fine/coarse
|
||||
internal equilibrium families to pass.
|
||||
- UR failure is warning-only.
|
||||
- Local RF/RM precheck/row/RMS failure is a deterministic review finding and cannot change blocking
|
||||
pass/fail.
|
||||
- RM3/stress values are excluded.
|
||||
- Any blocking missing/extra/duplicate/nonfinite row fails before tolerance.
|
||||
- Classify actual failures without relaxing tolerance, changing artifacts or claiming external solver
|
||||
internal equivalence.
|
||||
|
||||
#### REPORT
|
||||
|
||||
Only after CLASSIFY, write the three canonical reports from actual outputs.
|
||||
|
||||
## Report contracts
|
||||
|
||||
### `implementation-report.md`
|
||||
|
||||
Record metadata, approved upstream hashes, Steps 0–10 preserved summaries, Step 11 RED failures,
|
||||
minimal GREEN file/symbol changes, focused/full VERIFY commands and results, `AUDIT-001` closure,
|
||||
requirement/test traceability, no-change assertion, classification and open issues. Do not invent
|
||||
unobserved output.
|
||||
|
||||
### `build-test.md`
|
||||
|
||||
Use `owner_agent: implementation-agent`. Record execution environment, exact commands, working
|
||||
directories, exit codes, durations, output tails, discovered test inventory, focused/full results,
|
||||
new-warning audit, failure classification, failed tests, handoff recommendation, no-change assertion
|
||||
and open issues.
|
||||
|
||||
### `reference-comparison.md`
|
||||
|
||||
Record exact input/CSV SHA inventory, copied input and generated HDF5/log paths, accepted factor-one
|
||||
frame, every HDF5 projection/path/component, stable source-key matching, row prechecks, external
|
||||
common tolerance, internal gates, per-family/per-row decisions, max absolute error, applicable
|
||||
relative error, RMS/scale metric, constrained-reaction summary, warnings/review findings, final
|
||||
classification, original artifact post-run identity, no-change assertion and open issues.
|
||||
|
||||
The report must explicitly state that FESA HDF5 is authoritative, CSV is external comparison
|
||||
evidence, and numerical agreement does not imply Abaqus S4 internal formulation equivalence.
|
||||
|
||||
## Minimal PRD/ARCHITECTURE/ADR sync
|
||||
|
||||
After actual passing evidence exists, update only statements directly superseded by the implemented
|
||||
feature:
|
||||
|
||||
- repository-wide derived result/log names and removal of `--output`;
|
||||
- prepared parse-once linear/nonlinear procedure boundary and separate nonlinear state/solver/writer;
|
||||
- nonlinear HDF5 schema v1 accepted-frame meaning;
|
||||
- `/global/equilibrium` as current-arm/spatial-moment applied-plus-reaction balance error;
|
||||
- distinct accepted free residual and constrained reaction resultant projections;
|
||||
- fine primary/coarse companion, U blocking, UR warning-only, local RF/RM review-only and RM3/stress
|
||||
exclusion.
|
||||
|
||||
Do not rewrite unrelated V0 history, refactor architecture prose or add future scope.
|
||||
|
||||
## Final validation
|
||||
|
||||
```powershell
|
||||
git diff --check
|
||||
git status --short
|
||||
```
|
||||
|
||||
Record command, exit code, duration, stdout/stderr tail, and failure classification for every command in the evidence docs.
|
||||
Confirm the original reference pre/post hashes, sizes, timestamps and inventory are equal. Confirm
|
||||
that every required report statement is backed by a command or deterministic artifact observation.
|
||||
Harness Python validation is not required because this Step does not change Harness Python, hooks or
|
||||
agent configuration.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- Evidence freshness audit initially fails for the declared stale/missing reason and is recorded.
|
||||
- Fresh configure/build/discovery/focused/full CTest all pass with MSVC x64 Debug and no new warnings.
|
||||
- Final gate executes in exact order `ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT`.
|
||||
- All blocking external and internal families pass; warnings and review findings remain
|
||||
nonblocking and are fully reported.
|
||||
- `AUDIT-001`, fine/coarse roles and reaction disposition have direct test/output evidence.
|
||||
- Three canonical Stage 6 reports contain reproducible commands, metrics, classifications and
|
||||
no-change assertions.
|
||||
- PRD/ARCHITECTURE/ADR edits are limited to directly superseded statements.
|
||||
- `git diff --check` passes and reference artifacts remain byte-for-byte unchanged.
|
||||
|
||||
## 상태 기록
|
||||
|
||||
Update only Step 12 status and one-line payload. Executor owns timestamps, commits, retry, top-level phase completion, and advancement.
|
||||
On success, update only Step 12 to `completed` and add one concise `summary`. Executor owns
|
||||
timestamps, commits, top-level completion and advancement. A passing Step 12 returns Stage 6 evidence
|
||||
to Coordinator; it does not itself dispatch Physics or Release.
|
||||
|
||||
## 금지사항
|
||||
|
||||
- Do not claim success before the commands above actually pass. 이유: Stage 6 evidence docs must be output-backed.
|
||||
- Do not broadly rewrite global docs. 이유: Step 12 only synchronizes directly superseded CLI/procedure/output statements.
|
||||
- Do not change reference artifact content. 이유: SHA pre/post immutability is part of the acceptance evidence.
|
||||
- Do not run `scripts/execute.py` from this Step. 이유: Executor already owns Harness execution.
|
||||
- Do not create or update evidence reports before actual fresh output exists. 이유: Stage 6 reports
|
||||
are execution evidence, not predictions.
|
||||
- Do not change C++ code, tests, CMake, Harness configuration, tolerance or reference artifacts.
|
||||
이유: Step 12 is evidence closure only.
|
||||
- Do not run `scripts/execute.py` from this Step. 이유: Executor already owns the active Step session.
|
||||
- Do not reorder or collapse `ARTIFACT CHECK -> COMPARE -> CLASSIFY -> REPORT`. 이유: schema and
|
||||
identity failures must precede tolerance and verdict.
|
||||
- Do not make local RF/RM blocking, omit their errors, or compare RM3/stress. 이유:
|
||||
USER-DECISION-004 fixes the disposition.
|
||||
- Do not use Abaqus CSV/tolerance for internal balance/free-residual gates or claim Abaqus internal
|
||||
equivalence. 이유: external comparison and internal physics evidence are distinct.
|
||||
- Do not broadly rewrite PRD/ARCHITECTURE/ADR, alter Steps 0–11 history, commit, push, run a reference
|
||||
solver, or claim Physics/Release readiness.
|
||||
|
||||
@@ -136,6 +136,15 @@ Add tests first.
|
||||
- `NSNR-CTRL-016`: empty free channels evaluate with `numerator_norm=0`, `denominator_scale=0`, branch `kZeroScale`, exact zero-scale threshold/unit, and pass.
|
||||
- `NSNR-CTRL-017`: iteration numbering remains `1..100` with no iteration `101`.
|
||||
|
||||
### USER-DECISION-003 option-1 revision addendum
|
||||
|
||||
Step 5의 completed status, summary, timestamps와 commits는 보존한다. 다음 correction tests와 minimal GREEN은 재실행된 Step 5가 아니라 Executor-selected Step 11 안에서 수행한다.
|
||||
|
||||
- `NSNR-CTRL-018`: force와 force-length residual channel 각각에서 matching external vector가 finite exact zero이고 internal/residual이 nonzero여도 `kZeroScale`을 선택한다. Numerator exact `1.0e-3`은 pass, `std::nextafter(1.0e-3, +infinity)`는 fail이며 decision denominator는 exact `0`, threshold unit은 각각 `kForce`, `kForceLength`다. Empty free channel pass도 유지한다.
|
||||
- `NSNR-CTRL-019`: matching external scale이 nonzero이면 internal-dominant와 external-dominant case 모두 denominator `max(||f_int||inf,||f_ext||inf)`를 쓴다. Ratio exact `1.0e-2`는 pass, 바로 위는 fail이다. Numerator가 typed `1.0e-3`보다 작아도 relative ratio가 실패하는 case를 포함하여 absolute/relative OR가 없음을 증명한다.
|
||||
- `NSNR-CTRL-020`: residual/internal/external vector 또는 derived norm의 NaN/Inf는 branch/tolerance acceptance 전에 fail하고 combined pass를 만들지 않는다. `std::nextafter(0.0,+infinity)`인 matching external scale은 tolerance band, zero clamp, `max(1,...)` 없이 nonzero relative branch를 선택한다.
|
||||
- `NSNR-CTRL-021`: force residual, moment residual, translation correction, rotation correction을 하나씩 실패시키는 truth table과 네 channel 모두 pass하는 case로 logical AND를 고정한다. NSNR-070 correction selector, denominators, thresholds와 units는 변경하지 않는다.
|
||||
|
||||
Run:
|
||||
|
||||
```powershell
|
||||
@@ -147,7 +156,7 @@ Expected: new tests fail. Unexpected pass stops.
|
||||
|
||||
## GREEN
|
||||
|
||||
Implement factor sequence derivation, load/BC scaling, global-once fixed-load external vector `f_ext` and external tangent `K_ext` assembly, moment admissibility, and typed convergence-channel evaluation. Residual denominator scale is derived from the provided free internal/external channel values, correction denominator scale from the provided current increment channel values, and zero-scale branches use only `kZeroScale`. Thresholds and threshold units are not caller inputs; `EvaluateNewtonConvergence` assigns the exact branch/channel constants from `requirements.md` and `io.md`. Return structured diagnostics for invalid nonlinear static data, unsupported drilling load, nonfinite Newton data, and nonconvergence readiness.
|
||||
Implement factor sequence derivation, load/BC scaling, global-once fixed-load external vector `f_ext` and external tangent `K_ext` assembly, moment admissibility, and typed convergence-channel evaluation. For the USER-DECISION-003 correction, validate the residual/internal/external values and norms first, select a residual branch from the matching external scale itself, emit denominator exact `0` and typed absolute `1.0e-3` when that scale is exact zero, and otherwise emit retained `max(internal,external)` with relative `1.0e-2`. Correction denominator selection remains derived from current increment values. Thresholds and threshold units are not caller inputs; `EvaluateNewtonConvergence` assigns the exact branch/channel constants from `requirements.md` and `io.md`. Return structured diagnostics for invalid nonlinear static data, unsupported drilling load, nonfinite Newton data, and nonconvergence readiness.
|
||||
|
||||
## VERIFY
|
||||
|
||||
@@ -173,3 +182,4 @@ Update only Step 5 status and one-line payload. Executor owns timestamps, commit
|
||||
- Do not distribute full source-node CLOAD into every incident element. 이유: this would multiply loads by incident element count and violate formulation §11.2.
|
||||
- Do not emit convergence branch labels outside `relative` and `zero-scale`. 이유: io.md exposes exactly those two branches.
|
||||
- Do not accept per-call convergence thresholds or units. 이유: NSNR-069/070 fix branch thresholds and typed units globally.
|
||||
- Do not use internal scale, tolerance bands, clamps, `max(1,...)`, or absolute/relative OR to select a residual branch. 이유: revised NSNR-069 selects only from the finite matching external scale's exact-zero identity.
|
||||
|
||||
@@ -91,6 +91,12 @@ Add tests first.
|
||||
- `NSNR-LOG-010`: write/flush/close failure returns `log-output-failure` and prevents success classification.
|
||||
- `NSNR-LOG-011`: non-Newton controlled failure path can leave a zero-byte log owned by app lifecycle.
|
||||
|
||||
### USER-DECISION-003 option-1 revision addendum
|
||||
|
||||
Step 7의 completed status, summary, timestamps와 commits는 보존한다. Executor-selected Step 11에서 `tests/unit/analysis/newton_iteration_log_test.cpp`에 다음 RED assertion을 추가한다.
|
||||
|
||||
- `NSNR-LOG-012`: synthetic `NewtonChannelDecision`이 아니라 `EvaluateNewtonConvergence`가 만든 residual decisions를 record에 넣는다. Exact-zero matching external channel은 denominator exact `0`, branch `zero-scale`, threshold `1.0e-3`, force 또는 force-length unit으로 직렬화하고, nonzero matching external channel은 retained denominator, branch `relative`, threshold `1.0e-2`, unit `1`로 직렬화한다. 같은 line이 기존 39 labels/order, TAB separation, LF termination을 그대로 유지해야 하므로 기존 selector에서는 RED가 된다.
|
||||
|
||||
Run:
|
||||
|
||||
```powershell
|
||||
@@ -102,7 +108,7 @@ Expected: new tests fail. Unexpected pass stops.
|
||||
|
||||
## GREEN
|
||||
|
||||
Implement a small log writer with explicit open/write/flush/close state, serializer-owned 39-field order, deterministic escaping, finite numeric formatting, `relative`/`zero-scale` convergence branch mapping, typed `not-evaluated(reason)` substitution, and structured `Status` failures.
|
||||
Implement a small log writer with explicit open/write/flush/close state, serializer-owned 39-field order, deterministic escaping, finite numeric formatting, `relative`/`zero-scale` convergence branch mapping, typed `not-evaluated(reason)` substitution, and structured `Status` failures. USER-DECISION-003는 evaluator-produced decision semantics만 바꾸므로 log writer production 또는 `nsnr-log-v1` schema 변경은 예상하지 않는다.
|
||||
|
||||
## VERIFY
|
||||
|
||||
@@ -126,3 +132,4 @@ Update only Step 7 status and one-line payload. Executor owns timestamps, commit
|
||||
- Do not accept arbitrary caller-provided field vectors. 이유: io.md requires an exact fixed schema and order.
|
||||
- Do not write HDF5 trial history. 이유: log is diagnostic and HDF5 stores accepted frames only.
|
||||
- Do not continue after log write/flush/close failure. 이유: log failure blocks result commit.
|
||||
- Do not add, remove, rename, reorder, or re-delimit any `nsnr-log-v1` field. 이유: option 1 changes only residual decision values, not the approved 39-field external log contract.
|
||||
|
||||
@@ -0,0 +1,730 @@
|
||||
Frame,Part Instance Name, Node Label, U-U1, U-U2, U-U3, UR-UR1, UR-UR2, UR-UR3
|
||||
Increment 10: Step Time = 1.000,PART-1-1,1,6.779365380E-38,2.670707390E-37,-1.392530650E-33,-1.296783180E-32,3.327706220E-33,-2.576256400E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,2,-5.138089940E-23,-1.079848970E-22,-2.579570540E-05,2.531837590E-22,-2.139116880E-22,-2.736026800E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,3,2.664621940E-37,6.758098720E-38,-1.392530650E-33,-3.327706220E-33,1.296783180E-32,2.586590970E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,4,1.720532470E-39,1.723835330E-39,-9.809089250E-45,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,5,-6.779365380E-38,-2.670707390E-37,-1.392530650E-33,1.296783180E-32,-3.327706220E-33,-2.576256400E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,6,-2.664621940E-37,-6.758098720E-38,-1.392530650E-33,3.327706220E-33,-1.296783180E-32,2.586590970E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,7,-1.720532470E-39,-1.723835330E-39,-9.809089250E-45,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,8,1.713293360E-39,-1.714043060E-39,-9.809089250E-45,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,9,-1.713293360E-39,1.714043060E-39,-9.809089250E-45,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,10,-1.465105100E-14,4.608230900E-12,-4.230336970E-07,-1.775189500E-06,-8.957552590E-21,6.283452190E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,11,-7.837900790E-15,8.284001960E-12,-1.453224170E-06,-3.189165450E-06,-4.922784150E-20,-3.924416300E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,12,-5.873474690E-15,1.045754890E-11,-2.964382020E-06,-4.303178230E-06,-8.242815380E-20,3.065820140E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,13,-7.352694910E-15,1.106450780E-11,-4.854320650E-06,-5.170747040E-06,-1.127178730E-19,2.365639350E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,14,-7.895479550E-15,1.024299570E-11,-7.037187060E-06,-5.824505020E-06,-1.444758180E-19,2.060161790E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,15,-6.177171570E-15,8.302588650E-12,-9.436607800E-06,-6.280523390E-06,-1.741674660E-19,-1.554707690E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,16,-3.698039550E-15,5.543460660E-12,-1.198001700E-05,-6.539512010E-06,-1.866077720E-19,-3.131247240E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,17,-2.234077770E-15,2.505602930E-12,-1.459266970E-05,-6.587049940E-06,-1.758650480E-19,-2.195425970E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,18,-1.477596670E-15,-3.671380420E-13,-1.719454120E-05,-6.388176190E-06,-1.559119520E-19,-1.346197830E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,19,-7.159013940E-16,-2.487300080E-12,-1.968362270E-05,-5.890973630E-06,-1.278491910E-19,-8.997134200E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,20,-2.972035060E-16,-3.314307600E-12,-2.197472350E-05,-4.959258150E-06,-8.982449910E-20,-7.758910740E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,21,-5.186518060E-17,-1.990058730E-12,-2.378246430E-05,-3.607461850E-06,-4.408232250E-20,-4.720166270E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,22,-1.990056120E-12,1.585984360E-16,-2.378246430E-05,5.009596430E-20,3.607461850E-06,-2.613709150E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,23,-3.314118290E-12,4.717611410E-16,-2.197472350E-05,9.462107390E-20,4.959258150E-06,-4.334589460E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,24,-2.487020360E-12,6.029691910E-16,-1.968362270E-05,1.319897590E-19,5.890973630E-06,-4.184299610E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,25,-3.673278590E-13,5.918061970E-16,-1.719454120E-05,1.609048010E-19,6.388176190E-06,2.901798820E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,26,2.505478460E-12,1.847151610E-16,-1.459266970E-05,1.802282960E-19,6.587049940E-06,9.246283650E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,27,5.543661880E-12,-6.352473940E-16,-1.198001700E-05,1.848755130E-19,6.539512010E-06,1.300119980E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,28,8.301795880E-12,-2.346313240E-15,-9.436607800E-06,1.699262660E-19,6.280523390E-06,-4.084176080E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,29,1.024502620E-11,-3.625752060E-15,-7.037187060E-06,1.367665470E-19,5.824505020E-06,-4.460143040E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,30,1.106519390E-11,-1.117658390E-15,-4.854320650E-06,1.052742940E-19,5.170747040E-06,-5.581853530E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,31,1.045826620E-11,2.255598340E-15,-2.964382020E-06,7.040879950E-20,4.303178230E-06,-6.015170170E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,32,8.283733070E-12,4.034928690E-15,-1.453224170E-06,3.520516880E-20,3.189165450E-06,-5.447473870E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,33,4.602488960E-12,2.730379790E-15,-4.230336970E-07,1.641212610E-20,1.775189500E-06,7.032385170E-17
|
||||
Increment 10: Step Time = 1.000,PART-1-1,34,2.662899350E-37,7.038531610E-38,-1.327163520E-33,-3.450153430E-33,1.308795260E-32,3.520154230E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,35,2.541899590E-37,6.649000340E-38,-1.208515920E-33,-3.471338410E-33,1.280276890E-32,4.186821970E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,36,2.289199290E-37,6.217912170E-38,-1.044171890E-33,-3.389661020E-33,1.213062710E-32,4.499972940E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,37,1.957245810E-37,5.674649500E-38,-8.444257340E-34,-3.210203440E-33,1.111392660E-32,4.469860440E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,38,1.627524540E-37,4.974564150E-38,-6.212958760E-34,-2.944324800E-33,9.815011960E-33,4.175014630E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,39,1.328569170E-37,4.324285990E-38,-3.876785420E-34,-2.608624190E-33,8.311116810E-33,3.710325840E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,40,1.062458440E-37,3.745323550E-38,-1.569647480E-34,-2.223506710E-33,6.689642110E-33,3.158299730E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,41,8.368030900E-38,3.265746810E-38,5.663162140E-35,-1.811597690E-33,5.045077390E-33,2.584109270E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,42,6.693278010E-38,2.870629130E-38,2.369519960E-34,-1.396103780E-33,3.477973340E-33,2.031054610E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,43,5.637075640E-38,2.553485300E-38,3.643700730E-34,-9.988005600E-34,2.095445780E-33,1.534426020E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,44,4.945732710E-38,2.302075820E-38,4.147555030E-34,-6.371733150E-34,1.009454860E-33,1.074239610E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,45,3.995345750E-38,2.045798370E-38,3.708309530E-34,-3.160159290E-34,3.267676850E-34,6.084241750E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,46,-1.235336940E-38,2.799584420E-38,3.968581430E-35,3.139535050E-35,-1.214411020E-34,-6.130330460E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,47,-1.507940640E-38,4.580514810E-38,1.665911510E-34,-5.764281640E-35,-1.373377800E-34,-1.080949020E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,48,-1.601951790E-38,5.396902610E-38,1.277653880E-34,-5.205640000E-34,-1.650962760E-34,-1.500192300E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,49,-1.744561800E-38,6.204400290E-38,-1.954892310E-35,-1.400846810E-33,-2.953483970E-34,-1.869850630E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,50,-2.023524590E-38,7.496628410E-38,-2.261933530E-34,-2.629231520E-33,-5.307863930E-34,-2.149645090E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,51,-2.465410050E-38,9.384442570E-38,-4.571020440E-34,-4.102413570E-33,-8.516759630E-34,-2.277718170E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,52,-3.019732610E-38,1.176938360E-37,-6.893477690E-34,-5.713605270E-33,-1.231331620E-33,-2.210294690E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,53,-3.665460470E-38,1.452072440E-37,-9.066761500E-34,-7.360184490E-33,-1.642734440E-33,-1.912811640E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,54,-4.396036110E-38,1.755116240E-37,-1.096279530E-33,-8.944617160E-33,-2.060060280E-33,-1.379286870E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,55,-5.354226910E-38,2.070741790E-37,-1.247369590E-33,-1.037504910E-32,-2.458917270E-33,-6.060559810E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,56,-6.191166430E-38,2.378926330E-37,-1.350990330E-33,-1.156751240E-32,-2.816478590E-33,3.859960700E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,57,-6.428847390E-38,2.588598030E-37,-1.400542380E-33,-1.245005740E-32,-3.111987580E-33,1.503813260E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,58,1.465105100E-14,-4.608230900E-12,-4.230336970E-07,1.775189500E-06,8.900443200E-21,6.283452190E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,59,7.837900790E-15,-8.284001960E-12,-1.453224170E-06,3.189165450E-06,4.927334290E-20,-3.924416300E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,60,5.873474690E-15,-1.045754890E-11,-2.964382020E-06,4.303178230E-06,8.252398400E-20,3.065820140E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,61,7.352694910E-15,-1.106450780E-11,-4.854320650E-06,5.170747040E-06,1.127630060E-19,2.365639350E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,62,7.895479550E-15,-1.024299570E-11,-7.037187060E-06,5.824505020E-06,1.446274250E-19,2.060161790E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,63,6.177171570E-15,-8.302588650E-12,-9.436607800E-06,6.280523390E-06,1.744454760E-19,-1.554707590E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,64,3.698039550E-15,-5.543460660E-12,-1.198001700E-05,6.539512010E-06,1.869046910E-19,-3.131247020E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,65,2.234077770E-15,-2.505602930E-12,-1.459266970E-05,6.587049940E-06,1.759820290E-19,-2.195425970E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,66,1.477596670E-15,3.671380420E-13,-1.719454120E-05,6.388176190E-06,1.559671150E-19,-1.346197830E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,67,7.159014470E-16,2.487300080E-12,-1.968362270E-05,5.890973630E-06,1.280137220E-19,-8.997134200E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,68,2.972035850E-16,3.314307600E-12,-2.197472350E-05,4.959258150E-06,8.982374950E-20,-7.758911260E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,69,5.186517400E-17,1.990058730E-12,-2.378246430E-05,3.607461850E-06,4.465186860E-20,-4.720167330E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,70,1.990056120E-12,-1.585984090E-16,-2.378246430E-05,-4.984422030E-20,-3.607461850E-06,-2.613708090E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,71,3.314118290E-12,-4.717611940E-16,-2.197472350E-05,-9.455420160E-20,-4.959258150E-06,-4.334590260E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,72,2.487020360E-12,-6.029692440E-16,-1.968362270E-05,-1.323591860E-19,-5.890973630E-06,-4.184300140E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,73,3.673278590E-13,-5.918062500E-16,-1.719454120E-05,-1.609549750E-19,-6.388176190E-06,2.901798560E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,74,-2.505478460E-12,-1.847152670E-16,-1.459266970E-05,-1.797470710E-19,-6.587049940E-06,9.246283650E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,75,-5.543661880E-12,6.352472880E-16,-1.198001700E-05,-1.847266980E-19,-6.539512010E-06,1.300119980E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,76,-8.301795880E-12,2.346313240E-15,-9.436607800E-06,-1.700141790E-19,-6.280523390E-06,-4.084175820E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,77,-1.024502620E-11,3.625751640E-15,-7.037187060E-06,-1.369531530E-19,-5.824505020E-06,-4.460143040E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,78,-1.106519390E-11,1.117658280E-15,-4.854320650E-06,-1.052035960E-19,-5.170747040E-06,-5.581853530E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,79,-1.045826620E-11,-2.255598340E-15,-2.964382020E-06,-7.030010280E-20,-4.303178230E-06,-6.015170170E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,80,-8.283733070E-12,-4.034928690E-15,-1.453224170E-06,-3.516135080E-20,-3.189165450E-06,-5.447473870E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,81,-4.602488960E-12,-2.730379790E-15,-4.230336970E-07,-1.640554900E-20,-1.775189500E-06,7.032385830E-17
|
||||
Increment 10: Step Time = 1.000,PART-1-1,82,-2.662899350E-37,-7.038531610E-38,-1.327163520E-33,3.450153430E-33,-1.308795260E-32,3.520154230E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,83,-2.541899590E-37,-6.649000340E-38,-1.208515920E-33,3.471338410E-33,-1.280276890E-32,4.186821970E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,84,-2.289199290E-37,-6.217912170E-38,-1.044171890E-33,3.389661020E-33,-1.213062710E-32,4.499972940E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,85,-1.957245810E-37,-5.674649500E-38,-8.444257340E-34,3.210203440E-33,-1.111392660E-32,4.469860440E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,86,-1.627524540E-37,-4.974564150E-38,-6.212958760E-34,2.944324800E-33,-9.815011960E-33,4.175014630E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,87,-1.328569170E-37,-4.324285990E-38,-3.876785420E-34,2.608624190E-33,-8.311116810E-33,3.710325840E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,88,-1.062458440E-37,-3.745323550E-38,-1.569647480E-34,2.223506710E-33,-6.689642110E-33,3.158299730E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,89,-8.368030900E-38,-3.265746810E-38,5.663162140E-35,1.811597690E-33,-5.045077390E-33,2.584109270E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,90,-6.693278010E-38,-2.870629130E-38,2.369519960E-34,1.396103780E-33,-3.477973340E-33,2.031054610E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,91,-5.637075640E-38,-2.553485300E-38,3.643700730E-34,9.988005600E-34,-2.095445780E-33,1.534426020E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,92,-4.945732710E-38,-2.302075820E-38,4.147555030E-34,6.371733150E-34,-1.009454860E-33,1.074239610E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,93,-3.995345750E-38,-2.045798370E-38,3.708309530E-34,3.160159290E-34,-3.267676850E-34,6.084241750E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,94,1.235336940E-38,-2.799584420E-38,3.968581430E-35,-3.139535050E-35,1.214411020E-34,-6.130330460E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,95,1.507940640E-38,-4.580514810E-38,1.665911510E-34,5.764281640E-35,1.373377800E-34,-1.080949020E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,96,1.601951790E-38,-5.396902610E-38,1.277653880E-34,5.205640000E-34,1.650962760E-34,-1.500192300E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,97,1.744561800E-38,-6.204400290E-38,-1.954892310E-35,1.400846810E-33,2.953483970E-34,-1.869850630E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,98,2.023524590E-38,-7.496628410E-38,-2.261933530E-34,2.629231520E-33,5.307863930E-34,-2.149645090E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,99,2.465410050E-38,-9.384442570E-38,-4.571020440E-34,4.102413570E-33,8.516759630E-34,-2.277718170E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,100,3.019732610E-38,-1.176938360E-37,-6.893477690E-34,5.713605270E-33,1.231331620E-33,-2.210294690E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,101,3.665460470E-38,-1.452072440E-37,-9.066761500E-34,7.360184490E-33,1.642734440E-33,-1.912811640E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,102,4.396036110E-38,-1.755116240E-37,-1.096279530E-33,8.944617160E-33,2.060060280E-33,-1.379286870E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,103,5.354226910E-38,-2.070741790E-37,-1.247369590E-33,1.037504910E-32,2.458917270E-33,-6.060559810E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,104,6.191166430E-38,-2.378926330E-37,-1.350990330E-33,1.156751240E-32,2.816478590E-33,3.859960700E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,105,6.428847390E-38,-2.588598030E-37,-1.400542380E-33,1.245005740E-32,3.111987580E-33,1.503813260E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,106,-6.502173410E-38,-2.598747910E-37,-1.400542380E-33,1.245005740E-32,-3.111987580E-33,-1.485707080E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,107,-6.138781970E-38,-2.379164890E-37,-1.350990330E-33,1.156751240E-32,-2.816478590E-33,-3.724371060E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,108,-5.316979270E-38,-2.069427260E-37,-1.247369590E-33,1.037504910E-32,-2.458917270E-33,6.131955960E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,109,-4.371835130E-38,-1.753944530E-37,-1.096279530E-33,8.944617160E-33,-2.060060280E-33,1.383434710E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,110,-3.663487720E-38,-1.450029570E-37,-9.066761500E-34,7.360184490E-33,-1.642734440E-33,1.916008000E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,111,-3.025937560E-38,-1.175482470E-37,-6.893477690E-34,5.713605270E-33,-1.231331620E-33,2.210605780E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,112,-2.463965310E-38,-9.378716860E-38,-4.571020440E-34,4.102413570E-33,-8.516759630E-34,2.279017170E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,113,-2.022434380E-38,-7.496406440E-38,-2.261933530E-34,2.629231520E-33,-5.307863930E-34,2.150604980E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,114,-1.742271090E-38,-6.207053230E-38,-1.954892310E-35,1.400846810E-33,-2.953483970E-34,1.871707350E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,115,-1.602265540E-38,-5.394921180E-38,1.277653880E-34,5.205640000E-34,-1.650962760E-34,1.501733730E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,116,-1.505718040E-38,-4.585271100E-38,1.665911510E-34,5.764281640E-35,-1.373377800E-34,1.084307940E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,117,-1.227675200E-38,-2.806057580E-38,3.968581430E-35,-3.139535050E-35,-1.214411020E-34,6.128228510E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,118,2.812350810E-38,1.225036560E-38,3.968581430E-35,-1.214411020E-34,-3.139535050E-35,-6.124557110E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,119,4.586621390E-38,1.496228450E-38,1.665911510E-34,-1.373377800E-34,5.764281640E-35,-1.082665610E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,120,5.409582680E-38,1.598031380E-38,1.277653880E-34,-1.650962760E-34,5.205640000E-34,-1.500887340E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,121,6.218784900E-38,1.740075540E-38,-1.954892310E-35,-2.953483970E-34,1.400846810E-33,-1.869727320E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,122,7.507468290E-38,2.025440720E-38,-2.261933530E-34,-5.307863930E-34,2.629231520E-33,-2.148557690E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,123,9.392642960E-38,2.462484980E-38,-4.571020440E-34,-8.516759630E-34,4.102413570E-33,-2.277947980E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,124,1.176724130E-37,3.027293740E-38,-6.893477690E-34,-1.231331620E-33,5.713605270E-33,-2.209627670E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,125,1.450828420E-37,3.666208760E-38,-9.066761500E-34,-1.642734440E-33,7.360184490E-33,-1.914189120E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,126,1.753611580E-37,4.388815220E-38,-1.096279530E-33,-2.060060280E-33,8.944617160E-33,-1.381812010E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,127,2.068998570E-37,5.328671710E-38,-1.247369590E-33,-2.458917270E-33,1.037504910E-32,-6.096965540E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,128,2.378977900E-37,6.147616310E-38,-1.350990330E-33,-2.816478590E-33,1.156751240E-32,3.771959150E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,129,2.599757970E-37,6.515686410E-38,-1.400542380E-33,-3.111987580E-33,1.245005740E-32,1.494682400E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,130,6.502173410E-38,2.598747910E-37,-1.400542380E-33,-1.245005740E-32,3.111987580E-33,-1.485707080E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,131,6.138781970E-38,2.379164890E-37,-1.350990330E-33,-1.156751240E-32,2.816478590E-33,-3.724371060E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,132,5.316979270E-38,2.069427260E-37,-1.247369590E-33,-1.037504910E-32,2.458917270E-33,6.131955960E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,133,4.371835130E-38,1.753944530E-37,-1.096279530E-33,-8.944617160E-33,2.060060280E-33,1.383434710E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,134,3.663487720E-38,1.450029570E-37,-9.066761500E-34,-7.360184490E-33,1.642734440E-33,1.916008000E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,135,3.025937560E-38,1.175482470E-37,-6.893477690E-34,-5.713605270E-33,1.231331620E-33,2.210605780E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,136,2.463965310E-38,9.378716860E-38,-4.571020440E-34,-4.102413570E-33,8.516759630E-34,2.279017170E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,137,2.022434380E-38,7.496406440E-38,-2.261933530E-34,-2.629231520E-33,5.307863930E-34,2.150604980E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,138,1.742271090E-38,6.207053230E-38,-1.954892310E-35,-1.400846810E-33,2.953483970E-34,1.871707350E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,139,1.602265540E-38,5.394921180E-38,1.277653880E-34,-5.205640000E-34,1.650962760E-34,1.501733730E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,140,1.505718040E-38,4.585271100E-38,1.665911510E-34,-5.764281640E-35,1.373377800E-34,1.084307940E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,141,1.227675200E-38,2.806057580E-38,3.968581430E-35,3.139535050E-35,1.214411020E-34,6.128228510E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,142,-2.812350810E-38,-1.225036560E-38,3.968581430E-35,1.214411020E-34,3.139535050E-35,-6.124557110E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,143,-4.586621390E-38,-1.496228450E-38,1.665911510E-34,1.373377800E-34,-5.764281640E-35,-1.082665610E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,144,-5.409582680E-38,-1.598031380E-38,1.277653880E-34,1.650962760E-34,-5.205640000E-34,-1.500887340E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,145,-6.218784900E-38,-1.740075540E-38,-1.954892310E-35,2.953483970E-34,-1.400846810E-33,-1.869727320E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,146,-7.507468290E-38,-2.025440720E-38,-2.261933530E-34,5.307863930E-34,-2.629231520E-33,-2.148557690E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,147,-9.392642960E-38,-2.462484980E-38,-4.571020440E-34,8.516759630E-34,-4.102413570E-33,-2.277947980E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,148,-1.176724130E-37,-3.027293740E-38,-6.893477690E-34,1.231331620E-33,-5.713605270E-33,-2.209627670E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,149,-1.450828420E-37,-3.666208760E-38,-9.066761500E-34,1.642734440E-33,-7.360184490E-33,-1.914189120E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,150,-1.753611580E-37,-4.388815220E-38,-1.096279530E-33,2.060060280E-33,-8.944617160E-33,-1.381812010E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,151,-2.068998570E-37,-5.328671710E-38,-1.247369590E-33,2.458917270E-33,-1.037504910E-32,-6.096965540E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,152,-2.378977900E-37,-6.147616310E-38,-1.350990330E-33,2.816478590E-33,-1.156751240E-32,3.771959150E-40
|
||||
Increment 10: Step Time = 1.000,PART-1-1,153,-2.599757970E-37,-6.515686410E-38,-1.400542380E-33,3.111987580E-33,-1.245005740E-32,1.494682400E-39
|
||||
Increment 10: Step Time = 1.000,PART-1-1,154,7.605877190E-13,4.529839180E-12,-4.162370710E-07,-1.748542330E-06,5.784412240E-08,-3.559183380E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,155,9.119970400E-13,8.116138840E-12,-1.430816500E-06,-3.142344210E-06,1.292098090E-07,3.369970050E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,156,9.433151960E-13,1.023190040E-11,-2.919613730E-06,-4.240639100E-06,2.386655350E-07,5.539401400E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,157,9.407407580E-13,1.079045190E-11,-4.781691130E-06,-5.095037070E-06,3.768609820E-07,7.099497860E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,158,8.571973970E-13,9.967281340E-12,-6.931774810E-06,-5.736695580E-06,5.403284720E-07,8.765466110E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,159,7.014700780E-13,8.003140680E-12,-9.293547920E-06,-6.180300720E-06,7.282584420E-07,1.239661690E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,160,2.494491700E-13,5.274609740E-12,-1.179366430E-05,-6.425269020E-06,9.426395880E-07,1.670904410E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,161,-2.606513910E-13,2.029846560E-12,-1.435667220E-05,-6.454435150E-06,1.188895570E-06,2.303485530E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,162,-1.443598060E-12,-1.268325720E-12,-1.689656530E-05,-6.232817210E-06,1.477433100E-06,2.264347560E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,163,-1.964809170E-12,-3.924958880E-12,-1.931887710E-05,-5.687964860E-06,1.828230550E-06,2.217174140E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,164,-3.166294050E-12,-5.029010190E-12,-2.146583030E-05,-4.732803520E-06,2.282629790E-06,2.105493730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,165,-4.011739290E-12,-4.011507270E-12,-2.328613660E-05,-2.915862520E-06,2.915862520E-06,-3.641636840E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,166,1.469962500E-12,4.239805990E-12,-3.962906590E-07,-1.670316010E-06,1.119891730E-07,-5.870669080E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,167,1.747556530E-12,7.588998010E-12,-1.365057640E-06,-3.004964360E-06,2.500554220E-07,7.805671800E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,168,1.784363130E-12,9.564650290E-12,-2.788287930E-06,-4.057339990E-06,4.615615690E-07,1.208293770E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,169,1.758249690E-12,1.003998100E-11,-4.568791160E-06,-4.873585570E-06,7.279676880E-07,1.363628290E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,170,1.701434670E-12,9.111600360E-12,-6.623196440E-06,-5.480692830E-06,1.041797190E-06,1.633040380E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,171,1.351022590E-12,6.979543680E-12,-8.875470480E-06,-5.889813560E-06,1.400139810E-06,1.985845950E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,172,6.865336210E-13,3.910286160E-12,-1.125118250E-05,-6.096617200E-06,1.804437940E-06,2.181337360E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,173,-3.564212730E-13,6.344856820E-13,-1.367100960E-05,-6.080296320E-06,2.260454040E-06,2.498677910E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,174,-2.093479250E-12,-2.162767360E-12,-1.604558930E-05,-5.797064200E-06,2.779002440E-06,2.123597520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,175,-3.234289360E-12,-4.096898600E-12,-1.825705290E-05,-5.177693770E-06,3.375005920E-06,1.170088440E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,176,-4.658439870E-12,-4.657417250E-12,-2.017510810E-05,-4.062933390E-06,4.062933390E-06,-8.302612710E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,177,-5.029088690E-12,-3.165756720E-12,-2.146583030E-05,-2.282629790E-06,4.732803520E-06,-2.106799110E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,178,2.004578360E-12,3.678024030E-12,-3.644745450E-07,-1.545478200E-06,1.591139240E-07,-8.149763420E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,179,2.425490150E-12,6.612452770E-12,-1.260177440E-06,-2.785929840E-06,3.550615020E-07,1.081084330E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,180,2.461112910E-12,8.340956400E-12,-2.578987050E-06,-3.765684820E-06,6.547065250E-07,1.712916270E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,181,2.388857560E-12,8.741631550E-12,-4.229968910E-06,-4.522524700E-06,1.030790140E-06,1.695327040E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,182,2.490564830E-12,7.822905520E-12,-6.133229360E-06,-5.077402420E-06,1.471097220E-06,1.579353180E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,183,2.038010170E-12,5.921083070E-12,-8.214096850E-06,-5.436761060E-06,1.968775450E-06,1.494999760E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,184,1.350276440E-12,3.585844300E-12,-1.039746890E-05,-5.592580240E-06,2.521117950E-06,1.416385780E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,185,1.927718580E-14,9.274243700E-13,-1.260225420E-05,-5.520457760E-06,3.127888930E-06,1.303285710E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,186,-1.536190450E-12,-1.671384060E-12,-1.473263180E-05,-5.177444560E-06,3.787876950E-06,8.575522560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,187,-3.219243670E-12,-3.217436300E-12,-1.667437940E-05,-4.490919310E-06,4.490919310E-06,-4.475193760E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,188,-4.097860510E-12,-3.232953400E-12,-1.825705290E-05,-3.375005920E-06,5.177693770E-06,-1.171568270E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,189,-3.925516600E-12,-1.963677270E-12,-1.931887710E-05,-1.828230550E-06,5.687964860E-06,-2.218909730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,190,2.319491600E-12,3.057254320E-12,-3.227702340E-07,-1.381760400E-06,1.965471060E-07,-1.127012550E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,191,2.888604290E-12,5.484188620E-12,-1.122728120E-06,-2.499026550E-06,4.382837910E-07,9.625743130E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,192,2.935854250E-12,6.938523540E-12,-2.304960390E-06,-3.384656570E-06,8.071912700E-07,1.573571030E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,193,2.965442780E-12,7.359251230E-12,-3.787183910E-06,-4.066101610E-06,1.268287410E-06,1.450383760E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,194,3.134459270E-12,6.984419120E-12,-5.494865950E-06,-4.557342890E-06,1.804222050E-06,1.338137720E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,195,2.857426320E-12,5.771543400E-12,-7.356377410E-06,-4.860291480E-06,2.402772450E-06,1.302453910E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,196,2.187376150E-12,3.704674150E-12,-9.298305490E-06,-4.964503660E-06,3.054498850E-06,1.100205860E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,197,1.036719000E-12,1.481222480E-12,-1.124007390E-05,-4.846650880E-06,3.749067450E-06,6.422873840E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,198,-2.766397680E-13,-2.748308040E-13,-1.308937680E-05,-4.469407940E-06,4.469407940E-06,-6.705724260E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,199,-1.673092980E-12,-1.534254280E-12,-1.473263180E-05,-3.787876950E-06,5.177444560E-06,-8.582443570E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,200,-2.164286330E-12,-2.091724580E-12,-1.604558930E-05,-2.779002440E-06,5.797064200E-06,-2.125183930E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,201,-1.268683510E-12,-1.441866700E-12,-1.689656530E-05,-1.477433100E-06,6.232817210E-06,-2.266152980E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,202,2.448034400E-12,2.508812820E-12,-2.736801720E-07,-1.188993560E-06,2.223638660E-07,-1.367111940E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,203,3.129685100E-12,4.530652760E-12,-9.609879040E-07,-2.161632440E-06,4.955470560E-07,6.752103220E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,204,3.228052160E-12,5.813296030E-12,-1.982842830E-06,-2.937789990E-06,9.116487830E-07,1.202291300E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,205,3.369422150E-12,6.266649530E-12,-3.267709420E-06,-3.533567680E-06,1.429662010E-06,9.302259480E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,206,3.762211460E-12,5.823963270E-12,-4.748332690E-06,-3.955949070E-06,2.027434220E-06,8.759301340E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,207,3.544725490E-12,4.819928310E-12,-6.358339760E-06,-4.203226580E-06,2.687085950E-06,7.804325220E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,208,3.240503790E-12,3.678158040E-12,-8.028688170E-06,-4.264822560E-06,3.391833620E-06,3.747883350E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,209,2.377906680E-12,2.380858100E-12,-9.684264110E-06,-4.121603070E-06,4.121603070E-06,4.868461160E-17
|
||||
Increment 10: Step Time = 1.000,PART-1-1,210,1.478672440E-12,1.039537920E-12,-1.124007390E-05,-3.749067450E-06,4.846650880E-06,-6.437659650E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,211,9.256484470E-13,2.181380890E-14,-1.260225420E-05,-3.127888930E-06,5.520457760E-06,-1.305374970E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,212,6.335873120E-13,-3.539702710E-13,-1.367100960E-05,-2.260454040E-06,6.080296320E-06,-2.500612350E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,213,2.029757220E-12,-2.583244760E-13,-1.435667220E-05,-1.188895570E-06,6.454435150E-06,-2.304619820E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,214,2.425356790E-12,2.014302570E-12,-2.200548010E-07,-9.784295120E-07,2.352953890E-07,-1.475470900E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,215,3.182775870E-12,3.680063200E-12,-7.843669320E-07,-1.793393490E-06,5.242625890E-07,4.642379690E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,216,3.337974430E-12,4.821325200E-12,-1.631377240E-06,-2.451112550E-06,9.639044260E-07,9.593170440E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,217,3.566540730E-12,5.353667600E-12,-2.701814310E-06,-2.956205660E-06,1.509642060E-06,4.556346620E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,218,4.284292110E-12,5.420816140E-12,-3.937373550E-06,-3.309288100E-06,2.135708200E-06,3.088132780E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,219,4.101955750E-12,5.060151520E-12,-5.279002380E-06,-3.506307390E-06,2.819474500E-06,1.640236750E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,220,4.272184170E-12,4.276126330E-12,-6.664941790E-06,-3.538164260E-06,3.538164260E-06,-1.477579890E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,221,3.675499570E-12,3.243105000E-12,-8.028688170E-06,-3.391833620E-06,4.264822560E-06,-3.759936160E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,222,3.702088550E-12,2.190295470E-12,-9.298305490E-06,-3.054498850E-06,4.964503660E-06,-1.101612070E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,223,3.583925690E-12,1.353715640E-12,-1.039746890E-05,-2.521117950E-06,5.592580240E-06,-1.418140890E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,224,3.908310740E-12,6.895451550E-13,-1.125118250E-05,-1.804437940E-06,6.096617200E-06,-2.183391490E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,225,5.273634390E-12,2.521082570E-13,-1.179366430E-05,-9.426395880E-07,6.425269020E-06,-1.673643210E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,226,2.275140800E-12,1.578632950E-12,-1.649768390E-07,-7.621962370E-07,2.345043410E-07,-1.491749650E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,227,3.069962040E-12,2.916991080E-12,-6.029597440E-07,-1.415114300E-06,5.229595100E-07,2.575342010E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,228,3.283158030E-12,3.931700450E-12,-1.270402890E-06,-1.951462540E-06,9.620906670E-07,7.063273580E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,229,3.627804870E-12,4.588351400E-12,-2.120968250E-06,-2.365075030E-06,1.506862650E-06,2.283305920E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,230,4.448324520E-12,4.786450750E-12,-3.106383700E-06,-2.651346680E-06,2.129736910E-06,1.387572510E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,231,4.559796120E-12,4.563808970E-12,-4.176552470E-06,-2.805069240E-06,2.805069240E-06,-8.636819620E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,232,5.056746250E-12,4.105149810E-12,-5.279002380E-06,-2.819474500E-06,3.506307390E-06,-1.658447140E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,233,4.817081630E-12,3.548263250E-12,-6.358339760E-06,-2.687085950E-06,4.203226580E-06,-7.827792230E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,234,5.769215830E-12,2.861319900E-12,-7.356377410E-06,-2.402772450E-06,4.860291480E-06,-1.304004860E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,235,5.918574220E-12,2.042348710E-12,-8.214096850E-06,-1.968775450E-06,5.436761060E-06,-1.497541350E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,236,6.978762190E-12,1.355767820E-12,-8.875470480E-06,-1.400139810E-06,5.889813560E-06,-1.989375030E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,237,8.003500640E-12,7.056945090E-13,-9.293547920E-06,-7.282584420E-07,6.180300720E-06,-1.240738850E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,238,2.023883660E-12,1.222524790E-12,-1.117349770E-07,-5.529464600E-07,2.193445850E-07,-1.441123700E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,239,2.807651900E-12,2.285584920E-12,-4.273163090E-07,-1.047964930E-06,4.907916490E-07,2.388409460E-14
|
||||
Increment 10: Step Time = 1.000,PART-1-1,240,3.082579550E-12,3.162011670E-12,-9.202426550E-07,-1.465337050E-06,9.057247890E-07,4.395179700E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,241,3.492325350E-12,3.818547910E-12,-1.556721600E-06,-1.789734600E-06,1.422182320E-06,1.662103480E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,242,4.260135650E-12,4.262988400E-12,-2.298847450E-06,-2.012960980E-06,2.012960980E-06,-6.330658070E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,243,4.782437030E-12,4.452839570E-12,-3.106383700E-06,-2.129736910E-06,2.651346680E-06,-1.387561400E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,244,5.418307730E-12,4.290300320E-12,-3.937373550E-06,-2.135708200E-06,3.309288100E-06,-3.105114910E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,245,5.821463100E-12,3.767292030E-12,-4.748332690E-06,-2.027434220E-06,3.955949070E-06,-8.775516660E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,246,6.981329140E-12,3.139775330E-12,-5.494865950E-06,-1.804222050E-06,4.557342890E-06,-1.340578800E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,247,7.821267940E-12,2.496195310E-12,-6.133229360E-06,-1.471097220E-06,5.077402420E-06,-1.581655810E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,248,9.110038240E-12,1.706444880E-12,-6.623196440E-06,-1.041797190E-06,5.480692830E-06,-1.634769360E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,249,9.966121680E-12,8.617227480E-13,-6.931774810E-06,-5.403284720E-07,5.736695580E-06,-8.802585940E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,250,1.699629480E-12,9.722651290E-13,-6.388837190E-08,-3.636196480E-07,1.893153150E-07,-1.325441280E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,251,2.417979660E-12,1.828138550E-12,-2.683962350E-07,-7.128961100E-07,4.274295120E-07,-1.791614680E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,252,2.710282300E-12,2.563082130E-12,-6.013974600E-07,-1.018178640E-06,7.953950100E-07,1.590074640E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,253,3.142671670E-12,3.146767140E-12,-1.040156350E-06,-1.257826740E-06,1.257826740E-06,1.179825520E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,254,3.815469640E-12,3.497439970E-12,-1.556721600E-06,-1.422182320E-06,1.789734600E-06,-1.678118770E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,255,4.585947510E-12,3.631988810E-12,-2.120968250E-06,-1.506862650E-06,2.365075030E-06,-2.290683920E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,256,5.352556940E-12,3.571355230E-12,-2.701814310E-06,-1.509642060E-06,2.956205660E-06,-4.556109180E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,257,6.265405730E-12,3.375762560E-12,-3.267709420E-06,-1.429662010E-06,3.533567680E-06,-9.295880040E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,258,7.355174630E-12,2.972078960E-12,-3.787183910E-06,-1.268287410E-06,4.066101610E-06,-1.450643530E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,259,8.738671240E-12,2.395300970E-12,-4.229968910E-06,-1.030790140E-06,4.522524700E-06,-1.699337070E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,260,1.003938250E-11,1.764899420E-12,-4.568791160E-06,-7.279676880E-07,4.873585570E-06,-1.367297980E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,261,1.079005200E-11,9.470665350E-13,-4.781691130E-06,-3.768609820E-07,5.095037070E-06,-7.133059880E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,262,1.336669920E-12,8.292395630E-13,-2.536205200E-08,-2.070437400E-07,1.446418740E-07,-1.099716130E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,263,1.925051050E-12,1.553344370E-12,-1.374863100E-07,-4.299135130E-07,3.340076940E-07,-2.496976420E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,264,2.187092950E-12,2.189928790E-12,-3.341762350E-07,-6.338974000E-07,6.338974000E-07,1.139721790E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,265,2.561049250E-12,2.711817530E-12,-6.013974600E-07,-7.953950100E-07,1.018178640E-06,-1.580180890E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,266,3.159377710E-12,3.085509500E-12,-9.202426550E-07,-9.057247890E-07,1.465337050E-06,-4.372861120E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,267,3.929954890E-12,3.287539290E-12,-1.270402890E-06,-9.620906670E-07,1.951462540E-06,-7.063597210E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,268,4.820627840E-12,3.342900610E-12,-1.631377240E-06,-9.639044260E-07,2.451112550E-06,-9.583447320E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,269,5.810955450E-12,3.235156070E-12,-1.982842830E-06,-9.116487830E-07,2.937789990E-06,-1.200569700E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,270,6.936993510E-12,2.943278430E-12,-2.304960390E-06,-8.071912700E-07,3.384656570E-06,-1.573386280E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,271,8.338093240E-12,2.468968170E-12,-2.578987050E-06,-6.547065250E-07,3.765684820E-06,-1.714213520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,272,9.561749830E-12,1.792559920E-12,-2.788287930E-06,-4.615615690E-07,4.057339990E-06,-1.212217180E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,273,1.023187090E-11,9.518617450E-13,-2.919613730E-06,-2.386655350E-07,4.240639100E-06,-5.600055470E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,274,9.533682440E-13,7.267016310E-13,-3.523198680E-10,-9.432790190E-08,8.836911290E-08,-7.011179830E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,275,1.358866040E-12,1.360517820E-12,-4.551087330E-08,-2.163689740E-07,2.163689740E-07,-9.970007660E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,276,1.551278960E-12,1.925395390E-12,-1.374863100E-07,-3.340076940E-07,4.299135130E-07,2.507004210E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,277,1.825107770E-12,2.420547700E-12,-2.683962350E-07,-4.274295120E-07,7.128961100E-07,1.803150860E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,278,2.283611020E-12,2.809275160E-12,-4.273163090E-07,-4.907916490E-07,1.047964930E-06,-2.472519840E-14
|
||||
Increment 10: Step Time = 1.000,PART-1-1,279,2.916685990E-12,3.072578220E-12,-6.029597440E-07,-5.229595100E-07,1.415114300E-06,-2.561898720E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,280,3.678817230E-12,3.186720640E-12,-7.843669320E-07,-5.242625890E-07,1.793393490E-06,-4.611303200E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,281,4.528654360E-12,3.134162420E-12,-9.609879040E-07,-4.955470560E-07,2.161632440E-06,-6.726946470E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,282,5.481189720E-12,2.895519540E-12,-1.122728120E-06,-4.382837910E-07,2.499026550E-06,-9.600475800E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,283,6.608617730E-12,2.435416670E-12,-1.260177440E-06,-3.550615020E-07,2.785929840E-06,-1.080221960E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,284,7.585756680E-12,1.757239210E-12,-1.365057640E-06,-2.500554220E-07,3.004964360E-06,-7.862675900E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,285,8.114588860E-12,9.234886080E-13,-1.430816500E-06,-1.292098090E-07,3.142344210E-06,-3.457798280E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,286,5.417662850E-13,5.420976170E-13,7.750011300E-09,-3.328533180E-08,3.328533180E-08,-7.415687430E-17
|
||||
Increment 10: Step Time = 1.000,PART-1-1,287,7.271025140E-13,9.560194430E-13,-3.523198680E-10,-8.836911290E-08,9.432790190E-08,7.029654640E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,288,8.277872740E-13,1.338493880E-12,-2.536205200E-08,-1.446418740E-07,2.070437400E-07,1.100663610E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,289,9.708659660E-13,1.699902370E-12,-6.388837190E-08,-1.893153150E-07,3.636196480E-07,1.327852650E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,290,1.220153210E-12,2.025230680E-12,-1.117349770E-07,-2.193445850E-07,5.529464600E-07,1.443037100E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,291,1.576421290E-12,2.276456580E-12,-1.649768390E-07,-2.345043410E-07,7.621962370E-07,1.491051310E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,292,2.015832600E-12,2.427233110E-12,-2.200548010E-07,-2.352953890E-07,9.784295120E-07,1.476495790E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,293,2.508174660E-12,2.451969400E-12,-2.736801720E-07,-2.223638660E-07,1.188993560E-06,1.371028830E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,294,3.057524940E-12,2.324597550E-12,-3.227702340E-07,-1.965471060E-07,1.381760400E-06,1.130666520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,295,3.678208350E-12,2.011801100E-12,-3.644745450E-07,-1.591139240E-07,1.545478200E-06,8.257565640E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,296,4.233672010E-12,1.485534790E-12,-3.962906590E-07,-1.119891730E-07,1.670316010E-06,5.918247120E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,297,4.532977730E-12,7.794752800E-13,-4.162370710E-07,-5.784412240E-08,1.748542330E-06,3.629911310E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,298,-7.605877190E-13,-4.529839180E-12,-4.162370710E-07,1.748542330E-06,-5.784412240E-08,-3.559183380E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,299,-9.119970400E-13,-8.116138840E-12,-1.430816500E-06,3.142344210E-06,-1.292098090E-07,3.369970050E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,300,-9.433151960E-13,-1.023190040E-11,-2.919613730E-06,4.240639100E-06,-2.386655350E-07,5.539401400E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,301,-9.407407580E-13,-1.079045190E-11,-4.781691130E-06,5.095037070E-06,-3.768609820E-07,7.099497860E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,302,-8.571973970E-13,-9.967281340E-12,-6.931774810E-06,5.736695580E-06,-5.403284720E-07,8.765466110E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,303,-7.014700780E-13,-8.003140680E-12,-9.293547920E-06,6.180300720E-06,-7.282584420E-07,1.239661690E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,304,-2.494491700E-13,-5.274609740E-12,-1.179366430E-05,6.425269020E-06,-9.426395880E-07,1.670904410E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,305,2.606513910E-13,-2.029846560E-12,-1.435667220E-05,6.454435150E-06,-1.188895570E-06,2.303485530E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,306,1.443598060E-12,1.268325720E-12,-1.689656530E-05,6.232817210E-06,-1.477433100E-06,2.264347560E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,307,1.964809170E-12,3.924958880E-12,-1.931887710E-05,5.687964860E-06,-1.828230550E-06,2.217174140E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,308,3.166294050E-12,5.029010190E-12,-2.146583030E-05,4.732803520E-06,-2.282629790E-06,2.105493730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,309,4.011739290E-12,4.011507270E-12,-2.328613660E-05,2.915862520E-06,-2.915862520E-06,-3.641637100E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,310,-1.469962500E-12,-4.239805990E-12,-3.962906590E-07,1.670316010E-06,-1.119891730E-07,-5.870669080E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,311,-1.747556530E-12,-7.588998010E-12,-1.365057640E-06,3.004964360E-06,-2.500554220E-07,7.805671800E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,312,-1.784363130E-12,-9.564650290E-12,-2.788287930E-06,4.057339990E-06,-4.615615690E-07,1.208293770E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,313,-1.758249690E-12,-1.003998100E-11,-4.568791160E-06,4.873585570E-06,-7.279676880E-07,1.363628290E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,314,-1.701434670E-12,-9.111600360E-12,-6.623196440E-06,5.480692830E-06,-1.041797190E-06,1.633040380E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,315,-1.351022590E-12,-6.979543680E-12,-8.875470480E-06,5.889813560E-06,-1.400139810E-06,1.985845950E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,316,-6.865336210E-13,-3.910286160E-12,-1.125118250E-05,6.096617200E-06,-1.804437940E-06,2.181337360E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,317,3.564212730E-13,-6.344856820E-13,-1.367100960E-05,6.080296320E-06,-2.260454040E-06,2.498677910E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,318,2.093479250E-12,2.162767360E-12,-1.604558930E-05,5.797064200E-06,-2.779002440E-06,2.123597520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,319,3.234289360E-12,4.096898600E-12,-1.825705290E-05,5.177693770E-06,-3.375005920E-06,1.170088440E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,320,4.658439870E-12,4.657417250E-12,-2.017510810E-05,4.062933390E-06,-4.062933390E-06,-8.302612710E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,321,5.029088690E-12,3.165756720E-12,-2.146583030E-05,2.282629790E-06,-4.732803520E-06,-2.106799110E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,322,-2.004578360E-12,-3.678024030E-12,-3.644745450E-07,1.545478200E-06,-1.591139240E-07,-8.149763420E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,323,-2.425490150E-12,-6.612452770E-12,-1.260177440E-06,2.785929840E-06,-3.550615020E-07,1.081084330E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,324,-2.461112910E-12,-8.340956400E-12,-2.578987050E-06,3.765684820E-06,-6.547065250E-07,1.712916270E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,325,-2.388857560E-12,-8.741631550E-12,-4.229968910E-06,4.522524700E-06,-1.030790140E-06,1.695327040E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,326,-2.490564830E-12,-7.822905520E-12,-6.133229360E-06,5.077402420E-06,-1.471097220E-06,1.579353180E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,327,-2.038010170E-12,-5.921083070E-12,-8.214096850E-06,5.436761060E-06,-1.968775450E-06,1.494999760E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,328,-1.350276440E-12,-3.585844300E-12,-1.039746890E-05,5.592580240E-06,-2.521117950E-06,1.416385780E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,329,-1.927718580E-14,-9.274243700E-13,-1.260225420E-05,5.520457760E-06,-3.127888930E-06,1.303285710E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,330,1.536190450E-12,1.671384060E-12,-1.473263180E-05,5.177444560E-06,-3.787876950E-06,8.575522560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,331,3.219243670E-12,3.217436300E-12,-1.667437940E-05,4.490919310E-06,-4.490919310E-06,-4.475193760E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,332,4.097860510E-12,3.232953400E-12,-1.825705290E-05,3.375005920E-06,-5.177693770E-06,-1.171568270E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,333,3.925516600E-12,1.963677270E-12,-1.931887710E-05,1.828230550E-06,-5.687964860E-06,-2.218909730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,334,-2.319491600E-12,-3.057254320E-12,-3.227702340E-07,1.381760400E-06,-1.965471060E-07,-1.127012550E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,335,-2.888604290E-12,-5.484188620E-12,-1.122728120E-06,2.499026550E-06,-4.382837910E-07,9.625743130E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,336,-2.935854250E-12,-6.938523540E-12,-2.304960390E-06,3.384656570E-06,-8.071912700E-07,1.573571030E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,337,-2.965442780E-12,-7.359251230E-12,-3.787183910E-06,4.066101610E-06,-1.268287410E-06,1.450383760E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,338,-3.134459270E-12,-6.984419120E-12,-5.494865950E-06,4.557342890E-06,-1.804222050E-06,1.338137720E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,339,-2.857426320E-12,-5.771543400E-12,-7.356377410E-06,4.860291480E-06,-2.402772450E-06,1.302453910E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,340,-2.187376150E-12,-3.704674150E-12,-9.298305490E-06,4.964503660E-06,-3.054498850E-06,1.100205860E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,341,-1.036719000E-12,-1.481222480E-12,-1.124007390E-05,4.846650880E-06,-3.749067450E-06,6.422873840E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,342,2.766397680E-13,2.748308040E-13,-1.308937680E-05,4.469407940E-06,-4.469407940E-06,-6.705723730E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,343,1.673092980E-12,1.534254280E-12,-1.473263180E-05,3.787876950E-06,-5.177444560E-06,-8.582443570E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,344,2.164286330E-12,2.091724580E-12,-1.604558930E-05,2.779002440E-06,-5.797064200E-06,-2.125183930E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,345,1.268683510E-12,1.441866700E-12,-1.689656530E-05,1.477433100E-06,-6.232817210E-06,-2.266152980E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,346,-2.448034400E-12,-2.508812820E-12,-2.736801720E-07,1.188993560E-06,-2.223638660E-07,-1.367111940E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,347,-3.129685100E-12,-4.530652760E-12,-9.609879040E-07,2.161632440E-06,-4.955470560E-07,6.752103220E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,348,-3.228052160E-12,-5.813296030E-12,-1.982842830E-06,2.937789990E-06,-9.116487830E-07,1.202291300E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,349,-3.369422150E-12,-6.266649530E-12,-3.267709420E-06,3.533567680E-06,-1.429662010E-06,9.302259480E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,350,-3.762211460E-12,-5.823963270E-12,-4.748332690E-06,3.955949070E-06,-2.027434220E-06,8.759301340E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,351,-3.544725490E-12,-4.819928310E-12,-6.358339760E-06,4.203226580E-06,-2.687085950E-06,7.804325220E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,352,-3.240503790E-12,-3.678158040E-12,-8.028688170E-06,4.264822560E-06,-3.391833620E-06,3.747883350E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,353,-2.377906680E-12,-2.380858100E-12,-9.684264110E-06,4.121603070E-06,-4.121603070E-06,4.868461490E-17
|
||||
Increment 10: Step Time = 1.000,PART-1-1,354,-1.478672440E-12,-1.039537920E-12,-1.124007390E-05,3.749067450E-06,-4.846650880E-06,-6.437659650E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,355,-9.256484470E-13,-2.181380890E-14,-1.260225420E-05,3.127888930E-06,-5.520457760E-06,-1.305374970E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,356,-6.335873120E-13,3.539702710E-13,-1.367100960E-05,2.260454040E-06,-6.080296320E-06,-2.500612350E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,357,-2.029757220E-12,2.583244760E-13,-1.435667220E-05,1.188895570E-06,-6.454435150E-06,-2.304619820E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,358,-2.425356790E-12,-2.014302570E-12,-2.200548010E-07,9.784295120E-07,-2.352953890E-07,-1.475470900E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,359,-3.182775870E-12,-3.680063200E-12,-7.843669320E-07,1.793393490E-06,-5.242625890E-07,4.642379690E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,360,-3.337974430E-12,-4.821325200E-12,-1.631377240E-06,2.451112550E-06,-9.639044260E-07,9.593170440E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,361,-3.566540730E-12,-5.353667600E-12,-2.701814310E-06,2.956205660E-06,-1.509642060E-06,4.556346620E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,362,-4.284292110E-12,-5.420816140E-12,-3.937373550E-06,3.309288100E-06,-2.135708200E-06,3.088132780E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,363,-4.101955750E-12,-5.060151520E-12,-5.279002380E-06,3.506307390E-06,-2.819474500E-06,1.640236750E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,364,-4.272184170E-12,-4.276126330E-12,-6.664941790E-06,3.538164260E-06,-3.538164260E-06,-1.477579890E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,365,-3.675499570E-12,-3.243105000E-12,-8.028688170E-06,3.391833620E-06,-4.264822560E-06,-3.759936160E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,366,-3.702088550E-12,-2.190295470E-12,-9.298305490E-06,3.054498850E-06,-4.964503660E-06,-1.101612070E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,367,-3.583925690E-12,-1.353715640E-12,-1.039746890E-05,2.521117950E-06,-5.592580240E-06,-1.418140890E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,368,-3.908310740E-12,-6.895451550E-13,-1.125118250E-05,1.804437940E-06,-6.096617200E-06,-2.183391490E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,369,-5.273634390E-12,-2.521082570E-13,-1.179366430E-05,9.426395880E-07,-6.425269020E-06,-1.673643210E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,370,-2.275140800E-12,-1.578632950E-12,-1.649768390E-07,7.621962370E-07,-2.345043410E-07,-1.491749650E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,371,-3.069962040E-12,-2.916991080E-12,-6.029597440E-07,1.415114300E-06,-5.229595100E-07,2.575342010E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,372,-3.283158030E-12,-3.931700450E-12,-1.270402890E-06,1.951462540E-06,-9.620906670E-07,7.063273580E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,373,-3.627804870E-12,-4.588351400E-12,-2.120968250E-06,2.365075030E-06,-1.506862650E-06,2.283305920E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,374,-4.448324520E-12,-4.786450750E-12,-3.106383700E-06,2.651346680E-06,-2.129736910E-06,1.387572510E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,375,-4.559796120E-12,-4.563808970E-12,-4.176552470E-06,2.805069240E-06,-2.805069240E-06,-8.636819620E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,376,-5.056746250E-12,-4.105149810E-12,-5.279002380E-06,2.819474500E-06,-3.506307390E-06,-1.658447140E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,377,-4.817081630E-12,-3.548263250E-12,-6.358339760E-06,2.687085950E-06,-4.203226580E-06,-7.827792230E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,378,-5.769215830E-12,-2.861319900E-12,-7.356377410E-06,2.402772450E-06,-4.860291480E-06,-1.304004860E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,379,-5.918574220E-12,-2.042348710E-12,-8.214096850E-06,1.968775450E-06,-5.436761060E-06,-1.497541350E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,380,-6.978762190E-12,-1.355767820E-12,-8.875470480E-06,1.400139810E-06,-5.889813560E-06,-1.989375030E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,381,-8.003500640E-12,-7.056945090E-13,-9.293547920E-06,7.282584420E-07,-6.180300720E-06,-1.240738850E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,382,-2.023883660E-12,-1.222524790E-12,-1.117349770E-07,5.529464600E-07,-2.193445850E-07,-1.441123700E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,383,-2.807651900E-12,-2.285584920E-12,-4.273163090E-07,1.047964930E-06,-4.907916490E-07,2.388409460E-14
|
||||
Increment 10: Step Time = 1.000,PART-1-1,384,-3.082579550E-12,-3.162011670E-12,-9.202426550E-07,1.465337050E-06,-9.057247890E-07,4.395179700E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,385,-3.492325350E-12,-3.818547910E-12,-1.556721600E-06,1.789734600E-06,-1.422182320E-06,1.662103480E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,386,-4.260135650E-12,-4.262988400E-12,-2.298847450E-06,2.012960980E-06,-2.012960980E-06,-6.330658070E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,387,-4.782437030E-12,-4.452839570E-12,-3.106383700E-06,2.129736910E-06,-2.651346680E-06,-1.387561400E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,388,-5.418307730E-12,-4.290300320E-12,-3.937373550E-06,2.135708200E-06,-3.309288100E-06,-3.105114910E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,389,-5.821463100E-12,-3.767292030E-12,-4.748332690E-06,2.027434220E-06,-3.955949070E-06,-8.775516660E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,390,-6.981329140E-12,-3.139775330E-12,-5.494865950E-06,1.804222050E-06,-4.557342890E-06,-1.340578800E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,391,-7.821267940E-12,-2.496195310E-12,-6.133229360E-06,1.471097220E-06,-5.077402420E-06,-1.581655810E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,392,-9.110038240E-12,-1.706444880E-12,-6.623196440E-06,1.041797190E-06,-5.480692830E-06,-1.634769360E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,393,-9.966121680E-12,-8.617227480E-13,-6.931774810E-06,5.403284720E-07,-5.736695580E-06,-8.802585940E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,394,-1.699629480E-12,-9.722651290E-13,-6.388837190E-08,3.636196480E-07,-1.893153150E-07,-1.325441280E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,395,-2.417979660E-12,-1.828138550E-12,-2.683962350E-07,7.128961100E-07,-4.274295120E-07,-1.791614680E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,396,-2.710282300E-12,-2.563082130E-12,-6.013974600E-07,1.018178640E-06,-7.953950100E-07,1.590074640E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,397,-3.142671670E-12,-3.146767140E-12,-1.040156350E-06,1.257826740E-06,-1.257826740E-06,1.179825520E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,398,-3.815469640E-12,-3.497439970E-12,-1.556721600E-06,1.422182320E-06,-1.789734600E-06,-1.678118770E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,399,-4.585947510E-12,-3.631988810E-12,-2.120968250E-06,1.506862650E-06,-2.365075030E-06,-2.290683920E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,400,-5.352556940E-12,-3.571355230E-12,-2.701814310E-06,1.509642060E-06,-2.956205660E-06,-4.556109180E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,401,-6.265405730E-12,-3.375762560E-12,-3.267709420E-06,1.429662010E-06,-3.533567680E-06,-9.295880040E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,402,-7.355174630E-12,-2.972078960E-12,-3.787183910E-06,1.268287410E-06,-4.066101610E-06,-1.450643530E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,403,-8.738671240E-12,-2.395300970E-12,-4.229968910E-06,1.030790140E-06,-4.522524700E-06,-1.699337070E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,404,-1.003938250E-11,-1.764899420E-12,-4.568791160E-06,7.279676880E-07,-4.873585570E-06,-1.367297980E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,405,-1.079005200E-11,-9.470665350E-13,-4.781691130E-06,3.768609820E-07,-5.095037070E-06,-7.133059880E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,406,-1.336669920E-12,-8.292395630E-13,-2.536205200E-08,2.070437400E-07,-1.446418740E-07,-1.099716130E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,407,-1.925051050E-12,-1.553344370E-12,-1.374863100E-07,4.299135130E-07,-3.340076940E-07,-2.496976420E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,408,-2.187092950E-12,-2.189928790E-12,-3.341762350E-07,6.338974000E-07,-6.338974000E-07,1.139721790E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,409,-2.561049250E-12,-2.711817530E-12,-6.013974600E-07,7.953950100E-07,-1.018178640E-06,-1.580180890E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,410,-3.159377710E-12,-3.085509500E-12,-9.202426550E-07,9.057247890E-07,-1.465337050E-06,-4.372861120E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,411,-3.929954890E-12,-3.287539290E-12,-1.270402890E-06,9.620906670E-07,-1.951462540E-06,-7.063597210E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,412,-4.820627840E-12,-3.342900610E-12,-1.631377240E-06,9.639044260E-07,-2.451112550E-06,-9.583447320E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,413,-5.810955450E-12,-3.235156070E-12,-1.982842830E-06,9.116487830E-07,-2.937789990E-06,-1.200569700E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,414,-6.936993510E-12,-2.943278430E-12,-2.304960390E-06,8.071912700E-07,-3.384656570E-06,-1.573386280E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,415,-8.338093240E-12,-2.468968170E-12,-2.578987050E-06,6.547065250E-07,-3.765684820E-06,-1.714213520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,416,-9.561749830E-12,-1.792559920E-12,-2.788287930E-06,4.615615690E-07,-4.057339990E-06,-1.212217180E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,417,-1.023187090E-11,-9.518617450E-13,-2.919613730E-06,2.386655350E-07,-4.240639100E-06,-5.600055470E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,418,-9.533682440E-13,-7.267016310E-13,-3.523198680E-10,9.432790190E-08,-8.836911290E-08,-7.011179830E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,419,-1.358866040E-12,-1.360517820E-12,-4.551087330E-08,2.163689740E-07,-2.163689740E-07,-9.970007660E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,420,-1.551278960E-12,-1.925395390E-12,-1.374863100E-07,3.340076940E-07,-4.299135130E-07,2.507004210E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,421,-1.825107770E-12,-2.420547700E-12,-2.683962350E-07,4.274295120E-07,-7.128961100E-07,1.803150860E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,422,-2.283611020E-12,-2.809275160E-12,-4.273163090E-07,4.907916490E-07,-1.047964930E-06,-2.472519840E-14
|
||||
Increment 10: Step Time = 1.000,PART-1-1,423,-2.916685990E-12,-3.072578220E-12,-6.029597440E-07,5.229595100E-07,-1.415114300E-06,-2.561898720E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,424,-3.678817230E-12,-3.186720640E-12,-7.843669320E-07,5.242625890E-07,-1.793393490E-06,-4.611303200E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,425,-4.528654360E-12,-3.134162420E-12,-9.609879040E-07,4.955470560E-07,-2.161632440E-06,-6.726946470E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,426,-5.481189720E-12,-2.895519540E-12,-1.122728120E-06,4.382837910E-07,-2.499026550E-06,-9.600475800E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,427,-6.608617730E-12,-2.435416670E-12,-1.260177440E-06,3.550615020E-07,-2.785929840E-06,-1.080221960E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,428,-7.585756680E-12,-1.757239210E-12,-1.365057640E-06,2.500554220E-07,-3.004964360E-06,-7.862675900E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,429,-8.114588860E-12,-9.234886080E-13,-1.430816500E-06,1.292098090E-07,-3.142344210E-06,-3.457798280E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,430,-5.417662850E-13,-5.420976170E-13,7.750011300E-09,3.328533180E-08,-3.328533180E-08,-7.415687430E-17
|
||||
Increment 10: Step Time = 1.000,PART-1-1,431,-7.271025140E-13,-9.560194430E-13,-3.523198680E-10,8.836911290E-08,-9.432790190E-08,7.029654640E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,432,-8.277872740E-13,-1.338493880E-12,-2.536205200E-08,1.446418740E-07,-2.070437400E-07,1.100663610E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,433,-9.708659660E-13,-1.699902370E-12,-6.388837190E-08,1.893153150E-07,-3.636196480E-07,1.327852650E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,434,-1.220153210E-12,-2.025230680E-12,-1.117349770E-07,2.193445850E-07,-5.529464600E-07,1.443037100E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,435,-1.576421290E-12,-2.276456580E-12,-1.649768390E-07,2.345043410E-07,-7.621962370E-07,1.491051310E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,436,-2.015832600E-12,-2.427233110E-12,-2.200548010E-07,2.352953890E-07,-9.784295120E-07,1.476495790E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,437,-2.508174660E-12,-2.451969400E-12,-2.736801720E-07,2.223638660E-07,-1.188993560E-06,1.371028830E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,438,-3.057524940E-12,-2.324597550E-12,-3.227702340E-07,1.965471060E-07,-1.381760400E-06,1.130666520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,439,-3.678208350E-12,-2.011801100E-12,-3.644745450E-07,1.591139240E-07,-1.545478200E-06,8.257565640E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,440,-4.233672010E-12,-1.485534790E-12,-3.962906590E-07,1.119891730E-07,-1.670316010E-06,5.918247120E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,441,-4.532977730E-12,-7.794752800E-13,-4.162370710E-07,5.784412240E-08,-1.748542330E-06,3.629911310E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,442,-4.011793070E-12,4.011897580E-12,-2.328613660E-05,2.915862520E-06,2.915862520E-06,-6.569860710E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,443,-3.165637020E-12,5.029487240E-12,-2.146583030E-05,4.732803520E-06,2.282629790E-06,-2.107114610E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,444,-1.963604410E-12,3.925321440E-12,-1.931887710E-05,5.687964860E-06,1.828230550E-06,-2.219430150E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,445,-1.441002920E-12,1.268823050E-12,-1.689656530E-05,6.232817210E-06,1.477433100E-06,-2.267640940E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,446,-2.567179600E-13,-2.028637670E-12,-1.435667220E-05,6.454435150E-06,1.188895570E-06,-2.307556490E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,447,2.562277650E-13,-5.273626590E-12,-1.179366430E-05,6.425269020E-06,9.426395880E-07,-1.677006730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,448,7.123855540E-13,-8.004647290E-12,-9.293547920E-06,6.180300720E-06,7.282584420E-07,-1.246746520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,449,8.747381620E-13,-9.971592130E-12,-6.931774810E-06,5.736695580E-06,5.403284720E-07,-8.796490010E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,450,9.575160760E-13,-1.079214060E-11,-4.781691130E-06,5.095037070E-06,3.768609820E-07,-6.929021160E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,451,9.529579820E-13,-1.023300110E-11,-2.919613730E-06,4.240639100E-06,2.386655350E-07,-5.416645860E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,452,9.240144460E-13,-8.118917000E-12,-1.430816500E-06,3.142344210E-06,1.292098090E-07,-3.512839160E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,453,7.903511290E-13,-4.531550480E-12,-4.162370710E-07,1.748542330E-06,5.784412240E-08,3.598722610E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,454,-5.028831520E-12,3.166650970E-12,-2.146583030E-05,2.282629790E-06,4.732803520E-06,2.106288020E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,455,-4.657900370E-12,4.658768600E-12,-2.017510810E-05,4.062933390E-06,4.062933390E-06,-1.186721880E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,456,-3.233130130E-12,4.098318040E-12,-1.825705290E-05,5.177693770E-06,3.375005920E-06,-1.172122730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,457,-2.091407560E-12,2.165053510E-12,-1.604558930E-05,5.797064200E-06,2.779002440E-06,-2.126985870E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,458,-3.524048730E-13,-6.325196990E-13,-1.367100960E-05,6.080296320E-06,2.260454040E-06,-2.501822530E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,459,6.921121120E-13,-3.907793790E-12,-1.125118250E-05,6.096617200E-06,1.804437940E-06,-2.185984470E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,460,1.360643800E-12,-6.979270890E-12,-8.875470480E-06,5.889813560E-06,1.400139810E-06,-1.994487260E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,461,1.714133610E-12,-9.112602170E-12,-6.623196440E-06,5.480692830E-06,1.041797190E-06,-1.654375640E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,462,1.788508580E-12,-1.005834130E-11,-4.568791160E-06,4.873585570E-06,7.279676880E-07,-1.367574890E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,463,1.779443890E-12,-9.578919260E-12,-2.788287930E-06,4.057339990E-06,4.615615690E-07,-1.213401340E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,464,1.761717830E-12,-7.587440220E-12,-1.365057640E-06,3.004964360E-06,2.500554220E-07,-8.057312410E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,465,1.491442600E-12,-4.233708000E-12,-3.962906590E-07,1.670316010E-06,1.119891730E-07,5.943953550E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,466,-3.924948040E-12,1.964476320E-12,-1.931887710E-05,1.828230550E-06,5.687964860E-06,2.218468030E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,467,-4.097279370E-12,3.233998790E-12,-1.825705290E-05,3.375005920E-06,5.177693770E-06,1.171501160E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,468,-3.218668170E-12,3.219158660E-12,-1.667437940E-05,4.490919310E-06,4.490919310E-06,-2.373951710E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,469,-1.534470680E-12,1.674434140E-12,-1.473263180E-05,5.177444560E-06,3.787876950E-06,-8.592055560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,470,2.292377100E-14,-9.249483770E-13,-1.260225420E-05,5.520457760E-06,3.127888930E-06,-1.306449310E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,471,1.355546640E-12,-3.583374700E-12,-1.039746890E-05,5.592580240E-06,2.521117950E-06,-1.420767480E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,472,2.046316680E-12,-5.916929270E-12,-8.214096850E-06,5.436761060E-06,1.968775450E-06,-1.503721520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,473,2.502798750E-12,-7.815276200E-12,-6.133229360E-06,5.077402420E-06,1.471097220E-06,-1.600077280E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,474,2.417849120E-12,-8.719416680E-12,-4.229968910E-06,4.522524700E-06,1.030790140E-06,-1.701126760E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,475,2.455145250E-12,-8.317985190E-12,-2.578987050E-06,3.765684820E-06,6.547065250E-07,-1.714627570E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,476,2.437419620E-12,-6.602297700E-12,-1.260177440E-06,2.785929840E-06,3.550615020E-07,-1.095471260E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,477,2.015091650E-12,-3.676550380E-12,-3.644745450E-07,1.545478200E-06,1.591139240E-07,8.255369590E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,478,-1.268645020E-12,1.442852350E-12,-1.689656530E-05,1.477433100E-06,6.232817210E-06,2.265832050E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,479,-2.163365410E-12,2.092949730E-12,-1.604558930E-05,2.779002440E-06,5.797064200E-06,2.124748730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,480,-1.672677840E-12,1.535939890E-12,-1.473263180E-05,3.787876950E-06,5.177444560E-06,8.575517680E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,481,-2.749146940E-13,2.766141270E-13,-1.308937680E-05,4.469407940E-06,4.469407940E-06,-7.411463640E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,482,1.039821330E-12,-1.477851590E-12,-1.124007390E-05,4.846650880E-06,3.749067450E-06,-6.447996430E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,483,2.192463880E-12,-3.700134380E-12,-9.298305490E-06,4.964503660E-06,3.054498850E-06,-1.104560560E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,484,2.865435970E-12,-5.764777540E-12,-7.356377410E-06,4.860291480E-06,2.402772450E-06,-1.310244660E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,485,3.149968570E-12,-6.973792640E-12,-5.494865950E-06,4.557342890E-06,1.804222050E-06,-1.340110210E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,486,2.980048070E-12,-7.350194240E-12,-3.787183910E-06,4.066101610E-06,1.268287410E-06,-1.433209130E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,487,2.942404780E-12,-6.932885260E-12,-2.304960390E-06,3.384656570E-06,8.071912700E-07,-1.555427550E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,488,2.893724320E-12,-5.476518980E-12,-1.122728120E-06,2.499026550E-06,4.382837910E-07,-9.593215980E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,489,2.325057250E-12,-3.055124080E-12,-3.227702340E-07,1.381760400E-06,1.965471060E-07,1.130006350E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,490,2.029577030E-12,2.587829040E-13,-1.435667220E-05,1.188895570E-06,6.454435150E-06,2.305543340E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,491,6.337231090E-13,3.552256690E-13,-1.367100960E-05,2.260454040E-06,6.080296320E-06,2.500862150E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,492,9.256962600E-13,-2.015924690E-14,-1.260225420E-05,3.127888930E-06,5.520457760E-06,1.305220580E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,493,1.479531340E-12,-1.036966840E-12,-1.124007390E-05,3.749067450E-06,4.846650880E-06,6.429153000E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,494,2.379994420E-12,-2.377755760E-12,-9.684264110E-06,4.121603070E-06,4.121603070E-06,-8.265556610E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,495,3.243994700E-12,-3.674489970E-12,-8.028688170E-06,4.264822560E-06,3.391833620E-06,-3.775789360E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,496,3.552163770E-12,-4.814077090E-12,-6.358339760E-06,4.203226580E-06,2.687085950E-06,-7.818253420E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,497,3.772046480E-12,-5.819614760E-12,-4.748332690E-06,3.955949070E-06,2.027434220E-06,-8.730670270E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,498,3.379689760E-12,-6.261925870E-12,-3.267709420E-06,3.533567680E-06,1.429662010E-06,-9.246641000E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,499,3.236266070E-12,-5.809222030E-12,-1.982842830E-06,2.937789990E-06,9.116487830E-07,-1.196231700E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,500,3.134130540E-12,-4.525401750E-12,-9.609879040E-07,2.161632440E-06,4.955470560E-07,-6.688862790E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,501,2.450638870E-12,-2.507146830E-12,-2.736801720E-07,1.188993560E-06,2.223638660E-07,1.371220520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,502,5.274110140E-12,-2.527845010E-13,-1.179366430E-05,9.426395880E-07,6.425269020E-06,1.674468180E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,503,3.910349040E-12,-6.889255330E-13,-1.125118250E-05,1.804437940E-06,6.096617200E-06,2.185145510E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,504,3.583764800E-12,-1.352489300E-12,-1.039746890E-05,2.521117950E-06,5.592580240E-06,1.420738420E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,505,3.702015690E-12,-2.189407080E-12,-9.298305490E-06,3.054498850E-06,4.964503660E-06,1.102554250E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,506,3.676855260E-12,-3.241111370E-12,-8.028688170E-06,3.391833620E-06,4.264822560E-06,3.758262960E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,507,4.276028750E-12,-4.272648210E-12,-6.664941790E-06,3.538164260E-06,3.538164260E-06,-5.158303590E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,508,4.107653890E-12,-5.057780580E-12,-5.279002380E-06,3.506307390E-06,2.819474500E-06,-1.633067730E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,509,4.292834750E-12,-5.417916120E-12,-3.937373550E-06,3.309288100E-06,2.135708200E-06,-3.091378610E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,510,3.575055180E-12,-5.351431100E-12,-2.701814310E-06,2.956205660E-06,1.509642060E-06,-4.520218560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,511,3.345097640E-12,-4.819549710E-12,-1.631377240E-06,2.451112550E-06,9.639044260E-07,-9.540214760E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,512,3.187332340E-12,-3.676768530E-12,-7.843669320E-07,1.793393490E-06,5.242625890E-07,-4.562716310E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,513,2.426499970E-12,-2.014473870E-12,-2.200548010E-07,9.784295120E-07,2.352953890E-07,1.479454150E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,514,8.007160910E-12,-7.084653500E-13,-9.293547920E-06,7.282584420E-07,6.180300720E-06,1.245435610E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,515,6.979515490E-12,-1.356574790E-12,-8.875470480E-06,1.400139810E-06,5.889813560E-06,1.995057980E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,516,5.917673040E-12,-2.042385570E-12,-8.214096850E-06,1.968775450E-06,5.436761060E-06,1.501254740E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,517,5.767494550E-12,-2.861856150E-12,-7.356377410E-06,2.402772450E-06,4.860291480E-06,1.307332060E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,518,4.817403850E-12,-3.548873650E-12,-6.358339760E-06,2.687085950E-06,4.203226580E-06,7.818321730E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,519,5.059731280E-12,-4.104139770E-12,-5.279002380E-06,2.819474500E-06,3.506307390E-06,1.641224590E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,520,4.565687670E-12,-4.563101630E-12,-4.176552470E-06,2.805069240E-06,2.805069240E-06,-6.030166780E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,521,4.454682280E-12,-4.783908510E-12,-3.106383700E-06,2.651346680E-06,2.129736910E-06,-1.362355190E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,522,3.632858550E-12,-4.588234740E-12,-2.120968250E-06,2.365075030E-06,1.506862650E-06,-2.267967040E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,523,3.289959880E-12,-3.931933340E-12,-1.270402890E-06,1.951462540E-06,9.620906670E-07,-7.036918790E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,524,3.072833650E-12,-2.917692780E-12,-6.029597440E-07,1.415114300E-06,5.229595100E-07,-2.515946980E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,525,2.276186400E-12,-1.578272990E-12,-1.649768390E-07,7.621962370E-07,2.345043410E-07,1.493394060E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,526,9.971777740E-12,-8.702070100E-13,-6.931774810E-06,5.403284720E-07,5.736695580E-06,8.777472560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,527,9.115593700E-12,-1.710230050E-12,-6.623196440E-06,1.041797190E-06,5.480692830E-06,1.651890760E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,528,7.817996250E-12,-2.498487740E-12,-6.133229360E-06,1.471097220E-06,5.077402420E-06,1.600465200E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,529,6.975374270E-12,-3.145208270E-12,-5.494865950E-06,1.804222050E-06,4.557342890E-06,1.338620620E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,530,5.824092080E-12,-3.768849380E-12,-4.748332690E-06,2.027434220E-06,3.955949070E-06,8.721384070E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,531,5.420009930E-12,-4.289941670E-12,-3.937373550E-06,2.135708200E-06,3.309288100E-06,3.099190830E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,532,4.787599570E-12,-4.451974380E-12,-3.106383700E-06,2.129736910E-06,2.651346680E-06,1.363172410E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,533,4.265349360E-12,-4.262683520E-12,-2.298847450E-06,2.012960980E-06,2.012960980E-06,3.018094330E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,534,3.498477770E-12,-3.819044040E-12,-1.556721600E-06,1.789734600E-06,1.422182320E-06,-1.663426610E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,535,3.087178520E-12,-3.162503030E-12,-9.202426550E-07,1.465337050E-06,9.057247890E-07,-4.379328930E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,536,2.812391810E-12,-2.286327380E-12,-4.273163090E-07,1.047964930E-06,4.907916490E-07,-2.162959790E-14
|
||||
Increment 10: Step Time = 1.000,PART-1-1,537,2.025531220E-12,-1.222214500E-12,-1.117349770E-07,5.529464600E-07,2.193445850E-07,1.444523650E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,538,1.079274520E-11,-9.516824180E-13,-4.781691130E-06,3.768609820E-07,5.095037070E-06,6.905079810E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,539,1.005905860E-11,-1.783273180E-12,-4.568791160E-06,7.279676880E-07,4.873585570E-06,1.364809090E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,540,8.721025640E-12,-2.413063020E-12,-4.229968910E-06,1.030790140E-06,4.522524700E-06,1.698503640E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,541,7.353111180E-12,-2.975666370E-12,-3.787183910E-06,1.268287410E-06,4.066101610E-06,1.431998510E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,542,6.265025390E-12,-3.375605130E-12,-3.267709420E-06,1.429662010E-06,3.533567680E-06,9.233308560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,543,5.356264480E-12,-3.571658590E-12,-2.701814310E-06,1.509642060E-06,2.956205660E-06,4.531161960E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,544,4.589107310E-12,-3.631069400E-12,-2.120968250E-06,1.506862650E-06,2.365075030E-06,2.289901940E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,545,3.820136050E-12,-3.495749050E-12,-1.556721600E-06,1.422182320E-06,1.789734600E-06,1.665148870E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,546,3.146803350E-12,-3.146191860E-12,-1.040156350E-06,1.257826740E-06,1.257826740E-06,2.166217280E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,547,2.712980450E-12,-2.564124690E-12,-6.013974600E-07,1.018178640E-06,7.953950100E-07,-1.596069600E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,548,2.421551020E-12,-1.829490340E-12,-2.683962350E-07,7.128961100E-07,4.274295120E-07,1.792254900E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,549,1.701706810E-12,-9.726053510E-13,-6.388837190E-08,3.636196480E-07,1.893153150E-07,1.326739170E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,550,1.023592060E-11,-9.446010600E-13,-2.919613730E-06,2.386655350E-07,4.240639100E-06,5.379869180E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,551,9.580981840E-12,-1.772116310E-12,-2.788287930E-06,4.615615690E-07,4.057339990E-06,1.211368900E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,552,8.319622770E-12,-2.448850580E-12,-2.578987050E-06,6.547065250E-07,3.765684820E-06,1.715034150E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,553,6.933257790E-12,-2.937140110E-12,-2.304960390E-06,8.071912700E-07,3.384656570E-06,1.554103200E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,554,5.810939840E-12,-3.232590190E-12,-1.982842830E-06,9.116487830E-07,2.937789990E-06,1.194721840E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,555,4.821652630E-12,-3.341611710E-12,-1.631377240E-06,9.639044260E-07,2.451112550E-06,9.536951310E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,556,3.933384870E-12,-3.286789030E-12,-1.270402890E-06,9.620906670E-07,1.951462540E-06,7.051198280E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,557,3.161372860E-12,-3.084074010E-12,-9.202426550E-07,9.057247890E-07,1.465337050E-06,4.378456960E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,558,2.565304740E-12,-2.712086410E-12,-6.013974600E-07,7.953950100E-07,1.018178640E-06,1.579476970E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,559,2.188959520E-12,-2.189038010E-12,-3.341762350E-07,6.338974000E-07,6.338974000E-07,-1.650626760E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,560,1.927665930E-12,-1.552701540E-12,-1.374863100E-07,4.299135130E-07,3.340076940E-07,2.485550830E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,561,1.337560920E-12,-8.271951920E-13,-2.536205200E-08,2.070437400E-07,1.446418740E-07,1.101002750E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,562,8.122329200E-12,-9.137562670E-13,-1.430816500E-06,1.292098090E-07,3.142344210E-06,3.440563260E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,563,7.591945300E-12,-1.752093050E-12,-1.365057640E-06,2.500554220E-07,3.004964360E-06,8.072037500E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,564,6.602488090E-12,-2.431203460E-12,-1.260177440E-06,3.550615020E-07,2.785929840E-06,1.099997260E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,565,5.475322020E-12,-2.887377840E-12,-1.122728120E-06,4.382837910E-07,2.499026550E-06,9.588583180E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,566,4.528241500E-12,-3.129654090E-12,-9.609879040E-07,4.955470560E-07,2.161632440E-06,6.660167750E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,567,3.681070640E-12,-3.183412080E-12,-7.843669320E-07,5.242625890E-07,1.793393490E-06,4.592989400E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,568,2.917687140E-12,-3.070282530E-12,-6.029597440E-07,5.229595100E-07,1.415114300E-06,2.550439510E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,569,2.287250900E-12,-2.808855580E-12,-4.273163090E-07,4.907916490E-07,1.047964930E-06,2.348876060E-14
|
||||
Increment 10: Step Time = 1.000,PART-1-1,570,1.827185320E-12,-2.419839940E-12,-2.683962350E-07,4.274295120E-07,7.128961100E-07,-1.792136450E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,571,1.552572310E-12,-1.924191060E-12,-1.374863100E-07,3.340076940E-07,4.299135130E-07,-2.510061390E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,572,1.360165560E-12,-1.359298740E-12,-4.551087330E-08,2.163689740E-07,2.163689740E-07,-1.006393940E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,573,9.569519660E-13,-7.265311940E-13,-3.523198680E-10,9.432790190E-08,8.836911290E-08,7.032130950E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,574,4.536817540E-12,-7.753369340E-13,-4.162370710E-07,5.784412240E-08,1.748542330E-06,-3.569228790E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,575,4.233411360E-12,-1.483330280E-12,-3.962906590E-07,1.119891730E-07,1.670316010E-06,-5.864615980E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,576,3.679102160E-12,-2.009859730E-12,-3.644745450E-07,1.591139240E-07,1.545478200E-06,-8.212369590E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,577,3.055074860E-12,-2.321922170E-12,-3.227702340E-07,1.965471060E-07,1.381760400E-06,-1.122752060E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,578,2.505242110E-12,-2.448043500E-12,-2.736801720E-07,2.223638660E-07,1.188993560E-06,-1.368601850E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,579,2.014351790E-12,-2.424887980E-12,-2.200548010E-07,2.352953890E-07,9.784295120E-07,-1.478013670E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,580,1.578640760E-12,-2.275624570E-12,-1.649768390E-07,2.345043410E-07,7.621962370E-07,-1.491418210E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,581,1.221920350E-12,-2.023853740E-12,-1.117349770E-07,2.193445850E-07,5.529464600E-07,-1.442611220E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,582,9.729181440E-13,-1.699563120E-12,-6.388837190E-08,1.893153150E-07,3.636196480E-07,-1.326686160E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,583,8.283531200E-13,-1.336279940E-12,-2.536205200E-08,1.446418740E-07,2.070437400E-07,-1.097490800E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,584,7.251905240E-13,-9.556255530E-13,-3.523198680E-10,8.836911290E-08,9.432790190E-08,-7.015001640E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,585,5.410511990E-13,-5.415084070E-13,7.750011300E-09,3.328533180E-08,3.328533180E-08,-9.262992430E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,586,4.011793070E-12,-4.011897580E-12,-2.328613660E-05,-2.915862520E-06,-2.915862520E-06,-6.569860710E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,587,3.165637020E-12,-5.029487240E-12,-2.146583030E-05,-4.732803520E-06,-2.282629790E-06,-2.107114610E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,588,1.963604410E-12,-3.925321440E-12,-1.931887710E-05,-5.687964860E-06,-1.828230550E-06,-2.219430150E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,589,1.441002920E-12,-1.268823050E-12,-1.689656530E-05,-6.232817210E-06,-1.477433100E-06,-2.267640940E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,590,2.567179600E-13,2.028637670E-12,-1.435667220E-05,-6.454435150E-06,-1.188895570E-06,-2.307556490E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,591,-2.562277650E-13,5.273626590E-12,-1.179366430E-05,-6.425269020E-06,-9.426395880E-07,-1.677006730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,592,-7.123855540E-13,8.004647290E-12,-9.293547920E-06,-6.180300720E-06,-7.282584420E-07,-1.246746520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,593,-8.747381620E-13,9.971592130E-12,-6.931774810E-06,-5.736695580E-06,-5.403284720E-07,-8.796490010E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,594,-9.575160760E-13,1.079214060E-11,-4.781691130E-06,-5.095037070E-06,-3.768609820E-07,-6.929021160E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,595,-9.529579820E-13,1.023300110E-11,-2.919613730E-06,-4.240639100E-06,-2.386655350E-07,-5.416645860E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,596,-9.240144460E-13,8.118917000E-12,-1.430816500E-06,-3.142344210E-06,-1.292098090E-07,-3.512839160E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,597,-7.903511290E-13,4.531550480E-12,-4.162370710E-07,-1.748542330E-06,-5.784412240E-08,3.598722610E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,598,5.028831520E-12,-3.166650970E-12,-2.146583030E-05,-2.282629790E-06,-4.732803520E-06,2.106288020E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,599,4.657900370E-12,-4.658768600E-12,-2.017510810E-05,-4.062933390E-06,-4.062933390E-06,-1.186721750E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,600,3.233130130E-12,-4.098318040E-12,-1.825705290E-05,-5.177693770E-06,-3.375005920E-06,-1.172122730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,601,2.091407560E-12,-2.165053510E-12,-1.604558930E-05,-5.797064200E-06,-2.779002440E-06,-2.126985870E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,602,3.524048730E-13,6.325196990E-13,-1.367100960E-05,-6.080296320E-06,-2.260454040E-06,-2.501822530E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,603,-6.921121120E-13,3.907793790E-12,-1.125118250E-05,-6.096617200E-06,-1.804437940E-06,-2.185984470E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,604,-1.360643800E-12,6.979270890E-12,-8.875470480E-06,-5.889813560E-06,-1.400139810E-06,-1.994487260E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,605,-1.714133610E-12,9.112602170E-12,-6.623196440E-06,-5.480692830E-06,-1.041797190E-06,-1.654375640E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,606,-1.788508580E-12,1.005834130E-11,-4.568791160E-06,-4.873585570E-06,-7.279676880E-07,-1.367574890E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,607,-1.779443890E-12,9.578919260E-12,-2.788287930E-06,-4.057339990E-06,-4.615615690E-07,-1.213401340E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,608,-1.761717830E-12,7.587440220E-12,-1.365057640E-06,-3.004964360E-06,-2.500554220E-07,-8.057312410E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,609,-1.491442600E-12,4.233708000E-12,-3.962906590E-07,-1.670316010E-06,-1.119891730E-07,5.943953550E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,610,3.924948040E-12,-1.964476320E-12,-1.931887710E-05,-1.828230550E-06,-5.687964860E-06,2.218468030E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,611,4.097279370E-12,-3.233998790E-12,-1.825705290E-05,-3.375005920E-06,-5.177693770E-06,1.171501160E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,612,3.218668170E-12,-3.219158660E-12,-1.667437940E-05,-4.490919310E-06,-4.490919310E-06,-2.373951710E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,613,1.534470680E-12,-1.674434140E-12,-1.473263180E-05,-5.177444560E-06,-3.787876950E-06,-8.592055560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,614,-2.292377100E-14,9.249483770E-13,-1.260225420E-05,-5.520457760E-06,-3.127888930E-06,-1.306449310E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,615,-1.355546640E-12,3.583374700E-12,-1.039746890E-05,-5.592580240E-06,-2.521117950E-06,-1.420767480E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,616,-2.046316680E-12,5.916929270E-12,-8.214096850E-06,-5.436761060E-06,-1.968775450E-06,-1.503721520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,617,-2.502798750E-12,7.815276200E-12,-6.133229360E-06,-5.077402420E-06,-1.471097220E-06,-1.600077280E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,618,-2.417849120E-12,8.719416680E-12,-4.229968910E-06,-4.522524700E-06,-1.030790140E-06,-1.701126760E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,619,-2.455145250E-12,8.317985190E-12,-2.578987050E-06,-3.765684820E-06,-6.547065250E-07,-1.714627570E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,620,-2.437419620E-12,6.602297700E-12,-1.260177440E-06,-2.785929840E-06,-3.550615020E-07,-1.095471260E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,621,-2.015091650E-12,3.676550380E-12,-3.644745450E-07,-1.545478200E-06,-1.591139240E-07,8.255369590E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,622,1.268645020E-12,-1.442852350E-12,-1.689656530E-05,-1.477433100E-06,-6.232817210E-06,2.265832050E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,623,2.163365410E-12,-2.092949730E-12,-1.604558930E-05,-2.779002440E-06,-5.797064200E-06,2.124748730E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,624,1.672677840E-12,-1.535939890E-12,-1.473263180E-05,-3.787876950E-06,-5.177444560E-06,8.575517680E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,625,2.749146940E-13,-2.766141270E-13,-1.308937680E-05,-4.469407940E-06,-4.469407940E-06,-7.411463640E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,626,-1.039821330E-12,1.477851590E-12,-1.124007390E-05,-4.846650880E-06,-3.749067450E-06,-6.447996430E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,627,-2.192463880E-12,3.700134380E-12,-9.298305490E-06,-4.964503660E-06,-3.054498850E-06,-1.104560560E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,628,-2.865435970E-12,5.764777540E-12,-7.356377410E-06,-4.860291480E-06,-2.402772450E-06,-1.310244660E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,629,-3.149968570E-12,6.973792640E-12,-5.494865950E-06,-4.557342890E-06,-1.804222050E-06,-1.340110210E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,630,-2.980048070E-12,7.350194240E-12,-3.787183910E-06,-4.066101610E-06,-1.268287410E-06,-1.433209130E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,631,-2.942404780E-12,6.932885260E-12,-2.304960390E-06,-3.384656570E-06,-8.071912700E-07,-1.555427550E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,632,-2.893724320E-12,5.476518980E-12,-1.122728120E-06,-2.499026550E-06,-4.382837910E-07,-9.593215980E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,633,-2.325057250E-12,3.055124080E-12,-3.227702340E-07,-1.381760400E-06,-1.965471060E-07,1.130006350E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,634,-2.029577030E-12,-2.587829040E-13,-1.435667220E-05,-1.188895570E-06,-6.454435150E-06,2.305543340E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,635,-6.337231090E-13,-3.552256690E-13,-1.367100960E-05,-2.260454040E-06,-6.080296320E-06,2.500862150E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,636,-9.256962600E-13,2.015924690E-14,-1.260225420E-05,-3.127888930E-06,-5.520457760E-06,1.305220580E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,637,-1.479531340E-12,1.036966840E-12,-1.124007390E-05,-3.749067450E-06,-4.846650880E-06,6.429153000E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,638,-2.379994420E-12,2.377755760E-12,-9.684264110E-06,-4.121603070E-06,-4.121603070E-06,-8.265556610E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,639,-3.243994700E-12,3.674489970E-12,-8.028688170E-06,-4.264822560E-06,-3.391833620E-06,-3.775789360E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,640,-3.552163770E-12,4.814077090E-12,-6.358339760E-06,-4.203226580E-06,-2.687085950E-06,-7.818253420E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,641,-3.772046480E-12,5.819614760E-12,-4.748332690E-06,-3.955949070E-06,-2.027434220E-06,-8.730670270E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,642,-3.379689760E-12,6.261925870E-12,-3.267709420E-06,-3.533567680E-06,-1.429662010E-06,-9.246641000E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,643,-3.236266070E-12,5.809222030E-12,-1.982842830E-06,-2.937789990E-06,-9.116487830E-07,-1.196231700E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,644,-3.134130540E-12,4.525401750E-12,-9.609879040E-07,-2.161632440E-06,-4.955470560E-07,-6.688862790E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,645,-2.450638870E-12,2.507146830E-12,-2.736801720E-07,-1.188993560E-06,-2.223638660E-07,1.371220520E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,646,-5.274110140E-12,2.527845010E-13,-1.179366430E-05,-9.426395880E-07,-6.425269020E-06,1.674468180E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,647,-3.910349040E-12,6.889255330E-13,-1.125118250E-05,-1.804437940E-06,-6.096617200E-06,2.185145510E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,648,-3.583764800E-12,1.352489300E-12,-1.039746890E-05,-2.521117950E-06,-5.592580240E-06,1.420738420E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,649,-3.702015690E-12,2.189407080E-12,-9.298305490E-06,-3.054498850E-06,-4.964503660E-06,1.102554250E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,650,-3.676855260E-12,3.241111370E-12,-8.028688170E-06,-3.391833620E-06,-4.264822560E-06,3.758262960E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,651,-4.276028750E-12,4.272648210E-12,-6.664941790E-06,-3.538164260E-06,-3.538164260E-06,-5.158303590E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,652,-4.107653890E-12,5.057780580E-12,-5.279002380E-06,-3.506307390E-06,-2.819474500E-06,-1.633067730E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,653,-4.292834750E-12,5.417916120E-12,-3.937373550E-06,-3.309288100E-06,-2.135708200E-06,-3.091378610E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,654,-3.575055180E-12,5.351431100E-12,-2.701814310E-06,-2.956205660E-06,-1.509642060E-06,-4.520218560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,655,-3.345097640E-12,4.819549710E-12,-1.631377240E-06,-2.451112550E-06,-9.639044260E-07,-9.540214760E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,656,-3.187332340E-12,3.676768530E-12,-7.843669320E-07,-1.793393490E-06,-5.242625890E-07,-4.562716310E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,657,-2.426499970E-12,2.014473870E-12,-2.200548010E-07,-9.784295120E-07,-2.352953890E-07,1.479454150E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,658,-8.007160910E-12,7.084653500E-13,-9.293547920E-06,-7.282584420E-07,-6.180300720E-06,1.245435610E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,659,-6.979515490E-12,1.356574790E-12,-8.875470480E-06,-1.400139810E-06,-5.889813560E-06,1.995057980E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,660,-5.917673040E-12,2.042385570E-12,-8.214096850E-06,-1.968775450E-06,-5.436761060E-06,1.501254740E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,661,-5.767494550E-12,2.861856150E-12,-7.356377410E-06,-2.402772450E-06,-4.860291480E-06,1.307332060E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,662,-4.817403850E-12,3.548873650E-12,-6.358339760E-06,-2.687085950E-06,-4.203226580E-06,7.818321730E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,663,-5.059731280E-12,4.104139770E-12,-5.279002380E-06,-2.819474500E-06,-3.506307390E-06,1.641224590E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,664,-4.565687670E-12,4.563101630E-12,-4.176552470E-06,-2.805069240E-06,-2.805069240E-06,-6.030166780E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,665,-4.454682280E-12,4.783908510E-12,-3.106383700E-06,-2.651346680E-06,-2.129736910E-06,-1.362355190E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,666,-3.632858550E-12,4.588234740E-12,-2.120968250E-06,-2.365075030E-06,-1.506862650E-06,-2.267967040E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,667,-3.289959880E-12,3.931933340E-12,-1.270402890E-06,-1.951462540E-06,-9.620906670E-07,-7.036918790E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,668,-3.072833650E-12,2.917692780E-12,-6.029597440E-07,-1.415114300E-06,-5.229595100E-07,-2.515946980E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,669,-2.276186400E-12,1.578272990E-12,-1.649768390E-07,-7.621962370E-07,-2.345043410E-07,1.493394060E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,670,-9.971777740E-12,8.702070100E-13,-6.931774810E-06,-5.403284720E-07,-5.736695580E-06,8.777472560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,671,-9.115593700E-12,1.710230050E-12,-6.623196440E-06,-1.041797190E-06,-5.480692830E-06,1.651890760E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,672,-7.817996250E-12,2.498487740E-12,-6.133229360E-06,-1.471097220E-06,-5.077402420E-06,1.600465200E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,673,-6.975374270E-12,3.145208270E-12,-5.494865950E-06,-1.804222050E-06,-4.557342890E-06,1.338620620E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,674,-5.824092080E-12,3.768849380E-12,-4.748332690E-06,-2.027434220E-06,-3.955949070E-06,8.721384070E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,675,-5.420009930E-12,4.289941670E-12,-3.937373550E-06,-2.135708200E-06,-3.309288100E-06,3.099190830E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,676,-4.787599570E-12,4.451974380E-12,-3.106383700E-06,-2.129736910E-06,-2.651346680E-06,1.363172410E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,677,-4.265349360E-12,4.262683520E-12,-2.298847450E-06,-2.012960980E-06,-2.012960980E-06,3.018094330E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,678,-3.498477770E-12,3.819044040E-12,-1.556721600E-06,-1.789734600E-06,-1.422182320E-06,-1.663426610E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,679,-3.087178520E-12,3.162503030E-12,-9.202426550E-07,-1.465337050E-06,-9.057247890E-07,-4.379328930E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,680,-2.812391810E-12,2.286327380E-12,-4.273163090E-07,-1.047964930E-06,-4.907916490E-07,-2.162959790E-14
|
||||
Increment 10: Step Time = 1.000,PART-1-1,681,-2.025531220E-12,1.222214500E-12,-1.117349770E-07,-5.529464600E-07,-2.193445850E-07,1.444523650E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,682,-1.079274520E-11,9.516824180E-13,-4.781691130E-06,-3.768609820E-07,-5.095037070E-06,6.905079810E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,683,-1.005905860E-11,1.783273180E-12,-4.568791160E-06,-7.279676880E-07,-4.873585570E-06,1.364809090E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,684,-8.721025640E-12,2.413063020E-12,-4.229968910E-06,-1.030790140E-06,-4.522524700E-06,1.698503640E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,685,-7.353111180E-12,2.975666370E-12,-3.787183910E-06,-1.268287410E-06,-4.066101610E-06,1.431998510E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,686,-6.265025390E-12,3.375605130E-12,-3.267709420E-06,-1.429662010E-06,-3.533567680E-06,9.233308560E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,687,-5.356264480E-12,3.571658590E-12,-2.701814310E-06,-1.509642060E-06,-2.956205660E-06,4.531161960E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,688,-4.589107310E-12,3.631069400E-12,-2.120968250E-06,-1.506862650E-06,-2.365075030E-06,2.289901940E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,689,-3.820136050E-12,3.495749050E-12,-1.556721600E-06,-1.422182320E-06,-1.789734600E-06,1.665148870E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,690,-3.146803350E-12,3.146191860E-12,-1.040156350E-06,-1.257826740E-06,-1.257826740E-06,2.166217150E-16
|
||||
Increment 10: Step Time = 1.000,PART-1-1,691,-2.712980450E-12,2.564124690E-12,-6.013974600E-07,-1.018178640E-06,-7.953950100E-07,-1.596069600E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,692,-2.421551020E-12,1.829490340E-12,-2.683962350E-07,-7.128961100E-07,-4.274295120E-07,1.792254900E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,693,-1.701706810E-12,9.726053510E-13,-6.388837190E-08,-3.636196480E-07,-1.893153150E-07,1.326739170E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,694,-1.023592060E-11,9.446010600E-13,-2.919613730E-06,-2.386655350E-07,-4.240639100E-06,5.379869180E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,695,-9.580981840E-12,1.772116310E-12,-2.788287930E-06,-4.615615690E-07,-4.057339990E-06,1.211368900E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,696,-8.319622770E-12,2.448850580E-12,-2.578987050E-06,-6.547065250E-07,-3.765684820E-06,1.715034150E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,697,-6.933257790E-12,2.937140110E-12,-2.304960390E-06,-8.071912700E-07,-3.384656570E-06,1.554103200E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,698,-5.810939840E-12,3.232590190E-12,-1.982842830E-06,-9.116487830E-07,-2.937789990E-06,1.194721840E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,699,-4.821652630E-12,3.341611710E-12,-1.631377240E-06,-9.639044260E-07,-2.451112550E-06,9.536951310E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,700,-3.933384870E-12,3.286789030E-12,-1.270402890E-06,-9.620906670E-07,-1.951462540E-06,7.051198280E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,701,-3.161372860E-12,3.084074010E-12,-9.202426550E-07,-9.057247890E-07,-1.465337050E-06,4.378456960E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,702,-2.565304740E-12,2.712086410E-12,-6.013974600E-07,-7.953950100E-07,-1.018178640E-06,1.579476970E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,703,-2.188959520E-12,2.189038010E-12,-3.341762350E-07,-6.338974000E-07,-6.338974000E-07,-1.650626760E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,704,-1.927665930E-12,1.552701540E-12,-1.374863100E-07,-4.299135130E-07,-3.340076940E-07,2.485550830E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,705,-1.337560920E-12,8.271951920E-13,-2.536205200E-08,-2.070437400E-07,-1.446418740E-07,1.101002750E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,706,-8.122329200E-12,9.137562670E-13,-1.430816500E-06,-1.292098090E-07,-3.142344210E-06,3.440563260E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,707,-7.591945300E-12,1.752093050E-12,-1.365057640E-06,-2.500554220E-07,-3.004964360E-06,8.072037500E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,708,-6.602488090E-12,2.431203460E-12,-1.260177440E-06,-3.550615020E-07,-2.785929840E-06,1.099997260E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,709,-5.475322020E-12,2.887377840E-12,-1.122728120E-06,-4.382837910E-07,-2.499026550E-06,9.588583180E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,710,-4.528241500E-12,3.129654090E-12,-9.609879040E-07,-4.955470560E-07,-2.161632440E-06,6.660167750E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,711,-3.681070640E-12,3.183412080E-12,-7.843669320E-07,-5.242625890E-07,-1.793393490E-06,4.592989400E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,712,-2.917687140E-12,3.070282530E-12,-6.029597440E-07,-5.229595100E-07,-1.415114300E-06,2.550439510E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,713,-2.287250900E-12,2.808855580E-12,-4.273163090E-07,-4.907916490E-07,-1.047964930E-06,2.348876060E-14
|
||||
Increment 10: Step Time = 1.000,PART-1-1,714,-1.827185320E-12,2.419839940E-12,-2.683962350E-07,-4.274295120E-07,-7.128961100E-07,-1.792136450E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,715,-1.552572310E-12,1.924191060E-12,-1.374863100E-07,-3.340076940E-07,-4.299135130E-07,-2.510061390E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,716,-1.360165560E-12,1.359298740E-12,-4.551087330E-08,-2.163689740E-07,-2.163689740E-07,-1.006393940E-15
|
||||
Increment 10: Step Time = 1.000,PART-1-1,717,-9.569519660E-13,7.265311940E-13,-3.523198680E-10,-9.432790190E-08,-8.836911290E-08,7.032130950E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,718,-4.536817540E-12,7.753369340E-13,-4.162370710E-07,-5.784412240E-08,-1.748542330E-06,-3.569228790E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,719,-4.233411360E-12,1.483330280E-12,-3.962906590E-07,-1.119891730E-07,-1.670316010E-06,-5.864615980E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,720,-3.679102160E-12,2.009859730E-12,-3.644745450E-07,-1.591139240E-07,-1.545478200E-06,-8.212369590E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,721,-3.055074860E-12,2.321922170E-12,-3.227702340E-07,-1.965471060E-07,-1.381760400E-06,-1.122752060E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,722,-2.505242110E-12,2.448043500E-12,-2.736801720E-07,-2.223638660E-07,-1.188993560E-06,-1.368601850E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,723,-2.014351790E-12,2.424887980E-12,-2.200548010E-07,-2.352953890E-07,-9.784295120E-07,-1.478013670E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,724,-1.578640760E-12,2.275624570E-12,-1.649768390E-07,-2.345043410E-07,-7.621962370E-07,-1.491418210E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,725,-1.221920350E-12,2.023853740E-12,-1.117349770E-07,-2.193445850E-07,-5.529464600E-07,-1.442611220E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,726,-9.729181440E-13,1.699563120E-12,-6.388837190E-08,-1.893153150E-07,-3.636196480E-07,-1.326686160E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,727,-8.283531200E-13,1.336279940E-12,-2.536205200E-08,-1.446418740E-07,-2.070437400E-07,-1.097490800E-12
|
||||
Increment 10: Step Time = 1.000,PART-1-1,728,-7.251905240E-13,9.556255530E-13,-3.523198680E-10,-8.836911290E-08,-9.432790190E-08,-7.015001640E-13
|
||||
Increment 10: Step Time = 1.000,PART-1-1,729,-5.410511990E-13,5.415084070E-13,7.750011300E-09,-3.328533180E-08,-3.328533180E-08,-9.262992430E-16
|
||||
|
@@ -0,0 +1,730 @@
|
||||
Frame,Part Instance Name, Node Label, RF-RF1, RF-RF2, RF-RF3, RM-RM1, RM-RM2, RM-RM3
|
||||
Increment 10: Step Time = 1.000,PART-1-1,1,-5.470385080E-04,-5.388274190E-01,2.785061280E+03,4.715575200E+03,1.049329510E-10,-8.952283680E-06
|
||||
Increment 10: Step Time = 1.000,PART-1-1,2,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,3,-5.382804870E-01,1.326051190E-05,2.785061280E+03,-3.069544620E-12,-4.715575200E+03,-1.668353550E-06
|
||||
Increment 10: Step Time = 1.000,PART-1-1,4,-1.528376990E-02,-1.530735100E-02,-1.984290770E+02,1.192524430E+01,-1.192524430E+01,-2.556832990E-22
|
||||
Increment 10: Step Time = 1.000,PART-1-1,5,5.470385080E-04,5.388274190E-01,2.785061280E+03,-4.715575200E+03,-1.048192640E-10,-8.952283680E-06
|
||||
Increment 10: Step Time = 1.000,PART-1-1,6,5.382804870E-01,-1.326051190E-05,2.785061280E+03,2.842170940E-12,4.715575200E+03,-1.668353550E-06
|
||||
Increment 10: Step Time = 1.000,PART-1-1,7,1.528376990E-02,1.530735100E-02,-1.984290770E+02,-1.192524430E+01,1.192524430E+01,-2.159786300E-22
|
||||
Increment 10: Step Time = 1.000,PART-1-1,8,-1.532454230E-02,1.530595120E-02,-1.984290770E+02,-1.192524430E+01,-1.192524430E+01,-9.779558880E-22
|
||||
Increment 10: Step Time = 1.000,PART-1-1,9,1.532454230E-02,-1.530595120E-02,-1.984290770E+02,1.192524430E+01,1.192524430E+01,-9.996910880E-22
|
||||
Increment 10: Step Time = 1.000,PART-1-1,10,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,11,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,12,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,13,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,14,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,15,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,16,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,17,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,18,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,19,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,20,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,21,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,22,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,23,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,24,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,25,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,26,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,27,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,28,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,29,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,30,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,31,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,32,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,33,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,34,-5.303245780E-01,-3.558175870E-03,2.727705810E+03,6.148467250E+01,-4.643274410E+03,-5.051664190E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,35,-4.942933920E-01,-5.756861060E-03,2.559506350E+03,1.190654600E+02,-4.430960450E+03,-9.611358980E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,36,-4.342209400E-01,-8.487849500E-03,2.291541500E+03,1.692261200E+02,-4.091941160E+03,-1.299336790E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,37,-3.648218510E-01,-9.409521710E-03,1.940705320E+03,2.091169130E+02,-3.647008060E+03,-1.497546090E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,38,-3.000069560E-01,-9.107947350E-03,1.527972050E+03,2.366528020E+02,-3.122762940E+03,-1.572773210E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,39,-2.417625040E-01,-8.502867070E-03,1.077026370E+03,2.504168240E+02,-2.549949460E+03,-1.547077790E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,40,-1.908301860E-01,-7.532419640E-03,6.140667720E+02,2.494237520E+02,-1.962192020E+03,-1.439193150E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,41,-1.497779340E-01,-6.093745120E-03,1.695617370E+02,2.328747860E+02,-1.395328860E+03,-1.268640160E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,42,-1.207142320E-01,-4.532227290E-03,-2.174030760E+02,2.001373440E+02,-8.870581670E+02,-1.055214320E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,43,-1.027152690E-01,-3.194966120E-03,-4.921354680E+02,1.515825960E+02,-4.756381230E+02,-8.241637840E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,44,-8.877001700E-02,-2.803751270E-03,-5.813466190E+02,9.087918850E+01,-1.940177460E+02,-5.851722670E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,45,-6.317187100E-02,-4.380240570E-03,-4.105167540E+02,3.537723920E+01,-5.370405960E+01,-3.306386640E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,46,-4.393070940E-03,-6.312924620E-02,-4.105167540E+02,5.370405960E+01,-3.537723920E+01,3.306386640E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,47,-2.809530120E-03,-8.875388650E-02,-5.813466190E+02,1.940177460E+02,-9.087918850E+01,5.835441410E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,48,-3.179328750E-03,-1.027502640E-01,-4.921354680E+02,4.756381230E+02,-1.515825960E+02,8.230783280E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,49,-4.502866420E-03,-1.206976620E-01,-2.174030760E+02,8.870581670E+02,-2.001373440E+02,1.054942960E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,50,-6.150956730E-03,-1.498091820E-01,1.695617370E+02,1.395328860E+03,-2.328747860E+02,1.267826070E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,51,-7.539764050E-03,-1.909552370E-01,6.140667720E+02,1.962192020E+03,-2.494237520E+02,1.438379050E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,52,-8.482775650E-03,-2.417865250E-01,1.077026370E+03,2.549949460E+03,-2.504168240E+02,1.545720970E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,53,-9.072730320E-03,-3.000506460E-01,1.527972050E+03,3.122762940E+03,-2.366528020E+02,1.570331050E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,54,-9.371605700E-03,-3.648609520E-01,1.940705320E+03,3.647008060E+03,-2.091169130E+02,1.494425580E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,55,-8.441661480E-03,-4.342569110E-01,2.291541500E+03,4.091941160E+03,-1.692261200E+02,1.294995080E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,56,-5.800476300E-03,-4.946944710E-01,2.559506350E+03,4.430960450E+03,-1.190654600E+02,9.515706920E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,57,-3.596818540E-03,-5.301014780E-01,2.727705810E+03,4.643274410E+03,-6.148467250E+01,4.936339100E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,58,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,59,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,60,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,61,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,62,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,63,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,64,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,65,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,66,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,67,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,68,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,69,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,70,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,71,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,72,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,73,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,74,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,75,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,76,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,77,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,78,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,79,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,80,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,81,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,82,5.303245780E-01,3.558175870E-03,2.727705810E+03,-6.148467250E+01,4.643274410E+03,-5.051664190E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,83,4.942933920E-01,5.756861060E-03,2.559506350E+03,-1.190654600E+02,4.430960450E+03,-9.611358980E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,84,4.342209400E-01,8.487849500E-03,2.291541500E+03,-1.692261200E+02,4.091941160E+03,-1.299336790E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,85,3.648218510E-01,9.409521710E-03,1.940705320E+03,-2.091169130E+02,3.647008060E+03,-1.497546090E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,86,3.000069560E-01,9.107947350E-03,1.527972050E+03,-2.366528020E+02,3.122762940E+03,-1.572773210E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,87,2.417625040E-01,8.502867070E-03,1.077026370E+03,-2.504168240E+02,2.549949460E+03,-1.547077790E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,88,1.908301860E-01,7.532419640E-03,6.140667720E+02,-2.494237520E+02,1.962192020E+03,-1.439193150E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,89,1.497779340E-01,6.093745120E-03,1.695617370E+02,-2.328747860E+02,1.395328860E+03,-1.268640160E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,90,1.207142320E-01,4.532227290E-03,-2.174030760E+02,-2.001373440E+02,8.870581670E+02,-1.055214320E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,91,1.027152690E-01,3.194966120E-03,-4.921354680E+02,-1.515825960E+02,4.756381230E+02,-8.241637840E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,92,8.877001700E-02,2.803751270E-03,-5.813466190E+02,-9.087918850E+01,1.940177460E+02,-5.851722670E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,93,6.317187100E-02,4.380240570E-03,-4.105167540E+02,-3.537723920E+01,5.370405960E+01,-3.306386640E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,94,4.393070940E-03,6.312924620E-02,-4.105167540E+02,-5.370405960E+01,3.537723920E+01,3.306386640E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,95,2.809530120E-03,8.875388650E-02,-5.813466190E+02,-1.940177460E+02,9.087918850E+01,5.835441410E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,96,3.179328750E-03,1.027502640E-01,-4.921354680E+02,-4.756381230E+02,1.515825960E+02,8.230783280E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,97,4.502866420E-03,1.206976620E-01,-2.174030760E+02,-8.870581670E+02,2.001373440E+02,1.054942960E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,98,6.150956730E-03,1.498091820E-01,1.695617370E+02,-1.395328860E+03,2.328747860E+02,1.267826070E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,99,7.539764050E-03,1.909552370E-01,6.140667720E+02,-1.962192020E+03,2.494237520E+02,1.438379050E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,100,8.482775650E-03,2.417865250E-01,1.077026370E+03,-2.549949460E+03,2.504168240E+02,1.545720970E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,101,9.072730320E-03,3.000506460E-01,1.527972050E+03,-3.122762940E+03,2.366528020E+02,1.570331050E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,102,9.371605700E-03,3.648609520E-01,1.940705320E+03,-3.647008060E+03,2.091169130E+02,1.494425580E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,103,8.441661480E-03,4.342569110E-01,2.291541500E+03,-4.091941160E+03,1.692261200E+02,1.294995080E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,104,5.800476300E-03,4.946944710E-01,2.559506350E+03,-4.430960450E+03,1.190654600E+02,9.515706920E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,105,3.596818540E-03,5.301014780E-01,2.727705810E+03,-4.643274410E+03,6.148467250E+01,4.936339100E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,106,-2.958313560E-03,5.296384690E-01,2.727705810E+03,-4.643274410E+03,-6.148467250E+01,-5.118145490E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,107,-5.812485700E-03,4.943474830E-01,2.559506350E+03,-4.430960450E+03,-1.190654600E+02,-9.647313270E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,108,-8.533021440E-03,4.340166450E-01,2.291541500E+03,-4.091941160E+03,-1.692261200E+02,-1.301371840E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,109,-9.459299970E-03,3.645806910E-01,1.940705320E+03,-3.647008060E+03,-2.091169130E+02,-1.497817460E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,110,-9.059552100E-03,2.998881040E-01,1.527972050E+03,-3.122762940E+03,-2.366528020E+02,-1.571959230E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,111,-8.505400270E-03,2.417539060E-01,1.077026370E+03,-2.549949460E+03,-2.504168240E+02,-1.546535060E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,112,-7.515818350E-03,1.909034100E-01,6.140667720E+02,-1.962192020E+03,-2.494237520E+02,-1.439193150E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,113,-6.144734100E-03,1.497954730E-01,1.695617370E+02,-1.395328860E+03,-2.328747860E+02,-1.268911520E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,114,-4.489525690E-03,1.206891020E-01,-2.174030760E+02,-8.870581670E+02,-2.001373440E+02,-1.056299780E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,115,-3.208294050E-03,1.027374190E-01,-4.921354680E+02,-4.756381230E+02,-1.515825960E+02,-8.236210560E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,116,-2.792988210E-03,8.874440940E-02,-5.813466190E+02,-1.940177460E+02,-9.087918850E+01,-5.857149370E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,117,-4.367525220E-03,6.316252050E-02,-4.105167540E+02,-5.370405960E+01,-3.537723920E+01,-3.300959650E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,118,-6.315818430E-02,4.336129410E-03,-4.105167540E+02,-3.537723920E+01,-5.370405960E+01,3.306386640E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,119,-8.877412230E-02,2.862153810E-03,-5.813466190E+02,-9.087918850E+01,-1.940177460E+02,5.851722670E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,120,-1.027888210E-01,3.176482630E-03,-4.921354680E+02,-1.515825960E+02,-4.756381230E+02,8.228070220E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,121,-1.208073200E-01,4.514494450E-03,-2.174030760E+02,-2.001373440E+02,-8.870581670E+02,1.054942960E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,122,-1.498637500E-01,6.087103390E-03,1.695617370E+02,-2.328747860E+02,-1.395328860E+03,1.267826070E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,123,-1.909286980E-01,7.586815390E-03,6.140667720E+02,-2.494237520E+02,-1.962192020E+03,1.438650420E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,124,-2.417526840E-01,8.440055880E-03,1.077026370E+03,-2.504168240E+02,-2.549949460E+03,1.545449600E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,125,-2.998522820E-01,9.117646140E-03,1.527972050E+03,-2.366528020E+02,-3.122762940E+03,1.570331050E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,126,-3.647396270E-01,9.417652150E-03,1.940705320E+03,-2.091169130E+02,-3.647008060E+03,1.495918030E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,127,-4.342092570E-01,8.487521670E-03,2.291541500E+03,-1.692261200E+02,-4.091941160E+03,1.298251330E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,128,-4.944034520E-01,5.767230410E-03,2.559506350E+03,-1.190654600E+02,-4.430960450E+03,9.597791360E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,129,-5.305147770E-01,3.531780560E-03,2.727705810E+03,-6.148467250E+01,-4.643274410E+03,5.026224530E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,130,2.958313560E-03,-5.296384690E-01,2.727705810E+03,4.643274410E+03,6.148467250E+01,-5.118145490E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,131,5.812485700E-03,-4.943474830E-01,2.559506350E+03,4.430960450E+03,1.190654600E+02,-9.647313270E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,132,8.533021440E-03,-4.340166450E-01,2.291541500E+03,4.091941160E+03,1.692261200E+02,-1.301371840E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,133,9.459299970E-03,-3.645806910E-01,1.940705320E+03,3.647008060E+03,2.091169130E+02,-1.497817460E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,134,9.059552100E-03,-2.998881040E-01,1.527972050E+03,3.122762940E+03,2.366528020E+02,-1.571959230E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,135,8.505400270E-03,-2.417539060E-01,1.077026370E+03,2.549949460E+03,2.504168240E+02,-1.546535060E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,136,7.515818350E-03,-1.909034100E-01,6.140667720E+02,1.962192020E+03,2.494237520E+02,-1.439193150E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,137,6.144734100E-03,-1.497954730E-01,1.695617370E+02,1.395328860E+03,2.328747860E+02,-1.268911520E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,138,4.489525690E-03,-1.206891020E-01,-2.174030760E+02,8.870581670E+02,2.001373440E+02,-1.056299780E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,139,3.208294050E-03,-1.027374190E-01,-4.921354680E+02,4.756381230E+02,1.515825960E+02,-8.236210560E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,140,2.792988210E-03,-8.874440940E-02,-5.813466190E+02,1.940177460E+02,9.087918850E+01,-5.857149370E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,141,4.367525220E-03,-6.316252050E-02,-4.105167540E+02,5.370405960E+01,3.537723920E+01,-3.300959650E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,142,6.315818430E-02,-4.336129410E-03,-4.105167540E+02,3.537723920E+01,5.370405960E+01,3.306386640E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,143,8.877412230E-02,-2.862153810E-03,-5.813466190E+02,9.087918850E+01,1.940177460E+02,5.851722670E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,144,1.027888210E-01,-3.176482630E-03,-4.921354680E+02,1.515825960E+02,4.756381230E+02,8.228070220E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,145,1.208073200E-01,-4.514494450E-03,-2.174030760E+02,2.001373440E+02,8.870581670E+02,1.054942960E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,146,1.498637500E-01,-6.087103390E-03,1.695617370E+02,2.328747860E+02,1.395328860E+03,1.267826070E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,147,1.909286980E-01,-7.586815390E-03,6.140667720E+02,2.494237520E+02,1.962192020E+03,1.438650420E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,148,2.417526840E-01,-8.440055880E-03,1.077026370E+03,2.504168240E+02,2.549949460E+03,1.545449600E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,149,2.998522820E-01,-9.117646140E-03,1.527972050E+03,2.366528020E+02,3.122762940E+03,1.570331050E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,150,3.647396270E-01,-9.417652150E-03,1.940705320E+03,2.091169130E+02,3.647008060E+03,1.495918030E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,151,4.342092570E-01,-8.487521670E-03,2.291541500E+03,1.692261200E+02,4.091941160E+03,1.298251330E-03
|
||||
Increment 10: Step Time = 1.000,PART-1-1,152,4.944034520E-01,-5.767230410E-03,2.559506350E+03,1.190654600E+02,4.430960450E+03,9.597791360E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,153,5.305147770E-01,-3.531780560E-03,2.727705810E+03,6.148467250E+01,4.643274410E+03,5.026224530E-04
|
||||
Increment 10: Step Time = 1.000,PART-1-1,154,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,155,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,156,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,157,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,158,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,159,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,160,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,161,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,162,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,163,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,164,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,165,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,166,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,167,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,168,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,169,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,170,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,171,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,172,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,173,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,174,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,175,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,176,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,177,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,178,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,179,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,180,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,181,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,182,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,183,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,184,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,185,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,186,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,187,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,188,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,189,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,190,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,191,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,192,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,193,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,194,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,195,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,196,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,197,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,198,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,199,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,200,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,201,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,202,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,203,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,204,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,205,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,206,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,207,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,208,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,209,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,210,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,211,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,212,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,213,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,214,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,215,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,216,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,217,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,218,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,219,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,220,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,221,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,222,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,223,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,224,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,225,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,226,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,227,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,228,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,229,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,230,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,231,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,232,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,233,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,234,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,235,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,236,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,237,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,238,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,239,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,240,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,241,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,242,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,243,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,244,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,245,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,246,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,247,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,248,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,249,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,250,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,251,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,252,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,253,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,254,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,255,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,256,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,257,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,258,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,259,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,260,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,261,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,262,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,263,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,264,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,265,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,266,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,267,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,268,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,269,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,270,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,271,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,272,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,273,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,274,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,275,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,276,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,277,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,278,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,279,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,280,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,281,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,282,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,283,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,284,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,285,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,286,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,287,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,288,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,289,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,290,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,291,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,292,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,293,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,294,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,295,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,296,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,297,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,298,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,299,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,300,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,301,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,302,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,303,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,304,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,305,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,306,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,307,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,308,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,309,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,310,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,311,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,312,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,313,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,314,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,315,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,316,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,317,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,318,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,319,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,320,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,321,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,322,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,323,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,324,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,325,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,326,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,327,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,328,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,329,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,330,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,331,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,332,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,333,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,334,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,335,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,336,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,337,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,338,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,339,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,340,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,341,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,342,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,343,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,344,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,345,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,346,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,347,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,348,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,349,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,350,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,351,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,352,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,353,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,354,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,355,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,356,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,357,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,358,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,359,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,360,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,361,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,362,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,363,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,364,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,365,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,366,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,367,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,368,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,369,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,370,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,371,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,372,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,373,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,374,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,375,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,376,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,377,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,378,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,379,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,380,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,381,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,382,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,383,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,384,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,385,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,386,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,387,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,388,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,389,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,390,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,391,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,392,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,393,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,394,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,395,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,396,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,397,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,398,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,399,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,400,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,401,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,402,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,403,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,404,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,405,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,406,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,407,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,408,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,409,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,410,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,411,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,412,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,413,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,414,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,415,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,416,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,417,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,418,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,419,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,420,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,421,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,422,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,423,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,424,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,425,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,426,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,427,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,428,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,429,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,430,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,431,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,432,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,433,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,434,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,435,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,436,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,437,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,438,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,439,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,440,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,441,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,442,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,443,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,444,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,445,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,446,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,447,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,448,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,449,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,450,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,451,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,452,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,453,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,454,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,455,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,456,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,457,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,458,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,459,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,460,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,461,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,462,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,463,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,464,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,465,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,466,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,467,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,468,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,469,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,470,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,471,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,472,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,473,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,474,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,475,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,476,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,477,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,478,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,479,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,480,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,481,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,482,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,483,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,484,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,485,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,486,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,487,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,488,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,489,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,490,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,491,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,492,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,493,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,494,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,495,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,496,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,497,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,498,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,499,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,500,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,501,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,502,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,503,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,504,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,505,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,506,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,507,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,508,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,509,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,510,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,511,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,512,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,513,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,514,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,515,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,516,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,517,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,518,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,519,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,520,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,521,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,522,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,523,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,524,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,525,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,526,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,527,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,528,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,529,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,530,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,531,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,532,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,533,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,534,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,535,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,536,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,537,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,538,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,539,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,540,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,541,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,542,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,543,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,544,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,545,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,546,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,547,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,548,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,549,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,550,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,551,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,552,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,553,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,554,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,555,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,556,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,557,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,558,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,559,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,560,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,561,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,562,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,563,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,564,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,565,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,566,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,567,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,568,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,569,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,570,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,571,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,572,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,573,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,574,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,575,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,576,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,577,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,578,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,579,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,580,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,581,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,582,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,583,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,584,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,585,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,586,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,587,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,588,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,589,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,590,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,591,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,592,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,593,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,594,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,595,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,596,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,597,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,598,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,599,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,600,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,601,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,602,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,603,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,604,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,605,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,606,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,607,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,608,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,609,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,610,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,611,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,612,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,613,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,614,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,615,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,616,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,617,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,618,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,619,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,620,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,621,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,622,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,623,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,624,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,625,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,626,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,627,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,628,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,629,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,630,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,631,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,632,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,633,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,634,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,635,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,636,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,637,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,638,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,639,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,640,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,641,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,642,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,643,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,644,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,645,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,646,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,647,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,648,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,649,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,650,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,651,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,652,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,653,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,654,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,655,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,656,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,657,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,658,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,659,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,660,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,661,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,662,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,663,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,664,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,665,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,666,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,667,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,668,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,669,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,670,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,671,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,672,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,673,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,674,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,675,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,676,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,677,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,678,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,679,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,680,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,681,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,682,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,683,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,684,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,685,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,686,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,687,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,688,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,689,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,690,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,691,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,692,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,693,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,694,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,695,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,696,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,697,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,698,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,699,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,700,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,701,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,702,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,703,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,704,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,705,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,706,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,707,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,708,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,709,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,710,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,711,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,712,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,713,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,714,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,715,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,716,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,717,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,718,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,719,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,720,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,721,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,722,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,723,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,724,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,725,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,726,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,727,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,728,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
Increment 10: Step Time = 1.000,PART-1-1,729,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00,0.000000000E+00
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -219,25 +219,25 @@ NewtonChannelDecision EvaluateResidualChannel(
|
||||
const double numerator = InfinityNorm(input.free_residual, is_finite);
|
||||
const double internal = InfinityNorm(input.free_internal, is_finite);
|
||||
const double external = InfinityNorm(input.free_external, is_finite);
|
||||
const double denominator = (std::max)(internal, external);
|
||||
if (!is_finite) {
|
||||
return {input.identity,
|
||||
numerator,
|
||||
denominator,
|
||||
external,
|
||||
NewtonConvergenceBranch::kZeroScale,
|
||||
kNewtonZeroScaleThreshold,
|
||||
unit,
|
||||
false};
|
||||
}
|
||||
if (denominator == 0.0) {
|
||||
if (external == 0.0) {
|
||||
return {input.identity,
|
||||
numerator,
|
||||
denominator,
|
||||
external,
|
||||
NewtonConvergenceBranch::kZeroScale,
|
||||
kNewtonZeroScaleThreshold,
|
||||
unit,
|
||||
numerator <= kNewtonZeroScaleThreshold};
|
||||
}
|
||||
const double denominator = (std::max)(internal, external);
|
||||
return {input.identity,
|
||||
numerator,
|
||||
denominator,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "fesa/analysis/nonlinear_static_procedure.h"
|
||||
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <cmath>
|
||||
#include <cstddef>
|
||||
@@ -501,23 +502,101 @@ Vector CurrentIncrementComponents(const Vector& current, const Vector& start,
|
||||
return SelectFreeComponents(difference, dofs, rotations);
|
||||
}
|
||||
|
||||
std::array<double, 6> GlobalEquilibrium(const Domain& domain,
|
||||
const Vector& residual) {
|
||||
std::array<double, 6> equilibrium{};
|
||||
Vector3 SpatialMoment(const Matrix& transform,
|
||||
const std::array<double, 3>& generalized) {
|
||||
return {transform(0U, 0U) * generalized[0U] +
|
||||
transform(0U, 1U) * generalized[1U] +
|
||||
transform(0U, 2U) * generalized[2U],
|
||||
transform(1U, 0U) * generalized[0U] +
|
||||
transform(1U, 1U) * generalized[1U] +
|
||||
transform(1U, 2U) * generalized[2U],
|
||||
transform(2U, 0U) * generalized[0U] +
|
||||
transform(2U, 1U) * generalized[1U] +
|
||||
transform(2U, 2U) * generalized[2U]};
|
||||
}
|
||||
|
||||
/// @brief Computes accepted-state applied-plus-reaction balance evidence.
|
||||
Result<std::array<double, 6>> GlobalEquilibrium(
|
||||
const Domain& domain, const DofManager& dofs,
|
||||
const NonlinearTrialState& trial) {
|
||||
const std::size_t full_dof_count = domain.Nodes().size() * kDofsPerNode;
|
||||
if (trial.displacement.Size() != full_dof_count ||
|
||||
trial.rotation_vector.Size() != full_dof_count ||
|
||||
trial.external_force.Size() != full_dof_count ||
|
||||
trial.residual.Size() != full_dof_count) {
|
||||
return Result<std::array<double, 6>>::Failure(ProcedureFailure(
|
||||
FailureCategory::kSolver, "nonfinite-newton-data",
|
||||
{domain.SourcePath(), 0U}, "NONLINEAR_STATIC_PROCEDURE",
|
||||
domain.SourceContentIdentity(),
|
||||
"Nonlinear equilibrium vectors do not match the Domain node inventory."));
|
||||
}
|
||||
|
||||
std::vector<bool> constrained(full_dof_count, false);
|
||||
for (const std::size_t full_dof : dofs.ConstrainedDofs()) {
|
||||
if (full_dof >= constrained.size()) {
|
||||
return Result<std::array<double, 6>>::Failure(ProcedureFailure(
|
||||
FailureCategory::kSolver, "nonfinite-newton-data",
|
||||
{domain.SourcePath(), 0U}, "NONLINEAR_STATIC_PROCEDURE",
|
||||
domain.SourceContentIdentity(),
|
||||
"Nonlinear constraint identity is outside the full DOF range."));
|
||||
}
|
||||
constrained[full_dof] = true;
|
||||
}
|
||||
|
||||
Vector3 applied_force_resultant;
|
||||
Vector3 applied_moment_resultant;
|
||||
Vector3 reaction_force_resultant;
|
||||
Vector3 reaction_moment_resultant;
|
||||
for (std::size_t node = 0U; node < domain.Nodes().size(); ++node) {
|
||||
const std::size_t first = node * kDofsPerNode;
|
||||
const Vector3 force{residual[first], residual[first + 1U],
|
||||
residual[first + 2U]};
|
||||
const Vector3 position{domain.Nodes()[node].coordinates};
|
||||
const Vector3 moment = position.Cross(force);
|
||||
equilibrium[0U] += force.X();
|
||||
equilibrium[1U] += force.Y();
|
||||
equilibrium[2U] += force.Z();
|
||||
equilibrium[3U] += moment.X() + residual[first + 3U];
|
||||
equilibrium[4U] += moment.Y() + residual[first + 4U];
|
||||
equilibrium[5U] += moment.Z() + residual[first + 5U];
|
||||
const Vector3 position = Vector3{domain.Nodes()[node].coordinates} +
|
||||
Vector3{trial.displacement[first],
|
||||
trial.displacement[first + 1U],
|
||||
trial.displacement[first + 2U]};
|
||||
const Vector3 phi{trial.rotation_vector[first + 3U],
|
||||
trial.rotation_vector[first + 4U],
|
||||
trial.rotation_vector[first + 5U]};
|
||||
const Vector3 applied_force{trial.external_force[first],
|
||||
trial.external_force[first + 1U],
|
||||
trial.external_force[first + 2U]};
|
||||
const Vector3 reaction_force{
|
||||
constrained[first] ? trial.residual[first] : 0.0,
|
||||
constrained[first + 1U] ? trial.residual[first + 1U] : 0.0,
|
||||
constrained[first + 2U] ? trial.residual[first + 2U] : 0.0};
|
||||
const Matrix transform = InverseTransposeLeftJacobianSO3(phi);
|
||||
const std::array<double, 3> applied_generalized{
|
||||
trial.external_force[first + 3U], trial.external_force[first + 4U],
|
||||
trial.external_force[first + 5U]};
|
||||
const std::array<double, 3> reaction_generalized{
|
||||
constrained[first + 3U] ? trial.residual[first + 3U] : 0.0,
|
||||
constrained[first + 4U] ? trial.residual[first + 4U] : 0.0,
|
||||
constrained[first + 5U] ? trial.residual[first + 5U] : 0.0};
|
||||
const Vector3 applied_moment = SpatialMoment(transform, applied_generalized);
|
||||
const Vector3 reaction_moment =
|
||||
SpatialMoment(transform, reaction_generalized);
|
||||
applied_force_resultant = applied_force_resultant + applied_force;
|
||||
applied_moment_resultant =
|
||||
applied_moment_resultant + position.Cross(applied_force) + applied_moment;
|
||||
reaction_force_resultant = reaction_force_resultant + reaction_force;
|
||||
reaction_moment_resultant = reaction_moment_resultant +
|
||||
position.Cross(reaction_force) + reaction_moment;
|
||||
}
|
||||
return equilibrium;
|
||||
const Vector3 force_balance =
|
||||
applied_force_resultant + reaction_force_resultant;
|
||||
const Vector3 moment_balance =
|
||||
applied_moment_resultant + reaction_moment_resultant;
|
||||
const std::array<double, 6> equilibrium{
|
||||
force_balance.X(), force_balance.Y(), force_balance.Z(),
|
||||
moment_balance.X(), moment_balance.Y(), moment_balance.Z()};
|
||||
if (!std::all_of(equilibrium.begin(), equilibrium.end(),
|
||||
[](const double value) { return std::isfinite(value); })) {
|
||||
return Result<std::array<double, 6>>::Failure(ProcedureFailure(
|
||||
FailureCategory::kSolver, "nonfinite-newton-data",
|
||||
{domain.SourcePath(), 0U}, "NONLINEAR_STATIC_PROCEDURE",
|
||||
domain.SourceContentIdentity(),
|
||||
"Nonlinear global equilibrium balance is nonfinite."));
|
||||
}
|
||||
return Result<std::array<double, 6>>::Success(equilibrium);
|
||||
}
|
||||
|
||||
Status ApplyIncrementConstraints(const StepDefinition& step,
|
||||
@@ -689,8 +768,14 @@ NonlinearStaticProcedureExecutor::Execute(
|
||||
trial.Value().shell_results = std::move(internal.Value().shell_rows);
|
||||
trial.Value().physical_strain_energy =
|
||||
internal.Value().physical_strain_energy;
|
||||
trial.Value().global_equilibrium =
|
||||
GlobalEquilibrium(domain, trial.Value().residual);
|
||||
Result<std::array<double, 6>> global_equilibrium =
|
||||
GlobalEquilibrium(domain, dofs.Value(), trial.Value());
|
||||
if (!global_equilibrium.HasValue()) {
|
||||
return Result<NonlinearStaticExecutionResult>::Failure(RecordFailure(
|
||||
log, &record, global_equilibrium.GetStatus(),
|
||||
NewtonIterationStage::kExternalAssembled));
|
||||
}
|
||||
trial.Value().global_equilibrium = global_equilibrium.Value();
|
||||
|
||||
Result<PartitionedStiffness> partition =
|
||||
constraints.Partition(tangent.Value(), dofs.Value());
|
||||
|
||||
@@ -914,7 +914,7 @@ void NonlinearSelfCheckFile(const std::filesystem::path& path,
|
||||
file.Get(), (root + "/global/equilibrium").c_str(), {6U},
|
||||
"FORCE_1,FORCE_2,FORCE_3,MOMENT_1,MOMENT_2,MOMENT_3",
|
||||
"force,force,force,force*length,force*length,force*length",
|
||||
"global-cartesian", "global-origin", &frame);
|
||||
"global-cartesian", "global-balance-error", &frame);
|
||||
}
|
||||
RequireCompoundDataset(file.Get(), "/diagnostics",
|
||||
static_cast<hsize_t>(diagnostic_count),
|
||||
|
||||
@@ -961,7 +961,7 @@ void WriteFrame(const hid_t file, const Domain& domain,
|
||||
frame.global_equilibrium.size(),
|
||||
"FORCE_1,FORCE_2,FORCE_3,MOMENT_1,MOMENT_2,MOMENT_3",
|
||||
"force,force,force,force*length,force*length,force*length",
|
||||
"global-cartesian", "global-origin", frame);
|
||||
"global-cartesian", "global-balance-error", frame);
|
||||
}
|
||||
|
||||
void WriteDiagnostics(const hid_t file,
|
||||
|
||||
@@ -94,6 +94,8 @@ add_executable(
|
||||
reference/mitc4_reference_comparison.cpp
|
||||
reference/mitc4_reference_comparison_test.cpp
|
||||
reference/mitc4_reference_cases_test.cpp
|
||||
reference/nonlinear_static_reference_comparison.cpp
|
||||
reference/nonlinear_static_reference_cases_test.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(
|
||||
|
||||
@@ -3,14 +3,21 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <hdf5.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <atomic>
|
||||
#include <chrono>
|
||||
#include <cmath>
|
||||
#include <cstdint>
|
||||
#include <filesystem>
|
||||
#include <fstream>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "fesa/elements/finite_rotation.h"
|
||||
#include "fesa/math/vector3.h"
|
||||
|
||||
namespace {
|
||||
|
||||
class TempDirectory {
|
||||
@@ -83,6 +90,53 @@ All, 1, 6
|
||||
)inp";
|
||||
}
|
||||
|
||||
std::string NonzeroPrescribedNonlinearShellDeck() {
|
||||
return R"inp(*Part, name=ShellPart
|
||||
*Node
|
||||
1, 0., 0., 0.
|
||||
2, 1., 0., 0.
|
||||
3, 1., 1., 0.
|
||||
4, 0., 1., 0.
|
||||
*Element, type=S4
|
||||
1, 1, 2, 3, 4
|
||||
*Elset, elset=ShellSet
|
||||
1
|
||||
*Shell Section, elset=ShellSet, material=Steel
|
||||
0.1
|
||||
*End Part
|
||||
*Assembly, name=Assembly
|
||||
*Instance, name=Shell-1, part=ShellPart
|
||||
*End Instance
|
||||
*Nset, nset=N1, instance=Shell-1
|
||||
1
|
||||
*Nset, nset=N2, instance=Shell-1
|
||||
2
|
||||
*Nset, nset=N3, instance=Shell-1
|
||||
3
|
||||
*Nset, nset=N4, instance=Shell-1
|
||||
4
|
||||
*End Assembly
|
||||
*Material, name=Steel
|
||||
*Elastic
|
||||
1000., 0.25
|
||||
*Boundary
|
||||
N1, 1, 6
|
||||
N2, 1, 1, 0.2
|
||||
N2, 2, 3
|
||||
N2, 4, 4, 0.3
|
||||
N2, 5, 6
|
||||
N3, 1, 6
|
||||
N4, 1, 6
|
||||
*Step, name=Step-1, nlgeom=YES
|
||||
*Static
|
||||
0.1, 1., 0.001, 0.1
|
||||
*Cload
|
||||
N2, 3, -3.
|
||||
N2, 4, 2.
|
||||
*End Step
|
||||
)inp";
|
||||
}
|
||||
|
||||
class Hdf5File {
|
||||
public:
|
||||
explicit Hdf5File(const std::filesystem::path& path)
|
||||
@@ -129,6 +183,112 @@ std::string ReadStringAttribute(const hid_t object, const char* name) {
|
||||
return result;
|
||||
}
|
||||
|
||||
std::vector<double> ReadNodalDataset(const Hdf5File& file,
|
||||
const std::string& path) {
|
||||
const hid_t dataset = H5Dopen2(file.Get(), path.c_str(), H5P_DEFAULT);
|
||||
if (dataset < 0) {
|
||||
throw std::runtime_error{"Unable to open nonlinear nodal dataset."};
|
||||
}
|
||||
std::vector<double> values(24U);
|
||||
const herr_t read = H5Dread(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL,
|
||||
H5P_DEFAULT, values.data());
|
||||
(void)H5Dclose(dataset);
|
||||
if (read < 0 || !std::all_of(values.begin(), values.end(),
|
||||
[](const double value) {
|
||||
return std::isfinite(value);
|
||||
})) {
|
||||
throw std::runtime_error{"Unable to read nonlinear nodal dataset."};
|
||||
}
|
||||
return values;
|
||||
}
|
||||
|
||||
std::vector<std::uint8_t> ReadConstraintMask(const Hdf5File& file) {
|
||||
const hid_t dataset =
|
||||
H5Dopen2(file.Get(), "/model/nodal_constraint_mask", H5P_DEFAULT);
|
||||
if (dataset < 0) {
|
||||
throw std::runtime_error{"Unable to open nonlinear constraint mask."};
|
||||
}
|
||||
std::vector<std::uint8_t> values(24U);
|
||||
const herr_t read = H5Dread(dataset, H5T_NATIVE_UINT8, H5S_ALL, H5S_ALL,
|
||||
H5P_DEFAULT, values.data());
|
||||
(void)H5Dclose(dataset);
|
||||
if (read < 0 || !std::all_of(values.begin(), values.end(),
|
||||
[](const std::uint8_t value) {
|
||||
return value <= 1U;
|
||||
})) {
|
||||
throw std::runtime_error{"Unable to read nonlinear constraint mask."};
|
||||
}
|
||||
return values;
|
||||
}
|
||||
|
||||
fesa::Vector3 SpatialMoment(const fesa::Vector3& phi,
|
||||
const fesa::Vector3& generalized) {
|
||||
const fesa::Matrix transform = fesa::InverseTransposeLeftJacobianSO3(phi);
|
||||
return {transform(0U, 0U) * generalized.X() +
|
||||
transform(0U, 1U) * generalized.Y() +
|
||||
transform(0U, 2U) * generalized.Z(),
|
||||
transform(1U, 0U) * generalized.X() +
|
||||
transform(1U, 1U) * generalized.Y() +
|
||||
transform(1U, 2U) * generalized.Z(),
|
||||
transform(2U, 0U) * generalized.X() +
|
||||
transform(2U, 1U) * generalized.Y() +
|
||||
transform(2U, 2U) * generalized.Z()};
|
||||
}
|
||||
|
||||
std::array<double, 6> ReconstructGlobalBalance(const Hdf5File& file) {
|
||||
const std::string root = "/steps/Step-1/frames/9/nodal/";
|
||||
const auto displacement = ReadNodalDataset(file, root + "displacement");
|
||||
const auto external =
|
||||
ReadNodalDataset(file, root + "generalized_external_force");
|
||||
const auto residual =
|
||||
ReadNodalDataset(file, root + "generalized_residual");
|
||||
const auto mask = ReadConstraintMask(file);
|
||||
const std::array<fesa::Vector3, 4> initial_positions{
|
||||
fesa::Vector3{0.0, 0.0, 0.0}, fesa::Vector3{1.0, 0.0, 0.0},
|
||||
fesa::Vector3{1.0, 1.0, 0.0}, fesa::Vector3{0.0, 1.0, 0.0}};
|
||||
fesa::Vector3 applied_force_resultant;
|
||||
fesa::Vector3 applied_moment_resultant;
|
||||
fesa::Vector3 reaction_force_resultant;
|
||||
fesa::Vector3 reaction_moment_resultant;
|
||||
for (std::size_t node = 0U; node < initial_positions.size(); ++node) {
|
||||
const std::size_t offset = node * 6U;
|
||||
const fesa::Vector3 current_position =
|
||||
initial_positions[node] +
|
||||
fesa::Vector3{displacement[offset], displacement[offset + 1U],
|
||||
displacement[offset + 2U]};
|
||||
const fesa::Vector3 applied_force{external[offset], external[offset + 1U],
|
||||
external[offset + 2U]};
|
||||
const fesa::Vector3 reaction_force{
|
||||
mask[offset] == 1U ? residual[offset] : 0.0,
|
||||
mask[offset + 1U] == 1U ? residual[offset + 1U] : 0.0,
|
||||
mask[offset + 2U] == 1U ? residual[offset + 2U] : 0.0};
|
||||
const fesa::Vector3 phi{displacement[offset + 3U],
|
||||
displacement[offset + 4U],
|
||||
displacement[offset + 5U]};
|
||||
const fesa::Vector3 applied_moment = SpatialMoment(
|
||||
phi, {external[offset + 3U], external[offset + 4U],
|
||||
external[offset + 5U]});
|
||||
const fesa::Vector3 reaction_moment = SpatialMoment(
|
||||
phi, {mask[offset + 3U] == 1U ? residual[offset + 3U] : 0.0,
|
||||
mask[offset + 4U] == 1U ? residual[offset + 4U] : 0.0,
|
||||
mask[offset + 5U] == 1U ? residual[offset + 5U] : 0.0});
|
||||
applied_force_resultant = applied_force_resultant + applied_force;
|
||||
applied_moment_resultant =
|
||||
applied_moment_resultant + current_position.Cross(applied_force) +
|
||||
applied_moment;
|
||||
reaction_force_resultant = reaction_force_resultant + reaction_force;
|
||||
reaction_moment_resultant =
|
||||
reaction_moment_resultant + current_position.Cross(reaction_force) +
|
||||
reaction_moment;
|
||||
}
|
||||
const fesa::Vector3 force_balance =
|
||||
applied_force_resultant + reaction_force_resultant;
|
||||
const fesa::Vector3 moment_balance =
|
||||
applied_moment_resultant + reaction_moment_resultant;
|
||||
return {force_balance.X(), force_balance.Y(), force_balance.Z(),
|
||||
moment_balance.X(), moment_balance.Y(), moment_balance.Z()};
|
||||
}
|
||||
|
||||
// NSNR-PROC-004, NSNR-PROC-007, and NSNR-PROC-010.
|
||||
TEST(NonlinearStaticProcedure,
|
||||
AllConstrainedNlgeomRunWritesSchemaV1AfterAcceptedFrames) {
|
||||
@@ -154,4 +314,33 @@ TEST(NonlinearStaticProcedure,
|
||||
0);
|
||||
}
|
||||
|
||||
// NSNR-PROC-019.
|
||||
TEST(NonlinearStaticProcedure,
|
||||
NonzeroPrescribedMotionWritesCurrentArmSpatialAppliedPlusReactionBalance) {
|
||||
TempDirectory directory{"current-arm-balance"};
|
||||
const auto input = directory.Path() / "shellnl-current-arm.inp";
|
||||
const auto output = directory.Path() / "shellnl-current-arm_results.h5";
|
||||
WriteText(input, NonzeroPrescribedNonlinearShellDeck());
|
||||
|
||||
testing::internal::CaptureStderr();
|
||||
const int exit_code = fesa::FesaApplication{}.Run({input.string()});
|
||||
const std::string standard_error = testing::internal::GetCapturedStderr();
|
||||
|
||||
ASSERT_EQ(exit_code, 0) << standard_error;
|
||||
const Hdf5File file{output};
|
||||
const hid_t dataset = H5Dopen2(
|
||||
file.Get(), "/steps/Step-1/frames/9/global/equilibrium", H5P_DEFAULT);
|
||||
ASSERT_GE(dataset, 0);
|
||||
std::array<double, 6> actual{};
|
||||
ASSERT_GE(H5Dread(dataset, H5T_NATIVE_DOUBLE, H5S_ALL, H5S_ALL,
|
||||
H5P_DEFAULT, actual.data()),
|
||||
0);
|
||||
(void)H5Dclose(dataset);
|
||||
const auto expected = ReconstructGlobalBalance(file);
|
||||
for (std::size_t component = 0U; component < actual.size(); ++component) {
|
||||
EXPECT_NEAR(actual[component], expected[component], 1.0e-10)
|
||||
<< "component=" << component;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -0,0 +1,401 @@
|
||||
#include "nonlinear_static_reference_comparison.h"
|
||||
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <array>
|
||||
#include <cmath>
|
||||
#include <filesystem>
|
||||
#include <fstream>
|
||||
#include <iterator>
|
||||
#include <limits>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#ifndef FESA_TEST_SOURCE_DIR
|
||||
#error FESA_TEST_SOURCE_DIR must identify the repository root.
|
||||
#endif
|
||||
|
||||
#ifndef FESA_TEST_BINARY_DIR
|
||||
#error FESA_TEST_BINARY_DIR must identify the CMake binary root.
|
||||
#endif
|
||||
|
||||
namespace {
|
||||
|
||||
std::string ReadBytes(const std::filesystem::path& path) {
|
||||
std::ifstream stream{path, std::ios::binary};
|
||||
if (!stream) {
|
||||
throw std::runtime_error{"Unable to read reference artifact."};
|
||||
}
|
||||
return {std::istreambuf_iterator<char>{stream},
|
||||
std::istreambuf_iterator<char>{}};
|
||||
}
|
||||
|
||||
fesa::test::NonlinearReferenceCase MakeCase(const std::string& case_id) {
|
||||
const std::filesystem::path root{FESA_TEST_SOURCE_DIR};
|
||||
const bool fine = case_id == "shellnl-meshfine-s4-final";
|
||||
const bool nonlinear = case_id == "shellnl-s4-final" || fine;
|
||||
const std::filesystem::path directory =
|
||||
root / "reference" / (fine ? "shellNL-meshfine"
|
||||
: (nonlinear ? "shellNL" : "shell"));
|
||||
const std::string stem = fine ? "shellNL-meshfine"
|
||||
: (nonlinear ? "shellNL" : "shell");
|
||||
return {case_id,
|
||||
directory / (stem + ".inp"),
|
||||
directory / (stem + " displacements.csv"),
|
||||
directory / (stem + " reactions.csv"),
|
||||
directory / (stem + " stresses.csv"),
|
||||
std::filesystem::path{FESA_TEST_BINARY_DIR} / "reference" /
|
||||
"nonlinear-static-reference" / stem};
|
||||
}
|
||||
|
||||
void ExpectSnapshotsEqual(
|
||||
const std::vector<fesa::test::ArtifactSnapshot>& expected,
|
||||
const std::vector<fesa::test::ArtifactSnapshot>& actual) {
|
||||
ASSERT_EQ(actual.size(), expected.size());
|
||||
for (std::size_t index = 0U; index < expected.size(); ++index) {
|
||||
EXPECT_EQ(actual[index].path, expected[index].path);
|
||||
EXPECT_EQ(actual[index].sha256, expected[index].sha256);
|
||||
EXPECT_EQ(actual[index].byte_size, expected[index].byte_size);
|
||||
EXPECT_EQ(actual[index].last_write_time, expected[index].last_write_time);
|
||||
}
|
||||
}
|
||||
|
||||
const fesa::test::NonlinearReferenceFamilyReport* FindFamily(
|
||||
const fesa::test::NonlinearReferenceComparisonReport& report,
|
||||
const std::string& identity) {
|
||||
const auto found = std::find_if(
|
||||
report.families.begin(), report.families.end(),
|
||||
[&identity](const fesa::test::NonlinearReferenceFamilyReport& family) {
|
||||
return family.family_identity == identity;
|
||||
});
|
||||
return found == report.families.end() ? nullptr : &*found;
|
||||
}
|
||||
|
||||
void ExpectFamily(const fesa::test::NonlinearReferenceComparisonReport& report,
|
||||
const std::string& identity, const std::size_t row_count,
|
||||
const fesa::test::NonlinearReferenceDisposition disposition) {
|
||||
const auto* family = FindFamily(report, identity);
|
||||
ASSERT_NE(family, nullptr) << identity;
|
||||
EXPECT_EQ(family->row_count, row_count);
|
||||
EXPECT_EQ(family->disposition, disposition);
|
||||
}
|
||||
|
||||
void ExpectBlockingFamiliesPassed(
|
||||
const fesa::test::NonlinearReferenceComparisonReport& report) {
|
||||
for (const auto& family : report.families) {
|
||||
if (family.disposition !=
|
||||
fesa::test::NonlinearReferenceDisposition::kBlocking) {
|
||||
continue;
|
||||
}
|
||||
EXPECT_TRUE(family.tolerance.passed)
|
||||
<< family.family_identity << " rows=" << family.row_count
|
||||
<< " scale=" << family.tolerance.reference_scale
|
||||
<< " max_abs=" << family.tolerance.maximum_absolute_error
|
||||
<< " rms=" << family.tolerance.relative_rms
|
||||
<< " diagnostic=" << family.tolerance.diagnostic_code;
|
||||
}
|
||||
}
|
||||
|
||||
void ExpectInternalFamiliesPassed(
|
||||
const fesa::test::NonlinearReferenceComparisonReport& report) {
|
||||
for (const auto& family : report.internal_equilibrium) {
|
||||
EXPECT_TRUE(family.passed)
|
||||
<< family.family_identity << " rows=" << family.row_count
|
||||
<< " numerator=" << family.numerator << " scale=" << family.scale
|
||||
<< " metric="
|
||||
<< (family.normalized_metric.has_value()
|
||||
? *family.normalized_metric
|
||||
: -1.0)
|
||||
<< " diagnostic=" << family.diagnostic_code;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
// NSNR-REF-001 and NSNR-REF-018.
|
||||
TEST(NonlinearStaticReference, AuditsEveryDeclaredArtifactBeforeExecution) {
|
||||
const auto nonlinear = MakeCase("shellnl-s4-final");
|
||||
const auto linear = MakeCase("shell-s4-linear-limit");
|
||||
|
||||
const auto nonlinear_artifacts = fesa::test::ArtifactCheck(nonlinear);
|
||||
ASSERT_TRUE(nonlinear_artifacts.HasValue());
|
||||
ASSERT_EQ(nonlinear_artifacts.Value().size(), 4U);
|
||||
EXPECT_EQ(nonlinear_artifacts.Value()[0U].sha256,
|
||||
"4BF3ECB0F7F1E8462C573E993DBC97AC5D920C91CF6F23AD4C6891D77FFBADA2");
|
||||
EXPECT_EQ(nonlinear_artifacts.Value()[3U].sha256,
|
||||
"5500E5114B1C44887528E30CEC054A1EB0F68BE3F4B8CE81FA59FC74A881483F");
|
||||
|
||||
const auto linear_artifacts = fesa::test::ArtifactCheck(linear);
|
||||
ASSERT_TRUE(linear_artifacts.HasValue());
|
||||
ASSERT_EQ(linear_artifacts.Value().size(), 4U);
|
||||
EXPECT_EQ(linear_artifacts.Value()[0U].sha256,
|
||||
"4005851E1AB22FD3A16AC17A8D5DA3E051233F69F37419079F3553AD134ECFCF");
|
||||
EXPECT_EQ(linear_artifacts.Value()[3U].sha256,
|
||||
"2B75A5B0DEB045A283C9BB7E9B1153B79F7537FF487214BF4A23316B59B660A7");
|
||||
}
|
||||
|
||||
// NSNR-REF-002 through NSNR-REF-018.
|
||||
TEST(NonlinearStaticReference,
|
||||
CopiesRunsComparesAndPreservesTheReadOnlyReferenceInventory) {
|
||||
for (const std::string case_id :
|
||||
{"shellnl-s4-final", "shell-s4-linear-limit"}) {
|
||||
const auto reference_case = MakeCase(case_id);
|
||||
const auto before = fesa::test::ArtifactCheck(reference_case);
|
||||
ASSERT_TRUE(before.HasValue());
|
||||
|
||||
const auto copied =
|
||||
fesa::test::CopyInputToExecutionDirectory(reference_case);
|
||||
ASSERT_TRUE(copied.HasValue());
|
||||
EXPECT_NE(copied.Value().parent_path(),
|
||||
reference_case.original_input_path.parent_path());
|
||||
EXPECT_EQ(ReadBytes(copied.Value()),
|
||||
ReadBytes(reference_case.original_input_path));
|
||||
|
||||
const auto generated = fesa::test::RunFesaApplicationOnCopiedInput(
|
||||
reference_case, copied.Value());
|
||||
ASSERT_TRUE(generated.HasValue());
|
||||
EXPECT_EQ(generated.Value().copied_input_path, copied.Value());
|
||||
EXPECT_TRUE(std::filesystem::is_regular_file(
|
||||
generated.Value().generated_results_hdf5));
|
||||
EXPECT_TRUE(std::filesystem::is_regular_file(
|
||||
generated.Value().generated_log_path));
|
||||
EXPECT_EQ(generated.Value().generated_results_hdf5.filename(),
|
||||
case_id == "shellnl-s4-final" ? "shellNL_results.h5"
|
||||
: "shell_results.h5");
|
||||
EXPECT_EQ(generated.Value().generated_log_path.filename(),
|
||||
case_id == "shellnl-s4-final" ? "shellNL_log.txt"
|
||||
: "shell_log.txt");
|
||||
|
||||
const auto comparison = fesa::test::CompareHdf5ToReferenceCsv(
|
||||
reference_case, generated.Value().generated_results_hdf5);
|
||||
ASSERT_TRUE(comparison.HasValue());
|
||||
ExpectBlockingFamiliesPassed(comparison.Value());
|
||||
if (case_id == "shellnl-s4-final") {
|
||||
ExpectInternalFamiliesPassed(comparison.Value());
|
||||
}
|
||||
EXPECT_TRUE(comparison.Value().blocking_passed);
|
||||
EXPECT_EQ(comparison.Value().copied_input_path, copied.Value());
|
||||
EXPECT_EQ(comparison.Value().generated_log_path,
|
||||
generated.Value().generated_log_path);
|
||||
|
||||
ExpectFamily(comparison.Value(),
|
||||
case_id == "shellnl-s4-final" ? "coarse.translation"
|
||||
: "linear.translation",
|
||||
147U, fesa::test::NonlinearReferenceDisposition::kBlocking);
|
||||
ExpectFamily(comparison.Value(),
|
||||
case_id == "shellnl-s4-final" ? "coarse.rotation"
|
||||
: "linear.rotation",
|
||||
147U,
|
||||
fesa::test::NonlinearReferenceDisposition::kWarningOnly);
|
||||
if (case_id == "shellnl-s4-final") {
|
||||
ExpectFamily(comparison.Value(), "coarse.local_reaction_inplane_force",
|
||||
48U, fesa::test::NonlinearReferenceDisposition::kReviewOnly);
|
||||
ExpectFamily(comparison.Value(), "coarse.local_reaction_transverse_force",
|
||||
24U, fesa::test::NonlinearReferenceDisposition::kReviewOnly);
|
||||
ExpectFamily(comparison.Value(), "coarse.local_reaction_physical_moment",
|
||||
48U, fesa::test::NonlinearReferenceDisposition::kReviewOnly);
|
||||
EXPECT_EQ(FindFamily(comparison.Value(), "RM3"), nullptr);
|
||||
}
|
||||
|
||||
const auto after = fesa::test::ArtifactCheck(reference_case);
|
||||
ASSERT_TRUE(after.HasValue());
|
||||
ExpectSnapshotsEqual(before.Value(), after.Value());
|
||||
}
|
||||
}
|
||||
|
||||
// NSNR-REF-009 and NSNR-REF-017.
|
||||
TEST(NonlinearStaticReference,
|
||||
RejectsInvalidHdf5BeforeToleranceAndKeepsWarningOnlyClassification) {
|
||||
const auto reference_case = MakeCase("shellnl-s4-final");
|
||||
const auto copied = fesa::test::CopyInputToExecutionDirectory(reference_case);
|
||||
ASSERT_TRUE(copied.HasValue());
|
||||
const auto generated = fesa::test::RunFesaApplicationOnCopiedInput(
|
||||
reference_case, copied.Value());
|
||||
ASSERT_TRUE(generated.HasValue());
|
||||
|
||||
const auto invalid_hdf5 = copied.Value().parent_path() / "invalid.h5";
|
||||
std::ofstream stream{invalid_hdf5, std::ios::binary | std::ios::trunc};
|
||||
stream << "not an HDF5 file";
|
||||
stream.close();
|
||||
EXPECT_FALSE(fesa::test::CompareHdf5ToReferenceCsv(reference_case,
|
||||
invalid_hdf5)
|
||||
.HasValue());
|
||||
|
||||
fesa::test::NonlinearReferenceComparisonReport report{};
|
||||
report.blocking_passed = true;
|
||||
report.families.push_back(
|
||||
{"nonlinear.rotation",
|
||||
{"UR1", "UR2", "UR3"},
|
||||
fesa::test::NonlinearReferenceDisposition::kWarningOnly,
|
||||
147U,
|
||||
{"nonlinear.rotation", {"UR1", "UR2", "UR3"}, false, 1.0, 0.01,
|
||||
0U, 0.02, 0.02, 0U, false, false, "relative-rms-exceeded", {}, 147U}});
|
||||
EXPECT_EQ(fesa::test::ClassifyReferenceComparison(report),
|
||||
fesa::test::NonlinearReferenceClassification::kWarningOnlyDifferences);
|
||||
}
|
||||
|
||||
// NSNR-REF-020.
|
||||
TEST(NonlinearStaticReference, AuditsFinePrimaryAndCoarseCompanionArtifacts) {
|
||||
const std::array<std::string, 3> case_ids{
|
||||
"shellnl-meshfine-s4-final", "shellnl-s4-final",
|
||||
"shell-s4-linear-limit"};
|
||||
for (const auto& case_id : case_ids) {
|
||||
const auto reference_case = MakeCase(case_id);
|
||||
const auto before = fesa::test::ArtifactCheck(reference_case);
|
||||
ASSERT_TRUE(before.HasValue()) << case_id;
|
||||
ASSERT_EQ(before.Value().size(), 4U) << case_id;
|
||||
|
||||
const auto copied =
|
||||
fesa::test::CopyInputToExecutionDirectory(reference_case);
|
||||
ASSERT_TRUE(copied.HasValue()) << case_id;
|
||||
EXPECT_NE(copied.Value().parent_path(),
|
||||
reference_case.original_input_path.parent_path());
|
||||
const auto generated = fesa::test::RunFesaApplicationOnCopiedInput(
|
||||
reference_case, copied.Value());
|
||||
ASSERT_TRUE(generated.HasValue()) << case_id;
|
||||
EXPECT_TRUE(std::filesystem::is_regular_file(
|
||||
generated.Value().generated_results_hdf5));
|
||||
|
||||
const auto after = fesa::test::ArtifactCheck(reference_case);
|
||||
ASSERT_TRUE(after.HasValue()) << case_id;
|
||||
ExpectSnapshotsEqual(before.Value(), after.Value());
|
||||
}
|
||||
}
|
||||
|
||||
// NSNR-REF-021.
|
||||
TEST(NonlinearStaticReference,
|
||||
ReviewOnlyLocalReactionsCannotChangeBlockingVerdict) {
|
||||
const auto reference_case = MakeCase("shellnl-s4-final");
|
||||
const auto copied = fesa::test::CopyInputToExecutionDirectory(reference_case);
|
||||
ASSERT_TRUE(copied.HasValue());
|
||||
const auto generated = fesa::test::RunFesaApplicationOnCopiedInput(
|
||||
reference_case, copied.Value());
|
||||
ASSERT_TRUE(generated.HasValue());
|
||||
const auto comparison = fesa::test::CompareHdf5ToReferenceCsv(
|
||||
reference_case, generated.Value().generated_results_hdf5);
|
||||
ASSERT_TRUE(comparison.HasValue());
|
||||
|
||||
ExpectFamily(comparison.Value(), "coarse.local_reaction_inplane_force", 48U,
|
||||
fesa::test::NonlinearReferenceDisposition::kReviewOnly);
|
||||
ExpectFamily(comparison.Value(), "coarse.local_reaction_transverse_force",
|
||||
24U, fesa::test::NonlinearReferenceDisposition::kReviewOnly);
|
||||
ExpectFamily(comparison.Value(), "coarse.local_reaction_physical_moment",
|
||||
48U, fesa::test::NonlinearReferenceDisposition::kReviewOnly);
|
||||
EXPECT_TRUE(comparison.Value().external_blocking_passed);
|
||||
}
|
||||
|
||||
// NSNR-REF-022.
|
||||
TEST(NonlinearStaticReference,
|
||||
BlocksOnGlobalBalanceAndAcceptedFreeResidual) {
|
||||
for (const std::string case_id :
|
||||
{"shellnl-meshfine-s4-final", "shellnl-s4-final"}) {
|
||||
const auto reference_case = MakeCase(case_id);
|
||||
const auto copied =
|
||||
fesa::test::CopyInputToExecutionDirectory(reference_case);
|
||||
ASSERT_TRUE(copied.HasValue()) << case_id;
|
||||
const auto generated = fesa::test::RunFesaApplicationOnCopiedInput(
|
||||
reference_case, copied.Value());
|
||||
ASSERT_TRUE(generated.HasValue()) << case_id;
|
||||
const auto comparison = fesa::test::CompareHdf5ToReferenceCsv(
|
||||
reference_case, generated.Value().generated_results_hdf5);
|
||||
ASSERT_TRUE(comparison.HasValue()) << case_id;
|
||||
|
||||
const std::string prefix = case_id == "shellnl-meshfine-s4-final"
|
||||
? "fine."
|
||||
: "coarse.";
|
||||
const std::array<std::string, 4> identities{
|
||||
prefix + "global_force_balance", prefix + "global_moment_balance",
|
||||
prefix + "accepted_free_force_residual",
|
||||
prefix + "accepted_free_moment_residual"};
|
||||
for (const auto& identity : identities) {
|
||||
const auto found = std::find_if(
|
||||
comparison.Value().internal_equilibrium.begin(),
|
||||
comparison.Value().internal_equilibrium.end(),
|
||||
[&identity](const fesa::test::NonlinearInternalEquilibriumReport& row) {
|
||||
return row.family_identity == identity;
|
||||
});
|
||||
ASSERT_NE(found, comparison.Value().internal_equilibrium.end())
|
||||
<< identity;
|
||||
EXPECT_TRUE(found->passed)
|
||||
<< identity << " numerator=" << found->numerator
|
||||
<< " scale=" << found->scale << " metric="
|
||||
<< (found->normalized_metric.has_value()
|
||||
? *found->normalized_metric
|
||||
: -1.0)
|
||||
<< " diagnostic=" << found->diagnostic_code;
|
||||
}
|
||||
EXPECT_TRUE(comparison.Value().internal_blocking_passed);
|
||||
const std::array<double, 3> zero_resultant{};
|
||||
EXPECT_NE(comparison.Value().constrained_reaction_resultant.force,
|
||||
zero_resultant);
|
||||
}
|
||||
}
|
||||
|
||||
// NSNR-REF-023.
|
||||
TEST(NonlinearStaticReference,
|
||||
RejectsMissingExtraDuplicateAndNonfiniteRowsBeforeToleranceAndRecordsReviewOnlyFindings) {
|
||||
fesa::test::NonlinearReferenceComparisonReport report{};
|
||||
report.blocking_passed = true;
|
||||
report.external_blocking_passed = true;
|
||||
report.internal_blocking_passed = true;
|
||||
report.precheck_findings = {
|
||||
{"blocking", fesa::test::NonlinearReferenceDisposition::kBlocking,
|
||||
"missing-row", {}},
|
||||
{"warning", fesa::test::NonlinearReferenceDisposition::kWarningOnly,
|
||||
"duplicate-row", {}},
|
||||
{"review", fesa::test::NonlinearReferenceDisposition::kReviewOnly,
|
||||
"nonfinite-row", {}}};
|
||||
|
||||
EXPECT_EQ(fesa::test::ClassifyReferenceComparison(report),
|
||||
fesa::test::NonlinearReferenceClassification::kFailed);
|
||||
EXPECT_EQ(report.precheck_findings[1U].diagnostic_code, "duplicate-row");
|
||||
EXPECT_EQ(report.precheck_findings[2U].diagnostic_code, "nonfinite-row");
|
||||
}
|
||||
|
||||
// NSNR-REF-024.
|
||||
TEST(NonlinearStaticReference,
|
||||
GlobalForceAndMomentBalanceUseApprovedInclusiveOneEighthGate) {
|
||||
for (const std::string& identity :
|
||||
{"fine.global_force_balance", "fine.global_moment_balance"}) {
|
||||
const auto below = fesa::test::EvaluateGlobalBalance(
|
||||
identity, 5.0e-9, 1.0, 0.0);
|
||||
EXPECT_TRUE(below.passed) << identity;
|
||||
ASSERT_TRUE(below.normalized_metric.has_value()) << identity;
|
||||
EXPECT_EQ(*below.normalized_metric, 5.0e-9) << identity;
|
||||
|
||||
const auto boundary = fesa::test::EvaluateGlobalBalance(
|
||||
identity, 1.0e-8, 1.0, 0.0);
|
||||
EXPECT_TRUE(boundary.passed) << identity;
|
||||
ASSERT_TRUE(boundary.normalized_metric.has_value()) << identity;
|
||||
EXPECT_EQ(*boundary.normalized_metric, 1.0e-8) << identity;
|
||||
|
||||
const auto above = fesa::test::EvaluateGlobalBalance(
|
||||
identity, std::nextafter(1.0e-8,
|
||||
std::numeric_limits<double>::infinity()),
|
||||
1.0, 0.0);
|
||||
EXPECT_FALSE(above.passed) << identity;
|
||||
ASSERT_TRUE(above.normalized_metric.has_value()) << identity;
|
||||
EXPECT_GT(*above.normalized_metric, 1.0e-8) << identity;
|
||||
}
|
||||
}
|
||||
|
||||
// NSNR-REF-025.
|
||||
TEST(NonlinearStaticReference,
|
||||
GlobalForceAndMomentExactZeroScaleRequiresExactZeroBalance) {
|
||||
for (const std::string& identity :
|
||||
{"coarse.global_force_balance", "coarse.global_moment_balance"}) {
|
||||
const auto exact_zero =
|
||||
fesa::test::EvaluateGlobalBalance(identity, 0.0, 0.0, 0.0);
|
||||
EXPECT_TRUE(exact_zero.passed) << identity;
|
||||
EXPECT_EQ(exact_zero.scale, 0.0) << identity;
|
||||
EXPECT_FALSE(exact_zero.normalized_metric.has_value()) << identity;
|
||||
|
||||
const auto nonzero =
|
||||
fesa::test::EvaluateGlobalBalance(identity, 1.0e-300, 0.0, 0.0);
|
||||
EXPECT_FALSE(nonzero.passed) << identity;
|
||||
EXPECT_EQ(nonzero.scale, 0.0) << identity;
|
||||
EXPECT_FALSE(nonzero.normalized_metric.has_value()) << identity;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,129 @@
|
||||
#ifndef FESA_TESTS_REFERENCE_NONLINEAR_STATIC_REFERENCE_COMPARISON_H_
|
||||
#define FESA_TESTS_REFERENCE_NONLINEAR_STATIC_REFERENCE_COMPARISON_H_
|
||||
|
||||
#include <array>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include <filesystem>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "fesa/core/status.h"
|
||||
#include "reference_tolerance_policy.h"
|
||||
|
||||
namespace fesa::test {
|
||||
|
||||
struct NonlinearReferenceCase {
|
||||
std::string case_id;
|
||||
std::filesystem::path original_input_path;
|
||||
std::filesystem::path displacement_csv_path;
|
||||
std::filesystem::path reaction_csv_path;
|
||||
std::filesystem::path stress_inventory_path;
|
||||
std::filesystem::path execution_directory;
|
||||
};
|
||||
|
||||
struct ArtifactSnapshot {
|
||||
std::filesystem::path path;
|
||||
std::string sha256;
|
||||
std::uintmax_t byte_size;
|
||||
std::filesystem::file_time_type last_write_time;
|
||||
};
|
||||
|
||||
enum class NonlinearReferenceDisposition {
|
||||
kBlocking,
|
||||
kWarningOnly,
|
||||
kReviewOnly,
|
||||
kExcluded,
|
||||
};
|
||||
|
||||
struct NonlinearReferenceRowKey {
|
||||
std::string case_id;
|
||||
std::string accepted_state;
|
||||
std::string instance_name;
|
||||
std::int64_t source_node_label;
|
||||
std::string component;
|
||||
};
|
||||
|
||||
struct NonlinearReferenceFamilyReport {
|
||||
std::string family_identity;
|
||||
std::vector<std::string> components;
|
||||
NonlinearReferenceDisposition disposition;
|
||||
std::size_t row_count;
|
||||
ReferenceToleranceFamilyDecision tolerance;
|
||||
};
|
||||
|
||||
struct NonlinearReferencePrecheckFinding {
|
||||
std::string family_identity;
|
||||
NonlinearReferenceDisposition disposition;
|
||||
std::string diagnostic_code;
|
||||
std::vector<NonlinearReferenceRowKey> affected_keys;
|
||||
};
|
||||
|
||||
struct NonlinearInternalEquilibriumReport {
|
||||
std::string family_identity;
|
||||
std::size_t row_count;
|
||||
double numerator;
|
||||
double scale;
|
||||
std::optional<double> normalized_metric;
|
||||
bool passed;
|
||||
std::string diagnostic_code;
|
||||
};
|
||||
|
||||
struct ConstrainedReactionResultantReport {
|
||||
std::array<double, 3> force;
|
||||
std::array<double, 3> moment;
|
||||
};
|
||||
|
||||
NonlinearInternalEquilibriumReport EvaluateGlobalBalance(
|
||||
const std::string& family_identity, double numerator,
|
||||
double applied_scale, double reaction_scale);
|
||||
|
||||
struct GeneratedRunArtifacts {
|
||||
std::filesystem::path copied_input_path;
|
||||
std::filesystem::path generated_results_hdf5;
|
||||
std::filesystem::path generated_log_path;
|
||||
};
|
||||
|
||||
struct NonlinearReferenceComparisonReport {
|
||||
std::string case_id;
|
||||
std::filesystem::path original_input_path;
|
||||
std::filesystem::path copied_input_path;
|
||||
std::filesystem::path generated_results_hdf5;
|
||||
std::filesystem::path generated_log_path;
|
||||
std::vector<ArtifactSnapshot> pre_run_artifacts;
|
||||
std::vector<ArtifactSnapshot> post_run_artifacts;
|
||||
std::vector<NonlinearReferenceFamilyReport> families;
|
||||
bool blocking_passed;
|
||||
std::vector<NonlinearReferencePrecheckFinding> precheck_findings;
|
||||
std::vector<NonlinearInternalEquilibriumReport> internal_equilibrium;
|
||||
ConstrainedReactionResultantReport constrained_reaction_resultant;
|
||||
bool external_blocking_passed;
|
||||
bool internal_blocking_passed;
|
||||
};
|
||||
|
||||
enum class NonlinearReferenceClassification {
|
||||
kPassed,
|
||||
kFailed,
|
||||
kWarningOnlyDifferences,
|
||||
};
|
||||
|
||||
Result<std::vector<ArtifactSnapshot>> ArtifactCheck(
|
||||
const NonlinearReferenceCase& reference_case);
|
||||
Result<std::filesystem::path> CopyInputToExecutionDirectory(
|
||||
const NonlinearReferenceCase& reference_case);
|
||||
Result<GeneratedRunArtifacts> RunFesaApplicationOnCopiedInput(
|
||||
const NonlinearReferenceCase& reference_case,
|
||||
const std::filesystem::path& copied_input_path);
|
||||
Result<NonlinearReferenceComparisonReport> CompareHdf5ToReferenceCsv(
|
||||
const NonlinearReferenceCase& reference_case,
|
||||
const std::filesystem::path& hdf5_results_path);
|
||||
NonlinearReferenceClassification ClassifyReferenceComparison(
|
||||
const NonlinearReferenceComparisonReport& report);
|
||||
NonlinearReferenceComparisonReport BuildReferenceComparisonReport(
|
||||
const NonlinearReferenceCase& reference_case,
|
||||
const std::filesystem::path& hdf5_results_path);
|
||||
|
||||
} // namespace fesa::test
|
||||
|
||||
#endif // FESA_TESTS_REFERENCE_NONLINEAR_STATIC_REFERENCE_COMPARISON_H_
|
||||
@@ -80,6 +80,14 @@ std::string ValueAfterEquals(const std::string& field) {
|
||||
return field.substr(field.find('=') + 1U);
|
||||
}
|
||||
|
||||
fesa::Vector VectorFrom(const std::vector<double>& values) {
|
||||
fesa::Vector result{values.size()};
|
||||
for (std::size_t index = 0U; index < values.size(); ++index) {
|
||||
result[index] = values[index];
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
fesa::NewtonChannelDecision MakeDecision(const std::string& identity) {
|
||||
return {identity,
|
||||
0.0012345678901234567,
|
||||
@@ -324,4 +332,84 @@ TEST(NewtonIterationLog, LeavesZeroByteLogForNonNewtonControlledFailurePath) {
|
||||
EXPECT_EQ(std::filesystem::file_size(path), 0U);
|
||||
}
|
||||
|
||||
// NSNR-LOG-012
|
||||
TEST(NewtonIterationLog,
|
||||
SerializesEvaluatorProducedExternalScaleResidualDecisions) {
|
||||
TempDirectory directory{"external-scale"};
|
||||
const fesa::NewtonConvergenceInput zero_external{
|
||||
{"residual_force", VectorFrom({1.0e-3}), VectorFrom({2.0}),
|
||||
VectorFrom({0.0})},
|
||||
{"residual_moment", VectorFrom({1.0e-3}), VectorFrom({3.0}),
|
||||
VectorFrom({0.0})},
|
||||
{"correction_translation", VectorFrom({1.0e-2}), VectorFrom({1.0})},
|
||||
{"correction_rotation", VectorFrom({1.0e-2}), VectorFrom({1.0})},
|
||||
};
|
||||
const auto zero_decisions = fesa::EvaluateNewtonConvergence(zero_external);
|
||||
auto zero_record = CompleteRecord();
|
||||
zero_record.force_residual = zero_decisions.force_residual;
|
||||
zero_record.moment_residual = zero_decisions.moment_residual;
|
||||
zero_record.translation_correction = zero_decisions.translation_correction;
|
||||
zero_record.rotation_correction = zero_decisions.rotation_correction;
|
||||
zero_record.combined_passed = zero_decisions.combined_passed;
|
||||
const auto zero_fields =
|
||||
WriteAndRead(directory.Path() / "zero_log.txt", zero_record);
|
||||
|
||||
ASSERT_EQ(zero_fields.size(), 39U);
|
||||
EXPECT_EQ(FieldValue(zero_fields, "schema"), "schema=nsnr-log-v1");
|
||||
EXPECT_EQ(FieldValue(zero_fields, "residual_force_denominator_scale"),
|
||||
"residual_force_denominator_scale=0");
|
||||
EXPECT_EQ(FieldValue(zero_fields, "residual_moment_denominator_scale"),
|
||||
"residual_moment_denominator_scale=0");
|
||||
EXPECT_EQ(FieldValue(zero_fields, "residual_force_branch"),
|
||||
"residual_force_branch=zero-scale");
|
||||
EXPECT_EQ(FieldValue(zero_fields, "residual_moment_branch"),
|
||||
"residual_moment_branch=zero-scale");
|
||||
EXPECT_EQ(FieldValue(zero_fields, "residual_force_threshold"),
|
||||
"residual_force_threshold=0.001");
|
||||
EXPECT_EQ(FieldValue(zero_fields, "residual_moment_threshold"),
|
||||
"residual_moment_threshold=0.001");
|
||||
EXPECT_EQ(FieldValue(zero_fields, "residual_force_threshold_unit"),
|
||||
"residual_force_threshold_unit=force");
|
||||
EXPECT_EQ(FieldValue(zero_fields, "residual_moment_threshold_unit"),
|
||||
"residual_moment_threshold_unit=force*length");
|
||||
|
||||
const fesa::NewtonConvergenceInput nonzero_external{
|
||||
{"residual_force", VectorFrom({2.0e-2}), VectorFrom({2.0}),
|
||||
VectorFrom({1.0})},
|
||||
{"residual_moment", VectorFrom({2.0e-2}), VectorFrom({1.0}),
|
||||
VectorFrom({2.0})},
|
||||
{"correction_translation", VectorFrom({1.0e-2}), VectorFrom({1.0})},
|
||||
{"correction_rotation", VectorFrom({1.0e-2}), VectorFrom({1.0})},
|
||||
};
|
||||
const auto relative_decisions =
|
||||
fesa::EvaluateNewtonConvergence(nonzero_external);
|
||||
auto relative_record = CompleteRecord();
|
||||
relative_record.force_residual = relative_decisions.force_residual;
|
||||
relative_record.moment_residual = relative_decisions.moment_residual;
|
||||
relative_record.translation_correction =
|
||||
relative_decisions.translation_correction;
|
||||
relative_record.rotation_correction = relative_decisions.rotation_correction;
|
||||
relative_record.combined_passed = relative_decisions.combined_passed;
|
||||
const auto relative_fields =
|
||||
WriteAndRead(directory.Path() / "relative_log.txt", relative_record);
|
||||
|
||||
ASSERT_EQ(relative_fields.size(), 39U);
|
||||
EXPECT_EQ(FieldValue(relative_fields, "residual_force_denominator_scale"),
|
||||
"residual_force_denominator_scale=2");
|
||||
EXPECT_EQ(FieldValue(relative_fields, "residual_moment_denominator_scale"),
|
||||
"residual_moment_denominator_scale=2");
|
||||
EXPECT_EQ(FieldValue(relative_fields, "residual_force_branch"),
|
||||
"residual_force_branch=relative");
|
||||
EXPECT_EQ(FieldValue(relative_fields, "residual_moment_branch"),
|
||||
"residual_moment_branch=relative");
|
||||
EXPECT_EQ(FieldValue(relative_fields, "residual_force_threshold"),
|
||||
"residual_force_threshold=0.01");
|
||||
EXPECT_EQ(FieldValue(relative_fields, "residual_moment_threshold"),
|
||||
"residual_moment_threshold=0.01");
|
||||
EXPECT_EQ(FieldValue(relative_fields, "residual_force_threshold_unit"),
|
||||
"residual_force_threshold_unit=1");
|
||||
EXPECT_EQ(FieldValue(relative_fields, "residual_moment_threshold_unit"),
|
||||
"residual_moment_threshold_unit=1");
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -143,6 +143,18 @@ fesa::NewtonConvergenceInput RelativeConvergenceInput() {
|
||||
};
|
||||
}
|
||||
|
||||
fesa::NewtonConvergenceInput ExactZeroExternalResidualInput(
|
||||
const double force_numerator, const double moment_numerator) {
|
||||
return {
|
||||
{"residual_force", VectorFrom({force_numerator}), VectorFrom({2.0}),
|
||||
VectorFrom({0.0})},
|
||||
{"residual_moment", VectorFrom({moment_numerator}), VectorFrom({3.0}),
|
||||
VectorFrom({0.0})},
|
||||
{"correction_translation", VectorFrom({1.0e-2}), VectorFrom({1.0})},
|
||||
{"correction_rotation", VectorFrom({1.0e-2}), VectorFrom({1.0})},
|
||||
};
|
||||
}
|
||||
|
||||
// NSNR-CTRL-001, NSNR-CTRL-002, and NSNR-CTRL-017
|
||||
TEST(NonlinearStaticControl, BuildsFixedFactorSequenceWithExactEndpoint) {
|
||||
const auto fixture = MakeFixture();
|
||||
@@ -362,4 +374,161 @@ TEST(NonlinearConvergence, AppliesTypedZeroScaleGatesToEmptyChannels) {
|
||||
}
|
||||
}
|
||||
|
||||
// NSNR-CTRL-018
|
||||
TEST(NonlinearConvergence,
|
||||
SelectsTypedZeroScaleFromExactZeroExternalResidualChannels) {
|
||||
const auto accepted = fesa::EvaluateNewtonConvergence(
|
||||
ExactZeroExternalResidualInput(fesa::kNewtonZeroScaleThreshold,
|
||||
fesa::kNewtonZeroScaleThreshold));
|
||||
|
||||
EXPECT_TRUE(accepted.combined_passed);
|
||||
const std::array<fesa::NewtonChannelDecision, 2U> decisions{
|
||||
accepted.force_residual, accepted.moment_residual};
|
||||
const std::array<fesa::NewtonChannelUnit, 2U> units{
|
||||
fesa::NewtonChannelUnit::kForce,
|
||||
fesa::NewtonChannelUnit::kForceLength};
|
||||
for (std::size_t index = 0U; index < decisions.size(); ++index) {
|
||||
EXPECT_DOUBLE_EQ(decisions[index].denominator_scale, 0.0);
|
||||
EXPECT_EQ(decisions[index].branch,
|
||||
fesa::NewtonConvergenceBranch::kZeroScale);
|
||||
EXPECT_DOUBLE_EQ(decisions[index].threshold,
|
||||
fesa::kNewtonZeroScaleThreshold);
|
||||
EXPECT_EQ(decisions[index].threshold_unit, units[index]);
|
||||
EXPECT_TRUE(decisions[index].passed);
|
||||
}
|
||||
|
||||
const double just_over = std::nextafter(
|
||||
fesa::kNewtonZeroScaleThreshold,
|
||||
std::numeric_limits<double>::infinity());
|
||||
const auto force_rejected =
|
||||
fesa::EvaluateNewtonConvergence(ExactZeroExternalResidualInput(
|
||||
just_over, fesa::kNewtonZeroScaleThreshold));
|
||||
const auto moment_rejected =
|
||||
fesa::EvaluateNewtonConvergence(ExactZeroExternalResidualInput(
|
||||
fesa::kNewtonZeroScaleThreshold, just_over));
|
||||
EXPECT_FALSE(force_rejected.force_residual.passed);
|
||||
EXPECT_FALSE(force_rejected.combined_passed);
|
||||
EXPECT_FALSE(moment_rejected.moment_residual.passed);
|
||||
EXPECT_FALSE(moment_rejected.combined_passed);
|
||||
}
|
||||
|
||||
// NSNR-CTRL-019
|
||||
TEST(NonlinearConvergence,
|
||||
UsesRelativeResidualScaleOnlyWhenMatchingExternalScaleIsNonzero) {
|
||||
fesa::NewtonConvergenceInput input{
|
||||
{"residual_force", VectorFrom({2.0e-2}), VectorFrom({2.0}),
|
||||
VectorFrom({1.0})},
|
||||
{"residual_moment", VectorFrom({2.0e-2}), VectorFrom({1.0}),
|
||||
VectorFrom({2.0})},
|
||||
{"correction_translation", VectorFrom({1.0e-2}), VectorFrom({1.0})},
|
||||
{"correction_rotation", VectorFrom({1.0e-2}), VectorFrom({1.0})},
|
||||
};
|
||||
const auto accepted = fesa::EvaluateNewtonConvergence(input);
|
||||
|
||||
EXPECT_TRUE(accepted.combined_passed);
|
||||
for (const auto& decision : {accepted.force_residual,
|
||||
accepted.moment_residual}) {
|
||||
EXPECT_DOUBLE_EQ(decision.denominator_scale, 2.0);
|
||||
EXPECT_EQ(decision.branch, fesa::NewtonConvergenceBranch::kRelative);
|
||||
EXPECT_DOUBLE_EQ(decision.threshold, fesa::kNewtonRelativeThreshold);
|
||||
EXPECT_EQ(decision.threshold_unit, fesa::NewtonChannelUnit::kDimensionless);
|
||||
EXPECT_TRUE(decision.passed);
|
||||
}
|
||||
|
||||
const double just_over = std::nextafter(2.0e-2,
|
||||
std::numeric_limits<double>::infinity());
|
||||
input.force_residual.free_residual = VectorFrom({just_over});
|
||||
EXPECT_FALSE(fesa::EvaluateNewtonConvergence(input).force_residual.passed);
|
||||
input.force_residual.free_residual = VectorFrom({2.0e-2});
|
||||
input.moment_residual.free_residual = VectorFrom({just_over});
|
||||
EXPECT_FALSE(fesa::EvaluateNewtonConvergence(input).moment_residual.passed);
|
||||
|
||||
input.moment_residual.free_residual = VectorFrom({2.0e-2});
|
||||
input.force_residual.free_residual = VectorFrom({9.0e-4});
|
||||
input.force_residual.free_internal = VectorFrom({5.0e-3});
|
||||
input.force_residual.free_external = VectorFrom({1.0e-2});
|
||||
const auto relative_rejected = fesa::EvaluateNewtonConvergence(input);
|
||||
EXPECT_FALSE(relative_rejected.force_residual.passed);
|
||||
EXPECT_FALSE(relative_rejected.combined_passed);
|
||||
}
|
||||
|
||||
// NSNR-CTRL-020
|
||||
TEST(NonlinearConvergence,
|
||||
RejectsNonfiniteResidualInputsBeforeSelectingOrAcceptingAChannel) {
|
||||
const std::array<double, 2U> invalid_values{
|
||||
std::numeric_limits<double>::quiet_NaN(),
|
||||
std::numeric_limits<double>::infinity()};
|
||||
for (const double invalid : invalid_values) {
|
||||
for (const bool is_moment : {false, true}) {
|
||||
for (const std::size_t vector_index : {0U, 1U, 2U}) {
|
||||
auto input = RelativeConvergenceInput();
|
||||
fesa::NewtonResidualChannelInput* channel =
|
||||
is_moment ? &input.moment_residual : &input.force_residual;
|
||||
if (vector_index == 0U) {
|
||||
channel->free_residual = VectorFrom({invalid});
|
||||
} else if (vector_index == 1U) {
|
||||
channel->free_internal = VectorFrom({invalid});
|
||||
} else {
|
||||
channel->free_external = VectorFrom({invalid});
|
||||
}
|
||||
const auto result = fesa::EvaluateNewtonConvergence(input);
|
||||
const auto& decision =
|
||||
is_moment ? result.moment_residual : result.force_residual;
|
||||
EXPECT_FALSE(decision.passed);
|
||||
EXPECT_FALSE(result.combined_passed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
auto input = RelativeConvergenceInput();
|
||||
const double smallest_external = std::nextafter(
|
||||
0.0, std::numeric_limits<double>::infinity());
|
||||
input.force_residual.free_residual = VectorFrom({0.0});
|
||||
input.force_residual.free_internal = VectorFrom({0.0});
|
||||
input.force_residual.free_external = VectorFrom({smallest_external});
|
||||
const auto relative = fesa::EvaluateNewtonConvergence(input);
|
||||
EXPECT_TRUE(relative.force_residual.passed);
|
||||
EXPECT_DOUBLE_EQ(relative.force_residual.denominator_scale,
|
||||
smallest_external);
|
||||
EXPECT_EQ(relative.force_residual.branch,
|
||||
fesa::NewtonConvergenceBranch::kRelative);
|
||||
EXPECT_DOUBLE_EQ(relative.force_residual.threshold,
|
||||
fesa::kNewtonRelativeThreshold);
|
||||
EXPECT_EQ(relative.force_residual.threshold_unit,
|
||||
fesa::NewtonChannelUnit::kDimensionless);
|
||||
}
|
||||
|
||||
// NSNR-CTRL-021
|
||||
TEST(NonlinearConvergence, RequiresEveryResidualAndCorrectionChannelToPass) {
|
||||
const auto accepted = fesa::EvaluateNewtonConvergence(RelativeConvergenceInput());
|
||||
EXPECT_TRUE(accepted.combined_passed);
|
||||
EXPECT_DOUBLE_EQ(accepted.translation_correction.denominator_scale, 1.0);
|
||||
EXPECT_DOUBLE_EQ(accepted.rotation_correction.denominator_scale, 1.0);
|
||||
EXPECT_DOUBLE_EQ(accepted.translation_correction.threshold,
|
||||
fesa::kNewtonRelativeThreshold);
|
||||
EXPECT_DOUBLE_EQ(accepted.rotation_correction.threshold,
|
||||
fesa::kNewtonRelativeThreshold);
|
||||
EXPECT_EQ(accepted.translation_correction.threshold_unit,
|
||||
fesa::NewtonChannelUnit::kDimensionless);
|
||||
EXPECT_EQ(accepted.rotation_correction.threshold_unit,
|
||||
fesa::NewtonChannelUnit::kDimensionless);
|
||||
|
||||
for (const std::size_t failed_channel : {0U, 1U, 2U, 3U}) {
|
||||
auto input = RelativeConvergenceInput();
|
||||
const double just_over = std::nextafter(
|
||||
1.0e-2, std::numeric_limits<double>::infinity());
|
||||
if (failed_channel == 0U) {
|
||||
input.force_residual.free_residual = VectorFrom({just_over});
|
||||
} else if (failed_channel == 1U) {
|
||||
input.moment_residual.free_residual = VectorFrom({just_over});
|
||||
} else if (failed_channel == 2U) {
|
||||
input.translation_correction.fresh_correction = VectorFrom({just_over});
|
||||
} else {
|
||||
input.rotation_correction.fresh_correction = VectorFrom({just_over});
|
||||
}
|
||||
const auto result = fesa::EvaluateNewtonConvergence(input);
|
||||
EXPECT_FALSE(result.combined_passed);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -534,6 +534,31 @@ TEST(NonlinearHdf5ResultsWriter, ProjectsRotationalReactionToSpatialMoment) {
|
||||
EXPECT_GT(quadratic, 0.0);
|
||||
}
|
||||
|
||||
// NSNR-HDF5-014.
|
||||
TEST(NonlinearHdf5ResultsWriter, WritesSchemaV1GlobalBalanceErrorLocation) {
|
||||
TempDirectory directory{"global-balance-location"};
|
||||
auto fixture = MakeFixture(directory.Path() / "global-balance.inp");
|
||||
const auto output = directory.Path() / "global-balance_results.h5";
|
||||
|
||||
fesa::NonlinearHdf5ResultsWriter writer;
|
||||
ASSERT_TRUE(writer.Write(output, *fixture.domain, fixture.state, {}).IsOk());
|
||||
|
||||
const auto file = OpenFile(output);
|
||||
const auto equilibrium = OpenDataset(
|
||||
file.Get(), "/steps/Step-1/frames/1/global/equilibrium");
|
||||
EXPECT_EQ(DatasetDimensions(file.Get(),
|
||||
"/steps/Step-1/frames/1/global/equilibrium"),
|
||||
std::vector<hsize_t>({6U}));
|
||||
EXPECT_EQ(ReadStringAttribute(equilibrium.Get(), "component_names"),
|
||||
"FORCE_1,FORCE_2,FORCE_3,MOMENT_1,MOMENT_2,MOMENT_3");
|
||||
EXPECT_EQ(ReadStringAttribute(equilibrium.Get(), "location"),
|
||||
"global-balance-error");
|
||||
Hdf5Handle metadata{H5Gopen2(file.Get(), "/metadata", H5P_DEFAULT),
|
||||
H5Gclose};
|
||||
ASSERT_GE(metadata.Get(), 0);
|
||||
EXPECT_EQ(ReadUint64Attribute(metadata.Get(), "schema_version"), 1U);
|
||||
}
|
||||
|
||||
// NSNR-HDF5-012 and NSNR-HDF5-013.
|
||||
TEST(NonlinearHdf5ResultsWriter, StoresSortedDiagnosticsThroughBackendNeutralBoundary) {
|
||||
static_assert(std::is_base_of_v<fesa::NonlinearResultsWriter,
|
||||
|
||||
Reference in New Issue
Block a user