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

You are not logged in.

#1 2021-11-25 16:08:04

JanBlokes
Member
From: Ostrava
Registered: 2018-09-06
Posts: 28

Number of cycles from damage

Hello,

does anybody know how to edit scalar results in CA? I know that vectors can be changed with FORMULA, where NOM_PARA is a component of the vector. How about scalar? I mean the damage for example. I have tried this code below but without success.

DMG_WOHL = CALC_FATIGUE(DOMMAGE='WOHLER',
                        HISTOIRE=_F(EQUI_GD='VMIS_SG',
                                    RESULTAT=DEPL),
                        INFO=1,
                        MATER=MATE,
                        OPTION='DOMA_ELNO_SIGM',
                        TYPE_CALCUL='CUMUL_DOMMAGE')

Ncycl = FORMULE(NOM_PARA=('DMG_WOHL', ),
                   VALE='1/DMG_WOHL')

Hope it will be interesting for more people.

Thank you for any comment.

Jan

Last edited by JanBlokes (2021-11-25 16:08:51)

Offline

#2 2021-11-26 12:36:00

jonas loenartz
Member
Registered: 2021-10-01
Posts: 17

Re: Number of cycles from damage

Hello Jan,

I had problem similar to this one and I think you can apply the solution I found to your problem.

I wanted to create a SIEQ_NOEU field for shell elements (or any other stress field), which stores the maximum value of the three shell layers and print it in a MED-result file. In order to do this, I had to compare three scalar fields (VMIS) with FORMULE, that returns the max value.

I will append the comm-file (POURSUITE for post only), so you can get the idea.

By using

CH1 = CREA_CHAMP(
    OPERATION = 'EXTR',
    ....
    )

you can create a new field by extracting it from your results.


CH1N = CREA_CHAMP(
    OPERATION = 'ASSE',
    TYPE_CHAM = 'NOEU_NEUT_R',
    ....
    )

you can transform it to neutral type, which you then can transform as you wish, by using FORMULE.
In order to do this, you have to create a field of function by using

CHF = CREA_CHAMP(
    OPERATION = 'AFFE',
    TYPE_CHAM = 'NOEU_NEUT_F',
    ....
    )

and evaluate it by using

CHEVAL = CREA_CHAMP(
    OPERATION = 'EVAL',
    TYPE_CHAM = 'NOEU_NEUT_R',
    CHAM_F = CHF,
    ....
    )

then transform it back again to your target champ, create a result and print it.
All this is very well documented in U4.72.04 (documentation for CREA_CHAMP).

If there is an easier (and shorter!) way to do operations like this, I would be interested in this, too.

Greetings
Jonas


Attachments:
paralletes_post.comm, Size: 1.7 KiB, Downloads: 14

Offline

#3 2021-11-26 23:07:12

JanBlokes
Member
From: Ostrava
Registered: 2018-09-06
Posts: 28

Re: Number of cycles from damage

jonas loenartz wrote:

Hello Jan,

I had problem similar to this one and I think you can apply the solution I found to your problem.

I wanted to create a SIEQ_NOEU field for shell elements (or any other stress field), which stores the maximum value of the three shell layers and print it in a MED-result file. In order to do this, I had to compare three scalar fields (VMIS) with FORMULE, that returns the max value.

I will append the comm-file (POURSUITE for post only), so you can get the idea.

By using

CH1 = CREA_CHAMP(
    OPERATION = 'EXTR',
    ....
    )

you can create a new field by extracting it from your results.


CH1N = CREA_CHAMP(
    OPERATION = 'ASSE',
    TYPE_CHAM = 'NOEU_NEUT_R',
    ....
    )

you can transform it to neutral type, which you then can transform as you wish, by using FORMULE.
In order to do this, you have to create a field of function by using

CHF = CREA_CHAMP(
    OPERATION = 'AFFE',
    TYPE_CHAM = 'NOEU_NEUT_F',
    ....
    )

and evaluate it by using

CHEVAL = CREA_CHAMP(
    OPERATION = 'EVAL',
    TYPE_CHAM = 'NOEU_NEUT_R',
    CHAM_F = CHF,
    ....
    )

then transform it back again to your target champ, create a result and print it.
All this is very well documented in U4.72.04 (documentation for CREA_CHAMP).

If there is an easier (and shorter!) way to do operations like this, I would be interested in this, too.

Greetings
Jonas

Hello Jonas,

thank you for the great command! I think CREA_CHAMP is what I needed smile I will investigate the documentation and hope it will work for results from CALC_FATIGUE as well.

Thank you,
Jan

Offline