×

Notice

The forum is in read only mode.

Verschiebungen und Lagerkräfte auch für NL Zwischenschritte >> Basis:Kw_plasticbeam_ca10.zip

  • MGolbs
  • MGolbs's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
13 years 2 months ago #5293 by MGolbs
Hallo,

habe auf Basis www.caelinux.org/wiki/images/6/63/Kw_plasticbeam_ca10.zip gerechnet und folgendes angesetzt:

[code:1]
DEBUT();


pmesh=LIRE_MAILLAGE(FORMAT='MED',);

pmode=AFFE_MODELE(MAILLAGE=pmesh,
AFFE=_F(TOUT='OUI',
PHENOMENE='MECANIQUE',
MODELISATION='3D',),);

#Material properties
Sigmaeps=DEFI_FONCTION(NOM_PARA='EPSI',
VALE=(0.0016, 330,
0.0032, 350,
0.0064, 367,
0.0128, 387,
0.0200, 401,
0.0270, 410,
0.0400, 420,
0.0700, 437,
0.1000, 450,
0.1500, 473,
0.2000, 490,
0.3000, 510,),
INTERPOL='LIN',PROL_DROITE='LINEAIRE',PROL_GAUCHE='EXCLU',);

#define plastic behaviour of steel by Traction
steel=DEFI_MATERIAU(ELAS=_F(E=2.1e5,NU=0.27,),
TRACTION=_F(SIGM=Sigmaeps,),);

pmesh=MODI_MAILLAGE(reuse =pmesh,
MAILLAGE=pmesh,
ORIE_PEAU_3D=_F(GROUP_MA=('Ftop',),),);

matprops=AFFE_MATERIAU(MAILLAGE=pmesh,AFFE=_F(TOUT='OUI',MATER=steel,),);


LoadFix=AFFE_CHAR_MECA(MODELE=pmode,
FACE_IMPO=(_F(GROUP_MA='Fbot',DZ=0.0,),),
DDL_IMPO=(_F(GROUP_MA='Lx',DY=0.0),
_F(GROUP_MA='Ly',DX=0.0),),);


# LoadPres will vary in the nonlinear calculation determined by the 'time' and 'ramp' function
# number of 'time' steps tsteps
# ramp increases from during
# 1.0 s: from 0.0 to 1.0,
# 0.1 s: constant at 1.0
# 1.0 s: from 1.0 down to 0.0
dt = 0.10
t0 = 0.00
t1 = 1.20
t2 = t1+dt
t3 = t2+2*t1
t4 = t3+dt
tsteps = int(t3*10)
disp = 0.0750
LoadPres=AFFE_CHAR_MECA(MODELE=pmode,
FACE_IMPO=(_F(GROUP_MA='Ftop',DZ=disp,),),);

ramp=DEFI_FONCTION(NOM_PARA='INST',
VALE=(t0, 0.00,
t1, 1.00,
t2, 1.00,
t3,-1.00,
t4,-1.00),
INFO=2,TITRE='ramp',);

time=DEFI_LIST_REEL(DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=t3,NOMBRE=tsteps,),
INFO=2,TITRE='time',);


deflist = DEFI_LIST_INST(DEFI_LIST=_F(METHODE ='AUTO',
LIST_INST = time,
PAS_MINI = 0.0005),)


Presul=STAT_NON_LINE(MODELE=pmode,
CHAM_MATER=matprops,
EXCIT=(_F(CHARGE=LoadFix,),
_F(CHARGE=LoadPres,FONC_MULT=ramp,),),
COMP_INCR=_F(RELATION='VMIS_ISOT_TRAC',
DEFORMATION='SIMO_MIEHE',
TOUT='OUI',),
INCREMENT=_F(LIST_INST= deflist,), #time,
NEWTON=_F(REAC_INCR=1,
MATRICE='TANGENTE',
REAC_ITER=1,),
CONVERGENCE=_F(ITER_GLOB_MAXI=20,),
ARCHIVAGE=_F(PAS_ARCH=1,),);

LinRes=MECA_STATIQUE(MODELE=pmode,
CHAM_MATER=matprops,
#CARA_ELEM=shellch,
EXCIT=(_F(CHARGE=LoadFix,),
_F(CHARGE=LoadPres,),),);

LinRes=CALC_ELEM(reuse = LinRes,
INFO=2,
CRITERE='RELATIF',
TYPE_OPTION='TOUTES',
OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM','SIEF_ELNO_ELGA','EPSI_ELNO_DEPL','EQUI_ELNO_EPSI',),
SOLVEUR=_F(RENUM='METIS',STOP_SINGULIER='OUI',METHODE='MULT_FRONT',NPREC=8),
PRECISION=9.9999999999999995E-07,
RESULTAT=LinRes,);

# calculate nodal equivalents and reaction forces
LinRes=CALC_NO(reuse =LinRes,
RESULTAT=LinRes,
OPTION= ('SIEF_NOEU_ELGA','SIGM_NOEU_DEPL','EQUI_NOEU_SIGM','EPSI_NOEU_DEPL','EQUI_NOEU_EPSI','FORC_NODA','REAC_NODA',),);

# Write Results to MED file
IMPR_RESU(FORMAT='MED',
UNITE=80,
RESU=(_F(RESULTAT=LinRes,
NOM_CHAM='DEPL',
NOM_CMP=('DX','DY','DZ',),),
_F(RESULTAT=LinRes,
NOM_CHAM='SIEF_NOEU_ELGA',),
#NOM_CMP=('SIXX','SIYY','SIZZ',),),
_F(RESULTAT=LinRes,
NOM_CHAM='SIGM_NOEU_DEPL',),
_F(RESULTAT=LinRes,
NOM_CHAM='EQUI_ELNO_SIGM',),
_F(#MAILLAGE=pmesh,
RESULTAT=LinRes,
NOM_CHAM='EQUI_NOEU_SIGM',),),);

IMPR_RESU(FORMAT='MED',
UNITE=80,
RESU=(_F(#MAILLAGE=pmesh,
RESULTAT=LinRes,
NOM_CHAM='EPSI_ELNO_DEPL',),
_F(#MAILLAGE=pmesh,
RESULTAT=LinRes,
NOM_CHAM='EQUI_ELNO_EPSI',),),);

pmesh=DEFI_GROUP(reuse =pmesh,
MAILLAGE=pmesh,
CREA_GROUP_NO=_F(NOM='Nreac',GROUP_MA='Fbot',),);

pmesh=DEFI_GROUP(reuse =pmesh,
MAILLAGE=pmesh,
CREA_GROUP_NO=_F(NOM='Nforce',GROUP_MA='Ftop',),);


TB_nodf=POST_RELEVE_T(ACTION=(_F(OPERATION='EXTRACTION',
INTITULE='displacements',
RESULTAT=LinRes,
NOM_CHAM='DEPL',
TOUT_ORDRE='OUI',
GROUP_NO='Nforce',
RESULTANTE=('DX','DY','DZ',),
MOYE_NOEUD='NON',),
_F(OPERATION='EXTRACTION',
INTITULE='ReactionForces',
RESULTAT=LinRes,
NOM_CHAM='REAC_NODA',
TOUT_ORDRE='OUI',
GROUP_NO='Nreac',
RESULTANTE=('DX','DY','DZ',),
MOYE_NOEUD='NON',),
_F(OPERATION='EXTRACTION',
INTITULE='NodalForces',
RESULTAT=LinRes,
NOM_CHAM='FORC_NODA',
PRECISION=0.000001,
GROUP_NO='Nreac',
RESULTANTE=('DX','DY','DZ',),),),
TITRE='[Reaction] Nodal Forces',);

IMPR_TABLE(TABLE=TB_nodf,
FORMAT='TABLEAU',
UNITE=26,
SEPARATEUR=' * ',
TITRE='displacements at nodes on group Nforce',);







FIN();


####
# follow by vbeam_zi.comm for determination of stresses, strains, ...
####

[/code:1]

Ergebnis in *.dat [26]

#
#


#
#displacements at nodes on group Nforce
#[Reaction] Nodal Forces
* INTITULE * RESU * NOM_CHAM * NUME_ORDRE * INST * DX * DY * DZ
* displacements * LinRes * DEPL * 1 * 0.00000E+00 * -6.39474E-03 * -1.20621E-02 * 1.12500E+00
* ReactionForces * LinRes * REAC_NODA * 1 * 0.00000E+00 * -1.98219E-12 * -9.81322E-12 * -9.94737E+02
* NodalForces * LinRes * FORC_NODA * 1 * 0.00000E+00 * -1.98219E-12 * -9.81322E-12 * -9.94737E+02


Kann ich diese Ausgabe auch für jeden Zwischenschritt bei der NL-Analyse erhalten?


Gruß und Dank Markus

Dem Überflüssigen nachlaufen, heißt das Wesentliche verpassen.
Jules Saliège
Moderators: catux
Time to create page: 0.111 seconds
Powered by Kunena Forum