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

You are not logged in.

#1 2020-10-08 12:46:04

Clement M
Member
Registered: 2020-10-08
Posts: 10

How to increase the speed

Hello,
I am working on code aster to analyse the expansion of a pipe in rotation in two dimension. I created a code which is working but I have some issue with convergence at high speed. I think it s because I am using a constant speed. So I am trying to increase it from 0 to max but I didn t achieve to do that for now. You will find attached my code aster code, gro_face is the the internal circle of my 2d pipe.


Attachments:
cylinder3.comm, Size: 3.51 KiB, Downloads: 8

Offline

#2 2020-10-08 12:48:36

Clement M
Member
Registered: 2020-10-08
Posts: 10

Re: How to increase the speed

I tried to work with dtheta but I didn t achieve to do it, you will find attached my code with increasing dtheta. If you have any idea how to do it or if you want to tell my if my code is good for you I will highly appreciate it.
Thanks for advance and have a nice day


Attachments:
cylinder5.comm, Size: 3.73 KiB, Downloads: 13

Offline

#3 2020-10-08 15:52:59

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

for me your problem is the dscretization of time steps, you should introduce something similar of PAS_MINI.

Offline

#4 2020-10-08 22:14:01

Clement M
Member
Registered: 2020-10-08
Posts: 10

Re: How to increase the speed

Ok thanks a lot I will try it. But to be closer for my experimental plots I think I will need to have an increasing speed anyway. Do you know how I should do it ?

Offline

#5 2020-10-09 07:04:49

sameer21101970
Member
Registered: 2019-09-06
Posts: 246

Re: How to increase the speed

Define Rotation - Velocity in r/sec. even for 180 degree you get perfect data irrespective of speed in rpm.

Offline

#6 2020-10-09 09:59:38

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

Clement M wrote:

Ok thanks a lot I will try it. But to be closer for my experimental plots I think I will need to have an increasing speed anyway. Do you know how I should do it ?

i don't understand good the problem : see the picture attached where there is which you do

Offline

#7 2020-10-09 10:06:24

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

see attachement


Attachments:
IMG_2250.JPG, Size: 99.88 KiB, Downloads: 42

Offline

#8 2020-10-09 14:25:29

Clement M
Member
Registered: 2020-10-08
Posts: 10

Re: How to increase the speed

Thanks a lot for your answers
Yes it is basicly what I want to do.
To explain you a bit better I am in intership and my goal is to simulate the expansion of a flywheel. Some experiments with the same flywheel at different speed were made and my aim is to be as close as possible from this results. But before working with this complex object I am simulating a simple cylinder with an hole, so a pipe, in two dimension.
It seems to work fine but I can t do a lot of revolution at high speed (my goal is 20 000 rpm) because I have convergence problem. So I need to have an extremely small timestep and I have problem with memory.
So to solve this problem and to be closer from the experiments I am trying to have a speed which goes from 0 to 20 000 rpm in few seconds and not directly 20 000 rpm during the whole simulation. As I didn t have the speed in my rotation formula I was trying to change an other parameter. I try with dtheta but as it wasn t a scalar anymore it wasn t recognized in the formula and it didn t work. So I don t really know what to do. I hope you will understand better my problem.
What you send me seems way better but I don t understand why cos(t) and how to define n(dt) in code aster. 
Thanks again for your help I really appreciate it.

Offline

#9 2020-10-09 17:22:46

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

i wrote cost = constant, n(t) for say rpm like a function of time, strictly : constant+rpm(t)

thinking :

if is possible in code aster introduces a formula into an other formula you can resolve your problem,

example :

tournex = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
                  VALE='sqrt(X*X+Y*Y)*cos(atan2(Y,X)+DTH*INST)-X',
                  DTH=DTH)

tourney = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
                  VALE='sqrt(X*X+Y*Y)*sin(atan2(Y,X)+DTH*INST)-Y',
                  DTH=DTH)


DTH= omega = 2*pi*rpm/60

rpm = function(time) -> function that exist between 0 and 20000, function that you must create :-)

can this for you right ??? :-)

Offline

#10 2020-10-09 18:41:42

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

you can try with a simple linear function :

DTH= constant*INST

using DEFI_LIST_REEL

imposing in DEFI_LIST_INST a very little PAS_MINI in authomatic mode

probably, if computer's memory supports the computation, you can go out from your problem

:-)

Offline

#11 2020-10-09 20:29:42

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

hi,

with this command file the simulation runs.

tstep = 1

mesh = LIRE_MAILLAGE(FORMAT='MED',
                     UNITE=20)

model = AFFE_MODELE(AFFE=_F(MODELISATION=('3D', ),
                            PHENOMENE='MECANIQUE',
                            TOUT='OUI'),
                    MAILLAGE=mesh)

ys = DEFI_CONSTANTE(VALE=210000000000.0)

ps = DEFI_CONSTANTE(VALE=0.3)

ds = DEFI_CONSTANTE(VALE=8000.0)

steel = DEFI_MATERIAU(ECRO_LINE=_F(D_SIGM_EPSI=1100000000.0,
                                   SY=700000000.0),
                      ELAS_FO=_F(E=ys,
                                 NU=ps,
                                 RHO=ds))

fieldmat = AFFE_MATERIAU(AFFE=_F(MATER=(steel, ),
                                 TOUT='OUI'),
                         MODELE=model)

listr = DEFI_LIST_REEL(DEBUT=0.0,
                       INTERVALLE=_F(JUSQU_A=5.0,
                                     PAS=tstep))

times = DEFI_LIST_INST(DEFI_LIST=_F(LIST_INST=listr,
                                    PAS_MINI=1e-07),
                       METHODE='AUTO')

xx = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
             VALE='sqrt(X*X+Y*Y)*cos(atan2(Y,X)+419*INST*INST)-X')

yy = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
             VALE='sqrt(X*X+Y*Y)*sin(atan2(Y,X)+419*INST*INST)-Y')

rota = AFFE_CHAR_MECA_F(DDL_IMPO=_F(DX=xx,
                                    DY=yy,
                                    GROUP_NO=('rot', )),
                        MODELE=model)

resnonl = DYNA_NON_LINE(CHAM_MATER=fieldmat,
                        COMPORTEMENT=_F(DEFORMATION='SIMO_MIEHE',
                                        RELATION='VMIS_ISOT_LINE'),
                        CONVERGENCE=_F(ITER_GLOB_MAXI=30),
                        EXCIT=_F(CHARGE=rota),
                        INCREMENT=_F(LIST_INST=times),
                        MODELE=model,
                        NEWTON=_F(MATRICE='TANGENTE',
                                  PREDICTION='TANGENTE'),
                        SCHEMA_TEMPS=_F(FORMULATION='DEPLACEMENT',
                                        SCHEMA='HHT'),
                        SOLVEUR=_F(METHODE='MUMPS'))

resnonl = CALC_CHAMP(reuse=resnonl,
                     CRITERES=('SIEQ_ELGA', ),
                     RESULTAT=resnonl)

IMPR_RESU(FORMAT='MED',
          RESU=_F(RESULTAT=resnonl),
          UNITE=80)

p.s :

419 = 2*pi*20000/ (60*5)

5 = time end

the geometry is attached
and you must introduce in time camp NOT 10 but 24 (h).

Units : Interational Standards

Last edited by mib (2020-10-09 20:35:12)


Attachments:
disc.zip, Size: 126.88 KiB, Downloads: 10

Offline

#12 2020-10-10 10:09:38

clems238
Member
Registered: 2020-09-06
Posts: 6

Re: How to increase the speed

I don't know what to say thank you so much for your time you are awesome

Offline

#13 2020-10-10 13:15:41

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

ha!

i'm unemployed,

i spend my time NOT for do criminal's things
BUT
studing something.

Can you tell me if the study with that command file converge ???

My p.c. stops the computation it goes crazy with memory :-D

Last edited by mib (2020-10-10 13:19:25)

Offline

#14 2020-10-10 18:28:34

Clement M
Member
Registered: 2020-10-08
Posts: 10

Re: How to increase the speed

Yes it is working fine thanks.
Just one last thing. Instead of having this increasement during the whole simulation I would like to have it only frew seconds. For exemple If I have a 5 seconds simulation I would like to have my increasement from 0 to 20 000 rpm the 2 first seconds and then stay at 20 000 rpm 3 seconds. I worked with formula as you did and so if I make it simple I will need to have
- sqrt(X*X+Y*Y)*cos(atan2(Y,X)+(Vradps/2)*INST*INST)-X    between 0 and 2 seconds
- sqrt(X*X+Y*Y)*cos(atan2(Y,X)+(Vradps*INST)-X                    between 2 and 5 seconds
Vradps is my speed in radian per seconds so 52rad/s.
I try to search how to have two different formula depending of the time but I didn t find how to do it.
Would you know the way ?

Last edited by Clement M (2020-10-10 18:36:34)

Offline

#15 2020-10-10 23:51:02

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

try with two stages :

tstep = 1

mesh = LIRE_MAILLAGE(FORMAT='MED',
                     UNITE=20)

model = AFFE_MODELE(AFFE=_F(MODELISATION=('3D', ),
                            PHENOMENE='MECANIQUE',
                            TOUT='OUI'),
                    MAILLAGE=mesh)

ys = DEFI_CONSTANTE(VALE=210000000000.0)

ps = DEFI_CONSTANTE(VALE=0.3)

ds = DEFI_CONSTANTE(VALE=8000.0)

steel = DEFI_MATERIAU(ECRO_LINE=_F(D_SIGM_EPSI=1100000000.0,
                                   SY=700000000.0),
                      ELAS_FO=_F(E=ys,
                                 NU=ps,
                                 RHO=ds))

fieldmat = AFFE_MATERIAU(AFFE=_F(MATER=(steel, ),
                                 TOUT='OUI'),
                         MODELE=model)

listr = DEFI_LIST_REEL(DEBUT=0.0,
                       INTERVALLE=_F(JUSQU_A=2.0,
                                     PAS=tstep))

times = DEFI_LIST_INST(DEFI_LIST=_F(LIST_INST=listr,
                                    PAS_MINI=1e-12),
                       METHODE='AUTO')

xx = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
             VALE='sqrt(X*X+Y*Y)*cos(atan2(Y,X)+419*INST*INST)-X')

yy = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
             VALE='sqrt(X*X+Y*Y)*sin(atan2(Y,X)+419*INST*INST)-Y')

xxa = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
              VALE='sqrt(X*X+Y*Y)*cos(atan2(Y,X)+419*INST)-X')

yya = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
              VALE='sqrt(X*X+Y*Y)*sin(atan2(Y,X)+419*INST)-Y')

listra = DEFI_LIST_REEL(DEBUT=2.0,
                        INTERVALLE=_F(JUSQU_A=5.0,
                                      PAS=tstep))

timesa = DEFI_LIST_INST(DEFI_LIST=_F(LIST_INST=listra,
                                     PAS_MINI=1e-12),
                        METHODE='AUTO')

rota = AFFE_CHAR_MECA_F(DDL_IMPO=_F(DX=xx,
                                    DY=yy,
                                    GROUP_NO=('rot', )),
                        MODELE=model)

rotaa = AFFE_CHAR_MECA_F(DDL_IMPO=_F(DX=xxa,
                                     DY=yya,
                                     GROUP_NO=('rot', )),
                         MODELE=model)

resnonl = DYNA_NON_LINE(CHAM_MATER=fieldmat,
                        COMPORTEMENT=_F(DEFORMATION='SIMO_MIEHE',
                                        RELATION='VMIS_ISOT_LINE'),
                        CONVERGENCE=_F(ITER_GLOB_MAXI=30),
                        EXCIT=_F(CHARGE=rota),
                        INCREMENT=_F(LIST_INST=times),
                        MODELE=model,
                        NEWTON=_F(MATRICE='TANGENTE',
                                  PREDICTION='TANGENTE'),
                        SCHEMA_TEMPS=_F(FORMULATION='DEPLACEMENT',
                                        SCHEMA='HHT'),
                        SOLVEUR=_F(METHODE='MUMPS'))

resnonl = CALC_CHAMP(reuse=resnonl,
                     CRITERES=('SIEQ_ELGA', ),
                     RESULTAT=resnonl)

IMPR_RESU(FORMAT='MED',
          RESU=_F(RESULTAT=resnonl),
          UNITE=80)

resnonla = DYNA_NON_LINE(CHAM_MATER=fieldmat,
                         COMPORTEMENT=_F(DEFORMATION='SIMO_MIEHE',
                                         RELATION='VMIS_ISOT_LINE'),
                         CONVERGENCE=_F(ITER_GLOB_MAXI=30),
                         EXCIT=_F(CHARGE=rotaa),
                         INCREMENT=_F(LIST_INST=timesa),
                         MODELE=model,
                         NEWTON=_F(MATRICE='TANGENTE',
                                   PREDICTION='TANGENTE'),
                         RESULTAT=resnonl,
                         SCHEMA_TEMPS=_F(FORMULATION='DEPLACEMENT',
                                         SCHEMA='HHT'),
                         SOLVEUR=_F(METHODE='MUMPS'))

resnonla = CALC_CHAMP(reuse=resnonla,
                      CRITERES=('SIEQ_ELGA', ),
                      RESULTAT=resnonla)

IMPR_RESU(FORMAT='MED',
          RESU=_F(RESULTAT=resnonla),
          UNITE=2)


Attachments:
two_stages.png, Size: 120.95 KiB, Downloads: 19

Offline

#16 2020-10-11 06:51:15

sameer21101970
Member
Registered: 2019-09-06
Posts: 246

Re: How to increase the speed

you are forgetting velocity.
rpm should be define in terms of peripheral velocity r/sec.
xx & yy formula 419/2pi define revolution per time.

Last edited by sameer21101970 (2020-10-12 13:47:54)

Offline

#17 2020-10-11 07:46:39

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

sameer21101970 wrote:

you are forgetting velocity.
rpm should be define in terms of peripheral velocity r/sec.
xx & yy formula DHT =419 define for how many degree of rotation you want to analyse result.

i'm thinking which DTH is angulare velocity, see an other way attached here :-)


Attachments:
tut_1.pdf, Size: 915.67 KiB, Downloads: 10

Offline

#18 2020-10-11 08:10:52

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

errata corrige :

xx = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
             VALE='sqrt(X*X+Y*Y)*cos(atan2(Y,X)+1047*INST*INST)-X')

yy = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
             VALE='sqrt(X*X+Y*Y)*sin(atan2(Y,X)+1047*INST*INST)-Y')

xxa = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
              VALE='sqrt(X*X+Y*Y)*cos(atan2(Y,X)+1047*2*INST)-X')

yya = FORMULE(NOM_PARA=('X', 'Y', 'INST'),
              VALE='sqrt(X*X+Y*Y)*sin(atan2(Y,X)+1047*2*INST)-Y')

maybe???? :-)

Offline

#19 2020-10-11 15:26:24

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

explaining better

1047 = 2*pi*20000 /(60*2) -> angular acceleration betveen 0;2 => 1047*INST = angular velocity => 1047*INST*INST = angle

1047*2 = angular velocity (constant) between 2:5 => 1047*2*INST = angle

p.s.

atan (value) = angle

:-)

Offline

#20 2020-10-11 21:54:14

Clement M
Member
Registered: 2020-10-08
Posts: 10

Re: How to increase the speed

Hi,
Sorry for being so late.
Yes I had same formula as you do so that s nice.
It worked thanks but I am having two different files as the end (rmed) because I have two stage. Is it possible to have only one file ? I am exporting my files with paravis in csv but If I had them after one the same document I don t know if my datas are correct.

Offline

#21 2020-10-12 00:50:55

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

i don't know.

BUT

observe :

resnonla = DYNA_NON_LINE(CHAM_MATER=fieldmat,
                         COMPORTEMENT=_F(DEFORMATION='SIMO_MIEHE',
                                         RELATION='VMIS_ISOT_LINE'),
                         CONVERGENCE=_F(ITER_GLOB_MAXI=30),
                         EXCIT=_F(CHARGE=rotaa),
                         INCREMENT=_F(LIST_INST=timesa),
                         MODELE=model,
                         NEWTON=_F(MATRICE='TANGENTE',
                                   PREDICTION='TANGENTE'),
                         RESULTAT=resnonl,
                         SCHEMA_TEMPS=_F(FORMULATION='DEPLACEMENT',
                                         SCHEMA='HHT'),
                         SOLVEUR=_F(METHODE='MUMPS'))

resnonla = CALC_CHAMP(reuse=resnonla,
                      CRITERES=('SIEQ_ELGA', ),
                      RESULTAT=resnonla)

IMPR_RESU(FORMAT='MED',
          RESU=_F(RESULTAT=resnonla),
          UNITE=2)
-----------------------------------------------------------------------------------------------------------------
in resnonla at the voice : RESULTAT =resnonl, you use the datas of first stage
-----------------------------------------------------------------------------------------------------------------
IMPR_RESU(FORMAT='MED',
          RESU=_F(RESULTAT=resnonla),
          UNITE=2)
-----------------------------------------------------------------------------------------------------------------
here you "print" the data of second stage where into there is the data of first stage.


i attend confirm like you :-)

Offline

#22 2020-10-12 08:48:11

Clement M
Member
Registered: 2020-10-08
Posts: 10

Re: How to increase the speed

I don t understand how to print it sorry

Offline

#23 2020-10-12 09:20:13

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

Clement M wrote:

I don t understand how to print it sorry

i'm studing "the problem"

see attachment :-D


Attachments:
wwwoooooooowwwwwww.png, Size: 99.8 KiB, Downloads: 17

Offline

#24 2020-10-12 09:26:51

Clement M
Member
Registered: 2020-10-08
Posts: 10

Re: How to increase the speed

Ok thanks smile

Offline

#25 2020-10-12 09:56:08

mib
Member
Registered: 2019-11-10
Posts: 85

Re: How to increase the speed

Today i arrived here :

youtube.com/watch?v=GhTrtwVQzeU (copy and paste in your browser)

thinking :

for csv format , i think, depend from which table you ask to the code :-)

i'm reserving time for study.

Offline