Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:integration:scheme:dynimplexpl

This is an old revision of the document!


Schéma d'intégration dynamique implicite/explicite

Description

Il permet de passer d'un schéma implicite à un schéma explicite et réciproquement.

Jeu de données

Voir schémas dynamiques implicite et explicite pour la description des schémas et pour la définition de la densité et des vitesses initiales.

Il faut en outre définir les paramètres pour gérer le shift.

Paramètres supplémentaires (voir Global Parameters [REMOVED]) :

  • MDE_SHIM : schéma implicite utilisé (= MDE_NDYN)
  • MDE_SHEX : schéma explicite utilisé

Le shift implicite explicite peut se faire de manière automatique ou manuelle (ou les deux combinées). Une autre application de cet algorithme est de stabiliser les pas explicites.

Shift automatique (méthode 1 ou 2)

Par défaut l'algorithme chosit la méthode à partir d'une erreur d'intégration, de la taille du pas de temps et du temps machine. Il faut alors définir MDE_ICPU = 1 (shift basé sur le temps CPU - sinon, shift bidon pour la batterie). Le changement ne se produit que si les pas de temps évalués (estimation) et critiques (nécessaire pour avoir un gain de temps) sont égaux à une sécurité près. Lors du passage d'une méthode explicite alpha-généralisée vers une méthode implicite, des pas explicites peuvent être calculés avec un rayon de bifurcation nul pour augmenter la dissipation numérique. Cette option est activée par method=1 et n'est pas activée pour method=2 (voir gestion du shift implicite/explicite).

Shift manuel (méthode 3 ou 4)

L'utilisateur peut en outre imposer des instants de changement de méthode (voir commande .sie). Lors du passage d'une méthode explicite alpha-généralisée vers une méthode implicite, des pas explicites peuvent être calculés avec un rayon de bifurcation nul pour augmenter la dissipation numérique. Cette option est activée par method=3 et n'est pas activée pour method=4 (voir gestion du shift implicite/explicite).

Equilibrage

Lors du passage de l'explicite vers l'implicite, le pas de temps implicite de départ est calculé par une erreur d'intégration (majoré par un changement max de pas multiplié par le pas explicite) en shift automatique et vaut ce changement max de pas multiplié par le pas de temps explicite en shift manuel. De plus l'utilisateur peut imposer un nombre de pas implicite d'équilibrage qui lors du shift de l'explicite vers l'implicite. Un pas implicite d'équilibrage se calcule sur un nombre explicite de pas qui correspond au changement max, ce qui explique le caractère entier de cette valeur.

Equilibrage de tous les pas explicites (méthode 5)

La totalité du calcul se fait avec des pas explicites (method5). Tous les changements max de pas explicites sont équilibrés par un pas implicite.

Gestion du shift implicite/explicite

La manière de sélectionner les options pour le shift implicite explicite se fait grâce aux commandes :

  iesm = metafor.getIeShiftManager()
  iems.setIeShiftMethod(meth)
  iesm.setNbOfBalanceSteps(nbbs)
  iesm.setMaxStepIncrease(msin)
  iesm.setAutomaticShiftSecurity(secu)
paramètre défaut description
meth = IESM_NOSHIFTMETHOD : pas de shift (valeur par défaut)
= IESM_AUTOMATICSHIFTMETHODWITHDISS le shift se fait de manière automatique à partir d'une erreur d'intégration et des temps CPU (nécessite MDE_ICPU=1); lors du shift vers une méthode implicite, des pas de temps explicites sont calculés avec dissipation numérique
= IESM_AUTOMATICSHIFTMETHOD : le shift se fait de manière automatique à partir d'une erreur d'intégration et des temps CPU (nécessite MDE_ICPU=1); lors du shift vers une méthode implicite, il n'y a pas de pas de temps explicite calculé avec dissipation numérique
= IESM_MANUALSHIFTMETHODWITHDISS : les temps de shift sont imposés par la commande .sie (voir ici plus bas); lors du shift vers une méthode implicite, des pas de temps explicites sont calculés avec dissipation numérique
= IESM_MANUALSHIFTMETHOD : les temps de shift sont imposés par la commande .sie (voir ici plus bas); lors du shift vers une méthode implicite, il n'y a pas de pas de temps explicite calculé avec dissipation numérique
= IESM_BALANCEDEXPLICITMETHOD : il s'agit en fait d'équilibrer tous les msin pas explicites par un pas implicite pour stabiliser le calcul non-linéaire
nbbs 0 lors d'un shift vers l'implicite, correspond au nombre de pas d'équilibrage
msin 6 changement maximum de taille du pas de temps; cette valeur est en fait le rapoort entre le pas implicite et le pas explicite pour un changement vers l'implicite ou un équilibrage et est donc entière
secu 1.5 sécurité pour le critère de shift automatique

Pour le choix d'un changement manuel, l'utilisateur peut, en outre, imposer des temps de changement de méthode. La gestion des temps de shift imposé se fait par les commandes:

  metafor.getIeShiftManager().pushTimeOfShiftingToExplicit(time)
  metafor.getIeShiftManager().pushTimeOfShiftingToImplicit(time)

time temps pour shifter
doc/user/integration/scheme/dynimplexpl.1373635872.txt.gz · Last modified: 2016/03/30 15:22 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki