Список сообщений об ошибках¶
На этой странице приведена справочная таблица типичных сообщений об ошибках FrontISTR, сгруппированных по категориям, с указанием основных причин и направлений устранения. Она не охватывает все внутренние сообщения и ориентирована прежде всего на сообщения, которые часто встречаются при использовании hecmw_part1 и fistr1.
При появлении сообщения сначала проверьте наличие кода и его префикс, затем по таблице соответствующей категории определите, что следует проверить: входные файлы, сетку, элементы, решатель, контакт, сходимость или память.
Как читать сообщения¶
Сообщения 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! |
Идентификатор материала или число определений материалов не согласованы со ссылками на них. | Проверьте номер материала, число определений и ссылки из !SECTION. |
ERROR: Material type not supported |
В ключевом слове материала указан неподдерживаемый TYPE. |
Проверьте допустимый TYPE для !ELASTIC, !HYPERELASTIC, !PLASTIC, !VISCOELASTIC. |
We cannot deal with incompressible material currently |
Задан полностью несжимаемый материал с коэффициентом Пуассона 0.5. | Задайте коэффициент Пуассона меньше 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 |
В !RESTART отсутствует NAME. |
Укажите имя данных перезапуска. |
HECMW-UTIL-E0042 !RESTART: Missing IO |
В !RESTART отсутствует IO. |
Добавьте параметр чтения/записи. |
Ошибки сетки и элементов¶
Ошибки сетки и элементов возникают при недопустимом сочетании типа элемента и функции, неверных опорных узлах, локальной системе координат или типе элемента контактной поверхности. Следует проверять не только синтаксис входных данных, но также качество формы элемента и порядок узлов.
| Сообщение | Основная причина | Направление устранения |
|---|---|---|
##Error: This element type is not supported in contact analysis !!! |
Для контактной поверхности указан тип элемента, не поддерживаемый контактным анализом. | Пересмотрите тип элемента и определение поверхности, используемые для контакта. Проверьте, не используются ли на контактной поверхности элементы высокого порядка или специальные элементы. |
Bad reference for beam element! |
Неверен опорный узел или опорное направление балочного элемента. | Проверьте опорный узел, локальную систему координат и совпадение узлов балочного элемента. |
Fail to setup local coordinate |
Не удается построить локальную систему координат элемента. | Проверьте вырожденную форму элемента, порядок узлов, дублирующиеся узлы и опорную систему координат. |
Неудача построения локальной системы координат зависит не только от входных значений, но и от качества сетки. Особенно следует проверить наличие чрезвычайно малых элементов, элементов с почти нулевой площадью или объемом и элементов с обратным порядком узлов.
Ошибки, связанные с решателем¶
Ошибки решателя возникают из-за неверных настроек линейного решателя, неудачи факторизации прямого метода, сингулярности матрицы, отсутствия скомпонованной внешней библиотеки и т. п. Проверьте, не выводилась ли непосредственно перед остановкой информация об итерационном или прямом методе, контактных степенях свободы, 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 |
Не удалось выделить память для массива корзин контактного поиска. | Пересмотрите число контактных поверхностей, плотность сетки, число областей разбиения и доступную память. |
Если ошибка контакта возникает сразу после чтения входных данных, прежде всего следует подозревать несовпадение имен контактных пар или групп поверхностей. Если она возникает в ходе нелинейных итераций, возможны значительное искажение контактной поверхности вследствие деформации, слишком большое начальное проникновение или слишком крупное приращение времени.
Выбор типа контакта и контактного алгоритма см. в разделе Контакт и внедрение.
Ошибки сходимости и cutback¶
Ошибки сходимости и cutback возникают, когда при нелинейном статическом анализе невозможно продвинуть подшаг. Основными причинами являются начало или прекращение контакта, быстрое развитие текучести, большие деформации, несогласованные граничные условия и слишком большое приращение нагрузки.
| Сообщение | Основная причина | Направление устранения |
|---|---|---|
Number of successive cutback reached max number |
Из-за неудачи сходимости cutback повторялся до достижения предельного числа последовательных неудач. | Уменьшите начальное приращение времени. Пересмотрите коэффициент уменьшения при cutback и предел последовательных неудач в 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, настройки шагов и версию перезапуска при записи и чтении. Обзор функции перезапуска см. в разделе Вывод и перезапуск.
Связанные разделы¶
- Решатель и предобработка — сведения, связанные с ошибками решателя.
- Разбиение области — сведения об ошибках
hecmw_part1. - Вывод и перезапуск — настройка перезапуска и проверка выходных файлов.
- Обязательные и дополнительные библиотеки зависимостей — зависимости, включая METIS, и настройки сборки.