Що таке надійний, ітеративний вирішувач для великих триденних лінійно-пружних задач?


9

Я занурююсь у захоплюючий світ аналізу кінцевих елементів і хотів би вирішити велику термомеханічну проблему (лише теплова механічна, без зворотного зв'язку).

Щодо механічної проблеми, я вже зрозумів з відповіді Джеффа , що мені потрібно використовувати ітеративний вирішувач через розмір моєї сітки. Далі я читаю у відповіді Метта , що вибір правильного ітеративного алгоритму є непростим завданням.

Я запитую тут, чи є досвід щодо великих тривимірних лінійно-пружних проблем, який би міг допомогти мені звузити пошук найкращих показників? У моєму випадку це структура з тонкими візерунковими плівками та нерівномірно розміщеними матеріалами (як з високим вмістом CTE, так і з низьким вмістом CTE). У цьому термомеханічному аналізі великих деформацій немає. Я можу використовувати HPC мого університету [1.314 вузла, з 2 процесорами AMD Opteron (кожен 2,2 ГГц / 8 ядер)].

Я думаю, що PETScможе містити щось цікаве, особливо алгоритми, які роблять якусь декомпозицію домену (FETI, мультисетка), але я трохи переповнений параметрами і не маю досвіду. Мені також подобається фраза "геометрично проінформовані кондиціонери" , але я не впевнений, якщо це мені допоможе. Я ще не знайшов чогось, що зосередився б на лінійній механіці континууму.

Сильне масштабування (Amdahl) дуже важливе в моєму застосуванні, оскільки мої промислові партнери не можуть довго чекати результатів моделювання. Я точно не ціную відповіді, а й рекомендації для подальшого читання в коментарях.


Ви вирішуєте статичні задачі? Здається, так. Що стосується динамічних чи гармонійних проблем часу, я думаю, що відповідь була б іншою.
Хуй Чжан

статичний так. Динамічний занадто дорогий.
Себастьян

Відповіді:


6

Якщо припустити, що ваші структури насправді є 3D (а не лише тонкі функції, можливо, розрізнені елементами оболонки) і що модель розміром більше кількох сотень тисяч dofs, прямі вирішувачі стають непрактичними, особливо якщо вам потрібно вирішити кожну проблему один раз. Крім того, якщо структура завжди не «близька» до межі Діріхле, для ефективності вам знадобиться багаторівневий метод. Спільнота розділена між "багаторівневою" та "багаторівневою декомпозицією домену". Для порівняння математики див. Мою відповідь на те: Яка перевага мультирешітки перед попередньою умовою розкладання домену та навпаки?

Мультисередова спільнота, як правило, досягла більшого успіху у створенні програмного забезпечення загального призначення. Для еластичності я пропоную використовувати згладжене укрупнення, яке вимагає приблизного "майже нульового простору". У PETSc це робиться шляхом вибору PCGAMG або PCML (конфігурувати з --download-ml) та закликаючи MatSetNearNullSpace()забезпечити жорсткі режими тіла.

Методи декомпозиції домену пропонують можливість скоротитись швидше, ніж згладжена агрегація, таким чином, можливо, є більш терпимими до затримки, але «солодке місце» з точки зору продуктивності, як правило, вужче, ніж згладжене накопичення. Якщо ви не хочете провести дослідження методів декомпозиції домену, я пропоную просто скористатися згладженою агрегацією та, можливо, спробувати метод декомпозиції домену, коли програмне забезпечення стане кращим.


велике спасибі за цю дуже інформативну відповідь! Що саме ви маєте на увазі під межею Діріхле ? Близький за кількістю елементів?
Себастьян

Близький за рівнем відстані, виміряний в елементах або субдоменах (для однорівневого розкладання домену з сильними розв'язками субдомену), по шляху міцного матеріалу. Якщо інформація повинна пройти через безліч субдоменів для визначення локального рішення, методи одного рівня будуть зближуватися повільно. Зауважте, що одного міцного з'єднання недостатньо для еластичності, всі жорсткі режими корпусу повинні контролюватися.
Джед Браун

4

Я б сказав, що канонічним вибором для цієї проблеми буде розв'язувач кон'югатного градієнта плюс алгебраїчний багаторешітковий попередній умова. Для PETSc очевидним вибором попереднього кондиціонера буде hypre / бумерамг або ML.

Усі ці компоненти при використанні за допомогою шкали PETSc дуже добре для тисяч або десятків тисяч процесорів, якщо проблема досить велика (принаймні ~ 100 000 градусів свободи на процес MPI).


Зауважте, що BoomerAMG (і взагалі класичний AMG) не використовує нульову інформацію про простір або іншим чином гарантує, що грубі простори можуть точно представляти режими обертання. Ви можете (і слід) спробувати його, а також розділити компоненти і вирішити їх окремо (використовувати PCFIELDSPLITв PETSc), але згладжена агрегація зазвичай більш міцна для еластичності.
Джед Браун

1

Ви можете легко створити досить хороший попередній засіб для еластичності, якщо ваш матеріал не надто нестислимий (раціон Пуассона <0,4) з використанням окремих передувальників компонентів переміщення . Ідея полягає просто в тому, щоб мати діагональну блок-матрицю з 3 блоками, кожен з яких представляє муфти уздовж одного фізичного виміру(х,у,z) тобто: Кхх, Куу, Кzz.

У цьому випадку ви можете використовувати менш прогресивні методи AMG, щоб обчислити наближення кожного блоку, оберненого і отримати досить хороший попередній передумови.


1

Уолтер Лендрі розробив код тривимірної еластостатичної деформації за допомогою адаптивного мультирешітки. Ви можете знайти код за адресою

https://bitbucket.org/wlandry/gamra

Ви можете включити вплив термічного форсування з ізотропним власним обмеженням та еквівалентними силами тіла. Як тільки вони встановлені на місці, вирішувач буде працювати чудово.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.