From c777ef2a43850fdd64bbaee3214df6a5635096d1 Mon Sep 17 00:00:00 2001 From: "david.verelst" Date: Mon, 28 Feb 2011 12:21:13 +0000 Subject: [PATCH] Nieslony's ASTM rainflow counting algorithm. Partially integrated, no support for the CyclePairs object yet. --- pywafo/src/wafo/c_library.so | Bin 120343 -> 131695 bytes pywafo/src/wafo/misc.py | 78 +++++++-- pywafo/src/wafo/objects.py | 47 +++++- pywafo/src/wafo/source/c_codes/c_functions.c | 164 +++++++++++++++++++ pywafo/src/wafo/source/c_codes/c_library.pyf | 41 +++++ 5 files changed, 310 insertions(+), 20 deletions(-) diff --git a/pywafo/src/wafo/c_library.so b/pywafo/src/wafo/c_library.so index 3ddfc76145c894e593ace7537430f0944723fb04..f382a866d655aa4af9784fa6361b36fcf1d0faf2 100755 GIT binary patch literal 131695 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 E-%g&=4FCWD literal 120343 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, then all rainflow cycles with height smaller than h are removed. + method : string, optional + 'clib' 'None' + Specify 'clib' for calling the c_functions, otherwise fallback to + the Python implementation. Returns ------- @@ -513,8 +547,9 @@ def findrfc(tp, hmin=0.0, method='clib'): rfcfilter, findtp. ''' - # TODO merge rfcfilter and findrfc + # TODO: merge rfcfilter and findrfc y1 = atleast_1d(tp).ravel() + n = len(y1) ind = zeros(0, dtype=np.int) ix = 0 @@ -539,7 +574,7 @@ def findrfc(tp, hmin=0.0, method='clib'): warnings.warn('This is not a sequence of turningpoints, exit') return ind - if clib is None or method!='clib': + if clib is None or method not in ('clib'): ind = zeros(n, dtype=np.int) NC = np.int(NC) for i in xrange(NC): @@ -717,8 +752,8 @@ def findtp(x, h=0.0, kind=None): if h>0, then all rainflow cycles with height smaller than h are removed. kind : string - defines the type of wave. Possible options are - 'mw' 'Mw' or 'none'. + defines the type of wave or indicate the ASTM rainflow counting method. + Possible options are 'astm' 'mw' 'Mw' or 'none'. If None all rainflow filtered min and max will be returned, otherwise only the rainflow filtered min and max, which define a wave according to the @@ -765,23 +800,32 @@ def findtp(x, h=0.0, kind=None): if ind.size < 2: return None - - + #% In order to get the exact up-crossing intensity from rfc by #% mm2lc(tp2mm(rfc)) we have to add the indices #% to the last value (and also the first if the #% sequence of turning points does not start with a minimum). - - if x[ind[0]] > x[ind[1]]: - #% adds indices to first and last value - ind = r_[0, ind, n - 1] - else: # adds index to the last value - ind = r_[ind, n - 1] - + + if kind == 'astm': + # the Nieslony approach always put the first loading point as the first + # turning point. + if x[ind[0]] != x[0]: + # add the first turning point is the first of the signal + ind = np.r_[0, ind, n - 1] + else: + # only add the last point of the signal + ind = np.r_[ind, n - 1] + else: + if x[ind[0]] > x[ind[1]]: + #% adds indices to first and last value + ind = r_[0, ind, n - 1] + else: # adds index to the last value + ind = r_[ind, n - 1] + if h > 0.0: ind1 = findrfc(x[ind], h) ind = ind[ind1] - + if kind in ('mw', 'Mw'): xor = lambda a, b: a ^ b # make sure that the first is a Max if wdef == 'Mw' @@ -791,9 +835,9 @@ def findtp(x, h=0.0, kind=None): remove_first = xor(first_is_max, kind.startswith('Mw')) if remove_first: ind = ind[1::] - - # make sure the number of minima and Maxima are according to the wavedef. - # i.e., make sure Nm=length(ind) is odd + + # make sure the number of minima and Maxima are according to the + # wavedef. i.e., make sure Nm=length(ind) is odd if (mod(ind.size, 2)) != 1: ind = ind[:-1] return ind diff --git a/pywafo/src/wafo/objects.py b/pywafo/src/wafo/objects.py index d27f574..6d641a8 100644 --- a/pywafo/src/wafo/objects.py +++ b/pywafo/src/wafo/objects.py @@ -17,7 +17,7 @@ from wafo.transform.core import TrData from wafo.transform.models import TrHermite, TrOchi, TrLinear from wafo.stats import edf, distributions from wafo.misc import (nextpow2, findtp, findrfc, findtc, findcross, - ecross, JITImport, DotDict, gravity) + ecross, JITImport, DotDict, gravity, findrfc_astm) from wafodata import WafoData from wafo.interpolate import SmoothSpline from scipy.interpolate.interpolate import interp1d @@ -909,6 +909,10 @@ class TurningPoints(WafoData): ---------- kind : string type of cycles to return options are 'min2max' or 'max2min' + method : string + specify which library to use + 'clib' for wafo's c_library + 'None' for wafo's Python functions Return ------ @@ -930,6 +934,7 @@ class TurningPoints(WafoData): TurningPoints SurvivalCycleCount """ + if h>0: ind = findrfc(self.data, h, method=method) data = self.data[ind] @@ -951,8 +956,41 @@ class TurningPoints(WafoData): kind = 'max2min' M = data[iM:-1:2] m = data[iM + 1::2] + time = self.args[-1]-self.args[0] - return CyclePairs(M, m, kind=kind, mean=self.mean, sigma=self.sigma, time=time) + + return CyclePairs(M, m, kind=kind, mean=self.mean, sigma=self.sigma, + time=time) + + def cycle_astm(self): + """ + Rainflow counted cycles according to Nieslony's ASTM implementation + + Parameters + ---------- + + Returns + ------- + sig_rfc : array-like + array of shape (n,3) with: + sig_rfc[:,0] Cycles amplitude + sig_rfc[:,1] Cycles mean value + sig_rfc[:,2] Cycle type, half (=0.5) or full (=1.0) + + Example + ------- + >>> import wafo + >>> x = wafo.data.sea() + >>> sig_ts = wafo.objects.mat2timeseries(x) + >>> sig_tp = sig_ts.turning_points(h=0, wavetype='astm') + >>> sig_cp = sig_tp.cycle_astm() + """ + + # output of Nieslony's algorithm is organised differently with + # respect to wafo's approach + # TODO: integrate ASTM method into the CyclyPairs class? + return findrfc_astm(self.data) + def mat2timeseries(x): """ @@ -1543,11 +1581,14 @@ class TimeSeries(WafoData): wavetype : string defines the type of wave. Possible options are - 'mw' 'Mw' or 'none'. + 'astm' 'mw' 'Mw' or 'none'. If None all rainflow filtered min and max will be returned, otherwise only the rainflow filtered min and max, which define a wave according to the wave definition, will be returned. + 'astm' forces to have the first data point of the load history as + the first turning point. To be used in combination with + TurningPoints.cycle_astm() Returns ------- diff --git a/pywafo/src/wafo/source/c_codes/c_functions.c b/pywafo/src/wafo/source/c_codes/c_functions.c index 7725902..a9bbdd5 100644 --- a/pywafo/src/wafo/source/c_codes/c_functions.c +++ b/pywafo/src/wafo/source/c_codes/c_functions.c @@ -613,3 +613,167 @@ void disufq2(double *rsvec, double *isvec, // return i; } + +/* ++++++++++ BEGIN RF3 [ampl ampl_mean nr_of_cycle] */ +/* ++++++++++ Rain flow without time analysis */ +//By Adam Nieslony +//Visit the MATLAB Central File Exchange for latest version +//http://www.mathworks.com/matlabcentral/fileexchange/3026 +void findrfc3_astm(double *array_ext, double *array_out, int n, int *nout) { + + double *pr, *po, a[16384], ampl, mean; + int tot_num, index, j, cNr1, cNr2; + + tot_num = n; + + // pointers to the first element of the arrays + pr = &array_ext[0]; + po = &array_out[0]; + + // The original rainflow counting by Nieslony, unchanged + j = -1; + cNr1 = 1; + for (index=0; index= 2) && (fabs(a[j-1]-a[j-2]) <= fabs(a[j]-a[j-1])) ) { + ampl=fabs( (a[j-1]-a[j-2])/2 ); + switch(j) { + case 0: { break; } + case 1: { break; } + case 2: { + mean=(a[0]+a[1])/2; + a[0]=a[1]; + a[1]=a[2]; + j=1; + if (ampl > 0) { + *po++=ampl; + *po++=mean; + *po++=0.50; + } + break; + } + default: { + mean=(a[j-1]+a[j-2])/2; + a[j-2]=a[j]; + j=j-2; + if (ampl > 0) { + *po++=ampl; + *po++=mean; + *po++=1.00; + cNr1++; + } + break; + } + } + } + } + cNr2 = 1; + for (index=0; index 0){ + *po++=ampl; + *po++=mean; + *po++=0.50; + cNr2++; + } + } + // array of ints nout is outputted + nout[0] = cNr1; + nout[1] = cNr2; +} +/* ++++++++++ END RF3 */ + + +// ++ BEGIN RF5 [ampl ampl_mean nr_of_cycle cycle_begin_time cycle_period_time] +/* ++++++++++ Rain flow with time analysis */ +//By Adam Nieslony +//Visit the MATLAB Central File Exchange for latest version +//http://www.mathworks.com/matlabcentral/fileexchange/3026 +void +findrfc5_astm(double *array_ext, double *array_t, double *array_out, int n, int *nout) { + double *pr, *pt, *po, a[16384], t[16384], ampl, mean, period, atime; + int tot_num, index, j, cNr1, cNr2; + + +// tot_num = mxGetM(array_ext) * mxGetN(array_ext); + tot_num = n; + + // pointers to the first element of the arrays + pr = &array_ext[0]; + pt = &array_t[0]; + po = &array_out[0]; + +// array_out = mxCreateDoubleMatrix(5, tot_num-1, mxREAL); + + // The original rainflow counting by Nieslony, unchanged + j = -1; + cNr1 = 1; + for (index=0; index= 2) && (fabs(a[j-1]-a[j-2]) <= fabs(a[j]-a[j-1])) ) { + ampl=fabs( (a[j-1]-a[j-2])/2 ); + switch(j) +{ + case 0: { break; } + case 1: { break; } + case 2: { + mean=(a[0]+a[1])/2; + period=(t[1]-t[0])*2; + atime=t[0]; + a[0]=a[1]; + a[1]=a[2]; + t[0]=t[1]; + t[1]=t[2]; + j=1; + if (ampl > 0) { + *po++=ampl; + *po++=mean; + *po++=0.50; + *po++=atime; + *po++=period; + } + break; + } + default: { + mean=(a[j-1]+a[j-2])/2; + period=(t[j-1]-t[j-2])*2; + atime=t[j-2]; + a[j-2]=a[j]; + t[j-2]=t[j]; + j=j-2; + if (ampl > 0) { + *po++=ampl; + *po++=mean; + *po++=1.00; + *po++=atime; + *po++=period; + cNr1++; + } + break; + } + } + } + } + cNr2 = 1; + for (index=0; index 0){ + *po++=ampl; + *po++=mean; + *po++=0.50; + *po++=atime; + *po++=period; + cNr2++; + } + } +// /* free the memeory !!!*/ +// mxSetN(array_out, tot_num - cNr); + nout[0] = cNr1; + nout[1] = cNr2; +} +/* ++++++++++ END RF5 */ diff --git a/pywafo/src/wafo/source/c_codes/c_library.pyf b/pywafo/src/wafo/source/c_codes/c_library.pyf index 694ec54..5e58404 100644 --- a/pywafo/src/wafo/source/c_codes/c_library.pyf +++ b/pywafo/src/wafo/source/c_codes/c_library.pyf @@ -41,5 +41,46 @@ interface integer intent(in) :: nmin, nmax double precision dimension(n*m), intent(out) :: rsvec, isvec, rdvec, idvec ! output array, end subroutine disufq2 + + ! ===== START NIESLONY RAINFLOW FUNCTIONS + ! RAINFLOW Revision: 1.1 + ! by Adam Nieslony, 2009 + subroutine findrfc3_astm(array_ext, array_out, n, nout) + intent(c) findrfc3_astm ! rf3 is a C function + intent(c) ! all rf3 arguments are + ! considered as C based + + ! n is the length of the input array array_ext + integer intent(hide), depend(array_ext) :: n=len(array_ext) + + ! of input array x + double precision intent(in) :: array_ext(n) + + ! the output array + double precision intent(out) :: array_out(n,3) + + ! nout array, to output additional ints + integer dimension(2), intent(out) :: nout + end subroutine findrfc3_astm + + subroutine findrfc5_astm(array_ext, array_t, array_out, n, nout) + intent(c) findrfc5_astm ! rf5 is a C function + intent(c) ! all rf5 arguments are + ! considered as C based + + ! n is the length of the input array array_ext + integer intent(hide), depend(array_ext) :: n=len(array_ext) + + ! of input array x + double precision intent(in) :: array_ext(n), array_t(n) + + ! the output array + double precision intent(out) :: array_out(n,5) + + ! nout array, to output additional ints + integer dimension(2), intent(out) :: nout + end subroutine findrfc5_astm + ! ===== END NIESLONY RAINFLOW FUNCTIONS + end interface end python module c_library \ No newline at end of file