当前位置: 首页>>代码示例>>Python>>正文


Python mfn_line.MFnLineArray类代码示例

本文整理汇总了Python中mathkit.mfn.mfn_line.mfn_line.MFnLineArray的典型用法代码示例。如果您正苦于以下问题:Python MFnLineArray类的具体用法?Python MFnLineArray怎么用?Python MFnLineArray使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了MFnLineArray类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: montecarlo

 def montecarlo(self,N):
     ppf = MFnLineArray(xdata=self.hui_cdf, ydata=self.x)
     fragment_lengths = []
     for i in range(N):
         fragment_length = ppf.get_value(np.random.rand(1)) + ppf.get_value(np.random.rand(1))
         fragment_lengths.append(fragment_length / 2.)
     return np.array(fragment_lengths)
开发者ID:rostar,项目名称:rostar,代码行数:7,代码来源:UD_composites_strength.py

示例2: ppf

 def ppf( self, x ):
     self.check()
     if len( self.cdf_values ) != 0:
         xx, cdf = self.x_values, self.cdf_values
     else:
         xx, cdf = self.x_values, self.cdf( self.x_values )
     ppf_mfn_line = MFnLineArray( xdata = cdf, ydata = xx )
     return ppf_mfn_line.get_values( x )
开发者ID:axelvonderheide,项目名称:scratch,代码行数:8,代码来源:generated_distribution.py

示例3: strains

 def strains( self ):
     mfn = MFnLineArray()
     mfn.xdata, mfn.ydata = self.values
     strains_fn = frompyfunc( mfn.get_diff, 1, 1 )
     strains = strains_fn( mfn.xdata )
     strains[0] = strains[1]
     strains[-2] = strains[-1]
     return strains
开发者ID:axelvonderheide,项目名称:scratch,代码行数:8,代码来源:clamp_const_model.py

示例4: _get_cached_pdf

 def _get_cached_pdf( self ):
     if len( self.pdf_values ) == 0:
         cdf_line = MFnLineArray( xdata = self.x_values, ydata = self.cdf_values )
         pdf = []
         for x in self.x_values:
             pdf.append( cdf_line.get_diff( x ) )
         return MFnLineArray( xdata = self.x_values, ydata = pdf )
     else:
         return MFnLineArray( xdata = self.x_values, ydata = self.pdf_values )
开发者ID:axelvonderheide,项目名称:scratch,代码行数:9,代码来源:generated_distribution.py

示例5: get_epsf_x

 def get_epsf_x(self, w):
     '''
     evaluates the mean fiber strain profile at given load
     '''
     self.CB_model.w = w
     if self.CB_model.Ll > self.CB_model.Lr:
         epsf_interp = MFnLineArray(xdata=-self.CB_model._x_arr[::-1], ydata=self.CB_model._epsf_arr[::-1])
     else:
         epsf_interp = MFnLineArray(xdata=self.CB_model._x_arr, ydata=self.CB_model._epsf_arr)
     return epsf_interp.get_values(self.x)
开发者ID:simvisage,项目名称:simvisage,代码行数:10,代码来源:scm_Gf.py

示例6: get_epsm_x

 def get_epsm_x(self, w):
     """
     evaluates the matrix strain profile at given load
     """
     self.CB_model.w = w
     if self.CB_model.Ll > self.CB_model.Lr:
         epsm_interp = MFnLineArray(xdata=-self.CB_model._x_arr[::-1], ydata=self.CB_model._epsm_arr[::-1])
     else:
         epsm_interp = MFnLineArray(xdata=self.CB_model._x_arr, ydata=self.CB_model._epsm_arr)
     return epsm_interp.get_values(self.x)
开发者ID:simvisage,项目名称:simvisage,代码行数:10,代码来源:scm.py

示例7: w_x_results

 def w_x_results( self, w_arr, x ):
     epsm = np.zeros( ( len( w_arr ), len( x ) ) )
     mu_epsf = np.zeros( ( len( w_arr ), len( x ) ) )
     sigma_c = []
     for i, w in enumerate( w_arr ):
         self.model.w = w
         epsm_line = MFnLineArray( xdata = self.x_arr, ydata = self.epsm_arr )
         mu_epsf_line = MFnLineArray( xdata = self.x_arr, ydata = self.mu_epsf_arr )
         epsm[i, :] = epsm_line.get_values( x )
         mu_epsf[i, :] = mu_epsf_line.get_values( x )
         sigma_c.append( self.sigma_c )
     return epsm, mu_epsf, np.array( sigma_c )
开发者ID:sarosh-quraishi,项目名称:simvisage,代码行数:12,代码来源:hom_CB_elastic_mtrx_view.py

示例8: _get_pdf_array

    def _get_pdf_array( self ):

        # get the normed histogram implemented in the base class YMBHist
        h, b = self.normed_hist
        b_cen = ( b[1:] + b[:-1] ) / 2.
        mask = ( h != 0. )
        h = h[mask]
        b_cen = b_cen[mask]
        b = hstack( [min( b ), b_cen, max( b )] )
        h = hstack( [0, h, 0] )
        h = h / trapz( h, b )
        p = MFnLineArray( xdata=b, ydata=h )
        return p.get_values( self.x_array )
开发者ID:axelvonderheide,项目名称:scratch,代码行数:13,代码来源:ymb_pdistrib.py

示例9: _get__epsm_arr

 def _get__epsm_arr(self):
     if len(self.sorted_reinf_lst[0]) != 0 and len(self.sorted_reinf_lst[1]) != 0:
         epsm_cont_interp = MFnLineArray(xdata=self.cont_fibers.x_arr, ydata=self.cont_fibers.epsm_arr)
         epsm_short_interp = MFnLineArray(xdata=self.short_fibers.x_arr, ydata=self.short_fibers.epsm_arr)
         added_epsm_cont = self.cont_fibers.epsm_arr + epsm_short_interp.get_values(self.cont_fibers.x_arr) 
         added_epsm_short = self.short_fibers.epsm_arr + epsm_cont_interp.get_values(self.short_fibers.x_arr) 
         sorted_unique_idx = np.unique(np.hstack((self.cont_fibers.x_arr, self.short_fibers.x_arr)), return_index=True)[1]
         return np.hstack((added_epsm_cont, added_epsm_short))[sorted_unique_idx]
     elif len(self.sorted_reinf_lst[0]) != 0:
         return self.cont_fibers.epsm_arr
     elif len(self.sorted_reinf_lst[1]) != 0:
         self.short_fibers.w = self.w
         return self.short_fibers.epsm_arr
开发者ID:simvisage,项目名称:simvisage,代码行数:13,代码来源:hom_CB_elastic_mtrx_Gf.py

示例10: get_df_average

    def get_df_average( self, n_points ):
        '''derive the average phi-function based on all entries 
        in damage_function_list
        '''

        def get_y_average( self, x_average ): 
            '''get the y-values from the mfn-functions in df_list for 
            'x_average' and return the average.
            Note that the shape of 'mfn.xdata' does not necessarily needs to be equal in all
            'DamageFunctionEntries' as the number of steps used for calibration or the adaptive 
            refinement in 'tloop' might have been different for each case.
            '''  
            y_list = [ self.damage_function_list[i].damage_function.get_value( x_average ) \
                       for i in range(len( self.damage_function_list )) ]
            return sum(y_list) / len(y_list)
    
        get_y_average_vectorized = frompyfunc( get_y_average, 2, 1 )
        
        mfn = MFnLineArray()
        
        # take the smallest value of the strains for the average function. Beyond this value 
        # the average does not make sense anymore because it depends on the arbitrary number
        # of entries in the df_list  
        #
        xdata_min = min( self.damage_function_list[i].damage_function.xdata[-1] \
                         for i in range( len( self.damage_function_list ) ) )
        
        # number of sampling point used for the average phi function
        #
        mfn.xdata = linspace( 0., xdata_min, num = n_points )

        # get the corresponding average ydata values
        #
        mfn.ydata = self.get_y_average_vectorized( mfn.xdata )

        return mfn
开发者ID:axelvonderheide,项目名称:scratch,代码行数:36,代码来源:ccs_unit_cell.py

示例11: get_sigma_m_x_input

 def get_sigma_m_x_input( self, sigma ):
     self.apply_load( sigma )
     line = MFnLineArray( xdata = self.x_arr,
                         ydata = self.epsm_arr )
     return line.get_values( self.x_input )
开发者ID:sarosh-quraishi,项目名称:simvisage,代码行数:5,代码来源:hom_CB_elastic_mtrx_view.py

示例12: get_L

 def get_L( self, Ll, Lr ):
     self.result_values
     BC_line = MFnLineArray( xdata = self.BC_range, ydata = self.BC_range, extrapolate = 'constant' )
     return BC_line.get_values( [Ll, Lr] )
开发者ID:sarosh-quraishi,项目名称:simvisage,代码行数:4,代码来源:interpolator.py

示例13: _mfn_line_array_target_default

 def _mfn_line_array_target_default(self):
     mfn = MFnLineArray( xdata = self.xdata_target, ydata = self.ydata_target )
     mfn.data_changed = True
     return mfn
开发者ID:axelvonderheide,项目名称:scratch,代码行数:4,代码来源:X2cmdm_incremental.py

示例14: eta

 def eta(self, psi):
     psi_line = MFnLineArray(xdata=self.psi_line.ydata,
                             ydata=self.psi_line.xdata)
     return psi_line.get_values(psi, k=1)
开发者ID:sarosh-quraishi,项目名称:simvisage,代码行数:4,代码来源:curtin.py

示例15: MFnLineArray

                       3.75724285,  3.84216067,  3.92147416,  3.997584  ,  4.07213255,  4.1462654,
                       4.22079085,  4.29628189,  4.37314373,  4.4516601 ,  4.53202557,  4.61436863,
                       4.69876847,  4.78526735,  4.87387975,  4.96459931,  5.0574041 ,  5.15226056,
                       5.24912666,  5.3479542 ,  5.44869074,  5.55128092,  5.65566766,  5.76179299,
                       5.86959871,  5.97902693,  6.09002044,  0.74043954,  0.74661105,  0.75304179,
                       0.75972494,  0.7666537 ,  0.77382139,  0.7812214 ,  0.78884722,  0.79669249,
                       0.80475096,  0.81301651,  0.82148317,  0.83014509,  0.83899658,  0.84803208,
                       0.85724617,  0.86663356,  0.87618913,  0.88590785,  0.89578486,  0.90581541,
                       0.91599489,  0.9263188 ,  0.93678277,  0.94738257,  0.95811405,  0.9689732,
                       0.9689732 ])



   
    # interpolation function for fitting data
    mfn_line_array_fit = MFnLineArray()
    mfn_line_array_fit.set( xdata = xdata_fit, ydata = ydata_fit )
    mfn_line_array_fit.data_changed = True
    
    
    
    # get the current strain:
    eps_app_tn1 = copy( fitter.tloop.U_k )
    print 'eps_app_tn1', eps_app_tn1    
    # get the current sctx:
    sctx = fitter.tloop.tstepper.sctx
    print 'sctx', sctx    

    # for fitting use default method 'get_value' of 'MFnLineArray' as 'phi_fn':
    fitter.mats2D_eval.polar_fn.phi_fn.mfn.get_value = MFnLineArray().get_value
开发者ID:axelvonderheide,项目名称:scratch,代码行数:30,代码来源:test_cmdm_incrementel.py


注:本文中的mathkit.mfn.mfn_line.mfn_line.MFnLineArray类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。