EFICAS
- pierluigi
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 11
- Thank you received: 0
14 years 3 months ago #5285
by pierluigi
EFICAS was created by pierluigi
Hi,
i' m new in CAE linux but i find it very good project!
I need to do analysis with contact surfaces and different materials so i'd like to have a reference or guideline to implement it in aster and i know that it' necessary to use EFICAS, so could someone tell me or give me a guideline to use EFICAS or a simple .comm files with linear analysis with contact surfaces??
very thanks
i' m new in CAE linux but i find it very good project!
I need to do analysis with contact surfaces and different materials so i'd like to have a reference or guideline to implement it in aster and i know that it' necessary to use EFICAS, so could someone tell me or give me a guideline to use EFICAS or a simple .comm files with linear analysis with contact surfaces??
very thanks
- Marty
- Offline
- New Member
-
Less
More
- Posts: 14
- Thank you received: 0
14 years 2 months ago #5322
by Marty
Replied by Marty on topic Contact
Here is a file I used recently, I have edited it a little to remove extra junk, so I hope it doesnt have errors. This file is based on Code Aster 10.1 (the contact syntax has changed in version 10.3).
This is a model with multiple contacting areas defined under the concept 'CHA2'.
There are also 'weak springs' which I have physically modelled as simple line elements in the model. These are joined to the solid body within the comm file (using LIAISON_ELEM) to prevent rigid body motion.
It also makes use of 'post_releve_t' to give the summed forces on certain areas of interest, the results of which then appear in the .resu file. I always do this as a check that the model is behaving as expected.<br /><br />Post edited by: Marty, at: 2011/02/20 05:37
This is a model with multiple contacting areas defined under the concept 'CHA2'.
There are also 'weak springs' which I have physically modelled as simple line elements in the model. These are joined to the solid body within the comm file (using LIAISON_ELEM) to prevent rigid body motion.
It also makes use of 'post_releve_t' to give the summed forces on certain areas of interest, the results of which then appear in the .resu file. I always do this as a check that the model is behaving as expected.<br /><br />Post edited by: Marty, at: 2011/02/20 05:37
- Marty
- Offline
- New Member
-
Less
More
- Posts: 14
- Thank you received: 0
14 years 2 months ago #5323
by Marty
Replied by Marty on topic Re:Contact
It doesn't look like the file attached itself so here is the code
DEBUT();
MA=LIRE_MAILLAGE(UNITE=20,
FORMAT='MED',
NOM_MED='WNflg',
INFO_MED=1,);
#
MO=AFFE_MODELE(MAILLAGE=MA,
AFFE=(_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='3D',),
_F(GROUP_MA=('weakspg1','weakspg2','weakspg3','weakspg4',),
PHENOMENE='MECANIQUE',
MODELISATION='POU_D_T',),),);
#
WEAKSPRG=AFFE_CARA_ELEM(MODELE=MO,
POUTRE=(_F(GROUP_MA='weakspg1',
SECTION='CERCLE',
CARA='R',
VALE=2.0,),
_F(GROUP_MA='weakspg2',
SECTION='CERCLE',
CARA='R',
VALE=3.0,),
_F(GROUP_MA='weakspg3',
SECTION='CERCLE',
CARA='R',
VALE=3.0,),
_F(GROUP_MA='weakspg4',
SECTION='CERCLE',
CARA='R',
VALE=3.0,),),);
#
MA=MODI_MAILLAGE(reuse =MA,
MAILLAGE=MA,
ORIE_PEAU_3D=(_F(GROUP_MA='rcont1',),
_F(GROUP_MA='rcont2',),
_F(GROUP_MA='rcont3',),
_F(GROUP_MA='flangexy',),
_F(GROUP_MA='flangef2',),
_F(GROUP_MA='ringxy',),
_F(GROUP_MA='ringf2',),
_F(GROUP_MA='spacerxy',),
_F(GROUP_MA='gcont',),
_F(GROUP_MA='rsprg',),
_F(GROUP_MA='ssprg',),
_F(GROUP_MA='bsprg',),
_F(GROUP_MA='fsprg',),
_F(GROUP_MA='scont1',),
_F(GROUP_MA='scont2',),
_F(GROUP_MA='fcont',),
_F(GROUP_MA='fcont1',),
_F(GROUP_MA='fcont2',),
_F(GROUP_MA='wetted',),
_F(GROUP_MA='neck',),),);
#
SS304=DEFI_MATERIAU(ELAS=_F(E=200000.0,
NU=0.3,),);
SPWG=DEFI_MATERIAU(ELAS=_F(E=500.0,
NU=0.3,),);
#
CHMAT=AFFE_MATERIAU(MAILLAGE=MA,
MODELE=MO,
AFFE=(_F(TOUT='OUI',
MATER=SS304,),
_F(GROUP_MA='gskt',
MATER=SPWG,),),);
CHA1=AFFE_CHAR_MECA(MODELE=MO,
DDL_IMPO=(_F(GROUP_MA='gbase',
DX=0.0,
DY=0.0,),
_F(GROUP_MA='preload',
DY=-2.07,),
_F(GROUP_NO=('wsbase4','wsbase3','wsbase2','wsbase1',),
DX=0.0,
DY=0.0,
DZ=0.0,
DRZ=0.0,),),
FACE_IMPO=_F(GROUP_MA=('flangexy','flangef2','ringxy','ringf2','spacerxy','boltxy','gsktxy','gsktf2',),
DNOR=0.0,),
LIAISON_ELEM=(_F(OPTION='3D_POU',
GROUP_MA_1='rsprg',
GROUP_NO_2='conn1',
ANGL_MAX=5.0,),
_F(OPTION='3D_POU',
GROUP_MA_1='fsprg',
GROUP_NO_2='conn3',
ANGL_MAX=5.0,),
_F(OPTION='3D_POU',
GROUP_MA_1='bsprg',
GROUP_NO_2='conn4',
ANGL_MAX=5.0,),
_F(OPTION='3D_POU',
GROUP_MA_1='ssprg',
GROUP_NO_2='conn2',
ANGL_MAX=5.0,),),);
CHA2=AFFE_CHAR_MECA(MODELE=MO,
CONTACT=(_F(METHODE='PENALISATION',
GROUP_MA_MAIT='fcont1',
GROUP_MA_ESCL='rcont1',
APPARIEMENT='MAIT_ESCL',
E_N=2e+07,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),
_F(METHODE='PENALISATION',
GROUP_MA_MAIT='fcont2',
GROUP_MA_ESCL='scont1',
APPARIEMENT='MAIT_ESCL',
E_N=2e+07,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),
_F(METHODE='PENALISATION',
GROUP_MA_MAIT='rcont2',
GROUP_MA_ESCL='scont2',
APPARIEMENT='MAIT_ESCL',
E_N=2e+07,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),
_F(METHODE='PENALISATION',
GROUP_MA_MAIT='rcont3',
GROUP_MA_ESCL='bcont',
APPARIEMENT='MAIT_ESCL',
E_N=2e+07,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),
_F(METHODE='PENALISATION',
GROUP_MA_MAIT='fcont',
GROUP_MA_ESCL='gcont',
APPARIEMENT='MAIT_ESCL',
E_N=5000.0,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),),);
#
RAMPE=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,
1.0,1.0,
),PROL_DROITE='LINEAIRE',PROL_GAUCHE='LINEAIRE',);
#
L_INST=DEFI_LIST_REEL(DEBUT=0.,
INTERVALLE=_F(JUSQU_A=1.0,
NOMBRE=4,),);
#
U2M=STAT_NON_LINE(MODELE=MO,
CHAM_MATER=CHMAT,
CARA_ELEM=WEAKSPRG,
EXCIT=(_F(CHARGE=CHA1,
FONC_MULT=RAMPE,),
_F(CHARGE=CHA2,),),
COMP_ELAS=_F(RELATION='ELAS',),
INCREMENT=_F(LIST_INST=L_INST,),
CONVERGENCE=_F(RESI_GLOB_RELA=1.0E-5,
ITER_GLOB_MAXI=50,
ARRET='OUI',),
SOLVEUR=_F(SYME='OUI',),
NEWTON=_F(REAC_ITER=1,),);
U2M=CALC_ELEM(reuse =U2M,
RESULTAT=U2M,
TYPE_OPTION='TOUTES',
OPTION=('SIEF_ELNO_ELGA','SIGM_ELNO_SIEF','EQUI_ELNO_SIGM','EQUI_ELGA_SIGM',),);
U2M=CALC_NO(reuse =U2M,
RESULTAT=U2M,
OPTION=('REAC_NODA','FORC_NODA','SIEF_NOEU_ELGA','SIGM_NOEU_SIEF',),);
#
Reactsu1=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
INTITULE='Gasket reac',
RESULTAT=U2M,
NOM_CHAM='REAC_NODA',
GROUP_NO='gbaseno',
RESULTANTE=('DX','DY',),),);
Reactsu2=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
INTITULE='Inside Ring Reac',
RESULTAT=U2M,
NOM_CHAM='REAC_NODA',
GROUP_NO='rcontno',
RESULTANTE=('DX','DY','DZ',),),);
Reactsu3=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
INTITULE='Bolt load',
RESULTAT=U2M,
NOM_CHAM='REAC_NODA',
GROUP_NO='preldno',
RESULTANTE='DY',),);
#
IMPR_TABLE(TABLE=Reactsu1,);
IMPR_TABLE(TABLE=Reactsu2,);
IMPR_TABLE(TABLE=Reactsu3,);
#
IMPR_RESU(MODELE=MO,
FORMAT='MED',
UNITE=80,
RESU=_F(MAILLAGE=MA,
RESULTAT=U2M,),);
#
FIN();
#<br /><br />Post edited by: Marty, at: 2011/02/20 05:43
DEBUT();
MA=LIRE_MAILLAGE(UNITE=20,
FORMAT='MED',
NOM_MED='WNflg',
INFO_MED=1,);
#
MO=AFFE_MODELE(MAILLAGE=MA,
AFFE=(_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='3D',),
_F(GROUP_MA=('weakspg1','weakspg2','weakspg3','weakspg4',),
PHENOMENE='MECANIQUE',
MODELISATION='POU_D_T',),),);
#
WEAKSPRG=AFFE_CARA_ELEM(MODELE=MO,
POUTRE=(_F(GROUP_MA='weakspg1',
SECTION='CERCLE',
CARA='R',
VALE=2.0,),
_F(GROUP_MA='weakspg2',
SECTION='CERCLE',
CARA='R',
VALE=3.0,),
_F(GROUP_MA='weakspg3',
SECTION='CERCLE',
CARA='R',
VALE=3.0,),
_F(GROUP_MA='weakspg4',
SECTION='CERCLE',
CARA='R',
VALE=3.0,),),);
#
MA=MODI_MAILLAGE(reuse =MA,
MAILLAGE=MA,
ORIE_PEAU_3D=(_F(GROUP_MA='rcont1',),
_F(GROUP_MA='rcont2',),
_F(GROUP_MA='rcont3',),
_F(GROUP_MA='flangexy',),
_F(GROUP_MA='flangef2',),
_F(GROUP_MA='ringxy',),
_F(GROUP_MA='ringf2',),
_F(GROUP_MA='spacerxy',),
_F(GROUP_MA='gcont',),
_F(GROUP_MA='rsprg',),
_F(GROUP_MA='ssprg',),
_F(GROUP_MA='bsprg',),
_F(GROUP_MA='fsprg',),
_F(GROUP_MA='scont1',),
_F(GROUP_MA='scont2',),
_F(GROUP_MA='fcont',),
_F(GROUP_MA='fcont1',),
_F(GROUP_MA='fcont2',),
_F(GROUP_MA='wetted',),
_F(GROUP_MA='neck',),),);
#
SS304=DEFI_MATERIAU(ELAS=_F(E=200000.0,
NU=0.3,),);
SPWG=DEFI_MATERIAU(ELAS=_F(E=500.0,
NU=0.3,),);
#
CHMAT=AFFE_MATERIAU(MAILLAGE=MA,
MODELE=MO,
AFFE=(_F(TOUT='OUI',
MATER=SS304,),
_F(GROUP_MA='gskt',
MATER=SPWG,),),);
CHA1=AFFE_CHAR_MECA(MODELE=MO,
DDL_IMPO=(_F(GROUP_MA='gbase',
DX=0.0,
DY=0.0,),
_F(GROUP_MA='preload',
DY=-2.07,),
_F(GROUP_NO=('wsbase4','wsbase3','wsbase2','wsbase1',),
DX=0.0,
DY=0.0,
DZ=0.0,
DRZ=0.0,),),
FACE_IMPO=_F(GROUP_MA=('flangexy','flangef2','ringxy','ringf2','spacerxy','boltxy','gsktxy','gsktf2',),
DNOR=0.0,),
LIAISON_ELEM=(_F(OPTION='3D_POU',
GROUP_MA_1='rsprg',
GROUP_NO_2='conn1',
ANGL_MAX=5.0,),
_F(OPTION='3D_POU',
GROUP_MA_1='fsprg',
GROUP_NO_2='conn3',
ANGL_MAX=5.0,),
_F(OPTION='3D_POU',
GROUP_MA_1='bsprg',
GROUP_NO_2='conn4',
ANGL_MAX=5.0,),
_F(OPTION='3D_POU',
GROUP_MA_1='ssprg',
GROUP_NO_2='conn2',
ANGL_MAX=5.0,),),);
CHA2=AFFE_CHAR_MECA(MODELE=MO,
CONTACT=(_F(METHODE='PENALISATION',
GROUP_MA_MAIT='fcont1',
GROUP_MA_ESCL='rcont1',
APPARIEMENT='MAIT_ESCL',
E_N=2e+07,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),
_F(METHODE='PENALISATION',
GROUP_MA_MAIT='fcont2',
GROUP_MA_ESCL='scont1',
APPARIEMENT='MAIT_ESCL',
E_N=2e+07,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),
_F(METHODE='PENALISATION',
GROUP_MA_MAIT='rcont2',
GROUP_MA_ESCL='scont2',
APPARIEMENT='MAIT_ESCL',
E_N=2e+07,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),
_F(METHODE='PENALISATION',
GROUP_MA_MAIT='rcont3',
GROUP_MA_ESCL='bcont',
APPARIEMENT='MAIT_ESCL',
E_N=2e+07,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),
_F(METHODE='PENALISATION',
GROUP_MA_MAIT='fcont',
GROUP_MA_ESCL='gcont',
APPARIEMENT='MAIT_ESCL',
E_N=5000.0,
FROTTEMENT='COULOMB',
COULOMB=0,
E_T=1e6,),),);
#
RAMPE=DEFI_FONCTION(NOM_PARA='INST',VALE=(0.0,0.0,
1.0,1.0,
),PROL_DROITE='LINEAIRE',PROL_GAUCHE='LINEAIRE',);
#
L_INST=DEFI_LIST_REEL(DEBUT=0.,
INTERVALLE=_F(JUSQU_A=1.0,
NOMBRE=4,),);
#
U2M=STAT_NON_LINE(MODELE=MO,
CHAM_MATER=CHMAT,
CARA_ELEM=WEAKSPRG,
EXCIT=(_F(CHARGE=CHA1,
FONC_MULT=RAMPE,),
_F(CHARGE=CHA2,),),
COMP_ELAS=_F(RELATION='ELAS',),
INCREMENT=_F(LIST_INST=L_INST,),
CONVERGENCE=_F(RESI_GLOB_RELA=1.0E-5,
ITER_GLOB_MAXI=50,
ARRET='OUI',),
SOLVEUR=_F(SYME='OUI',),
NEWTON=_F(REAC_ITER=1,),);
U2M=CALC_ELEM(reuse =U2M,
RESULTAT=U2M,
TYPE_OPTION='TOUTES',
OPTION=('SIEF_ELNO_ELGA','SIGM_ELNO_SIEF','EQUI_ELNO_SIGM','EQUI_ELGA_SIGM',),);
U2M=CALC_NO(reuse =U2M,
RESULTAT=U2M,
OPTION=('REAC_NODA','FORC_NODA','SIEF_NOEU_ELGA','SIGM_NOEU_SIEF',),);
#
Reactsu1=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
INTITULE='Gasket reac',
RESULTAT=U2M,
NOM_CHAM='REAC_NODA',
GROUP_NO='gbaseno',
RESULTANTE=('DX','DY',),),);
Reactsu2=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
INTITULE='Inside Ring Reac',
RESULTAT=U2M,
NOM_CHAM='REAC_NODA',
GROUP_NO='rcontno',
RESULTANTE=('DX','DY','DZ',),),);
Reactsu3=POST_RELEVE_T(ACTION=_F(OPERATION='EXTRACTION',
INTITULE='Bolt load',
RESULTAT=U2M,
NOM_CHAM='REAC_NODA',
GROUP_NO='preldno',
RESULTANTE='DY',),);
#
IMPR_TABLE(TABLE=Reactsu1,);
IMPR_TABLE(TABLE=Reactsu2,);
IMPR_TABLE(TABLE=Reactsu3,);
#
IMPR_RESU(MODELE=MO,
FORMAT='MED',
UNITE=80,
RESU=_F(MAILLAGE=MA,
RESULTAT=U2M,),);
#
FIN();
#<br /><br />Post edited by: Marty, at: 2011/02/20 05:43
Moderators: catux
Time to create page: 0.119 seconds