Shell 표면 압력
목적과 경계
Named shell surface의 균일 signed DSLOAD P를 선형·비선형 정적 해석에 조립한다.
선형은 reference geometry, NLGEOM=YES는 current geometry의 follower pressure다.
4절점 S4|S4R 중앙면만 대상이며 offset·director face·edge/body load는 포함하지 않는다.
공통 계약은 solver-core, 유도 원문은 정식화다.
방향·면적·접선
Connectivity의 g_xi×g_eta=a를 양의 oriented area vector로 둔다.
Side multiplier s는 SPOS=+1, SNEG=-1이며 force density는 -lambda*p*s*a다.
따라서 양의 P는 선택한 면의 outward normal 반대 방향이다.
음의 P는 그대로 부호를 뒤집으며 abs·clamp로 바꾸지 않는다.
Bilinear shape로 nodal force를 적분하고 고정 Gauss 순서로 누적한다.
Current area의 방향과 크기를 함께 미분하여 Kext=dFext/dq를 계산한다.
Newton tangent에는 Kint-Kext로 들어가며 follower tangent는 일반적으로 비대칭이다.
Pressure geometry는 translation만 사용하므로 rotational force와 tangent row/column은 exact zero다.
Thick shell의 실제 offset face traction으로 임의 확장하지 않는다.
입력과 결과 대응
Assembly 안이며 instance block 밖에서 다음 형태를 사용한다.
*SURFACE, TYPE=ELEMENT, NAME=Surf-1
<assembly element set 또는 instance.element>, SPOS
*DSLOAD
Surf-1, P, <signed finite magnitude>
Surface member는 source element·side로 정규화한다.
같은 side의 중복 facet은 warning 후 하나로 만들고 양쪽 side 충돌은 실패한다.
반면 같은 DSLOAD 행은 각각의 additive load record이며 합법적으로 누적한다.
Part/instance-level surface, node surface, 다른 face label, *DLOAD는 지원하지 않는다.
DSLOAD AMPLITUDE, FOLLOWER, OP, REF NODE 및 unknown parameter는 거부한다.
Follower 여부는 procedure로 결정하며 keyword 옵션을 조용히 무시하지 않는다.
양의 Jacobian·nondegenerate oriented area·finite force/tangent를 검사한다.
결과는 기존 linear schema0 또는 nonlinear schema1의 displacement/reaction·shell recovery다. 별도의 가상 pressure stress 또는 nodal averaged stress를 추가하지 않는다. Nonlinear 비교는 exact factor-one accepted frame만 사용한다.
| 원본 bundle | 비교 의미 |
|---|---|
reference/shellNL-meshfine-pressure/shellNL-meshfine-pressure.inp |
729 nodes, 676 S4의 nonlinear follower pressure |
같은 stem displacements.csv |
U1–3 blocking, UR1–3 warning-only |
같은 stem reactions.csv |
review-only |
같은 stem stresses.csv |
수치 equality 비교에서 제외 |
CSV의 frame·instance·source node와 component를 HDF5 nodal row에 직접 대응한다.
Shared row/schema/finite precheck는 tolerance 이전 조건이며 warning family에도 적용한다.
Reference-only S=max(abs(ref))에 대해 abs(ref)<=0.01*S는 error <=0.01*S,
나머지는 relative error <=5%, family RMS/S <=1%를 요구한다. S=0은 exact zero다.
Nonlinear accepted free residual은 비선형 정적 기준을
따르고, factor-one 전역 force/moment balance는 각각 normalized <=1e-8이다.
이는 기존 pressure 정식화의 승인 범위이며 linear 정적 기준과 구분한다.
구현과 수명
EvaluateShellSurfacePressure는 24 DOF force와 양의 external derivative를 돌려주는 stateless local kernel이다. 실제 구현은 reference/current geometry를 선택한다. AssembleSurfacePressure는 Domain의 surface/load identity를 stable full DOF contribution으로 조립한다. Assembler 구현을 대조한다. Surface와 load definition은 Domain 소유이며 procedure의 trial displacement는 빌려 사용한다. Local 계산→ordered reduction→내력과 외력 결합→free solve→accepted recovery 순서다. Candidate 실패가 기존 accepted state·최종 결과를 바꾸지 않아야 한다.
검증 의미와 교훈
기존 방향·합력·moment·강체 회전·finite-difference tangent 및 지정 reference 검증 기록이 있다. 문서 정리는 이번 revision의 새 실행 evidence가 아니다. DSLOAD와 DLOAD의 부호 규칙을 섞거나 reference area로 follower load를 계산하면 안 된다. 같은 trial의 force/tangent를 함께 써야 Newton 일관성을 유지한다. 외부 displacement 일치만으로 압력 tangent나 local reaction 정확성을 추론하지 않는다. 한 개의 지정 shell pressure bundle은 arbitrary closed surface·offset face·contact pressure 검증이 아니다.
통합 시 기준자료 상태
정식 reference/shellNL-meshfine-pressure/ 자료가 없어 실제 pressure bundle 비교는 미완료다.
2026-10-18 사용자 지시에 따라 reference/temp는 검증에 사용하지 않으며 임시 묶음을 승격하지 않는다.
Kernel·synthetic comparator 검사가 실제 pressure reference 통과를 대신하지 않는다.
정식 자료 확보 후 원본 hash·source/frame 대응을 확인하고 작업 복사본으로 재검증해야 한다.