def _get_distr_ppfs( self ):
     no_of_fibers = norm( self.distr_of_fibers[0], self.distr_of_fibers[1] ).ppf( rand( 1 ) )
     phi_array = sin2x._ppf( rand( no_of_fibers ) ).reshape( no_of_fibers, 1 )
     le_array = ( rand( no_of_fibers ) * self.fiber_length / 2. )
     self.n_of_f[0].append( int( no_of_fibers ) )
     self.n_of_f[2].append( le_array )
     le_array = le_array.reshape( no_of_fibers , 1 )
     return phi_array, le_array
    def give_cb_attr(self):
        #gives every crack bridge attributes
        no_of_fibers = norm(self.distr_of_fibers[0], self.distr_of_fibers[1]).ppf(np.random.rand(1))
        phi_array = sin2x._ppf(np.random.rand(no_of_fibers))
        le_array = (np.random.rand(no_of_fibers) * self.fiber_length / 2.)
        if self.with_tau_distr:
            tau_array = abs(weibull_min(self.weibull_tau_shape, self.weibull_tau_scale).ppf(np.random.rand(no_of_fibers)))

        else:
            tau_array = self.tau


        if self.with_f_distr:
            f_array = abs(norm(self.mean_f, self.stdev_f).ppf(np.random.rand(no_of_fibers)))

        else: f_array = self.f
        self.fiber_data_tuple[0].append(int(no_of_fibers))
        self.fiber_data_tuple[1].append(phi_array)
        self.fiber_data_tuple[2].append(le_array)
        self.fiber_data_tuple[3].append(f_array)
        self.fiber_data_tuple[4].append(tau_array)