Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


doc:user:integration:scheme:dynimplexpl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:user:integration:scheme:dynimplexpl [2013/07/12 15:31] jorisdoc:user:integration:scheme:dynimplexpl [2016/03/30 15:23] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Schéma d'intégration dynamique implicite/explicite ======+====== Dynamic implicit/explicit integration scheme ======
  
 ===== Description ===== ===== Description =====
  
-Il permet de passer d'un schéma implicite à un schéma explicite et réciproquement.+Can shift from implicit scheme to explicit scheme and reciprocally.
  
-===== Jeu de données =====+===== Data set =====
  
-Voir schémas dynamiques [[doc:user:integration:scheme:dynimpl|implicite]] et [[doc:user:integration:scheme:dynexpl|explicite]] pour la description des schémas et pour la définition de la densité et des vitesses initiales.+==== Old Metafor Version <= 2422 ====
  
-Il faut en outre définir les paramètres pour gérer le shift+See dynamic [[doc:user:integration:scheme:dynimpl|implicit]] and [[doc:user:integration:scheme:dynexpl|explicit]] for a description of schemes and the definition of density and initial velocities.
  
-Paramètres supplémentaires (voir [[doc:user:integration:general:parameters]]) : +In addition, parameters must be defined to handle the shift ([[doc:user:integration:general:parameters]]): 
-  * ''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.+  * ''MDE_SHIM'' : implicit scheme (= ''MDE_NDYN'' 
 +  * ''MDE_SHEX'' : explicit scheme 
  
 +Shifting can be done automatically or manually or both. Another application of this algorithm is to stabilize explicit steps. 
  
-===== Shift automatique (méthode 1 ou 2) =====+==== New Metafor Version > 2422 ====
  
-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 (estimationet critiques (nécessaire pour avoir un gain de tempssont égaux à une sécurité prèsLors 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).+<code> 
 +ti IeTimeIntegration(metafor) 
 +ti.setExplicitTimeIntegration(tiExp) 
 +ti.setImplicitTimeIntegration(tiImp) 
 +ti.setCurrentDynamicTimeIntegration(tiImp) 
 +</code>
  
 +where tiExp and tiImp are the references towards the explicit and implicit time integration scheme respectively.
  
-===== Shift manuel (méthode 3 ou 4) =====+===== Automatic Shift (method 1 or 2) =====
  
-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 implicitedes pas explicites peuvent être calculés avec un rayon de bifurcation nul pour augmenter la dissipation numériqueCette option est activée par ''method=3'' et n'est pas activée pour ''method=4'' (voir gestion du shift implicite/explicite).+By default, the algorithm chooses the method based on an integration error, the time step and the machine time. The definition ''MDE_ICPU = 1'' must be done (shift based on CPU time, otherwise dummy shift for the battery). The shift is done only if estimated and critical time steps are equal (to a safety factor). When shifting from an explicit alpha-generalized methodexplicit time steps can be computed with a bifurcation radius equal to zero to increase numerical dissipation. The option is activated for ''method=1'' but not for ''method=2'' (see [[#Implicit/explicit shift management]]).
  
-===== Equilibrage =====+===== Manual Shift (method 3 or 4) =====
  
-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 expliciteen shift automatique et vaut ce changement max de pas multiplié par le pas de temps explicite en shift manuelDe 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.+The user can impose shifts (see command ''.sie''). When shifting from an explicit alpha-generalized method, explicit time steps can be computed with a bifurcation radius equal to zero to increase numerical dissipation. The option is activated for ''method=3'' but not for ''method=4'' (see [[#Implicit/explicit shift management]]).
  
 +===== Balancing=====
  
-===== Equilibrage de tous les pas explicites (méthode 5=====+When shifting from explicit to implicit, the first implicit time step is computed based on an integration error (majored by a value equal to the maximal change of step times the explicit stepin automatic shift and is equal to this value (maximal change of step times the explicit step) in manual shift. In addition, the user can impose a number of implicit balancing time steps when shifting from explicit to implicit. An implicit balancing step is computed based on an explicit number of steps corresponding to the maximal change, justifying why this is an integer.
  
-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 =====+===== Balancing all explicit time steps (method 5) =====
  
-La manière de sélectionner les options pour le shift implicite explicite se fait grâce aux commandes :+All the computation is done with explicit time steps (''method5''). All explicit maximal change of explicit steps are balanced by an implicit step.
  
-    iesm = metafor.getIeShiftManager()+===== Implicit/explicit shift management ===== 
 + 
 +It is **mandatory** to instanciate the IeShifManager and then the parameters can adjusted if required : 
 +    iesm = IeShiftManager(metafor)
     iems.setIeShiftMethod(meth)     iems.setIeShiftMethod(meth)
     iesm.setNbOfBalanceSteps(nbbs)     iesm.setNbOfBalanceSteps(nbbs)
     iesm.setMaxStepIncrease(msin)     iesm.setMaxStepIncrease(msin)
     iesm.setAutomaticShiftSecurity(secu)     iesm.setAutomaticShiftSecurity(secu)
- +    iesm.setCpuDependency(cpuDep) 
-paramètre défaut ^ description ^ +Parameter default ^ description ^ 
-|''meth''| | = ''IESM_NOSHIFTMETHOD''pas de shift (valeur par défaut)| +|''meth''| | = ''IESM_NOSHIFTMETHOD''no shift (default)| 
-|        | | = ''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 implicitedes pas de temps explicites sont calculés avec dissipation numérique+|        | | = ''IESM_AUTOMATICSHIFTMETHODWITHDISS'' shift done automatically from integration error and CPU times (requires ''MDE_ICPU=1''); when shifting to an implicit methodexplicit time steps are computed with numerical dissipation| 
-|        | | = ''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 impliciteil n'y a pas de pas de temps explicite calculé avec dissipation numérique+|        | | = ''IESM_AUTOMATICSHIFTMETHOD'' : shift done automatically from integration error and CPU times (requires ''MDE_ICPU=1''); when shifting to an implicit methodthere is no explicit time steps computed with numerical dissipation| 
-|        | | = ''IESM_MANUALSHIFTMETHODWITHDISS''les temps de shift sont imposés par la commande ''.sie'' (voir ici plus bas); lors du shift vers une méthode implicitedes pas de temps explicites sont calculés avec dissipation numérique+|        | | = ''IESM_MANUALSHIFTMETHODWITHDISS'' : shift times are set with the command ''.sie'' (see below); when shifting to an implicit methodexplicit time steps are computed with numerical dissipation| 
-|        | | = ''IESM_MANUALSHIFTMETHOD''les temps de shift sont imposés par la commande ''.sie'' (voir ici plus bas); lors du shift vers une méthode impliciteil n'y a pas de pas de temps explicite calculé avec dissipation numérique+|        | | = ''IESM_MANUALSHIFTMETHOD'' : shift times are set with the command ''.sie'' (see below); when shifting to an implicit methodthere is no explicit time steps computed with numerical dissipation| 
-|        | | = ''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+|        | | = ''IESM_BALANCEDEXPLICITMETHOD''every msin explicit steps, balanced is done with an implicit step to stabilize nonlinear computing
-|''nbbs'' |  0  | lors d'un shift vers l'implicitecorrespond au nombre de pas d'équilibrage +|''nbbs'' |  0  | when shifting to implicitis equal to the number of balancing steps 
-|''msin'' |  6  |changement maximum de taille du pas de tempscette 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+|''msin'' |  6  |maximal change of the time stepthis value is the ratio of the implicit step to the explicit step for a change to implicit or a balancing, so this is an integer
-|''secu'' |  1.5  | sécurité pour le critère de shift automatique+|''secu'' |  1.5  | safety coefficient for automatic shift| 
- +|''cpuDep''| ''False'' | specify if the automatic criterion for shifting from one time integration to another depends on the User CPU time(Metafor Version > 2422)|.  
-Pour le choix d'un changement manuel, l'utilisateur peut, en outre, imposer des temps de changement de méthodeLa gestion des temps de shift imposé se fait par les commandes:+For manual shift, the user can set times at which method is changed. This is done with the commands:
  
     metafor.getIeShiftManager().pushTimeOfShiftingToExplicit(time)     metafor.getIeShiftManager().pushTimeOfShiftingToExplicit(time)
     metafor.getIeShiftManager().pushTimeOfShiftingToImplicit(time)     metafor.getIeShiftManager().pushTimeOfShiftingToImplicit(time)
  
-+where
  
-| ''time''temps pour shifter |+| ''time''time at which the shift takes place|
  
  
    
    
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