Il ne s'agit pas (encore) de modifier le FAC actuel pour le rendre plus performant. Le format du FAC n'a pas changé et tout reste compatible avec les anciens FACs.
J'ai juste améliorer la gestion externe des fichiers FAC en transférant les opérations relatives au système de fichier de MetaFac
dans une classe python (nommée toolbox.fac.FacManager
). Ca me permet d'utiliser les outils pythons (glob.glob
, os
, sys.path
, etc) qui sont drôlement plus simples et portables que leurs équivalents en C.
Résumé des modifs:
:getTimeStepNo()
retourne maintenant le “vrai” numéro du step (et pas le numéro “réduit” 0,1 ou 2). Ca permet de facilement retrouver ce numéro dont on n'a besoin uniquement pour le FAC ou les infos (print
ou fichier res).MetaFac::loadBalanced()
, saveShiftIe()
, … et remplacement par loadCustom(“eq”)
, saveCustom(“sie”)
. La classe MetaFac
a été très fortement réduite (suppression de tout le code non portable). Son interface load/save
se résume à 3 groupes de fonctions:load(nt)
: charge le FAC du pas de temps nt
.save()
: sauvegarde le FAC du pas de temps actuel.load(string)
: charge un FAC donné par son nom de fichier.save(string)
: sauvegarde un FAC donné par son nom de fichier.loadCustom(string)
: charge le FAC custom du type step_string.bfac.gz
(exemple: step_neq.bfac.gz
pour le 88888).saveCustom(string)
: sauvegarde un FAC custom.FacManager
.loadFac
, saveFac
, makeAnimation
). J'ai juste un peu bidouillé ces anciennes fonctions pour que tout marche avec les nouvelles fonctionnalités. En particulier, il est possible de charger un FAC texte sans spécifier son type.toolbox.fac
loadFac('cont2','neq')
⇒ charge la dernière config calculée. loadFac('cons_ie_ln', 'sie')
⇒ charge des ludovicnoulseries.*.tfac
) ou non zippés (*.bfac
) à partir de la console python (par le menu/loadFac)vizu
affiche maintenant toujours le titre (pas, temps courant, temps total, etc).
Exemples: (commandes FAC dans toolbox.utilities
)
loadFac('apps.qs.cont2'); vizu() | Charge le dernier FAC (quel que soit sont type) et le visualise |
loadFac('apps.qs.cont2','neq') | Charge le fichier neq (ancien 88888) |
makeAnimation('cont2') | Fait une anim de 'cont2' |
loader = FacManager(domain) | Crée un MetaFac python (nouvel objet) |
loader.erase('neq') | Vire le neq |
loader.erase(45) | Vire le pas 45 |
loader.eraseAllFrom(45) | Vire les pas 45 et suivants (utile pour restart) |
loader.load('workspace\cont2\step_000010.tfac') | Charge le fichier spécifié (ça marche pour autant que le loader ait été construit sur cont2 – logique!) |
rebuildCurves('cont2') | Recrée les courbes a partir des FACs de cont2 |
convertFac('cont2', type='t',zip='n') | Transforme les FACs en FACs ASCII (ancien bfac2tfac amélioré puisqu'il marche aussi dans l'autre sens) |
saveFac() | Sauve la config courante dans un FAC (le numéro est déduit du pas de temps actuel) |
Petites améliorations:
toolbox/fac.py added
— Romain BOMAN 2007/06/18 08:54