1 #@ MODIF co_vect_asse_gene SD DATE 11/05/2010 AUTEUR COURTOIS M.COURTOIS
2 # -*- coding: iso-8859-1 -*-
3 # CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9 # (AT YOUR OPTION) ANY LATER VERSION.
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
23 from sd_cham_gene import sd_cham_gene
27 # -----------------------------------------------------------------------------
29 class vect_asse_gene(ASSD, sd_cham_gene):
30 def EXTR_VECT_GENE_R(self) :
31 """ retourne les valeurs du vecteur generalisee
34 - self.valeurs : numpy.array contenant les valeurs """
35 if not self.accessible():
36 raise Accas.AsException("Erreur dans vect_asse_gene_r.EXTR_VECT_GENE en PAR_LOT='OUI'")
38 ncham=ncham+(8-len(ncham))*' '
39 valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE'))
42 def RECU_VECT_GENE_R(self,vecteur) :
43 """ envoie les valeurs d'un tableau numpy dans un vecteur generalise
44 reel definie dans jeveux
45 Attributs ne retourne rien """
46 if not self.accessible():
47 raise Accas.AsException("Erreur dans vect_asse_gene_r.RECU_VECT_GENE en PAR_LOT='OUI'")
49 numpy.asarray(vecteur)
51 ncham=ncham+(8-len(ncham))*' '
52 desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC'))
53 # On teste si le DESC du vecteur existe
55 raise Accas.AsException("L'objet vecteur n'existe pas ou \
56 est mal cree par Code Aster")
57 # On teste si la taille du vecteur jeveux et python est identique
58 if desc[1]<>numpy.shape(vecteur)[0] :
59 raise Accas.AsException("La taille du vecteur python est incorrecte")
60 aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(vecteur),tuple((\
61 range(1,len(vecteur)+1))),tuple(vecteur),tuple(vecteur),1)
64 def EXTR_VECT_GENE_C(self) :
65 """ retourne les valeurs du vecteur generalisee
68 - self.valeurs : numpy.array contenant les valeurs """
69 if not self.accessible():
70 raise Accas.AsException("Erreur dans vect_asse_gene_c.EXTR_VECT_GENE en PAR_LOT='OUI'")
73 ncham=ncham+(8-len(ncham))*' '
74 valeur=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.VALE'), complex)
78 def RECU_VECT_GENE_C(self,vecteur) :
79 """ envoie les valeurs d'un tableau numpy dans un vecteur generalise
80 complexe definie dans jeveux
81 Attributs ne retourne rien """
82 if not self.accessible():
83 raise Accas.AsException("Erreur dans vect_asse_gene_c.RECU_VECT_GENE en PAR_LOT='OUI'")
85 numpy.asarray(vecteur)
87 ncham=ncham+(8-len(ncham))*' '
88 desc=numpy.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC'))
89 # On teste si le DESC de la matrice existe
91 raise Accas.AsException("L'objet vecteur n'existe pas ou \
92 est mal cree par Code Aster")
93 # On teste si la taille de la matrice jeveux et python est identique
94 if desc[1]<>numpy.shape(vecteur)[0] :
95 raise Accas.AsException("La taille du vecteur python est incorrecte")
98 aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALE',len(tmpr),tuple((
99 range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1)