Atom topic feed | site map | contact | login | Protection des données personnelles | Powered by FluxBB | réalisation artaban

You are not logged in.

- Topics: Active | Unanswered

**jlucas****Member**- Registered: 2021-12-15
- Posts: 12

Hello,

I am trying to understand how to perform a buckling simulation/analysis using code-aster. My intention is to learn the procedures from a linear Euler analysis to post-buckling. I took note of the reference document [U2.08.04] (Notice de calcul au flambage), along with [U4.51.03] (Opérateur STAT_NON_LINE), but still have some difficulties.

As a simple example (which encloses some of the characteristics I am interested in), the buckling of a cylindrical tube under a twist moment is considered. An (approximate?) solution can be found for example on Budynas2020 (Roark’s Formulas for Stress and Strain), see enclosed pdf).

Geometry: Cylinder with radius of 30mm, length of 950mm and thickness of 2mm. Material stell (E=207E9 N/m2, nu=0.29)

Buckling is expected for a twist moment of about 19.1 kN.m.

I am performing the following simulations using 3D elements (TETRA10).

1. Linear Euler Buckling (ok) (run01).

The results are as expected. For an applied load of 10kN, the critial factor (lambda) is 1.914.

2. Non-Linear Euler Buckling (Euler extended) under small deformations (ok) (run02).

The results are also as expected. For an applied load of 20kN, the critical factor for the 1st buckling mode approaches 1.0 (=1.0 at an applied load of about 19.189 kN.m at timestep 0.9595).

3. Non-Linear Euler Buckling under large deformations (GROT_GDEP) (not ok) (run03).

Changed in relation to run02 only: on STAT_NON_LINE(COMPORTEMENT=( _F(DEFORMATION='GROT_GDEP'))

The critical factor did not change along the timesteping being the same at first and last step.

In particular:

Le mode de flambement de numéro d'ordre 1 a pour charge critique -1.311160171877e+03.

Le mode de flambement de numéro d'ordre 2 a pour charge critique -1.310881530994e+03.

Le mode de flambement de numéro d'ordre 3 a pour charge critique -8.740587055997e+02.

Le mode de flambement de numéro d'ordre 4 a pour charge critique -1.945797333780e+02.

Le mode de flambement de numéro d'ordre 5 a pour charge critique -1.945624349836e+02.

Also quite far from the boundary (lambda=1.0).

Questions:

a. Is there something particularly wrong with this last simulation (run03)?

(The simulation converged and I could not find any alarm!)

b. Is it possible to perform the Non-Linear Simulation with DEFORMATION='GROT_GDEP' (run03)?

c. How to visualise the buckling modes on a non-linear simulation?

d. Any suggestion / correction/improvement to the command file is welcome.

3. Post-Buckling analysis. Still to perform. Any suggestion for the command file ?

I attach the *comm and *mess files for the 3 simulations. The mesh (cylinder.med) is coarser than the one used in the examples because the file to attach was larger than allowed. By running geometry.py a finer mesh can be generated.

Thank you in advance,

Best regards,

Jorge

Offline

**jeanpierreaubry****Guru**- From: nantes (france)
- Registered: 2009-03-12
- Posts: 3,823

hello

the important value is where charge critique changes sign from minus to plus

with OPTION='PLUS_PETITE',NMAX_CHAR_CRIT=5, you may not catch it, which happens with run03

try OPTION='BANDE',CHAR_CRIT=(-2,2), (or an other range) to try and catch the meanigful values

the range might vary a lot

the above gives good result with run02 but gives me a lot of trouble with run03

with a enormous number of calculated charge critique stopping the calculation

i do not know whether such an analysis is valid with GROT_GEDP

jean pierre aubry

consider reading my book

freely available here https://framabook.org/beginning-with-code_aster/

Offline

**jeanpierreaubry****Guru**- From: nantes (france)
- Registered: 2009-03-12
- Posts: 3,823

i have added a post with id=26394 related to this problem

consider reading my book

freely available here https://framabook.org/beginning-with-code_aster/

Offline

**jlucas****Member**- Registered: 2021-12-15
- Posts: 12

Hello Jean Pierre Aubry,

Many thanks for your reply and comments.

Before continuing let me be grateful for your book, which helped me (and I guess many others) to get started with code-aster. I've found it very precious to start the learning curve with some examples which work. Otherwise things can get very frustrating.

As suggested will wait for the reply from support.

Offline

**jeanpierreaubry****Guru**- From: nantes (france)
- Registered: 2009-03-12
- Posts: 3,823

hello

thanks for the comments about my book

may i suggest that you perform the same analysis with shell elements (DKT and DKTG) to see how it goes

jean pierre aubry

consider reading my book

freely available here https://framabook.org/beginning-with-code_aster/

Offline

**jlucas****Member**- Registered: 2021-12-15
- Posts: 12

hello,

I will follow and try your suggestion.

Meanwhile, let me take a small detour.

How to compute the twist angle? Following your book: ch19 (Using user filed).

Lets say the twist angle is given by the following formula:

twist_rad = sqrt(DX**2+DY**2)/sqrt(X**2+Y**2).

(which is an approximation to the arc length definition: angle=arc_lenght/radius)

DX, DY are supposed to be components of the deformation and

X,Y the coordinates of the nodes

So I tried the following:

'''

TWIST = FORMULE(

NOM_PARA=('X','Y','DX','DY'),

VALE = """sqrt(DX**2+DY**2)/sqrt(X**2+Y**2)""",

);

FLAMB = CALC_CHAMP(

reuse=FLAMB,

RESULTAT=FLAMB,

CHAM_UTIL=_F(

NOM_CHAM='DEPL',

FORMULE=TWIST,

NUME_CHAM_RESU=10,

),

);

'''

Which does not work as it complains on the X,Y variables.

ERREUR LORS DE L'ÉVALUATION DE LA FORMULE 'TWIST' :

>> name 'X' is not defined

How to get the coordinates of the nodes to use them in CALC_CHAMP?

Thank you in advance,

Best wishes,

Jorge

Offline

**jeanpierreaubry****Guru**- From: nantes (france)
- Registered: 2009-03-12
- Posts: 3,823

at first i would say it is impossible to retrieve X and Y, node coordinates before deformation

at least i do not know how

but if you make a group with nodes sitting on the outer surface the problem becomes trivial as sqrt(X**2+Y**2)=R

or even simpler (and more accurate ,) TWIST=ATAN(DX/DY)

and this computation could be made directly in Gmsh Post pro appendix B 2.2.1 in my book

*Last edited by jeanpierreaubry (2022-05-27 13:33:31)*

consider reading my book

freely available here https://framabook.org/beginning-with-code_aster/

Offline

**jlucas****Member**- Registered: 2021-12-15
- Posts: 12

Hello,

The use of shell elements (DKT) as suggested by jeanpierreaubry did not change the result. I attach the updated example.

Jorge

Offline

**jlucas****Member**- Registered: 2021-12-15
- Posts: 12

Hi,

By changing DEFORMATION to 'PETIT_REAC', got a slightly lower value for the buckling moment equal to 17.2 kN.m, instead of 19.2 kN.m as computed with the small deformation hypothesis. This makes all sense to me. However, I would expect to get a similar result by using a large displacement formulation like for example 'GROT_GDEP', which is not the case.

I checked the examples listed document U2.08.04 (Notice de calcul au flambage) and none of those listed in "Modes d’Euler et calcul non linéaire" used a deformation other than 'PETIT'. So my suspicion is that the "Non-Linear Euler buckling" computation does not work with other than small deformation hypothesis.

Could someone with more insight confirm or contradict this affirmation?

Thank you in advance,

Jorge

Offline