Welcome to the forums. Please post in English or French.

You are not logged in.

#1 Re: Code_Aster usage » EXTR_TABLE still works to extract data from the Post_Releve_T table? » 2019-09-14 08:26:46

Hello maxmss,
your code works fine if launched outside of Asterstudy with as_run, as you can see in the attached mess file.

Your problem comes probably from the fact that Asterstudy moves the variables at the beginning of the script, so TBL is not created yet. You should split your stage into 2 stages with the 2nd stage beginning with VAR1 = TBL.EXTR_TABLE().

Konyaro

#2 Re: Code_Aster usage » Contact avec friction -> problème de corps rigide & matrice singuliere » 2019-09-01 08:52:03

Les corps peuvent être interpénétrés au départ, tangents ou distants. Du moment que vous utilisez des ressorts de faible raideur pour stabiliser les 2 corps libres, les 3 variantes doivent converger.

#3 Re: Code_Aster usage » Contact avec friction -> problème de corps rigide & matrice singuliere » 2019-08-23 18:18:03

Bonjour,
je crois avoir compris ce que voulez faire. Le fichier comm ci-joint avec des contacts pénalisés et des ressorts sur les 2 pièces intérieures devrait fonctionner. Il faut sans doute ajuster les rigidités des ressorts et des contacts.

Konyaro

#4 Re: Code_Aster usage » Contact avec friction -> problème de corps rigide & matrice singuliere » 2019-08-19 21:23:05

J'ai trouvé un maillage dans votre premier post. J'ai corrigé 2-3 choses dans votre fichier comm. Vous pouvez l'essayer avec un maillage avec interférence car le maillage de votre premier post n'a pas d'interférence.

#5 Re: Code_Aster usage » Contact avec friction -> problème de corps rigide & matrice singuliere » 2019-08-19 20:40:36

Bonjour,
vos corps peuvent être interpénétrés au départ, l'option CONTACT_INIT = 'INTERPENETRE' étant définie par défaut. En théorie le contact CONTINUE peut gérer votre cas sans ressorts de faibles raideurs mais dans la pratique votre calcul convergera beaucoup plus facilement avec.

Concernant ces ressorts, la méthode de Jean-Pierre décrite ci-dessus fonctionne mais je trouve plus simple d'utiliser des éléments discrets K_T_D_N comme expliqué dans la doc U2.04.04, §4.4.2 ou dans le post https://code-aster.org/forum2/viewtopic.php?id=13055.

Pour le reste, difficile de vous conseiller sans maillage ou fichier mess. J'ajouterais une méthode de découpe du pas de temps en cas de non convergence, pas exemple:

times2 = DEFI_LIST_INST(DEFI_LIST=_F(LIST_INST=times1,
                                     PAS_MINI=0.0001),
                        METHODE='AUTO')

Konyaro

#6 Re: Code_Aster usage » contact interpénétration et questions diverses » 2019-05-26 07:46:50

Bonjour,
J’effectuerais plutôt la simulation sur un pas de dent avec un incrément de temps faible afin de bien capter toutes les positions. Il est néanmoins possible d'effectuer la simulation sur 360° afin d'obtenir une "jolie animation". Ci-dessous le couple résistif est défini à l'aide d'une pression avec charge suiveuse pour générer un couple résistif d'où une concentration de contraintes. Le pas de temps est trop grand pour capter correctement les variations de couple (graphe à droite):

Engrenage

#7 Re: Code_Aster usage » No results when using SIEF » 2019-05-23 06:17:43

Hello,
I don't know why but if I uncheck the reslin_SIEF_ELGA in Paraview it works:

Results Paraview

Konyaro

#8 Re: Code_Aster usage » contact interpénétration et questions diverses » 2019-05-02 06:27:20

Bonjour,
vous avez mis une grande rigidité en rotation pour le P1:

REPERE='GLOBAL',
GROUP_MA = ('P1',),
CARA='K_TR_D_N',
VALE=(0.05,0.05,1e7),
REPERE='GLOBAL',

Les concentrations de contraintes ont l'air de disparaître en diminuant cette valeur.

Konyaro

#9 Re: Salome-Meca usage » Time set after running simulation » 2019-05-01 08:01:09

Hello,
I asked the same question in 2017:
https://code-aster.org/forum2/viewtopic.php?id=23106

This issue is solved in the 2018 version.

Konyaro

#10 Re: Code_Aster usage » contact interpénétration et questions diverses » 2019-04-22 08:39:41

Bonjour,
je pense qu'une modélisation C_PLAN est plus appropriée, cf. fichier comm ci-joint. Les contacts ont été modifiés (arrêtes-arrêtes).

Konyaro

#11 Re: Code_Aster usage » CALC_PRESSION and LAGS_C » 2019-03-29 06:33:01

Hello Manolo,
I don’t know why CALC_PRESSION  doesn’t give the same results than LAGS_C. Did you try with GEOMETRIE =  'DEFORMEE'  and  'INITIALE' ?

What I know is that it’s impossible to get a correct contact pressure with such a coarse mesh. The mesh must be very fine (10-20x finer I guess) in order to get close to the real area in contact. The finer you mesh it the closer you will get to the Hertz formulas.

Konyaro

#12 Re: Code_Aster usage » Contact-C_PLAN » 2019-03-20 18:33:48

You apply a displacement of 100 in one step so the body goes through the other one without contact:

No contact

#13 Re: Code_Aster usage » How to plot stress strain curve » 2019-02-23 11:32:03

Within CA or Paraview? Within CA I would do the following:

table1 = POST_RELEVE_T(ACTION=_F(GROUP_NO=('dispZ', ),
                                 INTITULE='Forces',
                                 NOM_CHAM='FORC_NODA',
                                 OPERATION=('EXTRACTION', ),
                                 RESULTANTE=('DZ', ),
                                 RESULTAT=resu1))

table2 = POST_RELEVE_T(ACTION=_F(INTITULE='Disps',
                                 NOM_CHAM='DEPL',
                                 NOM_CMP=('DZ', ),
                                 OPERATION=('EXTREMA', ),
                                 RESULTAT=resu1))

tab01 = table1.EXTR_TABLE()
Forces = []
for l in tab01:
    Forces.append(abs(float(l['DZ'])))
                
tab02 = table2.EXTR_TABLE()
dispMax = []
for l in tab02:
    if l['EXTREMA'] == 'MAXI_ABS':
        dispMax.append(l['VALE'])

import matplotlib.pyplot as plt
fig1, ax1 = plt.subplots(1, 1)
ax1.plot(dispMax, Forces, '-o')
ax1.set_xlabel('DEPL max')
ax1.set_ylabel('abs(sum(FORC_NODA))')
ax1.grid(True)
plt.show()

#14 Re: Code_Aster usage » [SOLVED]Problem:the matrix is singular or almost singular.... » 2019-02-22 17:29:40

Hello,
You can transform your STAT_NON_LINE to DYNA_NON_LINE keeping exactly the same boundary conditions and adding, for instance:

SCHEMA_TEMPS=_F(SCHEMA='HHT',
                ALPHA=-0.3,
                FORMULATION='DEPLACEMENT',),

All the initial velocities and accelerations will be automatically set to zero.
Without damping your net will be oscillating forever so it will be hard to compare the results with the static analysis.
You can add damping either in the materials or use a dissipative scheme, for instance HHT with a low alpha-value, for instance -0.3. That should stabilize the net after a few oscillations.

Konyaro

#15 Re: Code_Aster usage » How to plot stress strain curve » 2019-02-17 07:28:13

table0 = POST_ELEM(MINMAX=_F(GROUP_MA=('v1', ),
                             NOM_CHAM='SIGM_ELGA',
                             NOM_CMP=('SIXX', ),
                             RESULTAT=resu1,
                             TOUT_ORDRE='OUI'))

I tried this code with v1 containing only one 3D element and it works.

#16 Re: Code_Aster usage » How to plot stress strain curve » 2019-02-15 21:07:52

Hello,
you can print the min/max values of the SIGM_ELGA with:

table0 = POST_ELEM(MINMAX=_F(NOM_CHAM='SIGM_ELGA',
                             NOM_CMP=('SIXX', ),
                             RESULTAT=resu1,
                             TOUT='OUI',
                             TOUT_ORDRE='OUI'))

IMPR_TABLE(TABLE=table0,
           UNITE=8)

You can also plot them, for instance:

tab01 = table0.EXTR_TABLE()

timeV = []
maxV = []
for l in tab01:
    timeV.append(l['INST'])
    maxV.append(l['MAX_SIXX'])

import matplotlib.pyplot as plt
fig1, ax1 = plt.subplots(1, 1)
ax1.plot(timeV, maxV, '-o')
ax1.set_xlabel('time')
ax1.set_ylabel('SIXX')
fig1.savefig('/home/konyaro/Aster/fig1.png')
plt.show()

Konyaro

#17 Re: Code_Aster usage » [SOLVED]Problem:the matrix is singular or almost singular.... » 2019-02-13 20:50:42

chenghui62000 wrote:

5. Is the thermal dilation coefficient is necessary during the material definition? I have deleted this parameter, and the simulation can still give the same results.

Useless because no thermal load.

chenghui62000 wrote:

6. The initial load (pre-tension, I think) is important for the simulation because it can avoid the singular matrix. But, it won't bring overestimation in the final results?

According to U4.42.01 §16.3:
"This keyword makes it possible to define an initial pre-tensioning allowing the convergence of
calculation into nonlinear (it is thus useless into linear). It is applied only to the first step of time. "
Therefore it does'nt affect the final result, you can try to modify this value, it has no effect.

chenghui62000 wrote:

7. There only two forces on the nodes are actually applied to the simulation, I could find the reason why. because I think I have applied all the three node forces in my comm file.

The force F3 is applied to the GROUP_NO F2.

#18 Re: Code_Aster usage » [solved] thickness for C_PLAN and D_PLAN » 2019-02-13 07:10:02

Hello nirmaljoshi,
it's not possible. What I usually do when I deal with several parts with different thicknesses is changing the Young's modulus. For instance:

part 1: thickness = 1.0: E = 200'000 MPa
part 2: thickness = 0.5: E = 100'000 MPa

Konyaro

#19 Re: Code_Aster usage » postprocess without re-running the whole analysis » 2019-02-06 11:37:23

You must click on stage 2 only. If it doesn't work that means you didn't save the base of the first analysis (Reusable) and that the results of the first stage don't exist anymore.

#20 Re: Code_Aster usage » postprocess without re-running the whole analysis » 2019-02-06 09:33:35

Hello,
with Asterstudy:
The first analysis must have been done with "Reusable" in order to keep the base.

1-2) Add a new stage with the post-processing
3-4) Run only the new stage

Asterstudy poursuite

Konyaro

#21 Re: Code_Aster usage » [SOLVED]Problem:the matrix is singular or almost singular.... » 2019-02-04 22:32:13

nice! I tried to remove the gravity at the end of the simulation and it does converge. The gravity is really needed at the very beginning of the simulation, that was a good idea Jean-Pierre!

#22 Re: Code_Aster usage » [SOLVED]Problem:the matrix is singular or almost singular.... » 2019-02-03 22:53:57

Hello Jean-Pierre,
attached the original comm file, the modified ones and the mesh.

Regards,

Konyaro

#23 Re: Code_Aster usage » [SOLVED]Problem:the matrix is singular or almost singular.... » 2019-02-03 07:51:38

Hello,
I found dbpatankar's answer very interesting so I tried to run the analysis with DYNA_NON_LINE in order to overcome instabilities and understand the problem better.

The deformations seem correct with POU_D_T but not with BARRE elements:

POU_D_T vs BARRE

I cannot figure out why the BARRE deformation is so strange, is it because of the vertical loads on horizontal elements? The deformations of the BARRE elements are huge, on the above picture I reduced the forces by 100 in order to be able to display it.

Konyaro

#24 Re: Code_Aster usage » Post-processing issues » 2019-01-01 22:34:44

Hello Anirudh,
this topic has been discussed in different posts, for instance:
https://code-aster.org/forum2/viewtopic … 012#p58012

It'a a pity to have to open the results twice but it's the only workaround I found.

Konyaro

#25 Re: Code_Aster usage » [solved] matrix factorization error and duplicate nodes » 2018-12-23 22:07:03

Hello Nirmaljoshi,
There is one DOF which is not constrained: the X rotation around the node 'supportnode'.

Even after adding a second node to 'supportnode' in order to constrain that DOF, the matrix remains singular.

I tried to re-mesh your geometry and it works. I don't know why your mesh doesn't work, there are some elements with poor aspect ratio (>6) but I don't think that should make the matrix singular.

I decreased your nodal force from 50000 to 50 because the deformation was huge.

I attach the old mesh, the modified mesh and the modified comm file.

Any ideas why the first mesh doesn't work are welcome.

Good luck,

Konyaro