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

You are not logged in.

#1 2018-09-13 10:26:35

maryhomes
Member
Registered: 2017-09-22
Posts: 8

DIS_CHOC for beam supported by two springs results in singular matrix

Hi Everybody,

I have been experimenting with a simple model where a POU_D_T is connected to two springs modelled as DIS_TR. In case i model the springs as a linear material, it works perfect. Once DISC_CHOC is chosen for the springs, it gives a singular matrix. The model is constrained correctly because otherwise it would not work for the linear case.  Could somebody tell me where the singularity comes from? The comm file is below and the mesh file is attached.

Many thanks!!!


-------------------------------------------------------------------------------------------------------------------------------------------------------

DEBUT(PAR_LOT='NON',);
mesh = LIRE_MAILLAGE(UNITE=20, FORMAT='MED', );

model=AFFE_MODELE(
    MAILLAGE=mesh,
    AFFE=(_F( GROUP_MA=('beam'),
              PHENOMENE='MECANIQUE', MODELISATION='POU_D_T'),
          _F( GROUP_MA=('spring1','spring2'),
              PHENOMENE='MECANIQUE', MODELISATION='DIS_TR')
         )
)

charac=AFFE_CARA_ELEM(
    MODELE=model,
    POUTRE=_F( GROUP_MA=('beam'), SECTION='CERCLE',
               CARA=('R'),
               VALE=(10),
         ),
    DISCRET=(_F( GROUP_MA=('spring1', 'spring2'), REPERE='LOCAL', CARA='K_TR_D_L', VALE=(10000,10000,10000,10000,10000,10000) ),
            )
)

steel = DEFI_MATERIAU(ELAS=_F(E=210000.0, NU=0.3, RHO=7.85e-06, ), );

atoil=DEFI_MATERIAU( ELAS=_F(E=100000.0, NU=0.3,),
                    DIS_CONTACT= _F(
                            #RIGI_NOR=1000,
                            DIST_1= 0.100
                    ),
                );

mater=AFFE_MATERIAU(MAILLAGE=mesh,
               AFFE=(_F(GROUP_MA=('beam',), MATER=steel,),
                     _F(GROUP_MA=('spring1', 'spring2'), MATER=steel,),
               ),
              );

anchor=AFFE_CHAR_MECA(
    MODELE=model,
    DDL_IMPO=(_F( GROUP_MA=('nulld_1','nulld_2'), DX=0.0, DY=0.0, DZ=0.0, DRX=0.0, DRY=0.0, DRZ=0.0, ),
              _F( GROUP_NO=('b_end_1','b_end_2',), DRX=0.0),
             ),
)

load=AFFE_CHAR_MECA(MODELE=model,
             FORCE_NODALE=(
                  _F(GROUP_NO=('force', ),  FZ=-100, ),
             ),
);

ist = DEFI_LIST_REEL(DEBUT=0, INTERVALLE=_F(JUSQU_A=1, NOMBRE=20, ), );
d_ist = DEFI_LIST_INST(DEFI_LIST=_F(METHODE='AUTO', PAS_MINI= 1e-4, LIST_INST=ist, ), ADAPTATION=_F(), );
#d_ist = DEFI_LIST_INST(METHODE='AUTO', DEFI_LIST=_F( LIST_INST=ist, ),  );
m_ps_dt = DEFI_FONCTION(NOM_PARA='INST', VALE=(0.0, 0.0, 1.0, 1.0,), );

Result=STAT_NON_LINE(MODELE=model,
                          CHAM_MATER=mater,
                          CARA_ELEM=charac,
                          EXCIT=(_F(CHARGE=anchor),
                             _F(CHARGE=load,FONC_MULT=m_ps_dt),
                            ),
                          COMPORTEMENT=(
                                _F(RELATION='ELAS',DEFORMATION='PETIT',GROUP_MA=('beam','spring1', 'spring2'),),
                                #_F(RELATION='ELAS',DEFORMATION='PETIT',GROUP_MA=('beam',),),
                                    #_F(RELATION='DIS_CHOC', DEFORMATION='PETIT', GROUP_MA=('spring1', 'spring2'),),
                                    ),
                          INCREMENT=_F(LIST_INST=d_ist,),
                          #NEWTON=_F(PREDICTION='TANGENTE',MATRICE='TANGENTE',REAC_ITER=1,),
                                 NEWTON=(_F(PREDICTION = 'ELASTIQUE',MATRICE='ELASTIQUE',),),
                          #RECH_LINEAIRE=_F(),
                          #CONVERGENCE=_F(ITER_GLOB_MAXI=60,),
                          SOLVEUR=_F(METHODE = 'MUMPS',),);

Result = CALC_CHAMP( reuse = Result, RESULTAT=Result,
            CONTRAINTE= ('EFGE_ELGA' ,'SIEF_ELNO' ,'SIPO_ELNO' ,'SIPM_ELNO' ,) ,
            FORCE= ('REAC_NODA' ,),) ;

IMPR_RESU( FORMAT = 'MED', RESU = _F( MAILLAGE = mesh, RESULTAT = Result), CONCEPT=_F(CARA_ELEM=charac, REPERE_LOCAL='OUI', MODELE=model));


FIN()


Attachments:
spring_force.med, Size: 16.39 KiB, Downloads: 6

Offline

#2 2018-09-13 16:52:46

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

Re: DIS_CHOC for beam supported by two springs results in singular matrix

hello

your .comm file looks a bit odd to use DIS_CHOC

but first of all what do you expect from DIS_CHOC?

jean pierre aubry

Last edited by jeanpierreaubry (2018-09-13 16:53:12)

Offline

#3 2018-09-13 17:34:48

maryhomes
Member
Registered: 2017-09-22
Posts: 8

Re: DIS_CHOC for beam supported by two springs results in singular matrix

Hello Jean Pierre,

First thank you for your reply. Why is the comm file "odd"? The goal here is to model the behaviour of a beam when pushed on, the beam forces should be  transfered  to the foundation through two springs, and when a upward vertical force is pulling the beam making the springs to go into tension mode, the forces in the foundation should be zero. I have read from different post that DIS_CHOC should be used for this.  One post was from you (if i remember correctly - can't find the link anymore) where you modelled a link between a beam and cable where the cable should transfer loads to the beam when pushed on and release itself (without transfer of forces to the beam) when pulled on. When i try to do something similar in this "beam-on-springs" situation the system becomes singular.

Regards,

Mary

Offline

#4 2018-09-14 09:03:28

jlf
Member
Registered: 2007-11-22
Posts: 194

Re: DIS_CHOC for beam supported by two springs results in singular matrix

Hello,

I load your mesh, the length of the springs is 10, the dist1 is 0.10.
It's mean that you don't have any contact with your beam ==> singular system
Your beam is only maintain with contact elements and if you don't have contact ==> Oups !!!

You don't have DDL_IMPO condition for the beams nodes 'b_end_(1,2)' in DX, DY, ... with no contact these node are free !!

JLF

Offline

#5 2018-09-14 09:14:27

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

Re: DIS_CHOC for beam supported by two springs results in singular matrix

it is odd in that:
the lines related to the DIS_CHOC elements are commented
these elements are used as plain elastic spring
the material 'atoil' is not used
i think a DIS_CHOC element do not carry rotational stiffness

otherwise DIS_CHOC elements are meant for that

but the model is so simple that it will probably require additional DOF constraints to eliminate the rigid body motion

Offline

Board footer