6.2 KiB
FESA 해석의 의미와 제품 범위
목적과 사용자
FESA의 현재 목적은 개인 연구를 위한 유한요소 솔버 개발이다. 사용자는 요소·해법을 구현하는 개발자이면서 결과를 검증하는 해석자다. 외부 사용자 배포는 장기 목표이며, 배포 계획이 현재 지원 범위나 정확성 보장을 확대하지는 않는다.
제품 가치는 승인된 모델에서 물리적으로 설명 가능하고 재현 가능한 결과를 얻는 데 있다. 외부 입력을 읽었다는 사실이나 요소 행렬 하나를 계산했다는 사실만으로 기능을 완성했다고 판정하지 않는다. 입력 의미, 방정식, 해법, 결과와 독립 검증이 연결되어야 한다.
모델과 물리량
- Source label은 instance와 함께 입력의 대상을 식별한다. 내부 배열 위치나 equation 번호가 같다는 이유로 다른 instance의 같은 label을 합치지 않는다.
- 입력 단위는 사용자가 일관되게 선택한다. 좌표나 물성의 크기로 SI 단위를 추정하거나
자동 변환하지 않는다. 힘·길이·시간을 기본으로 쓰면 질량은
force*time^2/length다. - 절점 변위, 회전, 단면력, 응력은 위치와 좌표계를 포함한 물리량이다. 요소 끝 작용력과 양의 local-x 단면력, 적분점 응력과 절점 평균 응력은 서로 대체할 수 없다.
- 유효한 재료·단면·연결 관계가 유일하게 결정되어야 해석한다. 누락된 재료를 다른 영역의 평균값으로 채우거나 잘못된 요소를 조용히 제거하지 않는다.
- 미지원 의미는 명확한 실패다. 출력만 제어하는 무해한 요청의 무시도 해당 해석 절차에서 허용한 조합에 한정한다. 한 절차의 예외를 다른 절차로 확대하지 않는다.
외부 솔버와의 관계
Abaqus .inp의 승인된 일부 문법을 입력으로 사용한다. S4와 S4R라는 source 표기를
보존하지만 FESA의 MITC4 정식화에 연결한다. Abaqus의 요소 내부 적분, 안정화, 상태 또는
결과 생성 알고리즘이 같다는 뜻이 아니다. 공개 결과의 수치적 일치는 허용되지만 내부
동등성을 증명하지 않는다.
기존 reference는 같은 .inp 모델로 생성한 외부 결과다. 비교 대상에는 CSV 외에
고유치 TXT도 있으며, 실제 필요한 원본 경로를 사용한다. Naming 규칙이나 추가 metadata를
맞추기 위해 기준 데이터를 변경하지 않는다.
정적 해석
선형 정적 해석에서 free/constrained 분할은 다음 관계를 보존한다.
[ K_{ff}d_f=F_f-K_{fc}d_c,\qquad r=Kd-F. ]
지정 변위는 해 복구 뒤에도 정확히 유지된다. r의 constrained 성분은 반력,
free 성분은 평형 잔차다. 모든 자유도가 지정된 유효한 모델은 빈 free 방정식을
갖는 해석이지 singular 모델이 아니다. 반력을 외력의 부호 반전만으로 계산하지 않는다.
비선형 정적 해석은 증가분마다 trial과 accepted 상태를 구분한다. 회전벡터에 대한 일반화 모멘트와 공간상의 물리 모멘트를 같은 성분으로 취급하지 않는다. 수렴한 변위만 있고 recovery나 상태 검증이 실패했다면 해당 증가분을 정상 결과로 공개하지 않는다.
물리 변형에너지와 수치 drilling 안정화 에너지는 구별한다. 안정화가 선형계를 풀 수 있게 했다는 사실을 물리 강성·에너지의 정확성 증거로 사용하지 않는다.
고유치와 동해석
현재 MITC4 고유치 해석은 원형상·무응력 선형 섭동의 고유쌍을 구한다. Consistent
질량에서 유도한 lumped 질량으로 해석·정규화·검증을 일관되게 수행한다. Source의
EIGENSOLVER=LANCZOS는 실제 FEAST 계산과 구별한다. 질량 영공간에 임의 질량을 더해
유한 모드로 바꾸지 않는다.
HHT 동해석은 consistent kinetic mass를 사용한다. 고유치 해석의 lumped 선택을 그대로 가져오지 않는다. 물리적 endpoint 가속도, 회전벡터의 시간 미분, 공간 각가속도, 알고리즘 보조 가속도를 구별한다. 어느 하나의 reference 일치로 다른 양의 시간수렴을 통과했다고 판정하지 않는다. 현재 shell 시간수렴에는 미해결 문제가 있다.
열해석의 채택 범위와 검증 경계
구현된 첫 범위는 shell의 단일 step uncoupled transient heat transfer다. 두께가 균질한 단면에 온도점 5개를 두고 면내 및 두께 방향 열전달을 다룬다. 상수 등방 전도도·밀도·비열, 영역별 재료·두께, 고정 시간 증분과 시간에 따라 일정한 입력이 합의된 범위다.
초기 온도는 절점마다 지정하되 그 절점의 두께 온도점에는 같은 값을 준다. 지정 온도와 절점 열률은 아랫면·윗면에 적용한다. Edge 열입력은 이번 공개 입력에서 연기했다. 온도·heat flux·반력 열률의 저장을 요구한다. 5개 온도점에서 source DOF 11은 아랫면, 13은 중앙면, 15는 윗면이다.
Q4 면내 보간과 두 구간의 이차 두께 보간, consistent 열용량, Backward Euler를 채택했다. Raw 초기값·마지막 짧은 증분·geometry 근사·24개 flux trace와 영속 schema는 Feature PRD의 상세 계약을 따른다. 원본 NT11 비교는 실제 수치 FAIL을 유지하는 진단 family이며 새 필수 reference가 준비 중이다. 장기 목표인 양방향 열-구조 연성은 현재 uncoupled 범위의 완료 조건에 포함하지 않는다.
수용과 실패
결과가 finite이고 방정식이 풀렸다는 것만으로 correctness를 인정하지 않는다. 해당 물리에 필요한 평형·반력·에너지·영모드·수렴·대칭성과 독립 비교를 확인한다. 외부 reference 오차 기준은 내부 잔차나 시간수렴 기준을 대신하지 않는다.
기준 데이터의 row 누락·추가·중복, 좌표·위치 불일치, nonfinite는 수치 오차 판정 이전의
실패다. 불일치를 평균하거나 임의의 max(1, scale) 및 zero clamp로 숨기지 않는다.
실패한 trial과 미완성 출력은 정상 결과가 아니며, 계약된 범위에서 기존 유효 상태와
최종 결과 파일을 보존한다.