**process cycle_projection
#
Description#
This post is used when we have a multiaxial loading which is close to proportional and it is desired to see the primary stress-strain hysteresis loops. The user will pick a specific point in a cyclic loading (or series of points at similar conditions) and the requested tensors will be projected onto the eigen directions determined at that point.
The user can specify the point from which we take the eigen values/vectors from:
A map number can be given. This will be indexed base 1 from the start of the selected cards in the active post section (that is if we select maps 20-200, a selection of 20 will be number 40 in the global maps).
A time can be given. If the time is between 2 maps the values will be interpolated.
The post calculation uses a
POST_CYCLE_TOOL
object to determine the cycle positions, from which we can use a cycle number combined with start/mid/end tokens. The default is this method, with cycle 1/mid selected.
Using the eigen vectors of the ordered principal calculation of the
given *primary_variable
selection we project the selected tensors
into that frame and output them with either the given list of output
names, or as tname_cpj
. If the primary tensor is desired as
output then it should also be given in the *var
listing.
Syntax#
**process cycle_projection
tool-type
\(~\,\) *primary_variable
name
\(~\,\) *var
name1 name2 … nameN
[ *output
name1 name2 … nameN ]
[ *time
time-val ]
[ *map
map-index ]
[ *cycle
num (start``|``mid``|``end
) ]
[ *remap_each_cycle
]
Note
The POST_CYCLE_TOOL
expects that temperature
be defined as a field variable. If it
does not, one can use the make_field
local post computation in order to do so.
Example#
A common usage is to use the hot_spot
post computation to identify
critical regions, and then study the mechanical cycles at that location.
In this example we have a nset named min_life.nset
stored via a
hot_spot. That nset is split in the beginning mesher
command **split_nset
run when loading the data source so we can
specify node locations symbolically. The worst case node is then named
min_life_1
.
Note that the tmf
keyword after the **process cycle_projection
command identifies the type of cycle identifying tool to use. Currently
the reader should refer to the sehitoglu life prediction methods
for a discussion. Future versions of the documentation will have
a more expansive discussion on that.
****post_processing
***data_source Z7
**open zpost_matsim.utp
**nset min_life
*nodes_in_file min_life.nset
**split_nset min_life
***local_post_processing
**output_number 1-9999
**file node
**nset min_life_1
**process cycle_projection tmf
*primary_variable sig
*var sig eps_me evi
*out sig_x eps_x evi_x
*cycle 1 mid
*remap_each_cycle mid
*total_strain_for_range
***global_post_processing
**process curve curves_1.test
*precision 3
*node min_life_1 eps_x11 eps_x22 eps_x33 eps_x12 eps_x23 eps_x31
sig_x11 sig_x22 sig_x33 sig_x12 sig_x23 sig_x31
evcum temperature
****return