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

You are not logged in.

#1 2017-05-30 10:07:18

Msegade
Member
Registered: 2017-02-23
Posts: 31

[Solved] Buckling loads of a shell

Hi

So I'm continue analyzing the shell that I discussed in the post: Distribute a load to a set of nodes (Sorry I cannot post links).
Now I'm trying to do a buckling analysis wich I do with these steps:

# Resolution
# ----------

res1=MECA_STATIQUE(  MODELE=modl,     
                     CHAM_MATER=chmat,
                     CARA_ELEM=cara, 
                     EXCIT=( 
                                    _F( CHARGE = rdisp),
                                    _F( CHARGE = clim),
                                    _F( CHARGE = press),
                                    _F( CHARGE = pload),),
                    OPTION = 'SIEF_ELGA',
);


# Stress field to calculate the geometric stiffnes matrix
# -------------------------------------------------------

stressg = CREA_CHAMP (
                      RESULTAT = res1,   
                      OPERATION = 'EXTR',
                      TYPE_CHAM = 'ELGA_SIEF_R', 
                      NOM_CHAM = 'SIEF_ELGA',
                      TYPE_MAXI = 'MINI',
                      TYPE_RESU = 'VALE'
                      )

# Elementary matrices and Assembly 
# ---------------------------

matg = CALC_MATR_ELEM (OPTION = 'RIGI_GEOM',
                            MODELE = modl,
                            CARA_ELEM = cara,
                            SIEF_ELGA = stressg,)

matm = CALC_MATR_ELEM (OPTION = 'RIGI_MECA',
                          MODELE = modl,
                          CHAM_MATER = chmat,
                          CARA_ELEM = cara,
                          CHARGE = (rdisp, clim, 
                                    #press, pload,
                    ),)

nuddl = NUME_DDL (MATR_RIGI = matm,)
masrig = ASSE_MATRICE (MATR_ELEM = matg,
                         NUME_DDL = nuddl,)
masrim = ASSE_MATRICE (MATR_ELEM = matm,
                         NUME_DDL = nuddl,)




# Calculate the modes
# -------------------

modp1 = CALC_MODES (MATR_RIGI_GEOM = masrig,
                    OPTION = 'PLUS_PETITE',
                    MATR_RIGI = masrim,
                    SOLVEUR_MODAL  = 
                        _F( 
                            METHODE='SORENSEN'
                    ),
                    TYPE_RESU = 'MODE_FLAMB',
                    CALC_CHAR_CRIT = _F( 
                            NMAX_CHAR_CRIT = 6,
                    ),
)

I get very low values for the critical load

numéro    charge critique    norme d'erreur
    1       2.37993E-02        1.35091E-10 
    2       2.37993E-02        1.43175E-10 
    3       2.43823E-02        1.52333E-10 
    4       2.43823E-02        1.21724E-10 
    5       2.64413E-02        9.63314E-11 
    6       2.64413E-02        1.12501E-10 

and the modes are global
buckling_Modes.png

As in the other post I'm comparing the results with the ones I get using abaqus, where I get much bigger critical load:

MODE NO      EIGENVALUE

       1      0.51168    
       2      0.53620    
       3      0.54860    
       4      0.55567    
       5      0.56876    
       6      0.57455 

and the modes are local which correspond to the location of maximun compression values, that makes more sense than the
global modes:

abaqus_modes.png

The rest of results (displacements, stresses...) of the linear static analysis, I get the same values in code_aster and abaqus.

What can I do to solve this?
I attach the .comm and .med file.

Thanks.

Last edited by Msegade (2017-05-31 10:47:04)


Attachments:
buckling.zip, Size: 50.7 KiB, Downloads: 494

Offline

#2 2017-05-30 15:05:08

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 4,049

Re: [Solved] Buckling loads of a shell

hello

what is the variable load upon which buckling is to be calculated
this is not very clear in your example

jeean pierre aubry


consider reading my book
freely available here https://framabook.org/beginning-with-code_aster/

Offline

#3 2017-05-30 22:43:37

Msegade
Member
Registered: 2017-02-23
Posts: 31

Re: [Solved] Buckling loads of a shell

jeanpierreaubry wrote:

hello

what is the variable load upon which buckling is to be calculated
this is not very clear in your example

jeean pierre aubry

Are both the "pload" and "press" loads.

Offline

#4 2017-05-31 05:48:58

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 4,049

Re: [Solved] Buckling loads of a shell

do you mean they vary linealy TOGETHER at the same rate ?


consider reading my book
freely available here https://framabook.org/beginning-with-code_aster/

Offline

#5 2017-05-31 08:09:18

Msegade
Member
Registered: 2017-02-23
Posts: 31

Re: [Solved] Buckling loads of a shell

jeanpierreaubry wrote:

do you mean they vary linealy TOGETHER at the same rate ?

Yes, later I would want to make another analysis where I  just vary one of the loads while remaining the other costant,
but the results I got in abaqus are with both loads varying linealy together at the same rate.

Offline

#6 2017-05-31 09:09:34

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 4,049

Re: [Solved] Buckling loads of a shell

i get the frist critical at 0.5465 with the shape shown attached


Attachments:
firstmode.png, Size: 55.82 KiB, Downloads: 531

consider reading my book
freely available here https://framabook.org/beginning-with-code_aster/

Offline

#7 2017-05-31 09:30:29

Msegade
Member
Registered: 2017-02-23
Posts: 31

Re: [Solved] Buckling loads of a shell

jeanpierreaubry wrote:

i get the frist critical at 0.5465 with the shape shown attached

That's what I was looking for!

Can you please share the .comm file?

Offline

#8 2017-05-31 09:52:14

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 4,049

Re: [Solved] Buckling loads of a shell

here it is
as can see your first trial was quite out
for buckling as for may other problems code_aster looks very verbose
but can be easily fine tuned once the first .comm file has been written


Attachments:
cylinderbuck.comm, Size: 7.87 KiB, Downloads: 566

consider reading my book
freely available here https://framabook.org/beginning-with-code_aster/

Offline

#9 2017-05-31 10:46:47

Msegade
Member
Registered: 2017-02-23
Posts: 31

Re: [Solved] Buckling loads of a shell

Thanks! Now I got it working.

Is there any reason why 'PLUS_PETITE' is not working?
If I use the same .comm file and I replace

modp1=CALC_MODES(
	TYPE_RESU='MODE_FLAMB',
	OPTION='BANDE',
	STOP_BANDE_VIDE='OUI',
	MATR_RIGI=mascomb,
	MATR_RIGI_GEOM=masrigv,
	CALC_CHAR_CRIT=_F(
		CHAR_CRIT=(mini,maxi,),
	),
	VERI_MODE=_F(
		STOP_ERREUR='NON',
	),
);

with

modp1=CALC_MODES(
	TYPE_RESU='MODE_FLAMB',
	#OPTION='BANDE',
        OPTION = 'PLUS_PETITE',
	STOP_BANDE_VIDE='OUI',
	MATR_RIGI=mascomb,
	MATR_RIGI_GEOM=masrigv,
	CALC_CHAR_CRIT=_F(
	         #CHAR_CRIT=(mini,maxi,),
                 NMAX_CHAR_CRIT = 6,
	),
	VERI_MODE=_F(
		STOP_ERREUR='NON',
	),
);

I get bad results.

Offline

#10 2017-05-31 10:57:36

jeanpierreaubry
Guru
From: nantes (france)
Registered: 2009-03-12
Posts: 4,049

Re: [Solved] Buckling loads of a shell

Is there any reason why 'PLUS_PETITE' is not working?

this is probably explained somewhere in the doc
without reading it
my first answer is that
as the critical buckling load factor may take negative value
it will always be possible to find a value close to "minus infinity"
which will probably be meaningless


consider reading my book
freely available here https://framabook.org/beginning-with-code_aster/

Offline