jeanpierreaubry Now I can run 106case use med.
# coding=utf-8
# --------------------------------------------------------------------
# Copyright (C) 1991 - 2023 - EDF R&D - www.code-aster.org
# This file is part of code_aster.
#
# code_aster is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# code_aster is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with code_aster. If not, see <http://www.gnu.org/licenses/>.
# --------------------------------------------------------------------
# ** CAS TEST: CALCUL DE LA REPONSE A UNE EXCITATION REPARTIE SUR*******
# ***** UNE FONCTION DE FORME *******
# **********************************************************************
DEBUT(CODE=_F(NIV_PUB_WEB='INTERNET'),
DEBUG=_F(SDVERI='OUI'),
ERREUR=_F(ALARME='EXCEPTION'))
# **********************************************************************
# ** MAILLAGE, MATERIAU, CONDITIONS AUX LIMITES , ASSEMBLAGE************
# **********************************************************************
MAYA = LIRE_MAILLAGE(FORMAT='MED',
UNITE=20)
MAYA = DEFI_GROUP(reuse=MAYA,
CREA_GROUP_MA=_F(NOM='TOUT',
TOUT='OUI'),
MAILLAGE=MAYA)
POUTRE = AFFE_MODELE(AFFE=_F(MODELISATION='POU_D_T',
PHENOMENE='MECANIQUE',
TOUT='OUI'),
MAILLAGE=MAYA)
CARA = AFFE_CARA_ELEM(MODELE=POUTRE,
POUTRE=_F(CARA=('HZ', 'HY'),
GROUP_MA='TOUT',
SECTION='RECTANGLE',
VALE=(0.001, 0.001)))
MATER = DEFI_MATERIAU(ELAS=_F(E=200000000000.0,
NU=0.3,
RHO=7000.0))
CHAMPMAT = AFFE_MATERIAU(AFFE=_F(MATER=MATER,
TOUT='OUI'),
MAILLAGE=MAYA)
CLIM = AFFE_CHAR_MECA(DDL_IMPO=(_F(DZ=0.0,
GROUP_NO='NOEUDDL'),
_F(DRX=0.0,
DRY=0.0,
DRZ=0.0,
DX=0.0,
DY=0.0,
DZ=0.0,
GROUP_NO=('P1', 'P9'))),
MODELE=POUTRE)
# **********************************************************************
# ** VECTEUR ASSEMBLE REPRESENTANT LA FONCTION DE FORME ************
# **********************************************************************
EFF1 = AFFE_CHAR_MECA(FORCE_NODALE=(_F(FY=0.5,
GROUP_NO=('P4', )),
_F(FY=1.0,
GROUP_NO=('P5', )),
_F(FY=0.5,
GROUP_NO=('P6', ))),
MODELE=POUTRE)
# **********************************************************************
# ** CALCUL MODAL **********************************************
# **********************************************************************
MATELE_K = CALC_MATR_ELEM(CARA_ELEM=CARA,
CHAM_MATER=CHAMPMAT,
CHARGE=CLIM,
MODELE=POUTRE,
OPTION='RIGI_MECA')
MATELE_M = CALC_MATR_ELEM(CARA_ELEM=CARA,
CHAM_MATER=CHAMPMAT,
CHARGE=CLIM,
MODELE=POUTRE,
OPTION='MASS_MECA')
NUM = NUME_DDL(MATR_RIGI=MATELE_K)
MATASK = ASSE_MATRICE(MATR_ELEM=MATELE_K,
NUME_DDL=NUM)
MATASM = ASSE_MATRICE(MATR_ELEM=MATELE_M,
NUME_DDL=NUM)
MODES = CALC_MODES(CALC_FREQ=_F(FREQ=(0.1, 300.0)),
MATR_MASS=MATASM,
MATR_RIGI=MATASK,
OPTION='AJUSTE',
SOLVEUR=_F(METHODE='MULT_FRONT'))
VECT1 = CALC_VECT_ELEM(CHARGE=EFF1,
OPTION='CHAR_MECA')
VECTASS1 = ASSE_VECTEUR(NUME_DDL=NUM,
VECT_ELEM=VECT1)
# **********************************************************************
# **DEFINITION DE L INTERSPECTRE D EXCITATION**************************
# **********************************************************************
INTEREX1 = DEFI_INTE_SPEC(CONSTANT=_F(FREQ_MAX=25.0,
FREQ_MIN=0.0,
NUME_ORDRE_I=1,
NUME_ORDRE_J=1,
VALE_R=1.0),
DIMENSION=1)
# **********************************************************************
# ***** INTERSPECTRE REPONSE A LA DSP REPARTIE SUR UNE FONCTION DE FORME
# **********************************************************************
DYNALEA1 = DYNA_ALEA_MODAL(BASE_MODALE=_F(AMOR_REDUIT=(0.05, 0.05),
MODE_MECA=MODES,
NUME_ORDRE=(1, 2)),
EXCIT=_F(CHAM_NO=VECTASS1,
INTE_SPEC=INTEREX1,
NUME_ORDRE_I=1),
REPONSE=_F(FREQ_MAX=14.0,
FREQ_MIN=4.0,
PAS=2.0))
INTERRE1 = REST_SPEC_PHYS(GROUP_NO=('P3', 'P4', 'P5'),
INTE_SPEC_GENE=DYNALEA1,
MODE_MECA=MODES,
NOM_CHAM=('DEPL', ),
NOM_CMP=('DY', 'DY', 'DY'),
NUME_ORDRE=(1, 2),
OPTION='TOUT_TOUT')
#comment: INTERREall = REST_SPEC_PHYS(GROUP_NO=('NOEUDDL', ),
#comment: INTE_SPEC_GENE=DYNALEA1,
#comment: MODE_MECA=MODES,
#comment: NOM_CHAM=('DEPL', ),
#comment: NOM_CMP=('DY', ),
#comment: NUME_ORDRE=(1, 2),
#comment: OPTION='TOUT_TOUT')
INTERRE1T9 = REST_SPEC_PHYS(GROUP_NO=('NOEUDDL', ),
INTE_SPEC_GENE=DYNALEA1,
MODE_MECA=MODES,
NOM_CHAM=('DEPL', ),
NOM_CMP=('DY', ),
NUME_ORDRE=(1, 2),
OPTION='TOUT_TOUT')
REP1N5 = RECU_FONCTION(INTE_SPEC=INTERRE1,
NOEUD_I='N5',
NOM_CMP_I='DY')
REP1N4 = RECU_FONCTION(INTE_SPEC=INTERRE1,
NOEUD_I='N4',
NOM_CMP_I='DY')
REP1N3 = RECU_FONCTION(INTE_SPEC=INTERRE1,
NOEUD_I='N3',
NOM_CMP_I='DY')
#comment: REP1all = RECU_FONCTION(INTE_SPEC=INTERRE1,
#comment: NOEUD_I='N1',
#comment: NOM_CMP_I='DY')
#comment: IMPR_FONCTION(COURBE=_F(FONCTION=REP1all),
#comment: FORMAT='TABLEAU',
#comment: UNITE=8)
REP1N9 = RECU_FONCTION(INTE_SPEC=INTERRE1T9,
NOEUD_I='N9',
NOM_CMP_I='DY')
REP1N6 = RECU_FONCTION(INTE_SPEC=INTERRE1T9,
NOEUD_I='N6',
NOM_CMP_I='DY')
IMPR_FONCTION(COURBE=(_F(FONCTION=REP1N9),
_F(FONCTION=REP1N6)),
FORMAT='TABLEAU',
UNITE=2)
# **********************************************************************
# **** DEFINITION DE LA MATRICE INTERSPECTRALE 6 6 POUR LE CALCUL*******
# ***** DE VERIFICATION *******
# **********************************************************************
#comment: INTEREX2 = DEFI_INTE_SPEC(CONSTANT=(_F(FREQ_MAX=25.0,
#comment: FREQ_MIN=0.0,
#comment: NUME_ORDRE_I=1,
#comment: NUME_ORDRE_J=1,
#comment: VALE_R=0.25),
#comment: _F(FREQ_MAX=25.0,
#comment: FREQ_MIN=0.0,
#comment: NUME_ORDRE_I=2,
#comment: NUME_ORDRE_J=2,
#comment: VALE_R=1.0),
#comment: _F(FREQ_MAX=25.0,
#comment: FREQ_MIN=0.0,
#comment: NUME_ORDRE_I=3,
#comment: NUME_ORDRE_J=3,
#comment: VALE_R=0.25),
#comment: _F(FREQ_MAX=25.0,
#comment: FREQ_MIN=0.0,
#comment: NUME_ORDRE_I=1,
#comment: NUME_ORDRE_J=2,
#comment: VALE_R=0.5),
#comment: _F(FREQ_MAX=25.0,
#comment: FREQ_MIN=0.0,
#comment: NUME_ORDRE_I=1,
#comment: NUME_ORDRE_J=3,
#comment: VALE_R=0.25),
#comment: _F(FREQ_MAX=25.0,
#comment: FREQ_MIN=0.0,
#comment: NUME_ORDRE_I=2,
#comment: NUME_ORDRE_J=3,
#comment: VALE_R=0.5)),
#comment: DIMENSION=3)
# **********************************************************************
# *** INTERSPECTRE REPONSE CALCULE POUR VERIFICATION *******************
# **********************************************************************
#comment: DYNALEA2 = DYNA_ALEA_MODAL(BASE_MODALE=_F(AMOR_REDUIT=(0.05, 0.05),
#comment: MODE_MECA=MODES,
#comment: NUME_ORDRE=(1, 2)),
#comment: EXCIT=_F(GRANDEUR='EFFO',
#comment: INTE_SPEC=INTEREX2,
#comment: NOEUD=('N4', 'N5', 'N6'),
#comment: NOM_CMP=('DY', 'DY', 'DY'),
#comment: NUME_ORDRE_I=(1, 2, 3)),
#comment: REPONSE=_F(FREQ_MAX=14.0,
#comment: FREQ_MIN=4.0,
#comment: PAS=2.0))
#comment: INTERRE2 = REST_SPEC_PHYS(GROUP_NO='RESTIT',
#comment: INTE_SPEC_GENE=DYNALEA2,
#comment: MODE_MECA=MODES,
#comment: NOM_CHAM='DEPL',
#comment: NOM_CMP='DY',
#comment: NUME_ORDRE=(1, 2),
#comment: OPTION='TOUT_TOUT')
#comment: REP2 = RECU_FONCTION(INTE_SPEC=INTERRE2,
#comment: NOEUD_I='N3',
#comment: NOM_CMP_I='DY')
#comment: TEST_FONCTION(VALEUR=(_F(FONCTION=REP1N5,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.04029858,
#comment: VALE_PARA=4.0,
#comment: VALE_REFE=0.040298),
#comment: _F(FONCTION=REP1N5,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.09297108,
#comment: VALE_PARA=6.0,
#comment: VALE_REFE=0.092971),
#comment: _F(FONCTION=REP1N5,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.95164637,
#comment: VALE_PARA=8.0,
#comment: VALE_REFE=0.95164),
#comment: _F(FONCTION=REP1N5,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.17617679,
#comment: VALE_PARA=10.0,
#comment: VALE_REFE=0.17617),
#comment: _F(FONCTION=REP1N5,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.02669547,
#comment: VALE_PARA=12.0,
#comment: VALE_REFE=0.026695),
#comment: _F(FONCTION=REP2,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.04029858,
#comment: VALE_PARA=4.0,
#comment: VALE_REFE=0.040298),
#comment: _F(FONCTION=REP2,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.09297108,
#comment: VALE_PARA=6.0,
#comment: VALE_REFE=0.092971),
#comment: _F(FONCTION=REP2,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.95164637,
#comment: VALE_PARA=8.0,
#comment: VALE_REFE=0.95164),
#comment: _F(FONCTION=REP2,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.17617679,
#comment: VALE_PARA=10.0,
#comment: VALE_REFE=0.17617),
#comment: _F(FONCTION=REP2,
#comment: REFERENCE='AUTRE_ASTER',
#comment: VALE_CALC=0.02669547,
#comment: VALE_PARA=12.0,
#comment: VALE_REFE=0.026695)))
FIN()
in this commd
INTERRE1T9 = REST_SPEC_PHYS(
GROUP_NO=('NOEUDDL', ),
INTE_SPEC_GENE=DYNALEA1,
MODE_MECA=MODES,
NOM_CHAM=('DEPL', ),
NOM_CMP=('DY', ),
NUME_ORDRE=(1, 2),
OPTION='TOUT_TOUT'
)
i use group NOEUDDL contains all nodes.
then print value use follow command.
REP1N9 = RECU_FONCTION(
INTE_SPEC=INTERRE1T9,
NOEUD_I='N9',
NOM_CMP_I='DY'
)
REP1N6 = RECU_FONCTION(
INTE_SPEC=INTERRE1T9,
NOEUD_I='N6',
NOM_CMP_I='DY'
)
IMPR_FONCTION(
COURBE=(_F(
FONCTION=REP1N9
), _F(
FONCTION=REP1N6
)),
FORMAT='TABLEAU',
UNITE=2
)
and the next question is How to find a quick method to output all node values