Assistance #225
Arrêter un calcul à un nombre d'itérations donné
100%
Description
Dans le cas d'un calcul en mode debug je voudrai limiter un calcul à un nombre d'itérations fixé. Pour cela j'ai imposé un nombre d'itérations maxi, disons 100, et j'ai fixé le pas de temps mini au pas de temps initial.
Le nombre d'itération max n'est pas dépassé mais le calcul reprend à l'itération 1 puis continue jusqu'à 100 et ainsi de suite.
Y a t'il une façon qu'il s'arrête sans passer par un kill -15 ?
Merci
Frank
Fichiers
Mis à jour par Julien Troufflard il y a presque 5 ans
- Fichier test_BIEL.CVisu test_BIEL.CVisu ajouté
- Fichier test_BIEL.info test_BIEL.info ajouté
Frank,
j'ai moi-même utilisé la solution suivante avec succès : utiliser une modulation de la PRECISION via le paramètre modulation_precision_equilibre_=. La logique de la méthode est d'imposer dans un premier temps une précision inatteignable, puis dès que le nombre d'itérations voulu est atteint, on applique une précision très facile à atteindre pour provoquer artificiellement la convergence du calcul.
voir exemple joint. Les grandes lignes de la méthode sont :
dans les paramètres de "controle", on definit
1) un TEMPSFIN, un DELTAt et un DELTAtMAXI fixés à 1
2) une PRECISION fixée à 1 (on va la modifier selon une fonction nD)
NB : pas vraiment utile de fixer MAXINCRE et DELTAtMINI car le calcul va converger un incrément à coup sûr.
Dans PARA_TYPE_DE_CALCUL, tu places le mot-clé modulation_precision_equilibre_= suivi d'une fonction nD
Dans la fonction nD, tu mets une précision impossible à atteindre si le nombre d'itération (compteur_iteration_algo_global) est inférieur au nombre souhaité, puis une précision très dégradée.
=> et donc forcément le calcul va converger d'un coup à l'itération choisi, le temps fin sera atteint et le calcul s'arrêtera car considéré réussi.