hello,
i have created a dyna_non_line simulation in salome meca, in which i insert/remove a rotative velocity and acceleration each via a function. The rotational speed is slowed down (reversed) from 1 to -1. The rotating part is therefore accelerated negatively until the speed in the other direction corresponds to the starting speed.
funcRotation = DEFI_FONCTION(NOM_PARA=‘INST’,
VALE=(0.0, 1.0, 0.002, 1.0, 0.004, 0.0, 0.006, -1.0, 0.008, -1.0))
funcACC = DEFI_FONCTION(NOM_PARA=‘INST’,
VALE=(0.0, 0.0, 0.002, 0.0, 0.0021, 1.0, 0.006, 1.0, 0.0061, 0.0, 0.008, 0.0))
Now my problem is that the representation in ParaView is not quite right. the rotating components are shown pointing inwards after the acceleration, although the force should pull them outwards.
If I display the displacements for individual points, the correct ones are written out (IMPR_RESU; IMPR_TABLE).
What do I have to do so that the display in ParaView matches the results?
Many thanks in advance!
Here is my complete script:
DEBUT(LANG='EN')
E = 80000
nu = 0.23
rho = 2.5e-09
tfin = 0.008
pas = 80
tb = 0.002
dens = 2.5e-9
ACC_EX = 0
ACC_EY = 0
phi = 21
ts = 0.01
v = phi / ts / 180 * pi
az = v / tb
ACC_EZ = az
mesh = LIRE_MAILLAGE(FORMAT='MED',
UNITE=20)
model = AFFE_MODELE(AFFE=_F(MODELISATION='3D',
PHENOMENE='MECANIQUE',
TOUT='OUI'),
MAILLAGE=mesh)
MATERIAL = DEFI_MATERIAU(ELAS=_F(E=E,
NU=nu,
RHO=rho))
mater = AFFE_MATERIAU(AFFE=_F(MATER=(MATERIAL, ),
TOUT='OUI'),
MODELE=model)
funcRotation = DEFI_FONCTION(NOM_PARA='INST',
VALE=(0.0, 1.0, 0.002, 1.0, 0.004, 0.0, 0.006, -1.0, 0.008, -1.0))
funcACC = DEFI_FONCTION(NOM_PARA='INST',
VALE=(0.0, 0.0, 0.002, 0.0, 0.0021, 1.0, 0.006, 1.0, 0.0061, 0.0, 0.008, 0.0))
F_X = FORMULE(NOM_PARA=('X', 'Y', 'Z'),
VALE='(ACC_EYsqrt(XX+ZZ)cos(atan2(X,Z))(dens))(-1)+(ACC_EZsqrt(XX+YY)sin(atan2(Y,X))*(dens))',
ACC_EY=ACC_EY,
ACC_EZ=ACC_EZ,
dens=dens)
F_Y = FORMULE(NOM_PARA=('X', 'Y', 'Z'),
VALE='(ACC_EXsqrt(YY+ZZ)sin(atan2(Z,Y))(dens))+(ACC_EZsqrt(XX+YY)cos(atan2(Y,X))(dens))*(-1)',
ACC_EX=ACC_EX,
ACC_EZ=ACC_EZ,
dens=dens)
F_Z = FORMULE(NOM_PARA=('X', 'Y', 'Z'),
VALE='(ACC_EXsqrt(YY+ZZ)cos(atan2(Z,Y))(dens))(-1)+(ACC_EYsqrt(XX+ZZ)sin(atan2(X,Z))*(dens))',
ACC_EX=ACC_EX,
ACC_EY=ACC_EY,
dens=dens)
listr = DEFI_LIST_REEL(DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=tfin,
NOMBRE=pas))
times = DEFI_LIST_INST(DEFI_LIST=_F(LIST_INST=listr),
MODELE=model)
ACC_ANG = AFFE_CHAR_MECA_F(FORCE_INTERNE=_F(FX=F_X,
FY=F_Y,
FZ=F_Z,
TOUT='OUI'),
MODELE=model)
BLOCARGE = AFFE_CHAR_MECA(DDL_IMPO=_F(DX=0.0,
DY=0.0,
DZ=0.0,
GROUP_MA=('Fix', )),
MODELE=model)
Rotation = AFFE_CHAR_MECA(MODELE=model,
ROTATION=_F(AXE=(0.0, 0.0, 1.0),
CENTRE=(0.0, 0.0, 0.0),
VITESSE=v))
resnonl = DYNA_NON_LINE(ARCHIVAGE=F(LIST_INST=listr),
CHAM_MATER=mater,
EXCIT=(F(CHARGE=ACC_ANG,
FONC_MULT=funcACC),
_F(CHARGE=BLOCARGE),
F(CHARGE=Rotation,
FONC_MULT=funcRotation)),
INCREMENT=F(LIST_INST=times),
MODELE=model,
SCHEMA_TEMPS=_F(FORMULATION='ACCELERATION',
SCHEMA='NEWMARK'))
table = POST_RELEVE_T(ACTION=_F(GROUP_NO=('Mirror_Points', ),
INTITULE='Verschiebung',
NOM_CHAM='DEPL',
OPERATION=('EXTRACTION', ),
RESULTAT=resnonl,
TOUT_CMP='OUI'))
IMPR_RESU(FORMAT='MED',
RESU=_F(RESULTAT=resnonl),
UNITE=2)
IMPR_TABLE(FORMAT='TABLEAU',
SEPARATEUR=' ,',
TABLE=table,
UNITE=8)
FIN()