The simulation I am working on right now consists of solid laminate/PCOMPS-elements. If I want to output the solid laminate failure and solid inter-laminar failure index, I need to select either PLYBT or PLYBMT as output options for composite solid ply output in the strain and stress structural output request.
After solving this leaves me with a simulation navigation tree that under the node solid inter-laminar failure index lists all plies defined by the global layup for top and bottom (e.g. Ply 1 Bottom, Ply 1 Top, Ply 2 Bottom, Ply 2 Top, Ply 3 Bottom, Ply 3 Top …)
What I want to do next is what gives me a headache. I am trying to use the reduction command to use ply stresses and strains to implement Cuntze failure criterion.
To understand which stresses the PSXX expression uses I tried to output only the PSXX expression as a formula in the reduction command. What I am hoping for is a situation where I use the PSXX expression in a formula within the reduction command and it uses automatically the "ply 1 bottom stress" for the bottom node of ply 1 and the "ply 1 top stress" for the top node of ply 1. What it does right now is giving me the "ply 1 bottom stress" for both top and bottom node of ply 1.
I could use CPLYMID output in the strain and stress output request and would get the "ply 1 mid stress for both the bottom and top node of ply 1 and so on. Which could work but is not as accurate for the calculation of inter-laminar failure using the Cuntze criteria.
Does anyone has an idea of how I could change the way PSXX uses the ply stresses?
What I need is an expression which includes all stress information of all plies and distinguishes between the bottom and top ply stress too.
Does something like this exist?
Thanks in advance for your help!
For better understanding I attached some screenshots.
Solved! Go to Solution.
In the Reduction dialog, you could click the Add Expression button. Then you could create an expression for Sigma11 for each ply, and specify a location, in this case I picked Top:
You can then extract the maximum from all of these in the formula, and then add your own operators.
So you would be getting a result for the top of all the plies, and then another for the bottom of all the plies.
thanks for your advice. I already thought about that option. I think it is definitely an option to start off with the mid-section version to get an idea and than switch to your version once I need more reliable values. How would you extract the maximum from all these expressions in the formula? How would the syntax be? I saw max() and maxList() but couldn't make them work.
Thanks again for your help.
I'd use the max function. I've had problems with it when I type the complete function name. However, it has worked when I begin to to type the string, let NX propose suggestions, then click max() from the list of suggestions.