Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations GregLocock on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

plotting life

Status
Not open for further replies.

chris456s

Structural
Feb 2, 2017
50
My company does not have nCode. our ansys license is very limited with regard to fatigue. We get outputs from ansys simulations that are input into our in-house software for post processing. The results are fatigue lives and damage.
It can produce life and damage results at all selected nodes in a txt or CSV file. I would like to find a way to plot the result in ansys on to the source mesh. I have tried using a "csvplot" ACT extension by CAE, and it works in some cases but produces unacceptable errors in others. Is there any APDL command objects that will read a txt file assign a value to each node for contour plotting? Even if the contour was an apdl image. I'm using v18.2 but can upgrade to 19.
 
Replies continue below

Recommended for you

What we did was read in the min stress and max stress at every node into an array. Calculate the mean and alternating stress. Then take that and use Modified Goodman to get your fatigue stress. Fit a curve to your fatigue data to get Sfat = f(n) and use that to get n=f(Sfat). You now have the life at each node, or n = f(x,y,z). Divide your required life by n and get the safety factor. Then use *VPUT to read the life into the database so you can plot it.

Rick Fischer
Principal Engineer
Argonne National Laboratory
 
Thanks for you suggestion but that process is not sufficient. It does not account for our particular load histories..unless your instruction to "fit a curve to your fatigue data to get Sfat = f(n)" is that part. But I have no clue how to do that in ansys.

Summary of our process:
For us, fatigue is based on a load history with load effects form several different load contributors in several different directions. So the range between a single min and max is not sufficient. For each contributor, loads are rainflow counted into bins. For each contributor, each bin has a min and max load in each load direction and a number of occurrences. There could be 20 bins, there could be 300,000 bins. We use Ansys to a find a component stress response to unit loading for each contributor applied in each direction, a unit stress Transfer function is developed. The component stresses response to each direction of loading for a contributor are exported and externally post processed by scaling to fit each bin. The sum of s_ij.min and sum s_ij.max for all directional responses create two tensors in each bin for each node. The difference of each component from the min and max tensors create a difference tensor for each bin. Principal stress ranges are calc'd from the difference tensors. Then damage is calc'd from the principal stress ranges.
What you suggest does not seem to account for all this since:
1) the min and max stress from a single load case may not represent the correct load cycle range.
2) a single bin in a load history might represent a contributor's tensile, shear, and torsion load ranges associated with a number of cycles. The next bin has different load values for all load components. The combined effect of load is important so a single set of reference stress ranges are not sufficient. To avoid thousands of load cases, A unit stress transfer function is developed and applied to the history.

Our process is really not important.
I just need to know how to contour plot external data.

You say use "*VPUT to read the life into the database so you can plot it."
But *VPUT just put arrays into the db. Furthermore, it seems to only work with a list of predefined items.
How does that hep me make a contour plot?
 
I figured it out
*tread to make a table of my values then
*VPUT does work somewhat if I want to use all nodes or if I want to do a set of sequential nodes. Otherwise it does not map the data correctly.
Must loop DNSOL

My only issue with this that these commands replace values that exists in the data set like UX for example. So the plots are labeled UX plots (or whatever data I replaced). Life and damage are not on the list of replaceable data.


 
When the loading was not constant, we ran multiple load cases and used Miner's Rule. Also, we applied knockdown factors to various areas for surface finish, etc by assigning nodes to components, and then increasing the fatigue stress at those nodes.

*dim,fatigue,,ncount,20
lets say your FS value is in column 14.
*vput,fatigue(1,14),node,u,x
plnsol,u,x

yes, the title will say UX. put a title on the plot to identify it. Sometimes it helps to turn powergraphics off.

/title,Safety Factor for Fatigue Failure at 2.5E5 Cycles

You can vput over any result supported by plnsol, but some values, like von Mises stress, are not in the database, and are recalculated when you plot, so your fatigue results get overwritten.

Rick Fischer
Principal Engineer
Argonne National Laboratory
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor