Esempio n. 1
0
    def EXTR_COMP(self, comp, lgma=[], topo=0):
        """Retourne les valeurs de la composante comp du champ sur la liste
        de groupes de mailles lgma avec eventuellement l'info de la
        topologie si topo>0. Si lgma est une liste vide, c'est equivalent
        a un TOUT='OUI' dans les commandes aster

        Arguments:
            comp (str): Name of the component.
            lgma (list[str]): List of groups of elements.
            topo (int): ``topo == 1`` means to return informations about the
                support of the field.

        Returns:
            :py:class:`.post_comp_cham_el`: Object containing the values and,
            eventually, the topological informations of the support.
        """

        ncham = self.getName()
        ncham = ncham + (19 - len(ncham)) * ' '
        nchams = aster.get_nom_concept_unique('_')
        ncmp = comp + (8 - len(comp)) * ' '

        aster.prepcompcham(ncham, nchams, ncmp, "EL      ", topo, lgma)

        valeurs = numpy.array(
            aster.getvectjev(nchams + (19 - len(nchams)) * ' ' + '.V'))

        if (topo > 0):
            maille = (aster.getvectjev(nchams + (19 - len(nchams)) * ' ' +
                                       '.M'))
            point = (aster.getvectjev(nchams + (19 - len(nchams)) * ' ' +
                                      '.P'))
            sous_point = (aster.getvectjev(nchams + (19 - len(nchams)) * ' ' +
                                           '.SP'))
        else:
            maille = None
            point = None
            sous_point = None

        aster.prepcompcham("__DETR__", nchams, ncmp, "EL      ", topo, lgma)

        return post_comp_cham_el(valeurs, maille, point, sous_point)
Esempio n. 2
0
    def EXTR_COMP(self, comp, lgma, topo=0):
        """ retourne les valeurs de la composante comp du champ sur la liste
        de groupes de mailles lgma avec eventuellement l'info de la
        topologie si topo>0. Si lgma est une liste vide, c'est equivalent
        a un TOUT='OUI' dans les commandes aster
        Attributs retourne
          - self.valeurs : numpy.array contenant les valeurs
        Si on a demande la topo  :
          - self.maille  : numero de mailles
          - self.point   : numero du point dans la maille
          - self.sous_point : numero du sous point dans la maille """
        import numpy
        if not self.accessible():
            raise AsException(
                "Erreur dans cham_elem.EXTR_COMP en PAR_LOT='OUI'")

        ncham = self.get_name()
        ncham = ncham + (8 - len(ncham)) * ' '
        nchams = ncham[0:7] + 'S'
        ncmp = comp + (8 - len(comp)) * ' '

        aster.prepcompcham(ncham, nchams, ncmp, "EL      ", topo, lgma)

        valeurs = numpy.array(
            aster.getvectjev(nchams + (19 - len(ncham)) * ' ' + '.V'))

        if (topo > 0):
            maille = (aster.getvectjev(nchams + (19 - len(ncham)) * ' ' +
                                       '.M'))
            point = (aster.getvectjev(nchams + (19 - len(ncham)) * ' ' + '.P'))
            sous_point = (aster.getvectjev(nchams + (19 - len(ncham)) * ' ' +
                                           '.SP'))
        else:
            maille = None
            point = None
            sous_point = None

        aster.prepcompcham("__DETR__", nchams, ncmp, "EL      ", topo, lgma)

        return post_comp_cham_el(valeurs, maille, point, sous_point)
Esempio n. 3
0
    def EXTR_COMP(self, comp=' ', lgno=[], topo=0):
        """ retourne les valeurs de la composante comp du champ sur la liste
        de groupes de noeuds lgno avec eventuellement l'info de la
        topologie si topo>0. Si lgno est une liste vide, c'est equivalent
        a un TOUT='OUI' dans les commandes aster

        Arguments:
            comp (str): Name of the component.
            lgno (list[str]): List of groups of nodes.
            topo (int): ``topo == 1`` means to return informations about the
                support of the field.

        Returns:
            :py:class:`.post_comp_cham_no`: Object containing the values and,
            eventually, the topological informations of the support.
        """

        ncham = self.getName()
        ncham = ncham + (19 - len(ncham)) * ' '
        nchams = aster.get_nom_concept_unique('_')
        ncmp = comp + (8 - len(comp)) * ' '

        aster.prepcompcham(ncham, nchams, ncmp, "NO      ", topo, lgno)

        valeurs = numpy.array(
            aster.getvectjev(nchams + (19 - len(nchams)) * ' ' + '.V'))

        if (topo > 0):
            noeud = (
                aster.getvectjev(nchams + (19 - len(nchams)) * ' ' + '.N'))
        else:
            noeud = None

        if comp[:1] == ' ':
            comp = (aster.getvectjev(nchams + (19 - len(nchams)) * ' ' + '.C'))
            aster.prepcompcham(
                "__DETR__", nchams, ncmp, "NO      ", topo, lgno)
            return post_comp_cham_no(valeurs, noeud, comp)
        else:
            aster.prepcompcham(
                "__DETR__", nchams, ncmp, "NO      ", topo, lgno)
            return post_comp_cham_no(valeurs, noeud)
Esempio n. 4
0
    def EXTR_COMP(self, comp=' ', lgno=[], topo=0):
        """ retourne les valeurs de la composante comp du champ sur la liste
        de groupes de noeuds lgno avec eventuellement l'info de la
        topologie si topo>0. Si lgno est une liste vide, c'est equivalent
        a un TOUT='OUI' dans les commandes aster
        Attributs retourne
          - self.valeurs : numpy.array contenant les valeurs
        Si on a demande la topo (i.e. self.topo = 1) :
          - self.noeud  : numero de noeud
        Si on demande toutes les composantes (comp = ' ') :
          - self.comp : les composantes associees a chaque grandeur pour chaque noeud
      """
        import numpy
        if not self.accessible():
            raise AsException("Erreur dans cham_no.EXTR_COMP en PAR_LOT='OUI'")

        ncham = self.get_name()
        ncham = ncham + (8 - len(ncham)) * ' '
        nchams = ncham[0:7] + 'S'
        ncmp = comp + (8 - len(comp)) * ' '

        aster.prepcompcham(ncham, nchams, ncmp, "NO      ", topo, lgno)

        valeurs = numpy.array(
            aster.getvectjev(nchams + (19 - len(ncham)) * ' ' + '.V'))

        if (topo > 0):
            noeud = (aster.getvectjev(nchams + (19 - len(ncham)) * ' ' + '.N'))
        else:
            noeud = None

        if comp[:1] == ' ':
            comp = (aster.getvectjev(nchams + (19 - len(ncham)) * ' ' + '.C'))
            aster.prepcompcham("__DETR__", nchams, ncmp, "NO      ", topo,
                               lgno)
            return post_comp_cham_no(valeurs, noeud, comp)
        else:
            aster.prepcompcham("__DETR__", nchams, ncmp, "NO      ", topo,
                               lgno)
            return post_comp_cham_no(valeurs, noeud)