コード例 #1
0
ファイル: CB_view.py プロジェクト: annasteer/simvisage
 def _get_model_extrapolate(self):
     cb = CBClampedRandXi(pullout=False)
     spirrid = SPIRRID(q=cb, sampling_type='LHS')
     sV0 = self.sV0
     V_f = 1.0
     r = 3.5e-3
     m = self.m
     tau = RV('gamma',
              shape=self.tau_shape,
              scale=self.tau_scale,
              loc=self.tau_loc)
     n_int = self.n_int
     w = self.w2
     lm = self.lm
     spirrid.eps_vars = dict(w=w)
     spirrid.theta_vars = dict(tau=tau,
                               E_f=self.Ef,
                               V_f=V_f,
                               r=r,
                               m=m,
                               sV0=sV0,
                               lm=lm)
     spirrid.n_int = n_int
     sigma_c = spirrid.mu_q_arr / self.r**2
     return sigma_c
コード例 #2
0
ファイル: calibration.py プロジェクト: rostar/rostar
 def model_free(self, tau_loc, tau_shape, tau_scale):
     xi_shape = 6.7
     #xi_scale = 3243. / (182e3 * (pi * 3.5e-3 **2 * 50.)**(-1./xi_shape)*gamma(1+1./xi_shape))
     xi_scale = 7.6e-3
     #CS=8.
     #mu_tau = 1.3 * self.r * 3.6 * (1.-0.01) / (2. * 0.01 * CS)
     #tau_scale = (mu_tau - tau_loc)/tau_shape
     #xi_scale = 0.0077
     #xi_shape = 6.7
     #tau_scale = (mu_tau - tau_loc)/tau_shape
     cb = CBClampedRandXi(pullout=False)
     spirrid = SPIRRID(q=cb, sampling_type='LHS')
     tau = RV('gamma', shape=tau_shape, scale=tau_scale, loc=tau_loc)
     w = self.w
     spirrid.eps_vars = dict(w=w)
     spirrid.theta_vars = dict(tau=tau,
                               E_f=self.Ef,
                               V_f=self.V_f,
                               r=self.r,
                               m=xi_shape,
                               sV0=xi_scale)
     spirrid.n_int = 5000
     sigma_c = spirrid.mu_q_arr / self.r**2
     plt.plot(w, sigma_c)
     return sigma_c
コード例 #3
0
ファイル: CB_view.py プロジェクト: simvisage/simvisage
 def _get_model_extrapolate(self):
     cb = CBClampedRandXi(pullout=False)
     spirrid = SPIRRID(q=cb, sampling_type='LHS')
     sV0 = self.sV0
     V_f = 1.0
     r = 3.5e-3
     m = self.m
     tau = RV('gamma', shape=self.tau_shape, scale=self.tau_scale, loc=self.tau_loc)
     n_int = self.n_int
     w = self.w2
     lm = self.lm
     spirrid.eps_vars = dict(w=w)
     spirrid.theta_vars = dict(tau=tau, E_f=self.Ef, V_f=V_f, r=r, m=m, sV0=sV0, lm=lm)
     spirrid.n_int = n_int
     sigma_c = spirrid.mu_q_arr / self.r ** 2
     return sigma_c
コード例 #4
0
ファイル: calibration_average.py プロジェクト: rostar/rostar
 def model_clamped(self, tau_shape, tau_scale, tau_loc):
     cb = CBClampedRandXi(pullout=True)
     spirrid = SPIRRID(q=cb, sampling_type='LHS')
     sV0 = self.sV0
     V_f = self.V_f
     r = self.r
     m = self.m
     tau = RV('gamma', shape=tau_shape, scale=tau_scale, loc=tau_loc)
     n_int = self.n_int
     w = self.w2
     lm = self.lm
     spirrid.eps_vars = dict(w=w)
     spirrid.theta_vars = dict(tau=tau, E_f=self.Ef, V_f=V_f, r=r, m=m, sV0=sV0, lm=lm)
     spirrid.n_int = n_int
     sigma_c = spirrid.mu_q_arr / self.r ** 2
     return sigma_c
コード例 #5
0
ファイル: calibration.py プロジェクト: rostar/rostar
 def model_free(self, tau_loc, tau_shape, tau_scale):
     xi_shape = 6.7
     #xi_scale = 3243. / (182e3 * (pi * 3.5e-3 **2 * 50.)**(-1./xi_shape)*gamma(1+1./xi_shape))
     xi_scale = 7.6e-3
     #CS=8.
     #mu_tau = 1.3 * self.r * 3.6 * (1.-0.01) / (2. * 0.01 * CS)
     #tau_scale = (mu_tau - tau_loc)/tau_shape
     #xi_scale = 0.0077
     #xi_shape = 6.7
     #tau_scale = (mu_tau - tau_loc)/tau_shape
     cb = CBClampedRandXi(pullout=False)
     spirrid = SPIRRID(q=cb, sampling_type='LHS')
     tau = RV('gamma', shape=tau_shape, scale=tau_scale, loc=tau_loc)
     w = self.w
     spirrid.eps_vars = dict(w=w)
     spirrid.theta_vars = dict(tau=tau, E_f=self.Ef, V_f=self.V_f,
                               r=self.r, m=xi_shape, sV0=xi_scale)
     spirrid.n_int = 5000
     sigma_c = spirrid.mu_q_arr / self.r ** 2
     plt.plot(w, sigma_c)
     return sigma_c
コード例 #6
0
ファイル: CB_view.py プロジェクト: rostar/rostar
 def _get_model_rand(self):
     cb = CBResidualRandXi()
     spirrid = SPIRRID(q=cb, sampling_type='PGrid')
     sV0 = self.sV0
     tau_scale = self.tau_scale
     V_f = 1.0
     r = 3.5e-3
     m = self.m
     tau = RV('weibull_min', shape=self.tau_shape, scale=tau_scale, loc=self.tau_loc)
     n_int = self.n_int
     w = self.w
     spirrid.eps_vars=dict(w=w)
     spirrid.theta_vars=dict(tau=tau, E_f=self.Ef, V_f=V_f, r=r, m=m, sV0=sV0)
     spirrid.n_int=n_int
     if isinstance(r, RV):
         r_arr = np.linspace(r.ppf(0.001), r.ppf(0.999), 300)
         Er = np.trapz(r_arr ** 2 * r.pdf(r_arr), r_arr)
     else:
         Er = r ** 2
     sigma_c = spirrid.mu_q_arr / Er
     return sigma_c
コード例 #7
0
ファイル: JMPS_figs.py プロジェクト: rostar/rostar
def mechanisms():
    m = 5.15004407
    sV0 = 0.00915595
    r = 3.5e-3
    Ef = 181e3

    
    cb = CBClampedRandXi(pullout=False)
    spirrid = SPIRRID(q=cb,
                      sampling_type='LHS',
                      theta_vars=dict(E_f=Ef,
                                      sV0=sV0,
                                      V_f=1.0,
                                      r=r,
                                      m=m,
                                      tau=RV('gamma', shape=0.03684979, scale=3.75278102, loc=0.0),
                                      lm=1000.),
                      n_int=100,
                      )
    
    lm_arr = np.linspace(1000., 3., 20)
    sigma_u_hommech = []
    for lm_i in lm_arr:
        spirrid.theta_vars['lm'] = lm_i
        max_w = min(30., lm_i * 0.07)
        w_arr = np.linspace(0.0, max_w, 200)
        spirrid.eps_vars = dict(w=w_arr)
        sig_w = spirrid.mu_q_arr / r ** 2
        plt.plot(w_arr, sig_w)
        plt.show()
        sigma_u_hommech.append(np.max(sig_w))
    sigma_u_hommech = np.array(sigma_u_hommech)
    plt.plot(lm_arr, sigma_u_hommech)#/np.min(sigma_u_hommech))
    plt.xlabel('crack spacing')
    plt.ylabel('normalized strength')
    plt.show()