Към съдържанието

Решател и предобуславяне

Линейните решатели на FrontISTR се конфигурират чрез избор между директен и итеративен метод; итеративните методи се комбинират с предобуславящ оператор за решаване на линейните уравнения. Методът за обработка на MPC и елиминирането на контактните степени на свобода са спомагателни избори, които определят как се обработва линейна система, съдържаща многоточкови или контактни ограничения.

Функционален преглед

Настройките на решателя и предобуславянето се състоят от следните избори. Първо изберете итеративен или директен метод за линейния решател. Предобуславящ оператор се комбинира само с итеративен метод.

Категория Основни опции Роля
Итеративни методи CG, BiCGSTAB, GMRES, GPBiCG, GMRESR, GMRESREN Решават големи разредени матрици с относително ефективно използване на паметта.
Предобуславящи оператори за итеративни методи SSOR, диагонално мащабиране, BILU, AMG, SAINV, RIF Подобряват сходимостта на итеративните методи. Не се използват с директни методи.
Директни методи MUMPS, MKL Решават линейни уравнения устойчиво чрез факторизация на матрицата.
Методи за обработка на MPC Метод на наказателната функция, метод MPC-CG, явно елиминиране на DOF Включват многоточковите ограничения в линейната система.
Елиминиране на контактни DOF Автоматично, винаги включено Управлява обработката на контактните степени на свобода, добавени от контакт SLAGRANGE.
Спомагателни функции Оценка на обусловеността, запис на матрица, логване Подпомагат отстраняването на грешки, оценката на сходимостта и производителността.

При паралелно изпълнение MPI паралелизмът, основан на разделяне на области, може да се комбинира с нишков паралелизъм OpenMP. Итеративните методи са стандартният избор за мащабни паралелни анализи, докато директните методи се използват, когато необходимите библиотеки са свързани и е нужно по-устойчиво решение.

Избор на решател и предобуславящ оператор

Първо решете дали да използвате итеративен или директен метод. Ако е избран итеративен метод, след това изберете предобуславящ оператор.

Фактор за избор Препоръчителен подход
Размер на задачата Директните методи са стабилни и лесни за използване при малки и средни задачи. Итеративните методи са по-ефективни по отношение на паметта при големи задачи.
Симетрия на матрицата За симетрични положително определени задачи разгледайте CG. За несиметрични задачи разгледайте BiCGSTAB, GMRES, GPBiCG или подобни методи.
Паралелна среда При MPI паралелизъм комбинирайте итеративен метод с разделяне на области. За предобуславяне при OpenMP паралелизъм разгледайте многоцветна реализация на SSOR.
Предобуславящ оператор (при итеративен метод) Първо опитайте SSOR по подразбиране, след това разгледайте AMG. SSOR е изчислително лек, когато сходимостта е добра; AMG е подходящ за сложни мащабни задачи.
Контакт и MPC При анализи с контакт или многоточкови ограничения изборът на метод за обработка на MPC и елиминирането на контактни DOF влияе върху сходимостта и устойчивостта.
Външни библиотеки MUMPS, MKL и AMG са налични в сборки, свързани със съответните библиотеки.

За стандартни анализи стойностите по подразбиране на допуска за сходимост, максималния брой итерации и коефициента за диагонална корекция на предобуславящия оператор обикновено са достатъчни. Едва когато сходимостта е бавна или решението се разходи, преразгледайте последователно итеративния метод, предобуславящия оператор, метода за обработка на MPC и елиминирането на контактни DOF. За стойностите и синтаксиса на параметрите вижте справочника за ключовата дума !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 Наследен метод, който обработва произведения матрица–вектор, съдържащи ограничения, вътре в итеративния решател. Непрепоръчителен.
Явно елиминиране на DOF Елиминира ограничените степени на свобода и решава редуцираната линейна система. По подразбиране за итеративни методи.

Методът на наказателната функция е по подразбиране за директни методи, докато явното елиминиране на DOF е по подразбиране за итеративни методи. Методът MPC-CG е наследена опция за съвместимост и не се препоръчва за нови анализи; обикновено използвайте явно елиминиране на DOF или обработката по подразбиране за избрания директен метод.

Методът за обработка на MPC може да се зададе изрично чрез MPCMETHOD в !SOLVER. За значението и синтаксиса на всяка стойност вижте справочника за ключови думи.

Елиминиране на контактни DOF

Елиминирането на контактни DOF редуцира допълнителните контактни степени на свобода, въведени от контакт SLAGRANGE, преди системата да бъде подадена към линейния решател. Елиминирането на тези контактни степени на свобода може да подобри свойствата на линейната система, обработвана от итеративен метод.

В автоматичния режим по подразбиране елиминирането на контактни DOF е включено за итеративни методи и изключено за директни методи. За директните методи е осигурен път, който решава директно разширената система, съдържаща контактните степени на свобода.

Когато CONTACT_ELIM е зададен изрично, елиминиране на контактни DOF може да се извършва и при използване на директен метод. За избор на тип контакт, контактна двойка и контактен алгоритъм от страната на входа вижте страницата за контакт и вграждане.

Спомагателни функции

Оценката на обусловеността, записът на матрицата и логването могат да се използват за изследване на сходимостта и производителността на решателя. Тези функции не са необходими за нормални анализи и се активират основно за отстраняване на грешки или оценка на производителността.

Функция Предназначение Бележки
Оценка на обусловеността Извежда индикатор за числото на обусловеност при CG и GMRES. Налично в сборки с активиран LAPACK.
Запис на матрицата Запазва матрицата и дясната страна, подадени към решателя. Поддържа формати Matrix Market, CSR и BSR.
DUMPEXIT Прекратява анализа след запис на матрицата. Използва се, когато е необходима само матрицата за външна верификация.
ITERLOG Извежда историята на сходимостта на итеративен метод. Използва се за преглед на тенденциите на остатъка.
TIMELOG Извежда времето за изчисление на решателя. VERBOSE извежда по-подробна разбивка.
STEPLOG Извежда информация за стъпките. Използва се за преглед на процедурата на анализа.

Записът на матрицата позволява матрицата на коефициентите, сглобена от анализа, да бъде прегледана с външни инструменти. Когато DUMPEXIT е активиран, анализът приключва след запазването на матрицата и дясната страна. Оценката на обусловеността е експериментална функция, налична с CG и GMRES, и може да се използва за диагностика на поведението на сходимост.

Свързани теми

AI-assisted translation May contain errors Official docs Status