commit:2008:03_03
Table of Contents
Commit 2008-03-04
Modifs
Définition des fixations
Nouvelle syntaxe
Quand on crée un chargement, les fixations correspondantes sont créées automatiquement. Par exemple, l'ensemble de commandes suivant:
loadingset = domain.getLoadingSet() fixationset = domain.getFixationSet() loadingset.define(sideset(10001), Field1D(TZ,RE), 1.0, FCT_CINTR_SUP) fixationset.define(sideset(10001), Field1D(TZ,RE))
se limite maintenant à la définition du chargement:
loadingset = domain.getLoadingSet() loadingset.define(sideset(10001), Field1D(TZ,RE), 1.0, FCT_CINTR_SUP)
Pour être cohérent, quand on veut annuler un champ, on définit un chargement nul au lieu d'une fixation. Au lieu de:
fixationset = domain.getFixationSet() fixationset.define(curveset(4), Field1D(TX,RE))
on écrit:
loadingset = domain.getLoadingSet() loadingset.define(curveset(4), Field1D(TX,RE), 0.0, EX_INCR)
Le plus souvent, comme on veut fixer à zéro la variation du champ et non le champ lui-même, il faut spécifier l'option EX_INCR
.
Remarques
- Quand on (dés)active un chargement, les fixations correspondantes sont (dés)activées automatiquement. Par contre, on fixe les degrés de liberté d'une région donnée si au moins une fixation est activée sur cette région. L'ordre de définition et d'activation des contraintes n'a donc plus d'importance, c'est l'activation qui a priorité sur la désactivation (voir
FixationSet::toDofSet()
pour les détails).
- En pratique, on peut continuer d'utiliser l'ancienne syntaxe et définir des fixations explicitement. C'est inutile mais ça devrait fonctionner comme avant, en dehors des cas où on jouait sur l'ordre d'activation.
- Tous les fichiers
.py
ont été adaptés à la nouvelle syntaxe au moyen d'une procédure automatique, sauf ceux qui ont posé problème et que j'ai dû modifier à la main. Il peut donc rester des petits morceaux écrits selon l'ancienne syntaxe.
Broutilles
- Dans
configure.ac
, j'ai ajouté l'option-DMPICH_IGNORE_CXX_SEEK
àCXXFLAGS
. Ca évite des problèmes dûs à mpich, qui redéfinit les variablesSEEK_SET
,SEEK_CUR
etSEEK_END
utilisées parstdio.h
, c'est un problème connu. Or sous Linux en tout cas, Petsc cherche apparemment à lirempi.h
même s'il est compilé enMPI_UNI
, et s'il en trouve un (parce que mpich est installé…), ça plante à la compilation.
- J'ai ajouté l'option
diffUX
dansbattery.py
. Ca permet d'écrire le fichier.html
de telle sorte qu'on puisse accéder sous Linux aux fichiers.res
ou.py
via les liens, donc sans faire appel au notepad. Je n'étais pas très inspiré pour le nom de l'option, on peut changer.
Fichiers ajoutés/supprimés
apps/qs/dgShellFullPinchedCylinder.py deleted
— Geoffrey DELIEGE 2008/03/04
commit/2008/03_03.txt · Last modified: 2016/03/30 15:23 by 127.0.0.1