Von Mises equivalent strain - too high?

Ansys uses Poisson’s ratio which is not used in the formulas from here, if you are referring to those.

@FEAnalyst I fully understand that Ansys use Poisson and the formula @ANYS posted doesn’t, but what are the theory about this. they have the same notations but gives different results

It seems that there’s just no single universal definition for equivalent strain and different approaches can be used. Some software vendors prefer to take ν into account while others skip it. The slide from Ansys also mentions that: “ν is Poisson’s ration. Some definitions do not include this term”. It’s not as standardized as VM stress and is less frequently used in general.

I also searched the literature a bit and the concept of equivalent strain is rarely discussed. It’s more like a convenient measure for engineers.

That’s probably also why Abaqus doesn’t include this measure. But I could ask DS if they can add it and why it’s not there already.

1 Like

There is a physical anchor behind the formula for Von Misses Equivalent Strain and Von Misses Equivalent Stress.

The most raw expressión of the Von Misses criteria is the Euclidean distance between the principal components in 3D space.

imagen

imagen

From here, If one wants them to be usefull in some way, one needs a normalization factor which is found imposing to be in agreement at least with the most simple experiment:

1-Von Misses equivalent Stress. VM eq Stress in a uniaxial tensile test = Principal Stress1

imagen

Leads to this:

imagen

2-Von Misses equivalent Strain. VM eq Strain in a uniaxial tensile test = Principal Strain1.

As e2 and e3 now are not zero, VM eq Strain value generally depends on the Poisson ratio. For the particular case when Plasticity is involed Poissson ratio is assumed to be =0.5 and e2 and e3 can be written in terms of e1 so the Normalization factor can be found.

imagen

Leads to this:

imagen

Strains here are True principal Strains.

If you are in the elastic regime the Poisson ratio is kept in the formula.

1 Like

Another one for the collection, as quite important software and leading explicit dynamics solver (so nonlinearities are its bread and butter) - LS-DYNA:

Effective strain, expressed in tensorial notation, is sqrt(2/3(eps)ij*(eps)ij) ; (See p. 461 of LS-DYNA Theory Manual 2006). This is NOT the same thing as effective plastic strain.

Source: https://www.dynasupport.com/howtos/general/effective-plastic-strain

Note that they call it “effective strain”. This is a less commonly used form, but I’ve seen it regarding PEEQ as well.

The same formula is used in Code Aster.

This shows my last iteration with plastic strains:

ex -3.73E-02
ey -3.10E-02
ez 7.68E-02
eyz 2.34E-03
ezx -4,75E-06
exy -9.08E-04
PE 7.41E-02

Corresponding Mises strains according to mentioned formulas:

Diana 0,07421

Solidworks 0,07410

Ansys 0,07410

Dlubal RFEM 0,07410

Code aster 0,07425

LS Dyna 0,07425

Prepomax 0,1112

Could you try creating a custom formula from Field output like this?:

sqrt( (( log(sqrt(2e1+1))-log(sqrt(2e2+1)) )^2+(log(sqrt(2e2+1))-log(sqrt(2e3+1)))^2+(log(sqrt(2e3+1))-log(sqrt(2e1+1)))^2)*2/9)

I can’t manage to create a formula in Prepomax. Is giving me errors constantly.

It doesn’t seem to accept the Ln and when using log(2.71828,) the value is too large?¿?

This is my formula:

=sqrt( (( Log(2.71828182845905,sqrt(2*TOSTRAIN.E11+1))-Log(2.71828182845905,sqrt(2*TOSTRAIN.E22+1))  )^2+(Log(2.71828182845905,sqrt(2*TOSTRAIN.E22+1))-Log(2.71828182845905,sqrt(2*TOSTRAIN.E33+1)))^2+(Log(2.71828182845905,sqrt(2*TOSTRAIN.E33+1))-Log(2.71828182845905,sqrt(2*TOSTRAIN.E11+1)))^2)*2/9)

The available functions indeed don’t include Ln: Ncalc - Functions | ncalc Tutorial

Try something like this:

Sqrt((Pow(Log(Sqrt(2*TOSTRAIN.E11+1),Exp(1))-Log(Sqrt(2*TOSTRAIN.E22+1),Exp(1)),2)+Pow(Log(Sqrt(2*TOSTRAIN.E22+1),Exp(1))-Log(Sqrt(2*TOSTRAIN.E33+1),Exp(1)),2)+Pow(Log(Sqrt(2*TOSTRAIN.E33+1),Exp(1))-Log(Sqrt(2*TOSTRAIN.E11+1),Exp(1)),2))*2/9)

If you are looking for a replacement for LN(…), try Log(Sqrt(…),Exp(0.5))

Or just Log(…,Exp(1))

1 Like

@fea Thank You,

@Gunnar If you have shear strains the formula should be written in terms of princial Stresses.

=Sqrt((Pow(Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MAX+1),Exp(1))-Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MID+1),Exp(1)),2)+Pow(Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MID+1),Exp(1))-Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MIN+1),Exp(1)),2)+Pow(Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MIN+1),Exp(1))-Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MAX+1),Exp(1)),2))*2/9)

This is how I understand the origin of the problem of the different readings and formulas that exist for equivalent strain VM.

Formula 12.3 on page 151 cgx. See 2.23 of the Graphix manual (ANSYS(Poisson=0.5) was constructed by imposing two things:

1- VM Equivalent Strain=Principal Strain1 in a uniaxial tensile test.
2 - e2=e3=-0.5e1 (Which implies incompressibility and that strains are logarithmic (True Strains))

The normalization coefficient that arises from imposing these two conditions is 2/3*1/sqrt(2) = sqrt(2)/3

This formula in my opinion is valid if the values you input are logarithmic (+ the model incompressible).
In the specific case of plasticity, the Calculix outputs are Lagrangian. If they are entered as is into the formula, the output value is not correct.
Additionally, it is a formula designed to receive True Strains and returns a True Strain.
Similar thing happens with PEEQ. Before calculating it, Calculix have to change the Lagrangian tensor to logarithmic. This is necessary if you want the result to be comparable with the user’s True Stress/True Strain curve input.

In summary,

  • I also think that the Prepomax value is not correct.(….unless it was computed properly and Matej is expressing the output in Lagrangian for consistency with the rest of ccx outputs in the TOSTRAIN Field ?¿?)
  • I think the right way (most useful at least) is to understand the VM Equivalent Strain as a True strain (in the same way as VM Stress is a True Stress).
  • When comparing strain outputs with other programs, it is important to know the framework in which each one is expresed.

Considering this:

I guess that can be the case. But we would also have to check the strain tensor that each software provides. Ansys uses log (Hencky, true) strain, while in Abaqus there’s no single definition (and no Mises equivalent strain output either), but log strain is the default for large strain analyses.

Perhaps it could be also a request for CalculiX to modify/extend its outputs.

Vm_EQU

=Sqrt((Pow(Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MAX+1),Exp(1))-Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MID+1),Exp(1)),2)+Pow(Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MID+1),Exp(1))-Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MIN+1),Exp(1)),2)+Pow(Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MIN+1),Exp(1))-Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MAX+1),Exp(1)),2))*2/9)

PRINCIPAL_MAX TRUE

=Log(Sqrt(2*TOSTRAIN.PRINCIPAL_MAX+1),EXP(1))

E11 TRUE / E33 TRUE (POISSON CHECK)

=Log(Sqrt(2*TOSTRAIN.E11+1),EXP(1))/Log(Sqrt(2*TOSTRAIN.E33+1),EXP(1))

Do you reopen the results by going straight to their tab or do you right-click on the completed analysis and choose Results from there ? Even in the latter case, there’s the “Run history postprocessing” setting that can regenerate the custom maps.

I found I removed the history. It also removes the Custom Formulas.

Both forumulas are the same as far as the incompresibility criteria is assumed:

imagen

Another one for the collection - DIANA FEA:

1 Like

In PrePoMax, the same formulas are used to compute the von Mises stress and strain from the tensors computed by Calculix.

Another example from Recurdyn