Code_Aster étant un code éléments finis, la distribution de données mise en œuvre pour piloter le parallélisme est une distribution par maille ( ‘EOD’ pour Element Oriented Distribution ). Chaque processeur est ainsi responsable d’un paquet de mailles (physiques ou tardives) et ne va donc effectuer que les calculs élémentaires, les assemblages et les remplissages de structures de données correspondant.
Cette répartition des mailles entre les processeurs se fait au niveau de l’affectation du modèle (commande AFFE_MODELE). Suivant le mode de distribution choisi par l’utilisateur (MAIL_DISPERSE, MAIL_CONTIGU..) et le nombre de processeurs alloués pour le job, le code opère la répartition MAILLE/PROC et la stocke dans la structure de données PARTITION. Cette répartition peut d’ailleurs être modifiée en cours de calcul via la commande MODI_MODELE.
Remarque :
Mailles tardives : Mailles qui n’existent pas dans le maillage initial et qui sont rajoutées au cours du calcul pour faciliter la mise en données. On les rencontre le plus souvent avec les conditions de Dirichlet imposées avec AFFE_CHAR_MECA ou lorsqu’on utilise la méthode de contact continue
Pour faciliter la gestion des mailles tardives celles-ci sont automatiquement assignées au processeur maître. Cette surcharge de travail induit généralement un faible déséquilibrage de charge. Dans le cas contraire, l’utilisateur peut rétablir l’équilibre en déchargeant ce processeur(viale mot-clé CHARGE_PROC0_MA/SD ) d’un certain pourcentage des mailles physiques qui lui sont initialement attribuées (ou d’un certain nombre de sous-domaines si la distribution est orientée sous-domaines).
2. Comment se fait la distribution ?#
Code_Aster étant un code éléments finis, la distribution de données mise en œuvre pour piloter le parallélisme est une distribution par maille ( ‘EOD’ pour Element Oriented Distribution ). Chaque processeur est ainsi responsable d’un paquet de mailles (physiques ou tardives) et ne va donc effectuer que les calculs élémentaires, les assemblages et les remplissages de structures de données correspondant.
Cette répartition des mailles entre les processeurs se fait au niveau de l’affectation du modèle (commande AFFE_MODELE). Suivant le mode de distribution choisi par l’utilisateur (MAIL_DISPERSE, MAIL_CONTIGU..) et le nombre de processeurs alloués pour le job, le code opère la répartition MAILLE/PROC et la stocke dans la structure de données PARTITION. Cette répartition peut d’ailleurs être modifiée en cours de calcul via la commande MODI_MODELE.
Remarque :
Mailles tardives : Mailles qui n’existent pas dans le maillage initial et qui sont rajoutées au cours du calcul pour faciliter la mise en données. On les rencontre le plus souvent avec les conditions de Dirichlet imposées avec AFFE_CHAR_MECA ou lorsqu’on utilise la méthode de contact continue
Pour faciliter la gestion des mailles tardives celles-ci sont automatiquement assignées au processeur maître. Cette surcharge de travail induit généralement un faible déséquilibrage de charge. Dans le cas contraire, l’utilisateur peut rétablir l’équilibre en déchargeant ce processeur (viale mot-clé CHARGE_PROC0_MA/SD ) d’un certain pourcentage des mailles physiques qui lui sont initialement attribuées (ou d’un certain nombre de sous-domaines si la distribution est orientée sous-domaines).