×

Notice

The forum is in read only mode.

Static structural analysis for rotating wheel

  • Zach
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 11 months ago #8079 by Zach
Hi,
I checked this problem of stress concentration with another geometry and compared it with ansys results.
Ansys: www.dropbox.com/s/t193n1iwn74oj5k/9243-5ansys.png?dl=0 - look realistic (at 1000 RPM)
Aster: www.dropbox.com/s/aqjzvxrs3wczvo9/9243-5aster.png?dl=0 - not realistic. Seems like it is analysed as one detail, however - it should be with circular symmetry.
Here are study files:
www.dropbox.com/s/691c5khxxzgih6v/9243-5_1.1.comm?dl=0
www.dropbox.com/s/18ba1hf460fmjxo/9243-5_1.1.hdf?dl=0
www.dropbox.com/s/40bpsaxy2xb6qz9/9243-5_1.1Case.mess?dl=0
www.dropbox.com/s/xinejx860qq2mkz/9243-5_1.1Case.rmed?dl=0
www.dropbox.com/s/d8iq5l1h6dj86z9/9243-5_1.1Mesh.med?dl=0

What is the reason of such strange results?
Is there smth wrong with circular symmetry definition?
  • Zach
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 11 months ago #8080 by Zach
So, I made the same analysis without circular symmetry ie for full wheel:
www.dropbox.com/s/s4ssndbs1m9fpxu/9243-5asterFULL.png?dl=0 - result is more realistic (although max is ~30% higher then in ansys, do not know why...).
It means, that there is really smth wrong in command file with circular symmetry definition.
Could someone help to solve it?
More
9 years 11 months ago - 9 years 11 months ago #8081 by Claus
Please have a look at my tutorial regarding plasticity on the wiki here. There is a section on handling symmetry, specifically:
BC=AFFE_CHAR_MECA(MODELE=Model,
                  DDL_IMPO=(_F(GROUP_NO='PLAN_XOY',
                               DZ=0.0,),
                            _F(GROUP_NO='suprt1',
                               DY=0.0,),),
                  LIAISON_OBLIQUE=_F(GROUP_NO='PLAN_120',
                                     ANGL_NAUT=(0,-120,0,),
                                     DZ=0.0,),);

Regarding precision: It might have to do with mesh refinement and mesh quality etc. Are you using a quadratic mesh for the simulation? (I haven't checked the mesh, only .comm)

/C

Code_Aster release : STA11.4 on OpenSUSE 12.3 64 bits - EDF/Intel version
Last edit: 9 years 11 months ago by Claus.
More
9 years 11 months ago - 9 years 11 months ago #8083 by RichardS
Hello Claws,

are you sure that the code you provided really does a cyclic BC, I think not (at least not for general geometries)?


Hello ZachJa,
you made a simple mistake, you defined the cyclic boundary condition, but didn't assign it to the static analysis!
After this is fixed the simulation almost runs, you just have now a few nodes overconstrained (the ones that are on the edge between 'fix' and 'SLAVE').
I modified the SLAVE group by removing the overconstrained nodes and now the results should look good.
Attached is the modified command file.

Best regards,
Richard

/EDIT:
Upload seems to not work so I'll pollute the thread with it:
DEBUT();

MA=DEFI_MATERIAU(ELAS=_F(E=2.1e+11,
                         NU=0.3,
                         RHO=7800,),
                      );    

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

MAIL=MODI_MAILLAGE(reuse=MAIL,
                   MAILLAGE=MAIL,
                   ORIE_PEAU_3D=_F(GROUP_MA=('fix',),),
                   );

# create node groups fom element groups 'SLAVE' and 'fix' with the same names
MAIL=DEFI_GROUP(reuse=MAIL,
		MAILLAGE=MAIL,
		CREA_GROUP_NO=_F(GROUP_MA=('SLAVE','fix')),
		);

# create a node group which is the difference of SLAVE with fix named SLAVE_OK
MAIL=DEFI_GROUP(reuse=MAIL,
		MAILLAGE=MAIL,
		CREA_GROUP_NO=_F(DIFFE=('SLAVE','fix'), NOM='SLAVE_OK'),
		);

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

MATE=AFFE_MATERIAU(MAILLAGE=MAIL,
                   AFFE=_F(TOUT='OUI',
                           MATER=MA,),);

CHAR=AFFE_CHAR_MECA(MODELE=MODE,
                    ROTATION=_F(GROUP_MA='rot',
                                VITESSE=104.7,
                                AXE=(0,0,1,),),
                    DDL_IMPO=_F(GROUP_MA=('fix',),
                                DX=0.0,
                                DY=0.0,
                                DZ=0.0,),);

CYCL=AFFE_CHAR_MECA(MODELE=MODE,
                    LIAISON_MAIL=_F(GROUP_MA_MAIT='rot',
                                    GROUP_NO_ESCL='SLAVE_OK',
                                    ANGL_NAUT=(18.0,0.0,0.0,),
                                    CENTRE=(0.0,0.0,0.0,),),
                    );	

RESU=MECA_STATIQUE(MODELE=MODE,
                   CHAM_MATER=MATE,
                   EXCIT=(_F(CHARGE=CHAR,),
			  _F(CHARGE=CYCL,),),);

RESU=CALC_CHAMP(reuse =RESU,
               MODELE=MODE,
               CHAM_MATER=MATE,
               RESULTAT=RESU,
               CONTRAINTE=('SIGM_NOEU','SIGM_ELGA','SIGM_ELNO',),
               CRITERES=('SIEQ_NOEU','SIEQ_ELGA','SIEQ_ELNO',),
               );

IMPR_RESU(FORMAT='MED',
          UNITE=80,
          RESU=_F(RESULTAT=RESU,
                  NOM_CHAM=('SIGM_NOEU','SIEQ_NOEU','DEPL','SIGM_ELGA','SIGM_ELNO',),),);

FIN();

SimScale - Engineering Simulation in your browser!
Last edit: 9 years 11 months ago by RichardS.
  • Zach
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
9 years 11 months ago #8084 by Zach
Thank you RichardS,
could you please specify what do you mean with: "a node group which is the difference of SLAVE with fix" - I am not sure that got it clear (may be you could send/upload mesh file). Is it a group that includes all nodes except groups of nodes "SLAVE" and "fix"?
More
9 years 11 months ago #8085 by RichardS

ZachJa wrote: Thank you RichardS,
could you please specify what do you mean with: "a node group which is the difference of SLAVE with fix" - I am not sure that got it clear (may be you could send/upload mesh file). Is it a group that includes all nodes except groups of nodes "SLAVE" and "fix"?


Hello ZachJa,
I didn't change the mesh file,
all additional groups were created with Code-Aster inside the comm file that I posted.
Perhaps its easier to put it as mathematical expression:
SLAVE_OK = SLAVE - fix
"SLAVE_OK are all nodes that are in SLAVE but NOT in fix".

Best,
Richard

SimScale - Engineering Simulation in your browser!
Moderators: catux
Time to create page: 0.160 seconds
Powered by Kunena Forum