MODE_ITER_SIMULT ohne DDL_IMPO möglich?
- MGolbs
-
Topic Author
- Offline
- Platinum Member
-
ich möchte eine Modalanalyse, frei schwebend, anschieben ohne Lager zu verwenden. Die 6 RBM würden entstehen und erst ab Mode 7 kämen die eigentlichen Strukturmoden. Leider scheitert mein Code Aster Rechenlauf sobald ich die DDL_IMPO entferne. Wie könnte man Strukturen frei schwebend mit einer Modalanalyse in Code-Aster untersuchen? An einen dünnen, langen Hilfsbalken habe ich auch schon gedacht, sehe diesen Weg aber nicht als das geeignete Mittel an.
Über Tipps und Infos würde ich mich freuen.
Gruß Markus
Dem Überflüssigen nachlaufen, heißt das Wesentliche verpassen.
Jules Saliège
- kwou
-
- Offline
- Moderator
-
ich habe schon oefters mit freischwebende Koerper eine modalen Analyse gemacht. Dass muestte ohne Problemen gehen.
Wie sieht Deine *.comm Datei aus?
Schoene Gruesse - kees
Interest: structural mechanics, solar energy (picture at 'my location' shows too little pv panels)
--
kind regards - kees
- MGolbs
-
Topic Author
- Offline
- Platinum Member
-
danke für die Rückmeldung. Da mache ich wahrscheinlich was falsch.
Hier die *.comm die läuft:
[code:1]
DEBUT();
MAIL=LIRE_MAILLAGE(UNITE=20,
FORMAT='MED',);
MODELE=AFFE_MODELE(MAILLAGE=MAIL,
AFFE=_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='3D',),);
MAT=DEFI_MATERIAU(ELAS=_F(E=210000.0,
NU=0.3,
RHO=7.9e-09,),);
CHMAT=AFFE_MATERIAU(MAILLAGE=MAIL,
AFFE=_F(TOUT='OUI',
MATER=MAT,),);
BLOCAGE=AFFE_CHAR_MECA(MODELE=MODELE,
DDL_IMPO=(
_F(GROUP_NO='LagerKn',
DX=0.0,
DY=0.0,
DZ=0.0,),
),
);
MACRO_MATR_ASSE(MODELE=MODELE,
CHAM_MATER=CHMAT,
CHARGE=BLOCAGE,
NUME_DDL=CO('NUMEDDL'),
MATR_ASSE=(_F(MATRICE=CO('RIGIDITE'),
OPTION='RIGI_MECA',),
_F(MATRICE=CO('MASSE'),
OPTION='MASS_MECA',),
),
);
MODES=MODE_ITER_SIMULT(MATR_A=RIGIDITE,
MATR_B=MASSE,
CALC_FREQ=_F(OPTION='PLUS_PETITE',
NMAX_FREQ=5,),
);
IMPR_RESU(MODELE=MODELE,
FORMAT='MED',
RESU=_F(MAILLAGE=MAIL,
RESULTAT=MODES,
NOM_CHAM='DEPL',),);
FIN();
[/code:1]
und so läuft es nicht:
[code:1]
DEBUT();
MAIL=LIRE_MAILLAGE(UNITE=20,
FORMAT='MED',);
MODELE=AFFE_MODELE(MAILLAGE=MAIL,
AFFE=_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='3D',),);
MAT=DEFI_MATERIAU(ELAS=_F(E=210000.0,
NU=0.3,
RHO=7.9e-09,),);
CHMAT=AFFE_MATERIAU(MAILLAGE=MAIL,
AFFE=_F(TOUT='OUI',
MATER=MAT,),);
#BLOCAGE=AFFE_CHAR_MECA(MODELE=MODELE,
# DDL_IMPO=(
# _F(GROUP_NO='LagerKn',
# DX=0.0,
# DY=0.0,
# DZ=0.0,),
# ),
# );
MACRO_MATR_ASSE(MODELE=MODELE,
CHAM_MATER=CHMAT,
# CHARGE=BLOCAGE,
NUME_DDL=CO('NUMEDDL'),
MATR_ASSE=(_F(MATRICE=CO('RIGIDITE'),
OPTION='RIGI_MECA',),
_F(MATRICE=CO('MASSE'),
OPTION='MASS_MECA',),
),
);
MODES=MODE_ITER_SIMULT(MATR_A=RIGIDITE,
MATR_B=MASSE,
CALC_FREQ=_F(OPTION='PLUS_PETITE',
NMAX_FREQ=5,),
);
IMPR_RESU(MODELE=MODELE,
FORMAT='MED',
RESU=_F(MAILLAGE=MAIL,
RESULTAT=MODES,
NOM_CHAM='DEPL',),);
FIN();
[/code:1]
..die Fehlermeldung dazu:
....
DEBUT();
MAIL=LIRE_MAILLAGE(UNITE=20,
FORMAT='MED',);
MODELE=AFFE_MODELE(MAILLAGE=MAIL,
AFFE=_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='3D',),);
MAT=DEFI_MATERIAU(ELAS=_F(E=210000.0,
NU=0.3,
RHO=7.9e-09,),);
CHMAT=AFFE_MATERIAU(MAILLAGE=MAIL,
AFFE=_F(TOUT='OUI',
MATER=MAT,),);
#BLOCAGE=AFFE_CHAR_MECA(MODELE=MODELE,
# DDL_IMPO=(
# _F(GROUP_NO='LagerKn',
# DX=0.0,
# DY=0.0,
# DZ=0.0,),
# ),
# );
MACRO_MATR_ASSE(MODELE=MODELE,
CHAM_MATER=CHMAT,
# CHARGE=BLOCAGE,
NUME_DDL=CO('NUMEDDL'),
MATR_ASSE=(_F(MATRICE=CO('RIGIDITE'),
OPTION='RIGI_MECA',),
_F(MATRICE=CO('MASSE'),
OPTION='MASS_MECA',),
),
);
MODES=MODE_ITER_SIMULT(MATR_A=RIGIDITE,
MATR_B=MASSE,
CALC_FREQ=_F(OPTION='PLUS_PETITE',
NMAX_FREQ=5,),
);
IMPR_RESU(MODELE=MODELE,
FORMAT='MED',
RESU=_F(MAILLAGE=MAIL,
RESULTAT=MODES,
NOM_CHAM='DEPL',),);
FIN();
..
...
....
MODES=MODE_ITER_SIMULT(PARA_ORTHO_SOREN=0.71699999999999997,
STOP_FREQ_VIDE='OUI',
NMAX_ITER_SOREN=20,
OPTION='SANS',
INFO=1,
CALC_FREQ=_F(NMAX_FREQ=5,
OPTION='PLUS_PETITE',
PREC_SHIFT=0.050000000000000003,
APPROCHE='REEL',
NMAX_ITER_SHIFT=5,
NPREC_SOLVEUR=8,
SEUIL_FREQ=1.E-2),
VERI_MODE=_F(PREC_SHIFT=5.0000000000000001E-3,
STOP_ERREUR='OUI',
STURM='OUI',
SEUIL=9.9999999999999995E-07),
TYPE_RESU='DYNAMIQUE',
METHODE='SORENSEN',
MATR_B=MASSE,
MATR_A=RIGIDITE,
PREC_SOREN=0.0,
);
LE NOMBRE DE DDL
TOTAL EST: 2778
DE LAGRANGE EST: 0
LE NOMBRE DE DDL ACTIFS EST: 2778
L'OPTION CHOISIE EST: PLUS_PETITE
LA VALEUR MAXIMALE EST INFERIEURE A LA VALEUR DE CORPS RIGIDE ON LA MODIFIE, ELLE DEVIENT: -3.94784E-03
ON DIMINUE LA VALEUR DE DECALAGE DE: 5.00000E+00 POURCENT
ELLE DEVIENT: -4.14523E-03
ON DIMINUE LA VALEUR DE DECALAGE DE: 5.00000E+00 POURCENT
ELLE DEVIENT: -4.35250E-03
ON DIMINUE LA VALEUR DE DECALAGE DE: 5.00000E+00 POURCENT
ELLE DEVIENT: -4.57012E-03
ON DIMINUE LA VALEUR DE DECALAGE DE: 5.00000E+00 POURCENT
ELLE DEVIENT: -4.79863E-03
ON DIMINUE LA VALEUR DE DECALAGE DE: 5.00000E+00 POURCENT
ELLE DEVIENT: -5.03856E-03
!
!
! <EXCEPTION> <ALGELINE3_68> !
! !
! !
! la matrice de raideur est singulière malgre la strategie de décalage !
! (structure avec des modes de corps solide). !
! !
! !
! !
! !
!
!
Liste des appels successifs (option -traceback)
Image PC Routine Line Source
Destruction du concept 'MODES'.
!
!
! Liste des alarmes émises lors de l'exécution du calcul. !
! !
! Les alarmes que vous avez choisies d'ignorer sont précédées de (*). !
! Nombre d'occurrences pour chacune des alarmes : !
! aucune alarme !
!
!
#
# COMMANDE NO : 0013 CONCEPT DE TYPE :
#
FIN(RETASSAGE='NON',
INFO_RESU='OUI',
FORMAT_HDF='NON',
UNITE=6,
);
..
..
..
..
JDC.py : ERREUR A L'EXECUTION - INTERRUPTION
>> JDC.py : DEBUT RAPPORT
CR d'execution de JDC en MIXTE
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! <S> Exception utilisateur levee mais pas interceptee. !
! Les bases sont fermees. !
! error : <EXCEPTION LEVEE> ALGELINE3_68 !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
fin CR d'execution de JDC en MIXTE
>> JDC.py : FIN RAPPORT
EXECUTION_CODE_ASTER_EXIT_20650=1
<INFO> Code_Aster run ended, diagnostic : <S>_ERROR
Content of /tmp/mitarbeiter@firmaag-Salome-Code-Aster-interactif.20650 after execution
.
..
...
..
.
Size of bases
<INFO> size of vola.1 : 2457608 bytes
<INFO> size of glob.1 : 28672008 bytes
<INFO> size of pick.1 : 125714 bytes
Copying results
copying .../fort.6 [ OK ]
copying .../fort.8 [ OK ]
copying .../fort.80 [FAILED]
Exit code : 256
cp: Aufruf von stat für „fort.80“ nicht möglich: Datei oder Verzeichnis nicht gefunden
<E>_COPY_ERROR error during copying fort.80 to /home/mitarbeiter/solve/Grundlagen/ohne_Lagerung.rmed
message : cp: Aufruf von stat für „fort.80“ nicht möglich: Datei oder Verzeichnis nicht gefunden
compressing glob.1 [ OK ]
compressing pick.1 [ OK ]
copying .../glob.1.gz [ OK ]
copying .../pick.1.gz [ OK ]
<S>_ERROR Code_Aster run ended
Content of RESU file
######################################################################
######################################################################
######################################################################
<I> <INIAST> VOUS UTILISEZ UNE VIEILLE VERSION DE CODE_ASTER.
EN METTANT A JOUR VOTRE VERSION, VOUS BENEFICIEREZ DES
DERNIERES AMELIORATIONS APPORTEES AU CODE DEPUIS 15 MOIS.
SI VOUS AVEZ DES DEVELOPPEMENTS PRIVES, VOUS RISQUEZ
D'AVOIR UN TRAVAIL IMPORTANT DE REINGENIERIE SI VOUS NE
SUIVEZ PAS LES MISES A JOUR.
######################################################################
######################################################################
######################################################################
!
!
! <EXCEPTION> <ALGELINE3_68> !
! !
! !
! la matrice de raideur est singulière malgre la strategie de décalage !
! (structure avec des modes de corps solide). !
! !
! !
! !
! !
!
!
!
!
! Liste des alarmes émises lors de l'exécution du calcul. !
! !
! Les alarmes que vous avez choisies d'ignorer sont précédées de (*). !
! Nombre d'occurrences pour chacune des alarmes : !
! aucune alarme !
!
!
<I> <FIN> FERMETURE DE LA BASE "GLOBALE" EFFECTUEE.
<I> <FIN> ARRET NORMAL DANS "FIN" PAR APPEL A "JEFINI".
Content of ERROR file
!
!
! <EXCEPTION> <ALGELINE3_68> !
! !
! !
! la matrice de raideur est singulière malgre la strategie de décalage !
! (structure avec des modes de corps solide). !
! !
! !
! !
! !
!
!
<S> ERREUR UTILISATEUR RECUPEREE PAR LE SUPERVISEUR
<I> <FIN> FERMETURE DE LA BASE "GLOBALE" EFFECTUEE.
<I> <FIN> ARRET NORMAL DANS "FIN" PAR APPEL A "JEFINI".
<I> FERMETURE DES BASES EFFECTUEE
as_run 1.8.0
--- DIAGNOSTIC JOB : <F>_COPY_ERROR
EXIT_CODE=4
Das Auskommentieren ist wohl so falsch?
Gruß und Dank Markus
Dem Überflüssigen nachlaufen, heißt das Wesentliche verpassen.
Jules Saliège
- kwou
-
- Offline
- Moderator
-
I have used the code below, unfortenately with CHARGE (cannot find an example without boundary conditions at the moment) and I cannot run Aster right now:
# determine stiffness matrix of the structure and DDL vector
Smech = CALC_MATR_ELEM(OPTION = 'RIGI_MECA',
MODELE = modelc,
CARA_ELEM=shellch,
CHARGE = clamp,
CHAM_MATER = matprops,);
Mmass = CALC_MATR_ELEM(OPTION = 'MASS_MECA',
MODELE = modelc,
CHAM_MATER = matprops,
CARA_ELEM = shellch,
CHARGE = clamp,);
nddl = NUME_DDL(MATR_RIGI=Smech);
SAmech = ASSE_MATRICE(NUME_DDL=nddl,MATR_ELEM=Smech,);
MAmass = ASSE_MATRICE(NUME_DDL=nddl,MATR_ELEM=Mmass,);
Rmodes=MODE_ITER_SIMULT(MATR_A=SAmech,
MATR_B=MAmass,
TYPE_RESU='DYNAMIQUE',
METHODE='SORENSEN',
CALC_FREQ=_F(OPTION='PLUS_PETITE',NMAX_FREQ=6,),);
In Deine *.mess Datei:
LA VALEUR MAXIMALE EST INFERIEURE A LA VALEUR DE CORPS RIGIDE ON LA MODIFIE, ELLE DEVIENT: -3.94784E-03
Vielleicht brauchst Du mehr als 5 (zB minimal 7) Eigenwerten?
Obwohl dass mir ein bisschen unlogisch erscheint.
schoene Gruesse - kees<br /><br />Post edited by: Kees Wouters, at: 2011/07/09 10:03
Interest: structural mechanics, solar energy (picture at 'my location' shows too little pv panels)
--
kind regards - kees
- MGolbs
-
Topic Author
- Offline
- Platinum Member
-
danke für die Informationen. Beim Starrkörper sind ja die 3 Translationsbewegungen und 3 Rotationsbewegungen ohne Lagerung als Freiheitgrad vorhanden. Ich könnte neben den 6 RBM bis z.B. Mode 10 rechnen. Aber diese Versuche scheitern derzeit auch. Ich werde weiter suchen und testen.
Gruß und Dank Markus<br /><br />Post edited by: MGolbs, at: 2011/07/18 11:04
Dem Überflüssigen nachlaufen, heißt das Wesentliche verpassen.
Jules Saliège
- RichardS
- Offline
- Elite Member
-
eine Modalanalyse ohne Randbedingungen ist möglich.
Schau dir mal den Test-Case FORMA11 Modell B an, dort wird genau dies gemacht.
MfG,
Richard<br /><br />Post edited by: RichardS, at: 2011/07/27 22:10
SimScale - Engineering Simulation in your browser!