doc:user:meshtransfer:datatransferbetweenmeshes
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:user:meshtransfer:datatransferbetweenmeshes [2014/12/02 10:02] – [Méthodes de transfert de données (optionnelle)] bussetta | doc:user:meshtransfer:datatransferbetweenmeshes [2016/03/30 15:23] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 36: | Line 36: | ||
On suppose que '' | On suppose que '' | ||
On souhaite transférer les données de l' | On souhaite transférer les données de l' | ||
+ | Pour utiliser le calcul des transfert de donnée il faut importer '' | ||
+ | from wrap.mtDataTransfer import * | ||
transferOperator = MetaforTransferOperator(oldMetafor, | transferOperator = MetaforTransferOperator(oldMetafor, | ||
transferOperator.setCouplingInteraction(oldInteraction, | transferOperator.setCouplingInteraction(oldInteraction, | ||
Line 48: | Line 50: | ||
<note important> | <note important> | ||
+ | |||
+ | L' | ||
+ | Il est créé automatiquement par l' | ||
+ | Pour pouvoir le récupérer, | ||
region = transferOperator.get(oldInteraction) | region = transferOperator.get(oldInteraction) | ||
Line 56: | Line 62: | ||
Il est également possible de spécifier une méthode de transfert pour un champ particulier: | Il est également possible de spécifier une méthode de transfert pour un champ particulier: | ||
region.add(IF_DEV_SIG_XX, | region.add(IF_DEV_SIG_XX, | ||
- | Le transfert des contraintes et de toutes les autres grandeurs définies sur les mêmes points d' | + | Le transfert des contraintes et de toutes les autres grandeurs définies sur les mêmes points d' |
region.ignore(IF_FTOTAL) | region.ignore(IF_FTOTAL) | ||
Line 94: | Line 100: | ||
* un calcul exact (plus couteux en temps de calcul, car nécessitant la construction d’un super-maillage). | * un calcul exact (plus couteux en temps de calcul, car nécessitant la construction d’un super-maillage). | ||
- | La définition de l' '' | + | La définition de l' '' |
- | transferElementProperties = ElementProperties(METMCell) | + | transferElementProperties = ElementProperties(MTMCell) |
transferElementProperties.put (MTMSOLVERTYPE, | transferElementProperties.put (MTMSOLVERTYPE, | ||
transferElementProperties.put (INTPT_NB | transferElementProperties.put (INTPT_NB | ||
Line 104: | Line 110: | ||
* '' | * '' | ||
- | * '' | + | * '' |
+ | * nombre de points par direction pour les quadrangles, | ||
+ | * nombre de points d' | ||
* '' | * '' | ||
Line 110: | Line 118: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | Pour utiliser le calcul exact (nécessite la construction d'un supermaillage) il faut remplacer '' | ||
+ | from wrap.mtExactDataTransfer_CGAL import * | ||
+ | transferElementProperties = ElementProperties(ExactMTMCell) | ||
+ | transferElementProperties.put (MTMSOLVERTYPE, | ||
==== Méthode de transfert utilisant des volumes finis ==== | ==== Méthode de transfert utilisant des volumes finis ==== | ||
Line 122: | Line 135: | ||
* un calcul exact (plus couteux en temps de calcul, car nécessitant la construction d’un super-maillage). | * un calcul exact (plus couteux en temps de calcul, car nécessitant la construction d’un super-maillage). | ||
- | La définition de l' '' | + | La définition de l' '' |
transferElementProperties = ElementProperties(FVTMCell) | transferElementProperties = ElementProperties(FVTMCell) | ||
transferElementProperties.put (INTPT_NB | transferElementProperties.put (INTPT_NB | ||
transferElementProperties.put (QUADRATURETYPE, | transferElementProperties.put (QUADRATURETYPE, | ||
- | * '' | + | * '' |
+ | * nombre de points par direction pour les quadrangles, | ||
+ | * nombre de points d' | ||
* '' | * '' | ||
Line 133: | Line 148: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | Pour utiliser le calcul exact (nécessite la construction d'un supermaillage) il faut remplacer '' | ||
+ | from wrap.mtExactDataTransfer_CGAL import * | ||
+ | transferElementProperties = ElementProperties(ExactFVTMCell) | ||
=== Option pour la reconstruction constante === | === Option pour la reconstruction constante === | ||
transferElementProperties.put (FVCELLTYPE | transferElementProperties.put (FVCELLTYPE | ||
- | transferElementProperties.put (UPWIND_COEFF, | ||
- | |||
- | L' | ||
- | Une valeur de 1.0 (par défaut) donne un schéma appelé "full donor cell differencing" | ||
- | Il est fort diffusif mais est TVD (total variation diminishing - pas d' | ||
=== Option pour la reconstruction linéaire === | === Option pour la reconstruction linéaire === | ||
Line 166: | Line 180: | ||
transferElementProperties = ElementProperties(NeighbourTMCell) | transferElementProperties = ElementProperties(NeighbourTMCell) | ||
transferElementProperties.put (FVCELLTYPE, | transferElementProperties.put (FVCELLTYPE, | ||
+ | |||
+ | ===== Exemple | ||
+ | |||
+ | On souhaite transférer les données de '' | ||
+ | |||
+ | transferElementProperties = ElementProperties(FVTMCell) | ||
+ | transferElementProperties.put (FVCELLTYPE , LINEARRECCELL) | ||
+ | transferElementProperties.put (STENCILTYPE, | ||
+ | transferElementProperties.put (LIMITERTYPE, | ||
+ | transferElementProperties.put (INTPT_NB | ||
+ | |||
+ | transferOperator = MetaforTransferOperator(oldMetafor, | ||
+ | transferOperator.setCouplingInteraction(oldInteraction1, | ||
+ | transferOperator.setCouplingInteraction(oldInteraction2, | ||
+ | |||
+ | region1 = transferOperator.get(oldInteraction1) # optionnelle | ||
+ | region1.add(transferElementProperties) # optionnelle | ||
+ | |||
+ | region2 = transferOperator.get(oldInteraction2) # optionnelle | ||
+ | region2.add(transferElementProperties) # optionnelle | ||
+ | |||
+ | transferOperator.execute() | ||
===== Extracteur de valeurs ===== | ===== Extracteur de valeurs ===== |
doc/user/meshtransfer/datatransferbetweenmeshes.1417510923.txt.gz · Last modified: 2016/03/30 15:22 (external edit)