doc:user:integration:scheme:dynimplexpl
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:user:integration:scheme:dynimplexpl [2013/07/12 15:31] – joris | doc:user:integration:scheme:dynimplexpl [2016/03/30 15:23] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
===== 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: | + | ==== Old Metafor Version <= 2422 ==== |
- | Il faut en outre définir les paramètres pour gérer le shift. | + | See dynamic [[doc: |
- | Paramètres supplémentaires | + | In addition, parameters must be defined to handle the shift ([[doc: |
- | * '' | + | |
- | * '' | + | |
- | Le shift implicite explicite peut se faire de manière automatique ou manuelle | + | * '' |
+ | * '' | ||
+ | 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' | + | < |
+ | 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 | + | ===== Automatic |
- | L'utilisateur peut en outre imposer des instants de changement de méthode (voir commande | + | By default, the algorithm chooses the method based on an integration error, the time step and the machine time. The definition |
- | ===== 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 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. | + | The user can impose shifts (see command |
+ | ===== Balancing===== | ||
- | ===== Equilibrage de tous les pas explicites | + | 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 step) in 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 ('' | ||
- | ===== Gestion du shift implicite/ | + | ===== 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 ('' |
- | | + | ===== Implicit/ |
+ | |||
+ | It is **mandatory** to instanciate the IeShifManager and then the parameters can adjusted if required : | ||
+ | | ||
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 | + | ^ Parameter |
- | |'' | + | |'' |
- | | | | = '' | + | | | | = '' |
- | | | | = '' | + | | | | = '' |
- | | | | = '' | + | | | | = '' |
- | | | | = '' | + | | | | = '' |
- | | | | = '' | + | | | | = '' |
- | |'' | + | |'' |
- | |'' | + | |'' |
- | |'' | + | |'' |
- | + | |'' | |
- | 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: | + | For manual |
metafor.getIeShiftManager().pushTimeOfShiftingToExplicit(time) | metafor.getIeShiftManager().pushTimeOfShiftingToExplicit(time) | ||
metafor.getIeShiftManager().pushTimeOfShiftingToImplicit(time) | metafor.getIeShiftManager().pushTimeOfShiftingToImplicit(time) | ||
- | où | + | where |
- | | '' | + | | '' |
doc/user/integration/scheme/dynimplexpl.1373635872.txt.gz · Last modified: 2016/03/30 15:22 (external edit)