40 KiB
MITC4 질량·FEAST 근거와 downstream 검증 후보
- Feature ID:
mitc4-shell-feast-eigen - Owner:
research-agent - Input contract revision:
r2 - 기본 보고서: research.md
- Web access date:
2026-09-06
Fact는 출처에서 확인한 내용, Derivation/Inference는 그 근거를 승인된 FESA에 적용한
연구 판단, Candidate는 Formulation/NR가 확정할 항목이다. 이 문서는 최종 수식·API·schema·
tolerance나 benchmark acceptance를 승인하지 않는다.
Source inventory
모든 외부 source는 원 논문 또는 공식 문서다. P는 프로젝트 계약이며 독립 검증 근거가 아니다.
공식 Abaqus 자료는 공개 입력·출력 의미만 설명한다.
| ID | Source identity / stable locator | 신뢰도·적용·한계 |
|---|---|---|
| S01 | Dvorkin & Bathe, A Continuum Mechanics Based Four-Node Shell Element for General Non-linear Analysis, Engineering Computations 1 (1984), 77–88, DOI 10.1108/eb023562; author PDF, Eq.(1),(2), Eq.(25) 직후 및 Fig.7/Tables 3–4; local transcription |
1차 운동학·5 DOF·consistent-mass vibration 예제. Local OCR의 도표값은 검증 없이 acceptance 값으로 채택하지 않음. 비선형·가변두께 범위를 새로 허용하지 않음 |
| S02 | Voet, Sande & Buffa, A mathematical theory for mass lumping and its generalization with applications to isogeometric analysis, CMAME 410 (2023), 116033, DOI 10.1016/j.cma.2023.116033; author preprint v2, §1, Definition 3.7, Remark 3.8, Lemma 3.19, §3.3 |
원 연구의 row-sum·positivity·Loewner 근거. 일반 scalar algebra를 회전 tensor에 그대로 옮기는 것은 입증되지 않음 |
| S03 | Bathe & Wilson, Solution methods for eigenvalue problems in structural mechanics, IJNME 6 (1973), 213–226, DOI 10.1002/nme.1620060207; author PDF, STATIC CONDENSATION, Eqs.(9)–(13); publisher record |
원 연구의 massless elimination과 fill/storage 한계. 임의 massive DOF를 제거하는 근사 Guyan reduction의 정확성을 주장하지 않음 |
| S04 | Intel oneMKL C Developer Reference, 2026.0 URL edition, page date 2026-04-28, Extended Eigensolver Functionality, generalized 및 sparse interface 설명 |
공식 admissibility·PARDISO 사용. 설치 runtime와 같은 version string이라는 가정 없음 |
| S05 | 같은 edition, ?feast_scsrgv/?feast_hcsrgv, Syntax, Input/Output Parameters; Matrix Storage |
공식 signature·storage·capacity·결과 의미. emin≤emax 본문은 S07의 strict validation과 함께 읽음 |
| S06 | 같은 edition, Extended Eigensolver Input Parameters, C-indexed fpm 표 |
공식 count/check/iteration 옵션. Standalone FEAST 다른 버전의 fpm 번호를 대입하지 않음 |
| S07 | 같은 edition, Extended Eigensolver Output Details, return-code 표와 info=1 주의 |
공식 오류·구간 폭·endpoint 위험. Warning은 Feature 성공으로 자동 승격하지 않음 |
| S08 | E. Polizzi, Density-Matrix-Based Algorithm for Solving Eigenvalue Problems, Physical Review B 79 (2009), 115112, DOI 10.1103/PhysRevB.79.115112; author preprint, §II.A Eqs.(6)–(9), §II.B |
원 FEAST의 contour/Rayleigh–Ritz와 B-orthonormality. MKL 옵션·상태 정의는 S05–S07 우선 |
| S09 | Abaqus 2025 *FREQUENCY, Optional parameters, Lanczos data line |
공식 count·bounds·SIM·normalization·acoustic semantics. FESA가 source Lanczos를 구현한다는 근거가 아님 |
| S10 | Abaqus 2025 Natural Frequency Extraction, Eigenvalue Extraction, Normalization, Initial Conditions, Output |
공식 omega²·generalized mass·base state. Abaqus 내부 질량 정식화에 대한 추론 금지 |
| S11 | Abaqus 2025 OdbFrame object, modal constructor와 members; Mode Domain Output, Controlling Output Frequency in a Mode Domain Analysis |
공식 mode/frame 의미. TXT에 없는 step을 임의 생성하는 권한이 아님 |
| S12 | LAPACK 3.12.1, DLAEV2 original source/documentation, source lines 31–39 (Purpose), 102–113 (Further Details); authors Univ. Tennessee / UC Berkeley / Colorado Denver / NAG |
공식 2×2 대칭 eigendecomposition과 작은 고유값의 determinant cancellation 한계. FESA scale 선정 규칙이나 새 vendor 호출 의무를 제공하지 않음 |
| S13 | Müller & Bischoff, A Consistent Finite Element Formulation of the Geometrically Non-linear Reissner-Mindlin Shell Model, ACME 29 (2022), 3387–3434, updated original article, Abstract, §2, §§6.1–6.2; corrections April 2022, November 2022 | 자체 shell 정식화의 potential 선형화·objectivity 근거만 사용. Review로 분류된 논문의 자체 유도 부분이며 문헌 요약을 1차 근거로 대용하지 않음. FESA의 MITC4·drilling 수식과 동일하지 않음 |
| P01 | 기존 MITC4 formulation, §§5,8,9,12,17; 실제 kernel, PhysicalTransformation20, DrillingTransformation4, EvaluateStiffness, GeometryAt; ARCHITECTURE |
현재 FESA 기하·부호·소유권 계약; 옛 scale 공식은 r2 대체 대상. Legacy research의 오래된 tolerance/승인 절차는 이번 계약에 재사용하지 않음 |
| P02 | requirements r2, 원본 reference evidence·승인 delta, 공통 TOLERANCE, ADR | 승인된 사용자 흐름과 acceptance boundary. 수치 통과 자체의 evidence가 아님 |
| P03 | 기존 nonlinear formulation §§10.2–10.4, 기존 linear requirements 034/056, NR-MFE-001 반례, r2 static 회귀 계약 | 기존 initial-fixed scale·objective potential·미분 및 r2 대체/회귀 경계. NR 반례를 재실행한 evidence로 주장하지 않음 |
Hinton–Rock–Zienkiewicz (1976), DOI 10.1002/eqe.4290040305의
publisher abstract는 확인했으나
본문을 확보하지 않아 HRZ의 shell-specific 수식을 근거로 채택하지 않았다.
NASA SP-160은 optional plate benchmark 탐색에서 발견했으나 이번 포트폴리오는 S01 및
직접 검산 가능한 oracle로 충분하므로 필수 artifact나 새 acceptance 요구로 추가하지 않았다.
Configured FEM vault는 이번 요청의 지정 evidence source가 아니며, 기존 wiki/연구 요약은
탐색에만 참고하고 핵심 주장을 위 1차 source에 연결했다.
R01 — Consistent physical mass와 적분
Fact, S01/P01: 기존 보간은 u = sum Ni(ui + z*(theta_i cross d_i)),
z=t*zeta/2이며 director-parallel rotation은 입자 속도에 기여하지 않는다.
원 논문의 elastic example은 surface 2×2, thickness 2-point Gauss 및 consistent-mass
주파수 분석을 사용한다. 이는 임의 geometry의 mass 적분이 정확하다는 증명은 아니다.
Derivation: T=1/2 integral rho*|u_dot|² dV에서 M_C=integral rho*H^T H dV가
따른다. Geometry는 기존 X=sum Ni(Xi+z*di)와 같은 J=det(dX/dnatural)를 사용한다.
양의 quadrature weight·density·유효 J에서는 대칭 PSD와 drilling null action이 직접 따른다.
MITC의 assumed shear는 strain 보간이므로 velocity 보간을 바꾸거나 shear factor 5/6를
물리 질량에 곱하는 이유가 되지 않는다.
평판 oracle: 평행 director·centered flat section이면 병진 scalar block은
rho*t*integral Ni*Nj dA, rotary block은 rho*t³/12*integral Ni*Nj dA와 tangent
변환의 곱이며 translation–rotation coupling은 0이다. 축정렬 직사각형 면적 A에서는
scalar consistent block이 rho*t*A/36에 다음 행렬을 곱한 것과 같다.
4 2 1 2
2 4 2 1
1 2 4 2
2 1 2 4
Rotary oracle의 scalar 배율은 위 병진 배율의 t²/12다. 이는 bilinear 형상함수의 직접
다항식 적분 결과이며 구현 함수를 다시 호출하는 테스트와 구분한다.
Candidate/한계: 곡면에서는 J가 zeta에 의존하여 odd thickness moment와 translation–rotation coupling이 남을 수 있다. Centered section만으로 이를 0으로 두지 않는다. 현재 trilinear geometry의 J 및 H 다항식 차수를 확인해 충분한 적분을 선택할 수 있다. 보수적인 tensor-product 3-point 후보는 각 좌표의 degree≤4 mass integrand를 적분하지만, 정확한 차수·기하 검증 위치·채택 quadrature는 Formulation/NR가 증명한다. 기존 stiffness quadrature나 기존 geometry 허용 범위를 연구 단계에서 변경하지 않는다.
R02 — Consistent에서 유도하는 좌표 일관적 lumping
Fact, S02: Row-sum, nodal quadrature, diagonal scaling은 일반적으로 서로 다른 근사다. Nonnegative partition of unity는 scalar row-sum의 positivity를 설명한다. 논문의 absolute-row-sum operator는 일반 행렬의 positivity를 확보하지만 물리 total mass나 회전 nullspace를 보존하는 shell-specific theorem은 아니다.
Derivation — 피해야 할 적용: global rotary tensor는 I-di*di^T와 다른 director
사이의 cross block을 포함한다. Scalar diag(M*ones)는 좌표 회전과 commute하지 않는다.
예를 들어 단위 director d=(1,1,1)/sqrt(3)의 P=I-dd^T는 P*ones=0이지만
rank는 2다. Row-sum은 두 물리 관성을 모두 없애며 absolute row-sum은 drilling에
관성을 더한다. 혼합 translation/rotation 행의 무차별 합은 단위도 섞는다.
Candidate — scalar moment를 통한 node block: Consistent의 구성 moment
Ck_ij=integral rho*Ni*Nj*z^k dV, k=0,1,2를 식별하고 해당 물리 scalar moment에서
row-sum한 뒤 각 node의 director tangent tensor로 재구성하는 방법을 검토할 수 있다.
이는 consistent 결과와의 유도 관계를 증명해야 하며, 별도 unrelated diagonal을 생성하는
우회 경로로 쓰지 않는다. Full consistent block에서 moment를 추출하거나 계산 중 동일
moment를 보존하는 구체적 방식은 Formulation 소유다.
sum Nj=1 때문에 이 후보는 node별 integral rho*Ni*Gi(z)^T Gi(z) dV 형태로
설명된다. 여기서 Gi(z)는 그 node의 병진과 director 변화로 particle velocity를 만드는
map이다. 따라서 양의 measure에서 physical block PSD, director nullspace, tensor
congruence와 총 병진 질량 보존을 독립적으로 검산할 수 있다. Flat case에서는
m_i=sum_j C0_ij, 두 tangent inertia m_i*t²/12, drilling 0으로 단순화된다.
한계: 곡면의 nodal rotational frames를 component별로 직접 더하지 않는다. Node block은 global 좌표에서 diagonal일 필요가 없다. Translation–rotation moment를 보존하면 6×6 block에 coupling이 있을 수 있다. 이 후보의 positivity와 각 inertia/centroid 보존 관계는 Formulation에서 완성하고 NR가 독립 검토해야 한다. Uniform translation energy는 보존하지만 일반 회전의 orbital inertia 및 모든 속도장의 consistent energy는 보존한다고 가정하지 않는다. 물리 node velocity의 convexity로 설명 가능한 에너지 차이와 refinement 거동을 검증 후보로 삼을 수 있으며, Abaqus 내부 lumping 동일성을 주장하지 않는다.
R03 — Massless 좌표, 제약과 유한 spectrum
Fact, S03: Massless 좌표를 분리하여 mass가 diag(Mp,0), Mp SPD이고 대응
강성 Kzz가 가역이면 Kr=Kpp-Kpz*Kzz^-1*Kzp와 Mp의 문제로 축소하며,
massless 성분은 z=-Kzz^-1*Kzp*p로 복원한다. 이 경우 정적 제거는 massless row의
정확한 식이다. 축소 stiffness는 일반적으로 dense가 될 수 있다.
Inference, P01에 적용: 먼저 원래 global homogeneous BC의 free injection C로
Kf=C^T K C, Mf=C^T M_L C를 만들고, 그 공간에서 positive/null basis를 정의한다.
Director가 global axis와 기울어져 있으면 UR3=drill은 성립하지 않는다. 일부 global
회전을 고정한 node에서는 원래 drill 방향 전체가 free space에 들어가지 않을 수 있으므로
실제 Mf가 full rank가 될 수 있다. 이때 물리 질량이 있는 자유도를 제거해서는 안 된다.
P01의 공통 nodal director와 Kphys=Tphys^T K20 Tphys,
Kdrill=Td^T kd I Td 때문에 massless 방향의 decoupling을 algebraically 증명할
가능성이 있다. 증명된 경우 node별 작은 basis로 projection하여 sparsity를 유지할 수 있다.
단순히 coupling을 작다고 버리는 것은 그 증명이 아니다. Partial global constraints로
finite space에 남는 stabilization contribution도 보존한다. r2의 massless 처리는
개선된 constrained stabilized K와 선택된 lumped M의 finite spectrum에 대한 동등성이다.
Unstabilized 다른 shell formulation이나 consistent spectrum과의 동등성이 아니다.
Candidate 검증: 비축정렬 director, partially constrained rotation, constraint-free
shell의 6 physical rigid motions, Kpz!=0인 작은 manufactured pencil로 축소/복원과
full free residual을 확인한다. Physical rigid rotation의 nodal UR은 기존 계약의 tangent
projection을 사용한다. Null block이 비가역인 경우 generic inverse/pseudoinverse로
우회하지 않는다. 공통 K/M nullspace는 regular finite-spectrum 문제와 구분해 진단한다.
물리 rank 0, request>rank, nullspace가 없는 경우를 각각 정의한다.
일반 dense basis/Schur를 채택하면 O(n²) storage와 factorization fill을 평가해야 한다.
Reference의 25×25 interior nodes는 flat full clamp에서 free DOF 3750,
massive physical dimension 3125로 예상되며, 3125² double 한 행렬만 약 78.1 MB다.
이는 topology에 따른 계산 추정이고 실제 rank/runtime 측정이 아니다. FEAST workspace와
complex shifted factorization을 더해야 하므로 한 행렬 크기로 memory feasibility를 주장하지 않는다.
R04 — oneMKL FEAST API와 completeness 근거
설치 관찰: mkl/2026.1/include/mkl_solvers_ee.h lines 33,87에 feastinit,
dfeast_scsrgv가 있다. mkl_version.h는 major 2026, minor 0, update 1,
build date 20260612, INTEL_MKL_VERSION=20260100이다. Directory 2026.1과
header version 표기를 임의로 통일하지 않는다. 실제 linked runtime는 Implementation이 기록한다.
mkl_types.h의 MKL_INT는 LP64에서 int, MKL_ILP64에서 64-bit다. N, nnz+1,
row/column index와 N×m0 allocation을 checked conversion해야 하며 vendor type은 adapter 내부다.
Fact, S04/S05: Real symmetric generalized A*x=lambda*B*x에서 B는 SPD여야 한다.
dfeast_scsrgv는 A/B 각각 values·row pointer·column index를 받으며 같은 storage family를
사용한다. uplo=U/L/F, n>0, 0<m0<=n, m0>=interval multiplicity count다.
fpm은 128개 MKL_INT; e/res는 m0, eigenvectors는 N×m0의 column storage로
준비하고 첫 m columns만 소비한다. Documented CSR은 row pointer terminal nnz+1인
1-based convention으로 대응한다. A/B sparsity pattern은 같을 필요가 없다. 내부 0-based
CSR을 인덱스 변환 없이 넘기지 않는다. epsout은 trace 변화량이고 개별 residual을 대신하지 않는다.
Fact, S06 — C index 표:
| Parameter | 문서 의미 / 연구 적용 |
|---|---|
feastinit(fpm) |
호출 전 초기화; 다른 FEAST 배포판의 설정 배열을 복사하지 않음 |
fpm[1] |
contour points; 허용된 값만 사용 |
fpm[2], [3] |
double precision stopping exponent, refinement loop bound; 값은 NR/계약에서 고정 |
fpm[4] |
0=generated initial subspace, 1=user subspace; 재현성과 projection rank 검증 필요 |
fpm[5] |
0=residual stopping, 1=trace stopping; zero mode는 독립 scale-aware residual 필수 |
fpm[13] |
1은 한 contour의 subspace만 반환; 완료 eigenpairs로 소비하지 않음 |
fpm[26], [27] |
CSR validity, B SPD check 옵션 |
fpm[49] |
CSR interval eigenvalue count를 m0에 반환하고 flag를 0으로 재설정; count와 solve는 구분 |
fpm[63] 및 [64..127] |
PARDISO user iparm 적용 여부 및 매핑; 후반부는 output도 되므로 call 간 변경 고려 |
Fact, S07: info=0 successful; 1 empty interval/검색 실패 가능,
2 nonconvergence, 3 insufficient subspace, 4 subspace-only이다.
-1/-2 allocation/inner solver, -3/-4 reduced solver/B-not-SPD,
-5 count failure(구간 끝이 eigenvalue 또는 근접할 수 있음), 200/201/202는
interval/subspace/N 오류다. 100+i는 fpm[i-1] 오류다.
S05 본문은 emin<=emax로 쓰지만 명시적인 200 검증은 emin>=emax를 거부하므로
실제 계약은 strict emin<emax로 설정할 수 있다. 이것은 사용자 physics 결정이 아니다.
매우 넓은 구간 안의 작은 cluster를 놓칠 수 있다는 공식 주의가 있으므로 빈 반환을 곧
없는 spectrum으로 단정하지 않는다.
Candidate bounded policy rationale: SPD reduction/whitening 뒤 차원이 일관된 spectral
bound(예: 대칭 표준 문제의 Gershgorin bound)를 유도하면 전체 spectrum 밖의 유한 하한과
상한을 얻을 수 있다. Reference 값이나 hardcoded frequency로 구간을 정하지 않는다.
Zero를 포함하는 하한을 두고 interval count를 통해 낮은 순서의 requested N을 덮는 상한을
찾되, endpoint collision·overflow·count/solve mismatch와 시도 수를 제한한다. Count가
cluster 전체를 포함하면 m0가 requested N보다 커질 수 있으며 반드시 multiplicity를
수용한다. Sort 후 필요한 첫 N을 출력하더라도 원래 계산 multiplicity와 pairing을 유지한다.
m0=N이 충분하다는 가정, 매번 상한만 무한히 늘리는 정책, count 성공을 eigenpair 성공으로
취급하는 정책은 근거가 없다. Final bounds·성장/축소·cluster tie·subspace/seed·실패 정책은
Formulation/NR 소유이고 small N 및 N=physical rank도 FEAST 실제 runtime로 검증한다.
Intel S06은 fpm[49] 결과를 total number로 기술하며 stochastic estimate라고 설명하지
않는다. 그렇더라도 이 문서만으로 floating-point inertia/count의 모든 조건에서의 정확성이나
전체 algorithm의 completeness를 증명했다고 주장하지 않는다. S07의 endpoint/count 실패와
작은 독립 spectrum 검증을 유지한다. 다른 standalone FEAST 버전의 stochastic-count
옵션과 혼동하지 않는다. 요청 N의 외부 authority는 사용자 확정대로 .inp data이며
내부 count는 interval/subspace를 정하는 evidence다. TXT 행수나 count로 N을 바꾸거나
새 사용자 interval/count API를 만들지 않는다.
Fact, S08 / 적용: FEAST의 Rayleigh–Ritz 식은 B-orthonormal reduced vectors에서
X^T B X=I를 준다. 내부 벡터는 같은 lumped M으로 검증한다. Repeated eigenspace의
개별 방향과 sign은 유일하지 않으므로 vector component exact equality를 acceptance로
추가하지 않는다. Count/completeness와 residual/Gram은 서로 대체하지 않는다.
R05 — Reference의 관찰 가능한 의미와 family
Fact, S09/S10: *FREQUENCY의 첫 값은 requested count다. Lanczos data line의
blank min/max는 별도 bound를 지정하지 않으며, 뒤 shift와 block controls의 공란을 0 입력으로
오인하지 않는다. SIM은 source architecture 설정이고 NORMALIZATION=MASS는
generalized mass 1이다. Acoustic coupling ON은 acoustic/structural coupled model에
작용한다. 적용 대상 acoustic 요소·ASI·coupling이 없는 현재 input의 옵션은 무해하게
mapping할 근거가 있으며, 실제 acoustic 모델은 승인 subset 밖이다.
Inference/P02: 알고리즘 지정의 FESA 해석은 source Lanczos 보존 + actual backend FEAST이다. SIM을 FESA backend 기능으로 주장하지 않고 명시된 무해한 조합만 I/O가 진단 정책으로 고정한다. 원본의 output/restart 요청을 읽을 때에도 새 modal stress/reaction 지원으로 확대하지 않는다. 실제 prior step, preload, damping, nonzero prescribed state를 삭제하여 현재 subset처럼 실행하는 근거는 없다.
Fact/관찰: S10은 lambda=omega²와 cycles/time frequency를 구분한다. S11은
modal frame의 mode member와 mode-domain output을 정의한다. 원본 TXT는 Frame: Mode
1~10과 Value를 포함하고 input에는 단일 Step-2만 있다. 따라서 unique step + source
mode mapping이 가능하며 Freq 반올림으로 Value를 다시 계산하지 않는다.
NR handoff: 공통 TOLERANCE는 같은 step/frame만 family로 묶는다. 원본에 각각의 modal frame이 있는 점을 유지하여 mode별 scalar family를 정의하는 방향을 검토한다. 단일 HDF5 table에 저장했다는 이유로 다른 source mode/frame을 하나의 family로 모으지 않는다. Singleton family에서는 공통 RMS 규칙도 그대로 적용하며 scalar라는 이유로 생략하지 않는다. 최종 family 이름·identity·blocking 및 exact mapping은 NR/I/O가 고정한다. Repeated Value는 서로 다른 mode identity로 보존하며 source missing/extra/duplicate/nonfinite 검사 후 공통 정책을 적용한다. Displayed repeated 값으로 실제 exact degeneracy를 단정하거나 mode shape matching으로 외부 acceptance를 넓히지 않는다.
R06 — 독립 verification portfolio 후보
각 case의 구체적 구성·수치 기준은 NR가 정한다. 새 eigen external reference는 지정 Value 10개뿐이며, r2에 승인된 기존 static 회귀는 R07과 Requirement 024의 기존 계약을 따른다.
| Candidate | 잡아내는 오류 / 독립 기대값 | 한계 |
|---|---|---|
| 직사각형 single-element mass | R01 polynomial oracle, 3 translations total rho*A*t, 2 rotary inertia, null drilling |
곡면 적분·semantic 연결은 검증하지 않음 |
| 곡면/왜곡 요소의 independent velocity integration | 직접 particle kinetic energy와 consistent quadratic form, R02 derived relation/양의 node block | 동일 production H/J 코드를 재호출하는 oracle는 독립성이 부족 |
| Rigid/coordinate tests | 기존 tangent rigid motion의 zero stiffness; geometry/director와 개선 scale을 독립 재계산한 complete K·두 질량의 congruence 및 eigenvalue invariant | NR-MFE-001의 같은 물리 partial BC 필수; old kd를 고정한 단순 tensor 변환이나 full-free/full-clamp만으로 대체하지 않음. 일반 MPC는 추가하지 않음 |
| Density scaling | 두 mass가 density 배율 c에 비례, 선택된 eigenvalues가 1/c, mass-normalized vector magnitude가 1/sqrt(c) | 다른 density field의 material mapping은 별도 양성/음성 test |
| 작은 manufactured singular pencil | R03 식을 손으로 계산하여 exact finite eigenvalues·복원 residual, partial global constraint와 rank case | Element/mass 조립 correctness는 별도 검증 |
| 작은 diagonal/rotated SPD pencil | FEAST N=1/2, repeated/clustered/zero/negative case, request=rank, count/m0/interval edge 및 실패 진단 | 직접 hand matrix는 전체 procedure/reference를 대신하지 않음 |
| Modal residual / Gram / energy | Free-space Kphi-lambda*M_L*phi, Phi^T*M_L*Phi=I, phi^T*K*phi=lambda와 constraint 복원 |
작은 residual만으로 최저 모드 completeness를 보장하지 못함 |
| Simply-supported plate analytical limit | S01 Fig.7/Table4의 plate frequency 사례 또는 lambda=(D/(rho*t))*((m*pi/a)^2+(n*pi/b)^2)^2의 thin-plate Navier limit |
마지막 식은 직접 thin-plate PDE로 유도·검산할 후보; rotary/shear를 포함한 유한 두께 shell의 exact oracle로 쓰지 않음 |
| 지정 clamped plate reference | 원본 .inp와 TXT Value의 순서·multiplicity·family 비교; square-symmetry cluster 진단 |
비교만으로 mass·mode shape·drilling·내부 알고리즘의 correctness를 주장하지 못함 |
Modal physics는 무하중 정적 Kphi=0나 정적 reaction balance를 모든 eigenvector에
요구하지 않는다. Inertia와 elastic restoring force의 균형인 free residual을 검사한다.
Dimensional translation/rotation 차이는 Formulation의 congruent scaling으로 처리하고
zero mode의 residual denominator와 rank threshold는 NR가 정한다. 두께 변경에서는
membrane, bending, shear, rotary inertia가 서로 다르게 변하므로 density처럼 모든 mode에
단일 thickness power law를 강제하지 않는다.
R07 — r2 stabilization 근거와 영향
입력 delta와 보존 근거
FEM-REQ-MITC4-EIGEN-002/008/014/024/027 및
MFE-ADR-007을 적용한다.
기존 min(R+)의 기저 의존성은 P03의 NR 반례로 확인되었다. 그 반례와 r1의 mass oracle를
재계산하지 않는다. 사용자 승인은 개선 범위를 확정하며 특정 새 수식이나 NR 통과를 뜻하지 않는다.
| 기존 근거 | r2 영향 판단 |
|---|---|
| S01/S02, R01/R02 mass·moment·quadrature | Numerical K scale과 독립이다. 기존 primary 근거·한계 및 mass 계약을 보존한다 |
| S03, R03 및 eigen E2–E4 | Schur 원리는 그대로다. Decoupling의 적용 대상은 개선된 K이며 아래 positive/director 구조를 Formulation이 재확인해야 한다 |
| S04–S08, R04 FEAST/정수/count | Backend·lumped M·입력 N 요구가 바뀌지 않아 근거를 보존한다. 설치/runtime를 새로 검증한 것은 아니다 |
| S09–S11, R05 reference 의미 | 새 eigen Value-only·원본 identity·공통 tolerance가 불변이다. 기존 artifact/hash는 r1 관찰 이력으로 보존한다 |
| R06 및 기존 V5 | Complete K 재계산과 지원 partial BC 반례 통과가 필수다. r1의 제한된 eigen 좌표 검증 설명을 r2 acceptance로 사용하지 않는다 |
| P01/P03 static | 옛 scale 선정식만 대체하며 initial-fixed lifecycle·objective potential·physical recovery 제외와 기존 회귀 계약은 유지한다 |
공변적인 secondary scale 후보
Fact, S12: 대칭 2×2 행렬은 직교 회전으로 대각화할 수 있다. LAPACK 원 source는 그 변환과 반환 고유값을 명시하고, 작은 고유값 계산에서 determinant 상쇄로 상대 정확도를 잃을 수 있음을 경고한다. 이를 새 shell scale의 최종 선정 근거와 혼동하지 않는다.
Derivation — 기저 변화: 초기 physical K20^0에서 node i의 두 회전 성분에 해당하는
2×2 principal block을 R_i, 해당 성분을 global tangent rotation으로 보내는 orthonormal
map을 U_i라 하자. 전역 rigid coordinate rotation G와 접평면 기저 변경 O_i에서
U_i'=G U_i O_i, R_i'=O_i^T R_i O_i이면
U_i' R_i' U_i'^T=G(U_i R_i U_i^T)G^T다.
따라서 tr(R_i')=tr(R_i)와 det(R_i'-lambda I)=det(R_i-lambda I)가 직접 따른다.
개별 대각값은 이 항등식의 scalar invariant가 아니다. 서로 다른 node의 기저 변경도
block별로 독립 허용된다. 실제 physical kernel이 이 변환 법칙을 만족하는지는 후속 검증 대상이다.
Candidate — trace 기반, 우선 검토 권고: tau_i=tr(R_i)/2에서 하나의 positive element
scale을 만들 수 있다. mean_i(tau_i)=sum_i tr(R_i)/8은 기존 여덟 physical rotation
성분의 평균이며, physical K가 PSD이고 회전 강성이 적어도 하나 존재하면 양수다.
또 다른 후보는 positive nodal tau_i의 최솟값으로 기존 최소값 집계를 유지하는 것이다.
두 후보 모두 좌표/기저 불변이며 force·length 차원을 갖는다. 초기 K의 물리적인 PSD 및
zero/nonfinite inventory 처리는 명시적으로 확인해야 하며 양의 trace만으로 PSD를 판정하지 않는다.
최솟값 후보의 zero-block 처리 또는 전 node positivity가 필요하면 기존 유효 geometry와의
관계를 증명해야 한다. 암묵적인 새 geometry 제외·epsilon floor로 보완하지 않는다.
Candidate — 최소 spectral 값: lambda_min(R_i)도 기저 불변이고 작은 회전 강성 방향을
반영한다. 그러나 positive 여부·zero block 처리와 작은 eigenvalue의 상쇄/conditioning
문제가 추가된다. 단순 (trace-sqrt(discriminant))/2 구현의 안정성을 가정하지 않는다.
Trace 후보에는 이 spectral subtraction이 없으므로 bounded scale 개선의 첫 검토 방향으로
권고한다. 이 비교는 runtime 성능 측정 또는 수식 채택 판정이 아니다.
어느 후보든 기존 차원 없는 10^-3 계수와 K_d=k_d I4의 numerical 역할을 유지하는
최소 변경을 검토할 수 있다. Reference 오차를 보고 scale/계수를 조정하거나 coefficient sweep,
물리 drilling 관성·strain·새 입력 설정을 추가할 근거는 없다. 정확한 aggregation, finite/positive
검사 및 scale 공식 채택은 Formulation 소유이고 numerical 기준은 NR 소유다.
Linear null과 nonlinear lifecycle의 다른 적용 조건
Derivation/조건, P01/P03와 S03: Linear/eigen에서는 기존 T_p, T_d와
K_drill=T_d^T k_d I4 T_d를 그대로 두고, 모든 element의 새 k_d가 finite positive이면
실제로 free space에 남는 director null Z에 대해
K_f Z=Z diag(sum_{e incident i} k_d,e) 구조를 유지할 수 있다.
Physical K가 director 방향을 소거하고 공통 nodal director를 사용한다는 전제가 필요하다.
이 조건에서 Kzz>0, Kpz=0이므로 기존 analytic projection의 정확성 근거가 유지된다.
이는 E3의 적용 조건 재확인이지 새 수식/실제 조립의 검증 완료가 아니다.
Null이 없는 partial BC에는 개선 stabilization이 남으며 이를 삭제해서는 안 된다.
새 K와 옛 K 사이의 partial-BC spectrum 동일성은 요구하지 않는다.
Fact, S13: 논문의 자체 shell 정식화는 director manifold에 맞는 potential의 일관 선형화와 objective interpolation을 함께 다룬다. 이것은 FESA의 drilling potential를 제공하지 않는다. April correction은 proofing 오류, November correction은 Eq.(5.26)의 LaTeX rendering 오류를 알리며 현재 원문이 교정되었다고 명시한다. 그 식을 이 후보에 복사하거나 FESA의 기존 운동학을 해당 논문의 보간으로 교체하지 않는다.
Derivation/조건, P03: 기존 nonlinear Pi_d=k_d*gamma^T gamma/2에서 새 scale을
초기 reference physical K로 계산한 뒤 모든 increment/iteration에서 불변으로 유지하면
Dk_d=D²k_d=0이다. 따라서 기존 exact residual/Hessian은 동일한 gamma, Dgamma,
D²gamma에 새 scalar를 곱하는 구조를 유지한다. 기저 불변 reference scale과 objective
gamma를 함께 유지하면 같은 물리 상태의 좌표 변경에 따른 potential 불변성도 보존할 조건이 된다.
Trial tangent에서 scale을 다시 선정하면 추가 미분항과 min의 비매끄러움이 생길 수 있어 이
initial-fixed 계약을 대체할 수 없다. Scale이 같다는 이유로 nonlinear의 corotation coupling을
linear의 단순 director projection과 동일하게 만들지 않는다.
Limit: 양의 k_d는 numerical potential의 비음성과 pure-drill 양의 작용을 뜻한다.
변형된 nonlinear Hessian에는 sum gamma_i D²gamma_i가 있어 모든 상태의 SPD를 뜻하지
않는다. Linear E3 decoupling 증명을 nonlinear Hessian이나 prestressed eigenproblem에
일괄 적용하지 않는다. 새 feature의 eigen 상태는 승인된 원형상·무응력 상태다.
Verification 연결과 남는 owner 작업
NR-MFE-001의 동일 물리 partial BC에서 새 scale과 complete K를 독립 재계산하고, 대응 eigen spectrum 및 정적 response의 좌표 검증을 수행해야 한다. 옛 계수를 외부에서 고정한 tensor 변환만 비교하면 원래 결함을 검출하지 못한다. 동일 물리 BC/loads의 변환과 허용된 입력 범위는 유지한다. 추가 새 reference 모델을 요구하지 않는다.
기존 static 회귀의 원본 경로·quantity·identity·policy는 P03의
Requirement evidence portfolio에
한 곳에서 유지한다. Linear shell 및 nonlinear shellNL/shellNL-meshfine와 linear-limit
case, 내부 tangent·선형극한·objectivity·평형·reaction·energy·rollback 검증을 새 scale로
실행해야 한다. 기존 U blocking/UR warning-only와 nonlinear reaction review-only를
eigen Value-only 요구로 삭제하지 않는다. 오래된 통과 보고서는 새 실행 evidence가 아니다.
남는 작업은 Formulation의 단일 후보 채택·positivity/변환 증명·적용 경계, NR의 독립 반례 해소·conditioning·metric·필수 case와 수치 기준, Implementation/Physics의 실제 정적/eigen 재검증이다. R07에서 새 authoritative conflict나 사용자 재결정 필요는 발견하지 않았다.
실행 evidence와 미실행
r1 조사 이력
Read-only Get-Content, scoped rg, Get-FileHash로 필수 공통/Feature/기존 MITC4
문서, 실제 kernel과 원본 두 reference 파일을 읽었다. 해당 읽기·hash 명령은 exit 0이다.
아래는 핵심 재현 진입점이다.
Get-Content -Raw '.codex/skills/fem-research-evidence/SKILL.md'
Get-Content -Raw 'docs/mitc4-shell-feast-eigen/requirements.md'
rg -n 'PhysicalTransformation20|DrillingTransformation4|drilling_stiffness' 'src/fesa/elements/mitc4_shell.cpp'
Get-Content 'reference/shellNL-eigen-meshfine/shellNL-eigen-meshfine.inp' -Tail 52
Get-Content -Raw 'reference/shellNL-eigen-meshfine/shellNL-eigen-meshfine eigenvalues.txt'
Get-FileHash 'reference/shellNL-eigen-meshfine/shellNL-eigen-meshfine.inp','reference/shellNL-eigen-meshfine/shellNL-eigen-meshfine eigenvalues.txt'
SHA-256은 input 913b1abc604e62bc5f995bf5523924e17ea03925102a7bd22d39226ba0ea7339,
TXT 20d97ca3fd51f5b956f2c1ed7565557c68f74e61e41b913748515ef43a0f7f0b로 P02와 같다.
설치 include에서 rg로 위 R04의 declarations/version/type을 확인했다. 별도
rg -n 'MKL_INTERFACE|MKL_ILP64|lp64' cmake CMakeLists.txt는 no-match exit 1이며
linked ABI를 판정한 것이 아니다. Numpy/pypdf/fitz 탐색은 exit 0, 모두 미설치였고
설치·수치 실험·외부 solver를 수행하지 않았다.
Web search_query/open/find로 S01–S11을 조사했다. S03 PDF는 초기 검색·열기에서
STATIC CONDENSATION과 Eqs.(9)–(13) 텍스트를 얻었으나 후속 부분 열기는 timeout이
발생했다. S01의 수식은 보존된 원문 transcription과 현재 승인 계약도 대조했다.
S02 author HTML, S04–S07 Intel 본문, S08 author PDF, S09–S11 공식 문서는 접근했다.
NASA PDF/일부 publisher/feastinit 개별 URL 접근 실패를 필수 근거로 사용하지 않았다.
한 차례 tool orchestration의 quote syntax 오류는 도구 실행 전 실패했으며 수정 후 검색을
수행했다. 이런 접근 실패를 구현 또는 reference comparison 성공으로 기록하지 않는다.
Owned 두 문서의 metadata/상대 링크/requirement coverage를 read-only Python here-script
(python -B -, pathlib, re, urllib.parse.unquote)로 검사했다. Exit 0,
documents 2, local links 21, requirement coverage 26, issues 0이다.
git diff --check는 exit 0이며 다른 owner의 관리문서 LF/CRLF 경고가 출력되었다.
신규 untracked 연구 문서는 별도 Python 정적 검사로 trailing whitespace·final newline·상대
링크를 확인했다. Exit 0, files 2, local links 21, issues 0이다. git status --short에서
연구 두 파일과 Coordinator 관리문서 변경을 구분했으며 관련 없는 파일을 수정하거나 stage하지 않았다.
CMake/CTest, Harness, FEAST runtime와 numerical reference comparison은 이
연구 단계의 범위가 아니므로 미실행이다. Source/tests/build/phase/upstream/tolerance/reference는
편집하지 않았으며 다른 owner의 변경을 되돌리지 않았다.
r2 bounded 조사와 정적 확인
관리문서·requirements r2·기존 research 및 NR/Formulation/static 계약을 Get-Content와
scoped rg로 읽었다. 정상 조회는 exit 0이다. 초기 rg의 literal research*.md 경로는
Windows 경로 오류였고 rg ... docs/nonlinear-static-newton-raphson -g 'research*.md'로
수정하여 exit 0으로 재조회했다. 최초 patch는 context 불일치로 적용되지 않았으며 실제
문맥을 확인한 뒤 owned 두 파일에만 적용했다. Source·test·build·phase·Hook·reference와
upstream 문서는 수정하지 않았고 Git mutation은 수행하지 않았다.
Web search_query/open/find에서 S12 공식 source와 S13 교정된 원문 및 두 correction을
열었다. 새로 인용한 primary 사실은 그 본문에서 확인했으며 검색 요약이나 타 solver의
비공개 동작을 근거로 사용하지 않았다. S01–S11 전체를 재조사하지 않았다.
Read-only python -B - here-script로 두 문서의 owner/Feature/r2 metadata, final newline,
trailing whitespace, 상대 링크 실재 및 requirements matrix ID와 coverage 표의 set equality를
검사했다. Exit 0, documents 2, local links 32, required/covered IDs 27, issues 0이다.
별도 python -B -에서 subprocess.run(['git','show','HEAD:'+path],check=True)로 기존
연구 상세를 읽고 정규식으로 R01/R02/R04/R05 절 및 S01–S11 inventory 행을 비교했다.
Exit 0, 모든 보존 구간이 동일했다. 이는 문서 보존 확인이며 수치 검증이 아니다.
git diff --check는 exit 0; LF/CRLF 정보성 경고만 있었다. git diff/git status --short로
owned 두 파일과 Coordinator의 coordination 변경을 구분했으며 타 owner 변경을 보존했다.
r2에서 reference 파일·hash 재조사, NR 반례·mass oracle 재계산, CMake/CTest, Harness, FEAST runtime 및 정적/eigen reference comparison은 수행하지 않았다. 원본/reference 및 기존 보고서의 성공 기록을 r2의 실행 성공으로 재분류하지 않는다. 최종 파일 hash는 반환 envelope에 제공하며 본 문서 안에 자기 hash를 기록하지 않는다.