La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Page 1 Interface CWIPI Thierry MorelFormation OpenPALM avril 2012.

Présentations similaires


Présentation au sujet: "Page 1 Interface CWIPI Thierry MorelFormation OpenPALM avril 2012."— Transcription de la présentation:

1 Page 1 Interface CWIPI Thierry MorelFormation OpenPALM avril 2012

2 Page 2 Fonctionnalités Échanges de champs interpolés entre un maillage source et un maillage cible Maillages non coïncidents Maillages partitionnés distribués sur différents processus (une partition par processus) Types de communication : Échanges unidirectionnels synchrones Échanges croisés synchrones Échanges asynchrones Parallélisme : Transparent pour lutilisateur

3 Page 3 Maillage Type de maillages –Linéique : arêtes –Surfacique : triangles, quadrangles, polygones –Volumique : tétraèdres, pyramides, prismes, hexaèdres, polyèdres Échanges –Types de maillages identiques entre source et cible : Échange à travers une interface –Types de maillages distincts entre source et cible : Surface plongée dans un volume Maillage 2D axisymétrique plongé dans un volume …

4 Page 4 Interpolation Points dinterpolation –Centres cellules du maillage cible –Sommets du maillage cible –Points définis par lutilisateur Méthodes –Pour les champs définis aux centres cellules du maillage source : Valeur de la cellule contenant le point –Pour les champs définis aux sommets du maillage source : Matrice dinterpolation basée sur le résultat de localisation géométrique et de calcul de coordonnées barycentriques –Interpolation utilisateur Possibilité de définir ses propres méthodes à partir des résultats de localisation géométrique

5 Page 5 Localisation géométrique Résultats : –Élément du maillage source contenant le point –A défaut : Élément le plus proche parmi les éléments candidats –Point défini comme non localisé Tolérance géométrique –Permet de jouer sur la distance de recherche autour du point pour augmenter le nombre déléments candidats –Paramètre utilisateur –Valeur > 0 (par défaut : 0.001) –Plus la valeur est grande : Plus le nombre de points localisés augmente Plus lalgorithme est lent Points non localisés : –Liste accessible à lutilisateur –Attention : Le champ reçu nest défini que sur les points localisés. –Contrôle et définition des valeurs sur ces points à faire par lutilisateur

6 Page 6 Post-traitement Visualisation –Partition de linterface –Points non localisés –Champs envoyés –Champs reçus Format –Ensight, CGNS, MED

7 Page 7 Primitives générales PCW_Init –Création des communicateurs MPI liant les application PCW_Finalize –Destruction de communicateurs MPI PCW_set_output_listing –Redirection des affichages dans un fichier donné

8 Page 8 Création dun objet de couplage PCW_Create_coupling –Retourne un identificateur (id) –Principaux paramètres : Nature du maillage : linéique, surfacique, volumique Tolérance géométrique Maillage mobile ou statique Définition de la nature des champs –Valeurs aux centres cellules –Valeurs aux sommets Activation des sorties graphiques Plusieurs objets de couplages peuvent être créés simultanément

9 Page 9 Définition dun maillage PCW_define_mesh : –Paramètres Id de lobjet de couplage Nombre de sommets et coordonnées Nombre déléments et connectivité Les tableaux en entrée sont mappés en mémoire –Possibilité de partager le même maillage entre plusieurs objets de couplage

10 Page 10 Connectivité Les éléments doivent être triés –Surfacique : triangles, quadrangles, polygones –Volumique : tétraèdre, pyramides, prismes, hexaèdres Deux tableaux : –connecindex : tableau dindex permettant laccès au tableau connec –connec : concaténation de la connectivité cellule/sommets de lensemble des éléments –Exemple pour un élément ielt : Nombre de sommets : –n_som = connecindex[ielt+1] – connecindex[ielt] Connectivité de lélément : – connec[connecidx[ielt]] … connec[connecidx[ielt] + n_som]

11 Page 11 Numérotation interne des éléments

12 Page 12 Polyèdres PCW_Add_polyhedra : –Connectivité cellules/faces orientée Pour une face de numéro numfac –Mettre numfac si la normale de la face est sortante –Mettre - numfac si la normale de la face est entrante Lorientation des faces est implicitement définie par lordre des sommets dans la connectivité faces/sommets –Connectivité faces/sommets

13 Page 13 Communications synchrones Primitives –PCW_Sendrecv : Échanges croisés –PCW_Send : Envoi simple –PCW_Recv : Réception simple En C/C++ les échanges unidirectionnels se font par PCW_Sendrecv en positionnant à NULL les champs denvoi ou réception. Localisation géométrique réalisée automatiquement au premier échange

14 Page 14 Communications asynchrones Primitives –PCW_Issend : Envoi –PCW_Wait_issend : Attente de fin denvoi –PCW_Irecv : Réception –PCW_Wait_irecv : Attente de fin de réception En asynchrone : –La localisation est explicite : Appel de PCW_Locate obligatoire

15 Page 15 Points non localisés Nombre de points non localisés –Obtenu en retour des fonctions déchange Liste des point non localisés: –PCW_get_not_located_points

16 Page 16 Post-traitement Répertoire de stockage –cwipi/ _ _ Nom des variables –Champ source : s_ –Champ reçu : r_ –Localisation (si présence de points non localisés) : location –Partitionnement : partitioning

17 Page 17 Fonctions avancées PCW_set_points_to_locate –Définition des points dinterpolation PCW_Set_interpolation_function –Prise en compte dune fonction dinterpolation utilisateur C –Prototype imposé PCW_Set_interpolation_function_f –Prise en compte dune fonction dinterpolation utilisateur Fortran –Prototype imposé

18 Page 18 Prototype dune interpolation utilisateur static void _userInterpolation(const int entities_dim, const int n_local_vertex, const int n_local_element, const int n_local_polhyedra, const int n_distant_point, const double local_coordinates[], const int local_connectivity_index[], const int local_connectivity[], const int local_polyhedra_face_index[], const int local_polyhedra_cell_to_face_connectivity[], const int local_polyhedra_face_connectivity_index[], const int local_polyhedra_face_connectivity[], const double distant_points_coordinates[], const int distant_points_location[], const float distant_points_distance[], const int distant_points_barycentric_coordinates_index[], const double distant_points_barycentric_coordinates[], const int stride, const cwipi_solver_type_t solver_type, const void *local_field, void *distant_field)

19 Page 19 Différence dutilisation entre CWIPI et son interface dans Open-Palm Fonctions interfacées –Même nom, seul le préfixe change CWIPI_ PCW_ –Moins darguments Prise en charge par PrePALM Contrôle des couplage –Pas dutilisation des fonctions de contrôles CWIPI –Gestion par PrePALM


Télécharger ppt "Page 1 Interface CWIPI Thierry MorelFormation OpenPALM avril 2012."

Présentations similaires


Annonces Google