• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python mfn_line.MFnLineArray类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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


示例16: pdf

 def pdf(self, e, r, L):
     cdf_line = MFnLineArray(xdata=e, ydata=self.cdf(e, r, L))
     return cdf_line.get_diffs(e)
开发者ID:simvisage,项目名称:simvisage,代码行数:3,代码来源:weibull_fibers_composite_distr.py


示例17: linspace

from mathkit.mfn.mfn_line.mfn_line import MFnLineArray
from numpy import linspace, frompyfunc, array
from math import sin, cos

sigma_max = 0.4

xdata = linspace( 0., 1., 10000 )
fnydata = lambda x:  1.0+0.0001*sin(19.0*x)*cos(200*x) * sigma_max * 10000

fnydata_vec = frompyfunc( fnydata, 1, 1 )
ydata = array( fnydata_vec( xdata ), dtype = float )

#print ydata

mfn = MFnLineArray( xdata = xdata, ydata = ydata )
mfn.configure_traits()
开发者ID:axelvonderheide,项目名称:scratch,代码行数:16,代码来源:plotfunc.py


示例18: _get_matrix_strength

 def _get_matrix_strength(self):
     # evaluates a random field
     # realization and creates a spline representation
     rf = self.random_field.random_field
     rf_spline = MFnLineArray(xdata=self.random_field.xgrid, ydata=rf)
     return rf_spline.get_values(self.x_arr)
开发者ID:simvisage,项目名称:simvisage,代码行数:6,代码来源:scm_Gf.py


示例19: Pw

    def Pw(self, w):
        mask = self.cached_pdfs[3] < w
        dx2 = (self.x[-1]-self.x[-2])**2
        return np.sum(self.cached_pdfs[2] * mask * dx2)
    
    def CDF_w(self, w_arr):
        cdfs = []
        for w in w_arr:
            cdfs.append(self.Pw(w))
        return cdfs

if __name__ == '__main__':
    ac = AnalyticalCracks(l0=1., d=0.007, tau=0.1, sigma0=2200., s=2.0,
                          rho=5.0, c=1.0, x=np.linspace(0.0, 5.0, 500))
    for s in [1., 3., 5.0]:
        ac.s = s
        pdf_x = ac.p_x(s, ac.x)
        pdf_x = pdf_x / np.trapz(pdf_x, ac.x)
        cdf_x = np.hstack((0., cumtrapz(pdf_x, ac.x)))
        sf = MFnLineArray(xdata=cdf_x + 1e-12 * ac.x, ydata=ac.x)
        rand_vals1 = sf.get_values(np.random.rand(10000))
        rand_vals2 = sf.get_values(np.random.rand(10000))
        cracks = ac.w_func(rand_vals1, rand_vals2)
        plt.hist(cracks, bins=40, normed=True, label=str(s), cumulative=True)
        w_arr = np.linspace(0.0,7.0,100)
        cdf_w = ac.CDF_w(w_arr)
        plt.plot(w_arr, cdf_w, color='black', lw=2)
    plt.ylim(0,1.2)
    plt.legend()
    plt.show()
开发者ID:rostar,项目名称:rostar,代码行数:30,代码来源:cont_w_distr.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python mathtools.norm函数代码示例发布时间:2022-05-27
下一篇:
Python rules.Pattern类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap