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

You are not logged in.

#1 2020-05-19 19:03:51

Knas
Member
Registered: 2020-05-19
Posts: 1

Trying to model steel plate pusing onto rubber block - singular matrix

Hello, i'm new to Salome-Meca / Code_aster and i'm trying to model a steel plate pushing onto a rubber block with some pillow risers in order to determine the deformation of the pillows. My issue is that i get the "singular matrix" issue seemingly regardless of what i try, i've tried reading on the forums as well as the documentation but i'm at a loss of what i am doing wrong.

My file looks like this:

PltMsh = LIRE_MAILLAGE(UNITE=2)

FullMesh = LIRE_MAILLAGE(UNITE=3)

CombPMsh = ASSE_MAILLAGE(MAILLAGE_1=FullMesh,
                         MAILLAGE_2=PltMsh,
                         OPERATION='SUPERPOSE')

PlwMod = AFFE_MODELE(AFFE=(_F(GROUP_MA=('FullBottom', 'FullVol', 'PMConSurf', 'PMTopSurf', 'PmVol'),
                              MODELISATION=('3D', ),
                              PHENOMENE='MECANIQUE'),
                           _F(GROUP_MA=('FullPillows', ),
                              MODELISATION=('3D_INCO_UPG', ),
                              PHENOMENE='MECANIQUE')),
                     MAILLAGE=CombPMsh)

steeltst = DEFI_MATERIAU(ELAS=_F(E=200000.0,
                                 NU=0.3,
                                 RHO=8e-09))

rubbert1 = DEFI_MATERIAU(ELAS_HYPER=_F(C01=2.3456,
                                       C10=0.709,
                                       C20=0.0,
                                       NU=0.499),
                         INFO=1)

fieldmat = AFFE_MATERIAU(AFFE=(_F(GROUP_MA=('FullVol', ),
                                  MATER=(rubbert1, )),
                               _F(GROUP_MA=('PmVol', ),
                                  MATER=(steeltst, ))),
                         MAILLAGE=CombPMsh)

listr = DEFI_LIST_REEL(DEBUT=0.0,
                       INTERVALLE=_F(JUSQU_A=1.0,
                                     NOMBRE=1))

times = DEFI_LIST_INST(DEFI_LIST=_F(LIST_INST=listr))

pressTim = DEFI_FONCTION(NOM_PARA='INST',
                         PROL_DROITE='LINEAIRE',
                         PROL_GAUCHE='LINEAIRE',
                         VALE=(1.0, 0.003, 2.0, 0.006, 3.0, 0.009, 4.0, 0.012, 5.0, 0.015, 6.0, 0.018, 7.0, 0.021, 8.0, 0.024, 9.0, 0.027, 10.0, 0.03))

LoadLock = AFFE_CHAR_MECA(DDL_IMPO=_F(DX=0.0,
                                      DY=0.0,
                                      DZ=0.0,
                                      GROUP_MA=('FullBottom', )),
                          MODELE=PlwMod)

PltPush = AFFE_CHAR_MECA(MODELE=PlwMod,
                         PRES_REP=_F(GROUP_MA=('PMTopSurf', ),
                                     PRES=3.0))

contact = DEFI_CONTACT(MODELE=PlwMod,
                       ZONE=_F(GROUP_MA_ESCL=('PMConSurf', ),
                               GROUP_MA_MAIT=('FullPillows', )))

resnonl = STAT_NON_LINE(CHAM_MATER=fieldmat,
                        COMPORTEMENT=_F(DEFORMATION='GROT_GDEP',
                                        GROUP_MA=('FullVol', ),
                                        RELATION='ELAS_HYPER'),
                        CONTACT=contact,
                        EXCIT=_F(CHARGE=PltPush),
                        INCREMENT=_F(LIST_INST=times),
                        MODELE=PlwMod,
                        NEWTON=_F(MATRICE='TANGENTE',
                                  PREDICTION='TANGENTE',
                                  REAC_INCR=1,
                                  REAC_ITER=1))

---

I have also attached my project.

Thanks

Karl


Attachments:
study2-3-clean.zip, Size: 1.4 MiB, Downloads: 5

Offline