Иди на текст

Решавач и предобрада

Линеарни решавачи у FrontISTR-у подешавају се избором директне или итеративне методе; итеративне методе комбинују се са предобрађивачем ради решавања линеарних једначина. Метода обраде MPC-а и елиминација контактних степени слободе су помоћни избори који одређују начин обраде линеарног система који садржи вишетачка или контактна ограничења.

Преглед функција

Подешавања решавача и предобраде састоје се од следећих избора. Најпре као линеарни решавач изаберите итеративну или директну методу. Предобрађивач се комбинује само са итеративном методом.

Категорија Главне опције Улога
Итеративне методе CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Решавају велике ретке матрице уз релативно ефикасно коришћење меморије.
Предобрађивачи за итеративне методе SSOR, дијагонално скалирање, BILU, AMG, SAINV, RIF Побољшавају конвергенцију итеративних метода. Не користе се са директним методама.
Директне методе MUMPS, MKL Робусно решавају линеарне једначине факторизацијом матрице.
Методе обраде MPC-а Казнена метода, метода MPC-CG, експлицитна елиминација степени слободе Укључују вишетачка ограничења у линеарни систем.
Елиминација контактних степени слободе Аутоматска, увек омогућена Управља обрадом контактних степени слободе које додаје контакт SLAGRANGE.
Помоћне функције Процена броја условљености, испис матрице, евидентирање Подржавају отклањање грешака, процену конвергенције и оцену перформанси.

За паралелно извршавање, MPI паралелизам заснован на декомпозицији домена може се комбиновати са OpenMP паралелизмом нити. Итеративне методе су стандардни избор за паралелне анализе великих размера, док се директне методе користе када су потребне библиотеке повезане и када је потребно робусније решење.

Избор решавача и предобрађивача

Најпре одлучите да ли ћете користити итеративну или директну методу. Ако је изабрана итеративна метода, затим изаберите предобрађивач.

Фактор одлуке Препоручени приступ
Величина проблема Директне методе су стабилне и лаке за употребу код малих и средњих проблема. Итеративне методе ефикасније користе меморију код великих проблема.
Симетрија матрице За симетричне позитивно дефинитне проблеме размотрите CG. За несиметричне проблеме размотрите BiCGSTAB, GMRES, GPBiCG или сличне методе.
Паралелно окружење Код MPI паралелизма комбинујте итеративну методу са декомпозицијом домена. За предобраду код OpenMP паралелизма размотрите вишебојну имплементацију SSOR-а.
Предобрађивач (када се користи итеративна метода) Најпре испробајте подразумевани SSOR, а затим размотрите AMG. SSOR је рачунски лаган када је конвергенција добра; AMG је погодан за сложене проблеме великих размера.
Контакт и MPC У анализама које садрже контакт или вишетачка ограничења, избор методе обраде MPC-а и елиминације контактних степени слободе утиче на конвергенцију и робусност.
Спољашње библиотеке MUMPS, MKL и AMG доступни су у верзијама изграђеним са одговарајућим библиотекама.

За стандардне анализе, подразумевана толеранција конвергенције, максималан број итерација и дијагонални корекциони коефицијент предобрађивача углавном су довољни. Само када је конвергенција спора или решење дивергира, преиспитајте редом итеративну методу, предобрађивач, методу обраде MPC-а и елиминацију контактних степени слободе. За вредности параметара и синтаксу погледајте референцу кључне речи !SOLVER.

Итеративне методе

Итеративне методе решавају велике ретке системе поновљеним ажурирањем решења преко производа матрице и вектора и предобраде. FrontISTR обезбеђује следеће итеративне методе.

Итеративна метода Типична примена Напомене
CG Симетрични позитивно дефинитни проблеми Стандардни кандидат за структурне анализе и анализе провођења топлоте.
BiCGSTAB Несиметрични проблеми Кандидат када контакт или спрегнути ефекти производе јаку несиметрију.
GMRES Несиметрични проблеми Користи се са задатом величином Криловљевог потпростора.
GPBiCG Несиметрични проблеми Користи се као побољшана метода из породице BiCGSTAB.
GMRESR Несиметрични проблеми, напредне примене Опција која користи GMRES у угнежђеном облику.
GMRESREN Несиметрични проблеми, напредне примене Рекурзивна варијанта из породице GMRESR.

CG претпоставља да је матрица симетрична позитивно дефинитна. Ако контакт са трењем, несиметрична обрада ограничења, спрегнути ефекти или слични фактори уведу јаку несиметрију, размотрите BiCGSTAB, GMRES, GPBiCG или други несиметрични решавач. Код GMRES, повећање величине Криловљевог потпростора може побољшати конвергенцију, али повећава и употребу меморије.

Када је задат METHOD2, FrontISTR може прећи на алтернативну итеративну методу ако CG дивергира или откаже. Ова функција је резервни механизам за случајеве у којима је CG примарни решавач; алтернативна метода користи иста преостала подешавања и линије података као примарни решавач.

Предобрада

Предобрада трансформише матрицу коефицијената ради побољшања конвергенције итеративне методе и примењује се само када је изабрана итеративна метода. Директне методе не користе предобраду. Чак и за исту итеративну методу, избор предобрађивача може значајно променити број итерација и време израчунавања потребно за конвергенцију.

Предобрађивач Карактеристике Типична примена
SSOR Стандардни предобрађивач; подржава вишебојно уређивање. Први кандидат за испробавање; широко се користи у структурној анализи.
Дијагонално скалирање Лаган предобрађивач који користи дијагоналне елементе. Када је приоритет низак рачунски трошак.
BILU Блоковска непотпуна LU факторизација. Кандидат за проблеме који тешко конвергирају са SSOR-ом.
AMG Алгебарска вишемрежна метода која користи Trilinos-ML. Кандидат за проблеме великих размера или проблеме у којима доминирају хијерархијске компоненте грешке.
SAINV Ретка приближна инверзна матрица. Специјализована опција предобраде за контактне проблеме или окружења са дистрибуираном меморијом.
RIF Робусна непотпуна факторизација. Друга опција непотпуне факторизације.

SSOR је стандардни избор, а код OpenMP паралелизма користи се верзија са вишебојним уређивањем. Дијагонално скалирање је лагано, мада његово побољшање конвергенције зависи од проблема. BILU је реализован као блоковска непотпуна LU факторизација и подржава и матрице са произвољним бројем степени слободе. За породицу BILU постоји пут који аутоматски повећава дијагонални корекциони коефицијент SIGMA_DIAG и поново покушава када итеративна метода дивергира; за задавање вредности погледајте референцу кључне речи.

AMG користи Trilinos-ML, па ML мора бити омогућен при изградњи. Могу се задати изглађивачи, вишемрежни циклуси, методе укрупњавања и друга подешавања, али за детаљне вредности погледајте референцу кључне речи. Када се SAINV користи у паралелној анализи која садржи контактна или MPC ограничења, дубина преклапања при декомпозицији домена може утицати на конвергенцију.

Директне методе

Директне методе решавају линеарне једначине факторизацијом матрице коефицијената. Пошто не зависе од броја итерација, робусне су и могу бити стабилан избор за анализе које садрже контакт или услове ограничења. Међутим, њихова потрошња меморије расте са величином проблема.

Директна метода Паралелно окружење Примена
MUMPS MPI паралелно Решава ретке матрице директном методом у окружењима са дистрибуираном меморијом.
MKL Intel MKL / OpenMP Директни решавач заснован на Intel MKL. Интерно се користи Intel PARDISO. Са више MPI процеса користи се пут Cluster MKL. DIRECTmkl је псеудоним за MKL.

Директне методе могу се користити и за симетричне и за несиметричне матрице. MUMPS и MKL захтевају да одговарајуће библиотеке буду повезане при изградњи. Не могу се користити у окружењима без тих библиотека, па за потребне зависности и CMake опције погледајте водич за изградњу.

FrontISTR садржи и уграђени пут директног решавача који не користи спољашњу библиотеку, али за уобичајене анализе које захтевају директну методу обично прво треба размотрити MUMPS или MKL.

Предобрада се не примењује на директне методе. Чак и ако је предобрађивач задат у !SOLVER, он се не користи на путањи директног решавача.

Методе обраде MPC-а

Метода обраде MPC-а одређује како се степени слободе повезани вишетачким ограничењима укључују у линеарне једначине. Чак и са истим једначинама ограничења у улазним подацима, метода обраде мења својства матрице коефицијената и њено понашање при конвергенцији.

Метода обраде MPC-а Позиционирање Подразумевана употреба
Казнена метода Приближно задовољава ограничења додавањем великих чланова крутости једначинама ограничења. Подразумевано за директне методе.
Метода MPC-CG Наслеђена метода која унутар итеративног решавача обрађује производе матрице и вектора који садрже ограничења. Застарела.
Експлицитна елиминација степени слободе Елиминише ограничене степене слободе и решава редуковани линеарни систем. Подразумевано за итеративне методе.

Казнена метода је подразумевана за директне методе, док је експлицитна елиминација степени слободе подразумевана за итеративне методе. Метода MPC-CG је наслеђена опција компатибилности и не препоручује се за нове анализе; обично користите експлицитну елиминацију степени слободе или подразумевану обраду за изабрану директну методу.

Метода обраде MPC-а може се изричито задати са MPCMETHOD у !SOLVER. За значење и синтаксу сваке вредности погледајте референцу кључне речи.

Елиминација контактних степени слободе

Елиминација контактних степени слободе редукује додатне контактне степене слободе уведене контактом SLAGRANGE пре прослеђивања система линеарном решавачу. Елиминација ових контактних степени слободе може побољшати својства линеарног система који обрађује итеративна метода.

У подразумеваном аутоматском режиму, елиминација контактних степени слободе омогућена је за итеративне методе, а онемогућена за директне методе. За директне методе обезбеђен је пут који непосредно решава проширени систем са контактним степенима слободе.

Када је CONTACT_ELIM изричито задат, елиминација контактних степени слободе може се извршити и када се користи директна метода. За избор типа контакта, контактног пара и контактног алгоритма на улазној страни погледајте страницу Контакт и уграђивање.

Помоћне функције

Процена броја условљености, исписи матрице и евидентирање могу се користити за испитивање конвергенције и перформанси решавача. Ове функције нису потребне за уобичајене анализе и омогућавају се првенствено ради отклањања грешака или оцене перформанси.

Функција Сврха Напомене
Процена броја условљености Исписује показатељ броја условљености за CG и GMRES. Доступно у верзијама са омогућеним LAPACK-ом.
Испис матрице Чува матрицу и десну страну прослеђене решавачу. Подржава формате Matrix Market, CSR и BSR.
DUMPEXIT Завршава анализу након исписа матрице. Користи се када је за спољашњу проверу потребна само матрица.
ITERLOG Исписује историју конвергенције итеративне методе. Користи се за преглед трендова резидуала.
TIMELOG Исписује време прорачуна решавача. VERBOSE исписује детаљнију разраду.
STEPLOG Исписује информације о кораку. Користи се за преглед поступка анализе.

Испис матрице омогућава да се матрица коефицијената склопљена током анализе прегледа спољашњим алатима. Када је DUMPEXIT омогућен, анализа се завршава након чувања матрице и десне стране. Процена броја условљености је експериментална функција доступна са CG и GMRES и може се користити за дијагностику понашања конвергенције.

Повезане теме

AI-assisted translation May contain errors Official docs Status