콘텐츠로 이동

오류 메시지 목록

이 페이지는 FrontISTR가 출력하는 대표적인 오류 메시지를 범주별로 정리하고, 원인과 대처 방향을 제시하는 참조표이다. 모든 내부 메시지를 망라하는 것은 아니며, hecmw_part1fistr1을 사용할 때 자주 접하는 메시지를 중심으로 다룬다.

메시지가 표시되면 먼저 코드의 유무와 접두사를 확인하고, 다음으로 해당 범주의 표에서 입력 파일, 메쉬, 요소, 솔버, 접촉, 수렴, 메모리 중 무엇을 재검토해야 하는지 분류한다.

메시지 읽는 법

FrontISTR의 메시지에는 HEC-MW 라이브러리에서 유래한 코드가 있는 메시지와 fistr1 본체가 직접 출력하는 코드 없는 메시지가 있다. 코드가 있는 메시지는 접두사에서 출력 원 모듈과 중요도를 읽을 수 있다.

형식 읽는 법
HECMW-XXX-EYYYY HECMW-IO-E1014 HEC-MW 라이브러리에서 유래한 오류이다. XXX는 하위 모듈, E는 Error, YYYY는 번호를 나타낸다.
HECMW-XXX-WYYYY HECMW-PART-W0401 HEC-MW 라이브러리에서 유래한 경고이다. W는 Warning을 나타낸다.
코드 없음 Number of substeps reached max number 주로 fistr1 본체가 STOP, call hecmw_abort, write(*,*) 등으로 출력한다.

메시지 끝에 표시되는 숫자나 문자열은 파일 이름, 재료 번호, 요소 번호, 서브스텝 번호, 내부 플래그 등의 실행 시 정보일 수 있다. 같은 대표 메시지라도 끝의 값은 해석 사례마다 달라진다.

입력 해석 오류

입력 해석 오류는 제어 파일, 메쉬 데이터, 재료 정의, 리스타트 지정 등을 읽는 단계에서 발생한다. 이 종류의 오류에서는 직전에 읽고 있던 파일 이름, 키워드 이름, 재료 이름, 그룹 이름을 확인한다.

메시지 또는 코드 주요 원인 대처 방향
Cannot open FSTR control file 제어 파일 또는 !INCLUDE로 지정한 입력 파일을 열 수 없다. 실행 디렉터리, 파일 이름, 상대 경로, 접근 권한을 확인한다.
material property not defined! 해석에서 참조하는 재료가 !MATERIAL로 정의되어 있지 않다. !SECTION이 참조하는 재료 이름과 제어 파일 또는 메쉬 데이터 내의 !MATERIAL 이름을 일치시킨다.
Error in material property definition! 재료 ID 또는 재료 정의 수와 참조 관계가 일치하지 않는다. 재료 번호, 재료 정의 수, !SECTION으로부터의 참조를 확인한다.
ERROR: Material type not supported 재료 키워드에 지원되지 않는 TYPE을 지정했다. !ELASTIC, !HYPERELASTIC, !PLASTIC, !VISCOELASTIC에서 대응하는 TYPE을 확인한다.
We cannot deal with incompressible material currently Poisson비 0.5의 완전 비압축 재료를 지정했다. Poisson비를 0.5 미만으로 변경하고 필요하면 요소 정식화를 재검토한다.
Mohr-Coulomb and Drucker-Prager do not support temperature dependency Mohr-Coulomb 또는 Drucker-Prager에서 온도 의존 테이블을 지정했다. 온도 의존을 사용하지 않는 정의로 하거나 온도 의존을 지원하는 재료 모델을 선택한다.
Multilinear hardening: Error in plastic strain definition 다선형 경화의 소성 변형률이 단조롭게 정의되지 않았다. 첫 소성 변형률을 0으로 하고 소성 변형률이 증가하도록 테이블을 수정한다.
HECMW-IO-E1012 Element doesn't have section 요소에 대응하는 섹션 정보가 없다. !SECTION의 요소 그룹 지정과 메쉬 내 요소 그룹을 확인한다.
HECMW-IO-E1013 Cannot set section 섹션을 요소에 할당할 수 없다. 섹션 종류, 재료 이름, 요소 그룹 이름의 일관성을 확인한다.
HECMW-IO-E1014 No nodes defined 절점 정의가 없다. 메쉬 데이터에 절점 블록이 있는지 확인한다.
HECMW-IO-E1015 No elements defined 요소 정의가 없다. 메쉬 데이터에 요소 블록이 있는지 확인한다.
HECMW-UTIL-E0040 !RESTART: Invalid token in control file !RESTART 구문이 잘못되었다. !RESTART 행의 구분자, 매개변수 이름, 값을 확인한다.
HECMW-UTIL-E0041 !RESTART: Missing NAME !RESTARTNAME이 없다. 리스타트 데이터 이름을 지정한다.
HECMW-UTIL-E0042 !RESTART: Missing IO !RESTARTIO가 없다. 읽기·쓰기 지정을 추가한다.

메쉬·요소 오류

메쉬·요소 오류는 요소 유형과 기능의 조합, 참조 절점, 로컬 좌표계, 접촉면의 요소 종류가 부적절한 경우 발생한다. 입력 구문뿐 아니라 요소 형상의 품질과 절점 순서도 확인한다.

메시지 주요 원인 대처 방향
##Error: This element type is not supported in contact analysis !!! 접촉 해석에서 지원되지 않는 요소 유형을 접촉면에 지정했다. 접촉면에 사용하는 요소 유형과 서피스 정의를 재검토한다. 고차 요소나 특수 요소를 접촉면에 사용하지 않았는지 확인한다.
Bad reference for beam element! 보 요소의 참조 절점 또는 참조 방향이 잘못되었다. 보 요소의 참조 절점, 로컬 좌표계, 절점 중복을 확인한다.
Fail to setup local coordinate 요소의 로컬 좌표계를 구성할 수 없다. 요소 형상의 붕괴, 절점 순서, 중복 절점, 참조 좌표계를 확인한다.

로컬 좌표계 설정 실패는 입력값뿐 아니라 메쉬 품질에도 의존한다. 특히 극단적으로 작은 요소, 면적이나 체적이 0에 가까운 요소, 절점 순서가 뒤집힌 요소가 없는지 확인한다.

솔버 관련 오류

솔버 관련 오류는 선형 솔버 설정 오류, 직접법의 분해 실패, 행렬의 특이성, 외부 라이브러리 미링크 등으로 발생한다. 해석이 정지한 시점의 직전 로그에 반복법, 직접법, 접촉 자유도, MPC 등의 정보가 출력되어 있지 않은지 확인한다.

메시지 주요 원인 대처 방향
ERROR ordering option for direct solver out of range 직접법의 오더링 지정이 범위를 벗어났다. !SOLVER의 직접법 오더링 설정을 확인한다.
ERROR in symb. fact. flag: Should be 1 or 0 기호 분해 플래그가 0 또는 1이 아니다. 직접법 내부 플래그의 지정값을 확인한다. 일반적으로 사용자가 직접 변경하지 않는 설정이다.
ERROR in numer. fact. flag: Should be 1 or 0 수치 분해 플래그가 0 또는 1이 아니다. 직접법 내부 플래그의 지정값을 확인한다.
ERROR in nufct0. ir = 직접법의 수치 분해에 실패했다. 구속 부족, 강체 모드, 재료 상수의 이상값, 접촉 조건, MPC 조건을 확인한다.
error in nusol0. irr = 직접법의 역대입에 실패했다. 수치 분해 실패 때와 마찬가지로 선형계가 특이하거나 불일치 상태인지 확인한다.
METIS not available METIS를 사용하는 오더링을 지정했지만 METIS 지원으로 빌드되지 않았다. METIS를 사용하지 않는 설정으로 변경하거나 METIS 지원으로 다시 빌드한다. 의존 라이브러리는 필수 및 선택 의존 라이브러리를 참조한다.

직접법의 분해 실패는 단순히 솔버 설정뿐 아니라 모델의 강체 운동, 구속 부족, 중복 구속, 극단적인 재료 상수, 접촉 불일치에 의해서도 발생한다. 구속 조건과 하중 조건을 단순한 사례로 되돌리고 최소 구성에서 선형계를 풀 수 있는지 확인하면 원인을 분리하기 쉽다.

접촉 해석 오류

접촉 해석 오류는 접촉 쌍과 서피스 그룹의 대응 불일치, 접촉 탐색 시의 기하학적 특이성, 서피스 요소 유형 불일치, 접촉 탐색용 메모리 부족으로 발생한다. 접촉 오류에서는 슬레이브 측과 마스터 측의 그룹명, 접촉면의 요소 유형, 초기 관통, 접촉면의 법선 방향을 확인한다.

메시지 주요 원인 대처 방향
Inconsistence in contact and surface definition !CONTACT 또는 !EMBED가 참조하는 서피스 그룹이나 접촉 쌍이 일치하지 않는다. 접촉 쌍 이름, 서피스 그룹 이름, 절점·면 그룹의 존재 여부를 확인한다.
error in contact state 접촉 상태 데이터가 유효한 접촉면을 참조하지 않는다. 접촉면 정의, 초기 접촉 상태, 접촉 쌍의 활성화 스텝을 확인한다.
Math error in contact searching 접촉점의 투영 계산에서 특이 상태가 발생했다. 접촉면 형상, 절점 배치, 초기 관통, 극단적인 변형을 확인한다.
Error in calculate DispIncreMatrix 접촉면 위의 변위 증분 행렬을 계산할 수 없다. 접촉면 요소 형상이 붕괴하지 않았는지, 절점 순서가 올바른지 확인한다.
Error: cal_node_normal: invalid isin / Error: cal_node_normal: invalid isin_n 절점 법선 계산에서 절점이 예상되는 접촉면 위치에 있지 않다. 서피스 정의, 접촉면 방향, 슬레이브·마스터 지정을 확인한다.
type of surface element not defined 서피스 요소 유형을 식별할 수 없다. 접촉면으로 지정한 요소 유형과 면 번호를 확인한다.
Allocation error: bktdb%buckets 접촉 탐색용 버킷 배열의 메모리 할당에 실패했다. 접촉면 수, 메쉬 밀도, 영역 분할 수, 사용 가능한 메모리를 재검토한다.

접촉 관련 오류가 입력 직후 발생하는 경우 접촉 쌍이나 서피스 그룹 이름의 불일치가 주요 후보이다. 비선형 반복 도중 발생하는 경우 변형으로 접촉면이 심하게 왜곡되었거나 초기 관통이 너무 크거나 시간 증분이 너무 클 가능성이 있다.

접촉 유형이나 접촉 알고리즘의 선택 방법은 접촉 및 임베딩을 참조한다.

수렴·컷백 오류

수렴·컷백 오류는 비선형 정적 해석에서 서브스텝을 진행할 수 없을 때 발생한다. 접촉의 개시·이탈, 항복의 급격한 진행, 대변형, 구속 조건의 불일치, 과도한 하중 증분 설정이 주요 원인이다.

메시지 주요 원인 대처 방향
Number of successive cutback reached max number 수렴 실패로 컷백을 반복하여 연속 실패 횟수의 상한에 도달했다. 초기 시간 증분을 작게 한다. AUTOINC_PARAM의 컷백 축소율이나 연속 실패 상한을 재검토한다. 접촉·재료·경계 조건의 타당성을 확인한다.
Number of substeps reached max number 스텝 종료 전에 서브스텝 수의 상한에 도달했다. SUBSTEPS를 늘린다. 하중·시간 증분을 작게 한다. 비선형성이 급변하는 시각에 출력 시각이나 스텝 분할을 추가한다.

수렴 실패 시 솔버의 최대 반복 횟수만 늘려도 근본 원인이 해결되지 않는 경우가 있다. 하중을 단계화하고 접촉 조건이나 재료 비선형을 단순화한 사례에서 재현성을 확인하면 원인을 분리하기 쉽다.

경계 조건 오류

경계 조건 오류는 제어 파일의 지정이 기능상의 제약에 맞지 않을 때 발생한다. 회전 경계 조건에서는 변위 구속과 같은 감각으로 총량 지정을 사용하면 오류가 된다.

메시지 주요 원인 대처 방향
Error: rotational boundary cannot be specified with total value 회전 구속에 총량 지정(TOTAL=YES)을 사용했다. 회전 구속에서는 증분 지정을 사용한다. 경계 조건 정의에서 TOTAL=YES를 제거한다.
fstr control file error : !BOUNDARY : rotational boundary cannot be specified with total value 제어 파일 읽기 단계에서 동일한 제약 위반을 검출했다. !BOUNDARY의 회전 구속 행과 TOTAL 지정을 확인한다.

회전 구속이나 회전 하중은 요소 종류와 자유도 구성에도 의존한다. 보·셸 등 회전 자유도를 갖는 요소를 사용하는 경우 경계 조건의 자유도 번호와 대상 절점 그룹을 함께 확인한다.

영역 분할(hecmw_part1) 오류

hecmw_part1의 오류는 HECMW-PART로 시작하는 코드로 출력된다. 영역 분할에서는 입력 파일의 존재 여부, !PARTITION의 필수 매개변수, 분할 방법과 영역 수의 제약, 사용자 지정 part 파일의 일관성을 순서대로 확인한다.

코드 범위 또는 대표 코드 주요 원인 대처 방향
HECMW-PART-E0001〜E0006 파일 조작, 파일 이름, EOF, 인수에 관한 기본 오류이다. 지정 파일의 존재, 파일 이름 길이, 입력 파일 끝, 명령 인수를 확인한다.
HECMW-PART-E0101 제어 파일 안에 잘못된 토큰이 있다. !PARTITION 행과 분할 방향 지정 행의 구문을 확인한다.
HECMW-PART-E0111 'TYPE' must not be omitted TYPE이 지정되지 않았다. !PARTITION, TYPE=NODE-BASED 등 분할 유형을 지정한다.
HECMW-PART-E0121 'METHOD' must not be omitted METHOD가 지정되지 않았다. METHOD=RCB, METHOD=PMETIS, METHOD=KMETIS 등을 지정한다.
HECMW-PART-E0131 'DOMAIN' must not be omitted 영역 수가 지정되지 않았다. DOMAIN에 MPI 프로세스 수에 대응하는 자연수를 지정한다.
HECMW-PART-E0134 'METHOD' is 'RCB', but 'DOMAIN' is not n-th power of 2 RCB법에서 영역 수가 \(2^n\)이 아니다. RCB를 사용할 경우 영역 수를 \(2^n\)으로 한다. 임의의 영역 수가 필요하면 METIS 계열을 검토한다.
HECMW-PART-E0201〜E0206 분할 유형, 분할 방법, 요소 유형, 분할 방향, 영역 수, 오버랩 깊이가 잘못되었다. TYPE, METHOD, DOMAIN, DEPTH, 분할 방향 지정을 확인한다.
HECMW-PART-E0301〜E0331 분할 후 데이터의 영역 번호, 절점 수, 요소 수, 인접 영역 수가 범위를 벗어났다. 입력 메쉬, 사용자 지정 part 파일, 분할 수의 일관성을 확인한다.
HECMW-PART-E0601〜E0606 사용자 지정 part 파일에 빈 영역, 형식 오류, 절점 수·요소 수·영역 수의 불일치가 있다. part 파일 형식과 메쉬의 일관성을 확인한다.
HECMW-PART-W0401 EQUATION_BLOCK not found EQUATION_BLOCK을 찾을 수 없다는 경고이다. MPC를 사용하는 해석에서 필요하면 해당 블록을 확인한다. 필요하지 않으면 계속 실행할 수 있다.
HECMW-PART-W0502 Log file for partitioner already initialized 로그 초기화가 중복 호출되었다. 일반적으로 경고로 취급하고 직후에 치명적 오류가 있는지 확인한다.

영역 분할의 개념과 분할 방법 선택은 영역 분할을 참조한다. 병렬 실행의 구체적인 절차는 실행 가이드를 참조한다.

메모리 할당 오류

메모리 할당 오류는 배열이나 작업 영역을 확보할 수 없을 때 출력된다. 대규모 메쉬, 접촉면이 많은 모델, 직접법, 출력 변수가 많은 해석에서는 메모리 사용량이 증가한다.

메시지 주요 원인 대처 방향
stop due to allocation error <FSTR_SOLID, TEMPERATURE> 온도 배열 할당에 실패했다. 절점 수, 온도 자유도, 열응력 설정, 사용 가능한 메모리를 확인한다.
stop due to allocation error <FSTR_SOLID, GL> 구조 해석용 전역 배열 할당에 실패했다. 모델 규모, 영역 분할 수, 해석 종류, 출력 항목을 재검토한다.
Allocation error: bktdb%buckets 접촉 탐색용 버킷 배열을 확보할 수 없다. 접촉면 수, 메쉬 밀도, 접촉 쌍 수, 영역 분할을 재검토한다.
ALLOCATION ERROR, ... 직접법 또는 오더링 처리의 작업 배열을 확보할 수 없다. 직접법에서 반복법으로 전환, 영역 분할 수 조정, 메모리 할당량 증가를 검토한다.

메모리 부족이 의심되면 먼저 직접법을 반복법으로 변경할 수 있는지 확인한다. 직접법을 사용해야 하는 경우 모델 규모를 줄이고, 출력 변수를 줄이고, 영역 분할 수를 조정하고, 작업에 할당하는 메모리를 늘리는 방안을 검토한다.

리스타트 오류

리스타트 오류는 !RESTART 구문 오류, 필수 매개변수 부족 또는 읽기 대상 파일과 현재 해석 조건의 불일치로 발생한다. 리스타트를 사용하는 경우 데이터를 쓴 해석과 읽는 해석에서 메쉬, 영역 분할 수, 해석 종류, 스텝 정보가 일치해야 한다.

코드 주요 원인 대처 방향
HECMW-UTIL-E0040 !RESTART: Invalid token in control file !RESTART 행의 구문이 잘못되었다. 매개변수 이름, 구분자, 값 형식을 확인한다.
HECMW-UTIL-E0041 !RESTART: Missing NAME NAME이 지정되지 않았다. 리스타트 데이터 이름을 지정한다.
HECMW-UTIL-E0042 !RESTART: Missing IO IO가 지정되지 않았다. 읽기·쓰기 지정을 추가한다.

리스타트 읽기에 실패하는 경우 리스타트 파일 이름뿐 아니라 쓰기 시와 읽기 시의 메쉬, MPI 영역 수, 스텝 설정, 리스타트 버전을 확인한다. 리스타트 기능의 개요는 출력 및 리스타트를 참조한다.

관련 항목