Suggested improvements for the Envelope tool

Hello everyone, I’m here today to suggest small tweaks to the Envelope tool introduced in the recent releases.

When dealing with models with many load cases, it is very useful to make an envelope at first to make it easier to track potential critical locations, and this functionality is very well implemented in the PrePoMax software. In this regard, I would only suggest making an envelope for maximum absolute values as well to make it easier to compare values that may have reversed signals, such as bending stresses S11 in areas with reversed normals. Of course, one can compare first the MAX field output from the envelope and then the MIN output, but comparing both at the same time would be better for cases like this.

image

The second improvement I suggest is to also make a new output called “Load set info” or something like that. The reason is that after identifying the critical zones from the envelope, it is very common to revisit the consistent load case associated with this condition. In this output, the value in each element (or nodes) will be the load case that generated the output condition: If the load case 32 generated the maximum positive Mises stress for node 2692, then the output “Load set info” for MAX values will display the value “32” in the same node. This is the approach taken by FEMAP software and is very, very useful for analysis with many load cases. One example is in this video.

Maybe these suggestions can have a negative effect on memory storage for large models. One option would be to let the user select which type of envelope (MAX, MIN, AVERAGE, or MAX ABS) and also which load cases he or she wants to envelope.

image

Thank you for the continuous work and improvements in the software.
Best regards,
Lucas.

1 Like

If you make an Envelope so also please add the stress range (= MAX_envelope - MIN_envelope). Then you have already half of the way for a fatigue analysis.

Stress range (Envelope over 40 load cases)


I also explain in the following link, how you can calculate the fatigue utilization ratio and the Damage from that stress range.
https://fatigue.pro/2023/08/wheel-with-moving-load/

Damage

Very interesting analysis, @fatigue.pro! Just out of curiosity, does that simulated fatigue test also account for variation in utilization? Or do the standards only request one load case? I’ve only calculated fatigue using exceedances of stress across different load scenarios with the Palmgren-Miner rule for predicting failure.

Thanks for sharing.

These dynamic radial fatigue test is only defined for a constant load.

https://fatigue.pro/2023/08/wheel-with-moving-load#rft

With that approach we are able to simulate the dynamic radial fatigue test according ISO 3006 (Europe) or SAE J328 (US). In this test, a constant radial force Fr is applied.

But you should use these fatigue approach if you have proportional loading …

and if you are able to calculate a constant Damage equivalent load (DEL) from your variable load.
see section “5.4.1 Damage equivalent loads (DELs)” in https://tidsskrift.dk/me/article/view/110952/160076

Then you have only one constant load level and that is only one point in the S-N curve.
But if you have more than one load level then you need a Damage accumulation according to the Palmgren-Miner rule.
http://fatiguetoolbox.org/fatlab/documentation/theory-reference#attachment_144

Adding additional outputs in the Envelope tool is not a problem.

So we are missing:
Max of Abs
Stress range (Max - min)

For the identification of which load increment was chosen (as min, max, …), a new filed output for each of them is necessary.

1 Like

And “Min of Abs” that is sometimes called as “Maximum over time” and “Minimum over time”

For fatigue calculation typical stress is signed:

signed von Mises stress
see section 3.1 (Signed) von Mises in http://fatiguetoolbox.org/fatlab/documentation/theory-reference

Pnmax stress is already available in PrePoMax as stress “SGN-MAX-ABS-PRI” or “worstPS” in cgx

… the maximum absolute principle stress. In Fatlab this is called “Pnmax: Numerically largest principal stress (between P1 and P3)”.
see also section 3.2 Principal stresses in http://fatiguetoolbox.org/fatlab/documentation/theory-reference

Calculation of these envelope results in post process can take much time for many/all nodes. And Identification of the increment is useful but it is not always needed. These incr_id plots are typical not so nice and so I prefer a time history to find min and max for the interesting node.

I may need to disagree. When dealing with a large number of steps (I have models with hundreds) it is pretty much a need to visually identify which load set is causing more stress at critical regions, and very often neighbor nodes/elements have different load sets causing the most critical stress concentration. If you choose the node of study too early and do not verify other regions, you may lose important data on the structure behavior. In this case, the visual plot is better than time history for many objects at once.

Of course, the plot is neither pretty nor memory-friendly, but I guess this is how it is.

I would not worry about how memory-friendly it is. I think the data amount is the same as for any other full model field output.

Abaqus also has this feature:

When you choose the minimum or maximum operation, Abaqus also creates a field output variable for each result indicating the frames from which each minimum or maximum value was obtained. (The frames are identified by their index in the list of selected frames.) This variable, named outputVariable_Index, is available from the same frame of the session step as the actual results of the minimum or maximum operation and can be queried or plotted in the same way as other field output variables.

It might be good to add that this output shouldn’t really be averaged…