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

You are not logged in.

#1 2018-02-01 11:36:34

Groguiguy
Member
From: Centrale Lille
Registered: 2017-11-07
Posts: 94

Problem AFFE_CHAR_MECA with FONC_MULT

Hi,

I don't know why my results are like if my system isn't constrained. Like if my "Charge" (see my .comm below) didn't exist.
Do you know why?

My file.comm :

DEBUT()


mesh = LIRE_MAILLAGE(FORMAT='MED', UNITE=20)

model = AFFE_MODELE(
    AFFE=_F(MODELISATION=('3D', ), PHENOMENE='MECANIQUE', TOUT='OUI'),
    MAILLAGE=mesh
)

Vagin = DEFI_MATERIAU(ELAS_HYPER=_F(C10=0.111, C20=0.27, K=100.0))

Rectum = DEFI_MATERIAU(ELAS_HYPER=_F(C10=0.085, C20=0.0565, K=100.0))

Vessie = DEFI_MATERIAU(ELAS_HYPER=_F(C10=0.0375, C20=0.007, K=100.0))

Plancher = DEFI_MATERIAU(ELAS=_F(E=10.0, NU=0.49))

Incomp = DEFI_MATERIAU(ELAS=_F(E=0.01, NU=0.49))

fieldmat = AFFE_MATERIAU(
    AFFE=(
        _F(
            GROUP_MA=('Group_3', 'Group_1', 'Group_8', 'Group_5'),
            MATER=(Incomp, )
        ), _F(GROUP_MA=('Group_6', ), MATER=(Plancher, )), _F(
            GROUP_MA=('Group_2', ), MATER=(Vessie, )
        ), _F(GROUP_MA=('Group_4', ), MATER=(Vagin, )),
        _F(GROUP_MA=('Group_7', ), MATER=(Rectum, ))
    ),
    MAILLAGE=mesh,
    MODELE=model
)

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

unnamed = DEFI_FONCTION(NOM_PARA='INST', VALE=(0.0, 0.0, 1.0, 1.0))

Encastr = AFFE_CHAR_MECA(
    FACE_IMPO=(
        _F(DX=0.0, DY=0.0, DZ=0.0, GROUP_MA=('Group_9', )),
        _F(DZ=0.0, GROUP_MA=('Group_11', ))
    ),
    MODELE=model
)

Charge = AFFE_CHAR_MECA(
    MODELE=model, PRES_REP=_F(GROUP_MA=('Group_10', ), PRES=0.001)
)

resnonl = STAT_NON_LINE(
    CHAM_MATER=fieldmat,
    COMPORTEMENT=(
        _F(
            DEFORMATION='GROT_GDEP',
            GROUP_MA=('Group_3', 'Group_1', 'Group_8', 'Group_6', 'Group_5'),
            RELATION='ELAS'
        ), _F(
            DEFORMATION='GROT_GDEP',
            GROUP_MA=('Group_2', 'Group_7', 'Group_4'),
            RELATION='ELAS_HYPER'
        )
    ),
    CONVERGENCE=_F(ITER_GLOB_ELAS=100, ITER_GLOB_MAXI=100, RESI_GLOB_MAXI=0.01),
    EXCIT=(_F(CHARGE=Encastr), _F(CHARGE=Charge, FONC_MULT=unnamed)),
    INCREMENT=_F(INST_FIN=1.0, INST_INIT=0.0, LIST_INST=listr),
    MODELE=model,
    NEWTON=_F(
        MATRICE='TANGENTE',
        MATR_RIGI_SYME='NON',
        PAS_MINI_ELAS=1.0,
        PREDICTION='EXTRAPOLE',
        REAC_INCR=10,
        REAC_ITER=10,
        REAC_ITER_ELAS=3
    ),
    SOLVEUR=_F(
        FILTRAGE_MATRICE=-1.0, METHODE='MUMPS', NPREC=-1, RESI_RELA=-1.0
    )
)

Champ = CALC_CHAMP(
    CHAM_MATER=fieldmat, MODELE=model, NUME_ORDRE=(100, ), RESULTAT=resnonl
)

IMPR_RESU(
    FORMAT='MED',
    RESU=(
        _F(RESULTAT=resnonl),
        _F(NOM_CHAM=('EPSG_ELNO', 'SIGM_ELGA'), RESULTAT=Champ)
    ),
    UNITE=80
)

FIN()

I assume that "Charge" or "unnamed" are poorly defined, but I don't know why.

Thanks smile

Offline

#2 2018-02-01 14:03:29

Groguiguy
Member
From: Centrale Lille
Registered: 2017-11-07
Posts: 94

Re: Problem AFFE_CHAR_MECA with FONC_MULT

I think the problem is hear :

PREDICTION='EXTRAPOLE'

That works with

PREDICTION='TANGENTE'

of course.

Maybe you know, if I use 'ELASTIQUE' instead 'TANGENTE' but with Hyper_elas matérial, can I give a different 'ELAS' value to evaluate the PREDICTION=ELASTIQUE, or it is impossible to do that?

Offline