FlexPro
HistoryBase
Ingénierie
Formation
Téléchargements
Assistance FlexPro
Connaissance
Communauté
À propos de nous
Références
Emplois
Contact général
Liste des revendeurs
Assistance FlexPro
FR
DE
EN
Porte-plaquette
Produits et solutions
Support et téléchargements
Entreprise
Magazine
Contact
Langue
MyWeisang

Paramètres du compte.

Topic

Rainflow count class divisions

Page d'accueil ' Communauté ' Généralités ' Rainflow count class divisions

Voir les messages de 7 - 1 à 7 (sur un total de 7)
  • Auteur
    Messages
  • #34235
    Norbert Bakkers
    Participant

    To test the rainflow count options within FlexPro, I compared the FlexPro calculated results with some hand calculated results using a simple signal composed of 10 different sinus waves.
    I calculated the rainflow counts using the absolute positive range pairs.

    If I use the automatic class divisions, the FlexPro results are identical to the hand calculations.
    But if I set the class division by hand using either [start/end], [start/class width] or if I use [from dataset with class limit] using the class width I got from the automatic class division calculations, the results are completely different.
    For all options I have used the same number of class divisions.
    Because I will have to combine a number of rainflow calculations, the class width will have to be equal for all results.

    Am I doing something wrong?
    If so, how should I continue?

    #34230
    Bernhard Kantz
    Participant

    You can easily explore how FlexPro computes the class division if you take a look at the FPScript code which produced by the “Counting Matrix” analysis object. The class division is a data series which is specified as the second argument to the RainflowMatrix() function. You can see the code, if you select the object, right-click and then choose [b]Open[/b] from its context menu.

    I case of automatic class division, the following code is used to produce the class division data series:
    [code]
    (33., Min(Signal), (Max(Signal) – Min(Signal)) / 32.)
    [/code]
    I you choose [start, end] as [-1, 1] and set the class count to 32, then the following code is produced:
    [code]
    (33., -1.00000000000000, (1.00000000000000 – -1.00000000000000) / 32.)
    [/code]
    In both cases, the FPScript data series operator [b](count, origin, increment)[/b] is used.

    You can copy these code fragments into a formula to see which limits are actually used. Please note that the counting uses a class division with closed bounds. The means that for 32 classes, the [b]RainflowMatrix()[/b] function needs 33 limit values.

    support@weisang.com

    #34231
    Norbert Bakkers
    Participant

    If I calculate the rainflow counts of one dataset, the result seems to change depending on the ClassLimits. If I set the Hysteresis to be zero (everything included) and then reduce the number of class divisions while keeping the start value and end value constant, I expect the total number of cycles to be the same for every calculation. These settings should only influence the resolution of the results (position of cycle calculated in the result array) and not the calculated cycles. However, if I increase the class size over a certain amount I suddenly start ‘losing’ a lot of cycles. On the other hand, if I decrease the class size the number of cycles increases untill the class size has reached a certain size. Decreasing the class size even more does not influence the results, the total number of cycles stays constant. (Including or excluding the ‘residu’ has a neglectible influence on the outcome)
    I can’t use a very small class size because this will increase the processing time too much.
    Why are not all cycles included if I increase the class size over a cetain value ?

    #34232
    Bernhard Kantz
    Participant

    Even if you set the range filter (hysteresis) to zero, there will still be a dependency between the number of class divisions and the number of counted cycles. If you have a few large classes only, then small cycles, which completely fall into one class, are not counted. They fall through the grid of class divisions. If you increase the number of classes, then the number of counted cycles goes up until it reaches its maximum. Then, the class division is so small that all cycles are counted.
    support@weisang.com

    #34233
    Norbert Bakkers
    Participant

    Thanks for the information. Now I know what causes the problem, I can work around it.
    One more thing: My programme crashes if I change the ‘start of the class’ in the ‘class division’ using the following:
    ActiveDatabase.SelectedObject.ClassDivisionParameter1 = -50
    I got this by manually recording a macro.
    Could this be wrong, and if so, what should it be?
    It also crashes if I record the macro and then execute it.
    Thank you.

    #34229
    Norbert Bakkers
    Participant

    To test the rainflow count options within FlexPro, I compared the FlexPro calculated results with some hand calculated results using a simple signal composed of 10 different sinus waves.
    I calculated the rainflow counts using the absolute positive range pairs.

    If I use the automatic class divisions, the FlexPro results are identical to the hand calculations.
    But if I set the class division by hand using either [start/end], [start/class width] or if I use [from dataset with class limit] using the class width I got from the automatic class division calculations, the results are completely different.
    For all options I have used the same number of class divisions.
    Because I will have to combine a number of rainflow calculations, the class width will have to be equal for all results.

    Am I doing something wrong?
    If so, how should I continue?

    #34234
    Bernhard Kantz
    Participant

    The macro stops with an error if the value of ClassDivisionParameter1 is negative. This should be possible. So we will remove this issue.

    support@weisang.com

Voir les messages de 7 - 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.