Поделба на мрежа¶
Кога мрежа од голем размер се анализира паралелно со повеќе процеси, мрежата со еден домен најпрво мора да се подели на поддомени и однапред да се генерираат информациите потребни за доделување на секој процес и за комуникација меѓу домените. Овој чекор на претпроцесирање се нарекува поделба на мрежа.
Во паралелното пресметување со FrontISTR, hecmw_part1 ја дели мрежата со еден домен на поддомени и создава податоци за распределена мрежа. Генерираните податоци за распределена мрежа ги чита паралелниот fistr1 и паралелниот решавач ги користи заедно со информациите потребни за комуникација меѓу домените.
Оваа страница ги опишува типот на поделба, методот на поделба, длабочината на преклопување и постапувањето со контактните точки што се избираат при поделба на мрежа. За постапката за извршување на hecmw_part1, конкретната синтакса на контролната датотека и пораките за грешки, видете ги поврзаните теми.
Преглед на функциите¶
Поделбата на мрежата е процес на делење на мрежа со еден домен на повеќе поддомени. FrontISTR создава податоци за распределена мрежа со комбинирање на тип на поделба, метод на поделба, број на домени и длабочина на преклопување.
| Критериум за избор | Главни опции | Улога |
|---|---|---|
| Тип на поделба | Поделба базирана на јазли, поделба базирана на елементи | Одредува дали сопственоста се доделува по јазол или по елемент. |
| Метод на поделба | RCB, METIS (pMETIS / kMETIS) | Одредува како се создаваат границите на домените. |
| Број на домени | Кој било позитивен цел број (\(2^n\) за RCB) | Го одредува бројот на поддомени во податоците за распределена мрежа. Вообичаено се усогласува со бројот на MPI процеси. |
| Длабочина на преклопување | Цел број 1 или поголем | Го одредува опсегот што редундантно го задржуваат соседните домени. Се задава за поделба базирана на јазли. |
| Табели за комуникација | Информации за увоз/извоз, споделени информации | Ја дефинираат размената на податоци потребна меѓу соседните поддомени. Се генерираат автоматски при поделбата на мрежата. |
Бидејќи табелите за комуникација се вклучени во податоците за распределена мрежа, корисниците вообичаено нема потреба директно да ги уредуваат. Паралелниот fistr1 ги чита податоците за распределена мрежа и ги решава линеарните равенки со паралелен директен метод како MUMPS или со итеративен метод.
Избор на конфигурација за поделба на мрежата¶
За вообичаени структурни анализи и анализи на спроведување на топлина, најпрво генерално треба да се разгледа поделбата базирана на јазли. Таа ја олеснува комуникацијата на јазолните вредности потребни во паралелната анализа со методот на конечни елементи и овозможува задавање на длабочината на преклопување. Поделбата базирана на елементи е опција за примени како спрегнати анализи, каде што поделените информации главно се обработуваат по елемент.
Изберете го методот на поделба според геометријата и бројот на домени. За едноставни геометрии каде што бројот на домени може да биде \(2^n\), RCB е едноставен и стабилен избор. За сложени геометрии или кога е потребен произволен број домени, кандидат е METIS, кој се заснова на графовска поделба.
| Карактеристики на проблемот | Препорачан избор |
|---|---|
| Стандардна паралелна структурна анализа или анализа на спроведување на топлина | Поделба базирана на јазли |
| Примени што користат распределени информации центрирани на елементи, како спрегната анализа | Поделба базирана на елементи |
| Едноставна геометрија блиска до правоаголен паралелопипед, со \(2^n\) домени | RCB |
| Сложена геометрија или произволен број домени | METIS |
| Контактни проблеми или проблеми со MPC ограничувања што го користат SAINV предусловувачот | Користете поделба базирана на јазли со длабочина на преклопување 2 или поголема |
Бројот на домени вообичаено се усогласува со бројот на MPI процеси. За постапката на паралелно извршување и задавањето на бројот на процеси, видете Паралелна анализа. За односот меѓу SAINV предусловувачот и длабочината на преклопување, видете и Решавач и предусловување.
Типови на поделба¶
Типот на поделба одредува на кој ентитет од мрежата поддоменот му доделува единствена сопственост. Поделбата базирана на јазли доделува сопственост на јазлите, додека поделбата базирана на елементи доделува сопственост на елементите. Во двата случаи, информациите потребни за пресметување со соседните поддомени се задржуваат како податоци на преклопување.
Поделба базирана на јазли¶
При поделба базирана на јазли, секој јазол се доделува на точно еден сопственички поддомен. Елементите се задржуваат со преклопување во соседните поддомени. Во влезот ова се задава со !PARTITION, TYPE=NODE-BASED.

Секој поддомен ги задржува своите внатрешни јазли, елементите што ги содржат тие внатрешни јазли и јазлите од кои се составени тие елементи.

Табелите за комуникација при поделба базирана на јазли ги содржат следните информации.
- Увезени јазли: Јазли што се користат во поддомен, но се во сопственост на друг поддомен.
- Извезени јазли: Внатрешни јазли што се увезени јазли на друг поддомен.
- Споделени елементи: Елементи што се споделуваат со други поддомени.



Поделба базирана на елементи¶
При поделба базирана на елементи, секој елемент се доделува на точно еден сопственички поддомен. Јазлите се задржуваат со преклопување во соседните поддомени. Во влезот ова се задава со !PARTITION, TYPE=ELEMENT-BASED.

Секој поддомен ги задржува своите внатрешни елементи, јазлите од кои се составени тие внатрешни елементи и елементите што ги содржат тие јазли.

Табелите за комуникација при поделба базирана на елементи ги содржат следните информации.
- Увезени елементи: Елементи што се користат во поддомен, но се во сопственост на друг поддомен.
- Извезени елементи: Внатрешни елементи што се увезени елементи на друг поддомен.
- Споделени јазли: Јазли што се споделуваат со други поддомени.



За двата типа на поделба, hecmw_part1 автоматски ги генерира табелите за комуникација и ги запишува во податоците за распределена мрежа. Затоа корисниците вообичаено нема потреба директно да создаваат информации за увоз/извоз.
Методи на поделба¶
Методот на поделба одредува како се создаваат границите на поддомените. FrontISTR поддржува RCB базиран на координати и METIS базиран на графовска поделба.
| Метод на поделба | Карактеристики | Главни ограничувања и забелешки |
|---|---|---|
| RCB | Рекурзивно ја преполовува мрежата врз основа на координатните вредности. Овозможува брза поделба за едноставни геометрии. | Бројот на домени е ограничен на \(2^n\). Мора да се зададат оски на поделба. |
| pMETIS | Користи графовска поделба земајќи ја предвид поврзаноста меѓу домените. | Достапно во изданија со овозможен METIS. |
| kMETIS | Користи повеќенасочна графовска поделба, што го прави погоден за создавање граници на домени во сложени геометрии. | Достапно во изданија со овозможен METIS. |
RCB е кратенка од Recursive Coordinate Bisection и повеќекратно ја преполовува мрежата долж координатните оски. Погоден е кога бројот на домени може да биде \(2^n\) и е лесен за употреба кај едноставни геометрии слични на кутија.
METIS ја третира поврзаноста на мрежата како граф и создава поддомени со графовска поделба. Тој е кандидат за сложени геометрии или кога бројот на домени не треба да биде ограничен на \(2^n\). За користење на METIS, библиотеката METIS мора да биде овозможена при градењето. За ракување со зависностите, видете Задолжителни и опционални зависности.
Длабочина на преклопување¶
Длабочината на преклопување е бројот на слоеви во опсегот што редундантно го задржуваат соседните поддомени. При поделба базирана на јазли, !PARTITION овозможува со параметарот DEPTH да се зададе цел број 1 или поголем. Стандардната длабочина на преклопување е 1.
За вообичаена паралелна анализа, DEPTH=1 е доволно. Меѓутоа, кога за контактен проблем или проблем со MPC ограничувања се користи предусловувач од фамилијата SAI, како SAINV, зголемувањето на длабочината на преклопување на 2 или повеќе може да го подобри квалитетот на предусловувачот.
Длабочина на преклопување 2 или поголема е потребна и кога селективната формулација за измазнување по рабови/јазли (FORM341=SELECTIVE_ESNS) се користи со тетраедарскиот елемент од прв ред 341 при MPI паралелно пресметување. Измазнувањето базирано на рабови и јазли ги осреднува величините преку елементите соседни на целниот елемент, па за составување на крутоста во поддоменот се потребни информации од елементи оддалечени два слоја на соседство; со стандардното DEPTH=1, измазнувањето во близина на границите на домените е недоволно. За детали за формулацијата на елементот, видете Библиотека на елементи.
Зголемувањето на длабочината на преклопување го зголемува бројот на јазли и елементи што ги задржуваат соседните поддомени, а со тоа и употребата на меморија и обемот на комуникација. Поставете ја така што ќе се балансира подобрената конвергенција со зголемениот пресметковен трошок. За избор на предусловувач, видете Решавач и предусловување.
Постапување со контактни точки¶
При поделба на мрежа што содржи контактни парови, !PARTITION овозможува со параметарот CONTACT да се зададе политиката за распоредување на контактните точки по домени. Распоредувањето на контактните точки влијае врз стабилноста и обемот на комуникација кај паралелните анализи што вклучуваат пребарување на контакт и контактни ограничувања.
| Вредност | Улога |
|---|---|
DEFAULT | Ја користи стандардната политика на распоредување. |
SIMPLE | Користи распоредување блиско до вообичаената поделба, без доделување посебни тежини на контактните точки. |
AGGREGATE | Дели така што јазлите поврзани со контактни парови имаат тенденција да се групираат. |
DISTRIBUTE | Дели така што контактните јазли на главната страна поретко се концентрираат во одредени поддомени. |
За мрежи без контакт, параметарот CONTACT генерално не бара посебно внимание. Ако конвергенцијата или балансирањето на оптоварувањето се проблематични во паралелна анализа со контакт, преиспитајте ја политиката за распоредување на контактните точки. За детали за влезната синтакса, видете !PARTITION.
Независно од ова, параметарот CONTACT_OWNER може да се користи за избор на шемата на сопственост за паралелен контакт. Додека CONTACT задава „како да се подели“, CONTACT_OWNER задава „која страна е одговорна по поделбата“.
| Вредност | Улога |
|---|---|
MASTER | Шема со сопственик на главната страна (стандардно). Главната површина се дели според домените што ги поседуваат елементите, а зависните јазли се реплицираат во секој домен што поседува дел од главната страна. |
SLAVE | Шема со сопственик на зависната страна. Секој зависен јазол се задржува само во неговиот сопственички домен, а целата главна површина се поставува во тој домен. |
Кај конечно лизгање (INTERACTION=FSLID на !CONTACT), кога зависен јазол преминува граница на поделбата на мрежата на главната површина, шемата MASTER може да го прекине пребарувањето на соседство на границата, поради што се губат состојбата на контактот и историјата на триење и решението станува зависно од бројот на домени. Шемата SLAVE го избегнува овој проблем. Може да се зададе само кога TYPE=NODE-BASED; употребата на меморија се зголемува во домените што поседуваат зависни јазли.
Излез на слика од поделбата на мрежата¶
Со !PARTITION, задавањето на параметарот UCD создава UCD датотека за проверка на резултатот од поделбата. UCD датотеката може да се користи со алатки за визуелизација како MicroAVS за проверка на броевите на домените и границите на поделбата.
По промена на бројот на домени, методот на поделба или длабочината на преклопување, важно е да се провери дали постои нерамнотежа меѓу поделените домени или неприродна фрагментација. UCD излезот е помошна функција за проверка на валидноста на поделбата пред извршување на паралелната анализа.
Поврзани теми¶
- Паралелна анализа — Постапка за извршување на
hecmw_part1, влезни датотеки и проверка на излезот на податоците за распределена мрежа. - Решавач и предусловување — Паралелни решавачи, предусловувачи и односот меѓу SAINV и длабочината на преклопување.
- Список на пораки за грешки — Репрезентативни пораки за грешки од
hecmw_part1иfistr1. - Паралелен метод на конечни елементи — Теоретска основа на декомпозицијата на домен и паралелните методи на конечни елементи.
- !PARTITION — Влезна синтакса за контролните податоци на алатката за поделба на мрежата.