Список на пораки за грешки¶
Оваа страница ги организира по категории репрезентативните пораки за грешки што ги изнесува FrontISTR и обезбедува референтна табела со веројатни причини и насоки за корективно дејство. Не ги опфаќа сите внатрешни пораки; се фокусира на пораки што често се среќаваат при користење на hecmw_part1 и fistr1.
Кога ќе се прикаже порака, прво проверете дали има код и идентификувајте го неговиот префикс. Потоа користете ја табелата за соодветната категорија за да утврдите дали треба да ги прегледате влезната датотека, мрежата, елементот, решавачот, контактот, конвергенцијата или поставките за меморија.
Како да се читаат пораките¶
Пораките на FrontISTR вклучуваат кодирани пораки што потекнуваат од библиотеката HEC-MW и пораки без код што директно ги изнесува fistr1. Кај кодираните пораки, префиксот го покажува модулот од кој потекнува пораката и нејзината тежина.
| Формат | Пример | Како да се чита |
|---|---|---|
| HECMW-XXX-EYYYY | HECMW-IO-E1014 | Грешка од библиотеката HEC-MW. XXX го идентификува подмодулот, E значи грешка, а YYYY е бројот на пораката. |
| HECMW-XXX-WYYYY | HECMW-PART-W0401 | Предупредување од библиотеката HEC-MW. W значи предупредување. |
| Без код | Number of substeps reached max number | Главно се изнесува директно од fistr1 преку STOP, call hecmw_abort, write(*,*) и слични патеки. |
Броевите или низите прикажани на крајот од пораката може да бидат информации за време на извршување, како име на датотека, број на материјал, број на елемент, број на подчекор или внатрешно знаме. Завршните вредности на истата репрезентативна порака може да се разликуваат меѓу анализите.
Излезни кодови¶
fistr1 го враќа резултатот од анализата како излезен код (exit status). Ако анализата заврши нормално, враќа 0; ако не успее, враќа ненулта вредност според видот на неуспехот.
| Излезен код | Значење | Главна причина |
|---|---|---|
| 0 | Нормално завршување | Анализата е извршена до крај. Кодот е 0 и кога анализата продолжува по предупредување, на пример предупредување за нулто оптоварување, прекин на итерациите во модална анализа или надминување на резидуалот кај директен метод. Ако итеративен линеарен решавач го достигне ограничувањето за бројот на итерации, тоа се третира како дивергенција на итерациите Newton-Raphson и кодот станува 10. |
| 1 | Грешка при употреба или на командната линија | Неподдржана опција или недостасува аргумент на опцијата. |
| 2 | Грешка при парсирање на влезот | Неуспешно читање на hecmw_ctrl.dat, податоците за мрежата или контролната датотека, или синтаксичка грешка. |
| 3 | Грешка во дефиницијата на моделот | Неподдржан тип на елемент, нецелосна дефиниција на материјал или неусогласеност во дефинициите на граничните услови или контактот. |
| 4 | Неусогласеност на поставките на решавачот | Комбинацијата на решавач и предусловување е неважечка (HEC-MW-SOLVER-E-1001) или дијагонална компонента е нула (HEC-MW-SOLVER-E-2001). |
| 10 | Прекин на нелинеарната анализа | Неконвергенција на итерациите Newton-Raphson, достигнат максимален број последователни неуспеси на cutback или достигнат максимален број подчекори. |
| 20 | Внатрешна грешка | Неуспешна алокација на меморија, нарушена внатрешна конзистентност или друга фатална грешка што не е класифицирана погоре. |
Класификацијата на излезните кодови служи за откривање неуспех, а не за утврдување на неговата причина. Без разлика дали кодот е 2, 3 или 10, конкретната причина утврдете ја од пораката прикажана на стандардниот излез и од табелите по категории на оваа страница.
Од shell-скрипта може да се провери на следниов начин.
fistr1 -t 4
case $? in
0) echo "completed" ;;
10) echo "not converged" ;;
*) echo "failed with code $?" ;;
esac
При паралелно извршување со MPI, mpirun или mpiexec не мора да го вратат излезниот код на fistr1 непроменет. За сигурна проверка, користете го излезниот код заедно со последната линија од FSTR.sta (... HAS COMPLETED SUCCESSFULLY или ... HAS NOT COMPLETED SUCCESSFULLY).
Грешки при парсирање на влезот¶
Грешките при парсирање на влезот се јавуваат при читање контролни датотеки, податоци за мрежата, дефиниции на материјали, спецификации за рестарт и сличен влез. За овој тип грешка, проверете ги името на датотеката, името на клучниот збор, името на материјалот и името на групата што се читале непосредно пред грешката.
| Порака или код | Главна причина | Препорачано дејство |
|---|---|---|
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 | !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 и поставки за изградба.