3D Beam modelling
- Torben
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 91
- Thank you received: 1
15 years 11 months ago #2977
by Torben
3D Beam modelling was created by Torben
When generating beam elements with SALOME, the elements are defined using the two end nodes. When working with beam elements in 3 dimensions it will be necessary to define the orientation of the X-, Y- and Z- axis in a local (element) coordinate system for correct assembly of the stiffness matrix.
In COSMOS/M the Y axis of a BEAM3D element is defined using a third node.
My guess is that the X-axis (torsion axis) is the axis of the beam going from node 1 to node 2, but how do I fix the Y- and Z- axis?
In COSMOS/M the Y axis of a BEAM3D element is defined using a third node.
My guess is that the X-axis (torsion axis) is the axis of the beam going from node 1 to node 2, but how do I fix the Y- and Z- axis?
- Claus
-
- Offline
- Moderator
-
Less
More
- Posts: 670
- Thank you received: 34
15 years 11 months ago #2978
by Claus
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Replied by Claus on topic Re:3D Beam modelling
Theres a pretty good description here, on the CA forums:
www.code-aster.org/forum2/viewtopic.php?id=12435
/C
www.code-aster.org/forum2/viewtopic.php?id=12435
/C
Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
- Torben
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 91
- Thank you received: 1
15 years 11 months ago #2980
by Torben
Replied by Torben on topic Re:3D Beam modelling
Exactly what I needed. Thank you very much.
- Torben
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 91
- Thank you received: 1
15 years 11 months ago #2994
by Torben
Replied by Torben on topic Re:3D Beam modelling
Hello again.
I have now tried to divide my model into 3 beams each with different crossection. I do this in SALOME by defining 3 meshes with the element groups "Edge_1", "Edge_2", "Edge_3" and collect these 3 meshes in a compound mesh "CmpMsh1". In the Aster command file I then define my beam model etc. as follows:
[code:1]DEBUT();
BeamMesh=LIRE_MAILLAGE(UNITE=20,
FORMAT='MED',
NOM_MED='CmpMsh1',
INFO_MED=2,);
BeamMod=AFFE_MODELE(MAILLAGE=BeamMesh,
AFFE=_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='POU_D_T',),);
Beam_1=AFFE_CARA_ELEM(MODELE=BeamMod,
POUTRE=_F(GROUP_MA='Edge_1',
SECTION='RECTANGLE',
CARA=('HY','HZ','EP',),
VALE=(0.1,0.05,0.005,),),
ORIENTATION=_F(GROUP_MA='Edge_1',
CARA='VECT_Y',
VALE=(0.0,1.0,0.0,),),);
Beam_2=AFFE_CARA_ELEM(MODELE=BeamMod,
POUTRE=_F(GROUP_MA='Edge_2',
SECTION='RECTANGLE',
CARA=('HY','HZ','EP',),
VALE=(0.1,0.05,0.005,),),
ORIENTATION=_F(GROUP_MA='Edge_2',
CARA='VECT_Y',
VALE=(0.0,1.0,0.0,),),);
Beam_3=AFFE_CARA_ELEM(MODELE=BeamMod,
POUTRE=_F(GROUP_MA='Edge_3',
SECTION='RECTANGLE',
CARA=('HY','HZ','EP',),
VALE=(0.1,0.05,0.005,),),
ORIENTATION=_F(GROUP_MA='Edge_3',
CARA='VECT_Y',
VALE=(0.0,1.0,0.0,),),);
Steel=DEFI_MATERIAU(ELAS=_F(E=2.1e11,
NU=.28,),);
BeamMat=AFFE_MATERIAU(MAILLAGE=BeamMesh,
AFFE=_F(TOUT='OUI',
MATER=Steel,),);
BndCnd=AFFE_CHAR_MECA(MODELE=BeamMod,
DDL_IMPO=(_F(GROUP_NO='Node_1',
DX=.0,
DY=.0,
DZ=.0,
DRX=.0,
DRY=.0,
DRZ=.0,),
_F(GROUP_NO='Node_2',
DY=.0,),),
FORCE_NODALE=_F(GROUP_NO='Node_2',
FX=10.,
FY=.0,
FZ=.0,),
FORCE_POUTRE=_F(GROUP_MA='Edge_2',
FY=-10.,),);
BeamSolu=MECA_STATIQUE(MODELE=BeamMod,
CHAM_MATER=BeamMat,
EXCIT=_F(CHARGE=BndCnd,),);
BeamSolu=CALC_NO(reuse =BeamSolu,
RESULTAT=BeamSolu,
OPTION='FORC_NODA',
MODELE=BeamMod,
TOUT='OUI',);
BeamSolu=CALC_ELEM(reuse =BeamSolu,
MODELE=BeamMod,
RESULTAT=BeamSolu,
TOUT='OUI',
OPTION='SIEF_ELNO_ELGA',);
#Print to results file
IMPR_RESU(MODELE=BeamMod,
FORMAT='RESULTAT',
UNITE=8,
RESU=_F(MAILLAGE=BeamMesh,
RESULTAT=BeamSolu,
TOUT_CHAM='OUI',
TOUT_PARA='OUI',
TOUT_CMP='OUI',
TOUT='OUI',
FORMAT_R='1PE12.5',),);
#Export to MED file
IMPR_RESU(MODELE=BeamMod,
FORMAT='MED',
UNITE=80,
RESU=_F(MAILLAGE=BeamMesh,
RESULTAT=BeamSolu,
INFO_MAILLAGE='OUI',
TOUT_CMP='OUI',
TOUT='OUI',),);
FIN(FORMAT_HDF='OUI',);
[/code:1]
This generates a few comments in the Aster message file like:
[code:1]LECTURE DES 31 NOEUDS
TYPE POI1 : 0 MAILLES
TYPE SEG2 : 30 MAILLES
-> Les mailles SEG2 ne sont pas nomm�s dans le fichier med.
TYPE SEG3 : 0 MAILLES
TYPE TRIA3 : 0 MAILLES
[/code:1]
Scolling a bit down in the message file however indicates that the groups of nodes and groups of elements have been read. But during the first AFFE_CARA_ELEM(...) the following error arises, indicating that Aster has not really understood my intentions:
[code:1]!
!
! <A> <MODELISA_38> !
! !
! !
! la maille M1 n'a pas &#65533;&#65533;affect&#65533; par des caract&#65533;istiques de poutre. !
! !
! !
! !
! Ceci est une alarme. Si vous ne comprenez pas le sens de cette !
! alarme, vous pouvez obtenir des r&#65533;ultats inattendus ! !
!
!
[/code:1]
The element M1 belongs to group Edge_1. I am not really sure if this has to do with my use of SALOME or has to do with my Aster commands.
Thanks for reading this and for helping me to get the calculation done right.
Post edited by: Torben, at: 2009/06/11 10:34<br /><br />Post edited by: Torben, at: 2009/06/11 10:35
I have now tried to divide my model into 3 beams each with different crossection. I do this in SALOME by defining 3 meshes with the element groups "Edge_1", "Edge_2", "Edge_3" and collect these 3 meshes in a compound mesh "CmpMsh1". In the Aster command file I then define my beam model etc. as follows:
[code:1]DEBUT();
BeamMesh=LIRE_MAILLAGE(UNITE=20,
FORMAT='MED',
NOM_MED='CmpMsh1',
INFO_MED=2,);
BeamMod=AFFE_MODELE(MAILLAGE=BeamMesh,
AFFE=_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='POU_D_T',),);
Beam_1=AFFE_CARA_ELEM(MODELE=BeamMod,
POUTRE=_F(GROUP_MA='Edge_1',
SECTION='RECTANGLE',
CARA=('HY','HZ','EP',),
VALE=(0.1,0.05,0.005,),),
ORIENTATION=_F(GROUP_MA='Edge_1',
CARA='VECT_Y',
VALE=(0.0,1.0,0.0,),),);
Beam_2=AFFE_CARA_ELEM(MODELE=BeamMod,
POUTRE=_F(GROUP_MA='Edge_2',
SECTION='RECTANGLE',
CARA=('HY','HZ','EP',),
VALE=(0.1,0.05,0.005,),),
ORIENTATION=_F(GROUP_MA='Edge_2',
CARA='VECT_Y',
VALE=(0.0,1.0,0.0,),),);
Beam_3=AFFE_CARA_ELEM(MODELE=BeamMod,
POUTRE=_F(GROUP_MA='Edge_3',
SECTION='RECTANGLE',
CARA=('HY','HZ','EP',),
VALE=(0.1,0.05,0.005,),),
ORIENTATION=_F(GROUP_MA='Edge_3',
CARA='VECT_Y',
VALE=(0.0,1.0,0.0,),),);
Steel=DEFI_MATERIAU(ELAS=_F(E=2.1e11,
NU=.28,),);
BeamMat=AFFE_MATERIAU(MAILLAGE=BeamMesh,
AFFE=_F(TOUT='OUI',
MATER=Steel,),);
BndCnd=AFFE_CHAR_MECA(MODELE=BeamMod,
DDL_IMPO=(_F(GROUP_NO='Node_1',
DX=.0,
DY=.0,
DZ=.0,
DRX=.0,
DRY=.0,
DRZ=.0,),
_F(GROUP_NO='Node_2',
DY=.0,),),
FORCE_NODALE=_F(GROUP_NO='Node_2',
FX=10.,
FY=.0,
FZ=.0,),
FORCE_POUTRE=_F(GROUP_MA='Edge_2',
FY=-10.,),);
BeamSolu=MECA_STATIQUE(MODELE=BeamMod,
CHAM_MATER=BeamMat,
EXCIT=_F(CHARGE=BndCnd,),);
BeamSolu=CALC_NO(reuse =BeamSolu,
RESULTAT=BeamSolu,
OPTION='FORC_NODA',
MODELE=BeamMod,
TOUT='OUI',);
BeamSolu=CALC_ELEM(reuse =BeamSolu,
MODELE=BeamMod,
RESULTAT=BeamSolu,
TOUT='OUI',
OPTION='SIEF_ELNO_ELGA',);
#Print to results file
IMPR_RESU(MODELE=BeamMod,
FORMAT='RESULTAT',
UNITE=8,
RESU=_F(MAILLAGE=BeamMesh,
RESULTAT=BeamSolu,
TOUT_CHAM='OUI',
TOUT_PARA='OUI',
TOUT_CMP='OUI',
TOUT='OUI',
FORMAT_R='1PE12.5',),);
#Export to MED file
IMPR_RESU(MODELE=BeamMod,
FORMAT='MED',
UNITE=80,
RESU=_F(MAILLAGE=BeamMesh,
RESULTAT=BeamSolu,
INFO_MAILLAGE='OUI',
TOUT_CMP='OUI',
TOUT='OUI',),);
FIN(FORMAT_HDF='OUI',);
[/code:1]
This generates a few comments in the Aster message file like:
[code:1]LECTURE DES 31 NOEUDS
TYPE POI1 : 0 MAILLES
TYPE SEG2 : 30 MAILLES
-> Les mailles SEG2 ne sont pas nomm&#65533;s dans le fichier med.
TYPE SEG3 : 0 MAILLES
TYPE TRIA3 : 0 MAILLES
[/code:1]
Scolling a bit down in the message file however indicates that the groups of nodes and groups of elements have been read. But during the first AFFE_CARA_ELEM(...) the following error arises, indicating that Aster has not really understood my intentions:
[code:1]!
!
! <A> <MODELISA_38> !
! !
! !
! la maille M1 n'a pas &#65533;&#65533;affect&#65533; par des caract&#65533;istiques de poutre. !
! !
! !
! !
! Ceci est une alarme. Si vous ne comprenez pas le sens de cette !
! alarme, vous pouvez obtenir des r&#65533;ultats inattendus ! !
!
!
[/code:1]
The element M1 belongs to group Edge_1. I am not really sure if this has to do with my use of SALOME or has to do with my Aster commands.
Thanks for reading this and for helping me to get the calculation done right.
Attachment Mesh_1.zip not found
Post edited by: Torben, at: 2009/06/11 10:34<br /><br />Post edited by: Torben, at: 2009/06/11 10:35
- johannes ackva
- Offline
- Premium Member
-
Less
More
- Posts: 157
- Thank you received: 1
15 years 10 months ago #3006
by johannes ackva
Replied by johannes ackva on topic Re:3D Beam modelling
Your .comm-file seems OK, so I don't understand why the problem at AFFE_CARA_ELEM arises. Have You made a renumering of nodes and elm IDs in Salome? (If not, sometimes problems can arise). If You don't find the solution, You can post Your .hdf and .MED-file, on Monday I could have a look on it.
mit freundlichen Grüßen,
Johannes Ackva
______________________________________________________________________
Ingenieurbüro für Mechanik
Dr.-Ing. Johannes Ackva
Markgrafenstr. 21
D 91717 Wassertrüdingen
www.code-aster.de
mit freundlichen Grüßen,
Johannes Ackva
______________________________________________________________________
Ingenieurbüro für Mechanik
Dr.-Ing. Johannes Ackva
Markgrafenstr. 21
D 91717 Wassertrüdingen
www.code-aster.de
- Torben
- Topic Author
- Offline
- Premium Member
-
Less
More
- Posts: 91
- Thank you received: 1
15 years 10 months ago #3012
by Torben
Replied by Torben on topic Re:3D Beam modelling
Thank you very much that is very generous. The corresponding .comm, .hdf and .med are in the attached file. Meanwhile I tested to see if renumbering in SALOMÉ would change anything - which it did not.<br /><br />Post edited by: Torben, at: 2009/06/15 00:38
Moderators: catux
Time to create page: 0.159 seconds