Exemple #1
0
def test_bounding_cam_clay():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.nd_material.BoundingCamClay(osi,
                                   mass_density=1.0,
                                   big_c=1.0,
                                   bulk_mod=1.0,
                                   ocr=1.0,
                                   mu_o=1.0,
                                   alpha=1.0,
                                   lamb=1.0,
                                   h=1.0,
                                   m=1.0)
Exemple #2
0
def test_zero_length_interface2ddof():
    osi = o3.OpenSeesInstance(ndm=2)
    nodes = [1, 1]
    o3.element.ZeroLengthInterface2Ddof(osi,
                                        s_nd_num=1,
                                        m_nd_num=1,
                                        sdof=1,
                                        mdof=1,
                                        nodes=nodes,
                                        kn=1.0,
                                        kt=1.0,
                                        phi=1.0)
Exemple #3
0
def test_multiple_shear_spring():
    osi = o3.OpenSeesInstance(ndm=3, ndf=6)
    coords = [[0, 0, 0], [1, 0, 0]]
    ele_nodes = [o3.node.Node(osi, *coords[x]) for x in range(len(coords))]
    mat = o3.uniaxial_material.Elastic(osi, 1.0)
    o3.element.MultipleShearSpring(osi,
                                   ele_nodes=ele_nodes,
                                   n_spring=1,
                                   mat=mat,
                                   lim=1.0,
                                   mass=1.0,
                                   orient=None)
Exemple #4
0
def test_reinforcing_steel_cm_fatigue():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.ReinforcingSteelCMFatigue(osi,
                                                   fy=1.0,
                                                   fu=1.0,
                                                   es=1.0,
                                                   esh=1.0,
                                                   eps_sh=1.0,
                                                   eps_ult=1.0,
                                                   cf=1.0,
                                                   alpha_2=1,
                                                   cd=1.0)
Exemple #5
0
def test_reinforcing_steel_mp_curve_params():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.ReinforcingSteelMPCurveParams(osi,
                                                       fy=1.0,
                                                       fu=1.0,
                                                       es=1.0,
                                                       esh=1.0,
                                                       eps_sh=1.0,
                                                       eps_ult=1.0,
                                                       r1=0.333,
                                                       r2=18.0,
                                                       r3=4.0)
def test_bilinear_oil_damper():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.BilinearOilDamper(osi,
                                           k_el=1.0,
                                           cd=1.0,
                                           fr=1.0,
                                           p=1.0,
                                           l_gap=0.0,
                                           nm=1,
                                           rel_tol=1e-6,
                                           abs_tol=1e-10,
                                           max_half=15)
Exemple #7
0
def test_plane_stress_user_material():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.nd_material.PlaneStressUserMaterial(osi,
                                           nstatevs=1,
                                           nprops=1,
                                           fc=1.0,
                                           ft=1.0,
                                           fcu=1.0,
                                           epsc0=1.0,
                                           epscu=1.0,
                                           epstu=1.0,
                                           stc=1.0)
Exemple #8
0
def test_multiaxial_cyclic_plasticity():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.nd_material.MultiaxialCyclicPlasticity(osi,
                                              rho=1.0,
                                              k_mod=1.0,
                                              g_mod=1.0,
                                              su=1.0,
                                              ho=1.0,
                                              h=1.0,
                                              m=1.0,
                                              beta=1.0,
                                              k_coeff=1.0)
def test_elastic_beam_column2d():
    osi = o3.OpenSeesInstance(ndm=2)
    coords = [[0, 0], [1, 0]]
    ele_nodes = [o3.node.Node(osi, *coords[x]) for x in range(2)]
    transf = o3.geom_transf.Linear2D(osi, [])
    o3.element.ElasticBeamColumn2D(osi,
                                   ele_nodes=ele_nodes,
                                   area=1.0,
                                   e_mod=1.0,
                                   iz=1.0,
                                   transf=transf,
                                   mass=1.0)
def test_concrete_d():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.ConcreteD(osi,
                                   fc=1.0,
                                   epsc=1.0,
                                   ft=1.0,
                                   epst=1.0,
                                   ec=1.0,
                                   alphac=1.0,
                                   alphat=1.0,
                                   cesp=0.25,
                                   etap=1.15)
Exemple #11
0
def test_truss():
    osi = o3.OpenSeesInstance(ndm=2)
    coords = [[0, 0], [1, 0]]
    ele_nodes = [o3.node.Node(osi, *coords[x]) for x in range(len(coords))]
    mat = o3.uniaxial_material.Elastic(osi, 1.0)
    o3.element.Truss(osi,
                     ele_nodes=ele_nodes,
                     big_a=1.0,
                     mat=mat,
                     rho=1.0,
                     c_flag=1.0,
                     r_flag=1.0)
Exemple #12
0
def test_axial_sp_hd():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.AxialSpHD(osi,
                                   sce=1.0,
                                   fty=1.0,
                                   fcy=1.0,
                                   bte=1.0,
                                   bty=1.0,
                                   bth=1.0,
                                   bcy=1.0,
                                   fcr=1.0,
                                   ath=1.0)
Exemple #13
0
def test_min_max():
    osi = o3.OpenSeesInstance(ndm=2)
    other = o3.uniaxial_material.Hardening(osi,
                                           e_mod=1.0,
                                           sigma_y=1.0,
                                           h_iso=1.0,
                                           h_kin=1.0,
                                           eta=0.0)
    o3.uniaxial_material.MinMax(osi,
                                other=other,
                                min_strain=1e-16,
                                max_strain=1e16)
Exemple #14
0
def test_bouc_wen():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.BoucWen(osi,
                                 alpha=1.0,
                                 ko=1.0,
                                 n=1.0,
                                 gamma=1.0,
                                 beta=1.0,
                                 ao=1.0,
                                 delta_a=1.0,
                                 delta_nu=1.0,
                                 delta_eta=1.0)
Exemple #15
0
def test_pfem_element_compressible():
    osi = o3.OpenSeesInstance(ndm=2)
    coords = [[0, 0], [1, 0], [1, 1], [0, 1]]
    ele_nodes = [o3.node.Node(osi, *coords[x]) for x in range(4)]
    o3.element.PFEMElementCompressible(osi,
                                       ele_nodes,
                                       rho=1.0,
                                       mu=1.0,
                                       b1=1.0,
                                       b2=1.0,
                                       thickness=1.0,
                                       kappa=1.0)
def test_concrete06():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.Concrete06(osi,
                                    fc=1.0,
                                    e0=1.0,
                                    n=1.0,
                                    k=1.0,
                                    alpha1=1.0,
                                    fcr=1.0,
                                    ecr=1.0,
                                    b=1.0,
                                    alpha2=1.0)
Exemple #17
0
def test_disp_beam_column_int():
    osi = o3.OpenSeesInstance(ndm=2)
    coords = [[0, 0], [1, 0], [1, 1], [0, 1]]
    ele_nodes = [o3.node.Node(osi, *coords[x]) for x in range(2)]
    sec = o3.section.Elastic2D(osi, 10.0, 1.0, 1.0)
    transf = o3.geom_transf.Linear2D(osi, [])
    o3.element.DispBeamColumnInt(osi,
                                 ele_nodes=ele_nodes,
                                 num_intgr_pts=4,
                                 sec=sec,
                                 transf=transf,
                                 c_rot=1.0,
                                 mass=1.0)
Exemple #18
0
def test_reinforcing_steel_ga_buck():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.ReinforcingSteelGABuck(osi,
                                                fy=1.0,
                                                fu=1.0,
                                                es=1.0,
                                                esh=1.0,
                                                eps_sh=1.0,
                                                eps_ult=1.0,
                                                lsr=1.0,
                                                beta=1.0,
                                                r=1.0,
                                                gamma=1.0)
Exemple #19
0
def test_steel_mpf():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.SteelMPF(osi,
                                  fyp=1.0,
                                  fyn=1.0,
                                  e0=1.0,
                                  bp=1.0,
                                  bn=1.0,
                                  params=[1.0, 1.0, 1.0],
                                  a1=0.0,
                                  a2=1.0,
                                  a3=0.0,
                                  a4=1.0)
Exemple #20
0
def test_saws():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.SAWS(osi,
                              f0=1.0,
                              fi=1.0,
                              du=1.0,
                              s0=1.0,
                              r1=1.0,
                              r2=1.0,
                              r3=1.0,
                              r4=1.0,
                              alpha=1.0,
                              beta=1.0)
Exemple #21
0
def test_damage2p():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.nd_material.Damage2p(osi,
                            fcc=1.0,
                            fct=1.0,
                            e_mod=1.0,
                            ni=1.0,
                            gt=1.0,
                            gc=1.0,
                            rho_bar=1.0,
                            big_h=1.0,
                            theta=1.0,
                            tangent=1.0)
Exemple #22
0
def test_beam_column_joint():
    osi = o3.OpenSeesInstance(ndm=2)
    coords = [[0, 0], [1, 0], [1, 1], [0, 1]]
    ele_nodes = [o3.node.Node(osi, *coords[x]) for x in range(4)]
    mats = [
        o3.uniaxial_material.Elastic(osi, e_mod=1.0, eta=0.0, eneg=None)
        for x in range(13)
    ]
    o3.element.BeamColumnJoint(osi,
                               ele_nodes,
                               *mats,
                               ele_height_fac=1.0,
                               ele_width_fac=1.0)
Exemple #23
0
def test_disp_beam_column():
    osi = o3.OpenSeesInstance(ndm=2)
    i_node = o3.node.Node(osi, 0.0, 0.0)
    j_node = o3.node.Node(osi, 0.0, 1.0)
    transf = o3.geom_transf.Linear2D(osi, [])
    sec = o3.section.Elastic2D(osi, 10.0, 1.0, 1.0)
    integration = o3.beam_integration.Lobatto(osi, sec, 5)
    o3.element.DispBeamColumn(osi,
                              ele_nodes=[i_node, j_node],
                              transf=transf,
                              integration=integration,
                              c_mass=1,
                              mass=0.0)
def test_concrete_cm():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.uniaxial_material.ConcreteCM(osi,
                                    fpcc=1.0,
                                    epcc=1.0,
                                    ec=1.0,
                                    rc=1.0,
                                    xcrn=1.0,
                                    ft=1.0,
                                    et=1.0,
                                    rt=1.0,
                                    xcrp=1.0,
                                    gap_close=0)
Exemple #25
0
def test_init_stress_nd_material():
    osi = o3.OpenSeesInstance(ndm=2)
    mat = o3.nd_material.ElasticIsotropic(osi, e_mod=1.0, nu=1.0, rho=0.0)
    o3.nd_material.InitStressNDMaterial(osi,
                                        other=mat,
                                        init_stress=1.0,
                                        n_dim=2)


# def test_init_strain_nd_material():
#     osi = o3.OpenSeesInstance(ndm=2)
#     mat = o3.nd_material.ElasticIsotropic(osi, e_mod=1.0, nu=1.0, rho=0.0)
#     o3.nd_material.InitStrainNDMaterial(osi, other=mat, init_strain=1.0, n_dim=2)
Exemple #26
0
def test_beam_end_contact3d():
    osi = o3.OpenSeesInstance(ndm=2)
    i_node = o3.node.Node(osi, 0.0, 0.0)
    j_node = o3.node.Node(osi, 0.0, 1.0)
    o3.element.BeamEndContact3D(osi,
                                i_node=i_node,
                                j_node=j_node,
                                s_node=1,
                                l_node=1,
                                radius=1.0,
                                g_tol=1.0,
                                f_tol=1.0,
                                c_flag=1.0)
Exemple #27
0
def test_simple_contact2d():
    osi = o3.OpenSeesInstance(ndm=2)
    i_node = o3.node.Node(osi, 0.0, 0.0)
    j_node = o3.node.Node(osi, 0.0, 1.0)
    mat = o3.nd_material.ElasticIsotropic(osi, 1, 0.45)
    o3.element.SimpleContact2D(osi,
                               i_node=i_node,
                               j_node=j_node,
                               s_node=1,
                               l_node=1,
                               mat=mat,
                               g_tol=1.0,
                               f_tol=1.0)
Exemple #28
0
def test_elastic_orthotropic():
    osi = o3.OpenSeesInstance(ndm=2)
    o3.nd_material.ElasticOrthotropic(osi,
                                      ex=1.0,
                                      ey=1.0,
                                      ez=1.0,
                                      nu_xy=1.0,
                                      nu_yz=1.0,
                                      nu_zx=1.0,
                                      gxy=1.0,
                                      gyz=1.0,
                                      gzx=1.0,
                                      rho=0.0)
def test_can_set_PressureIndependMultiYield():
    osi = o3.OpenSeesInstance(ndm=2)

    # Define material
    nd = 2
    rho = 1400
    ref_shear_modul = 40e6
    ref_bulk_modul = 60e6
    cohesi = 60e3
    peak_shear_stra = 0.02
    o3.nd_material.PressureIndependMultiYield(osi, nd, rho, ref_shear_modul,
                                              ref_bulk_modul, cohesi,
                                              peak_shear_stra)
Exemple #30
0
def test_zero_length():
    osi = o3.OpenSeesInstance(ndm=2)
    coords = [[0, 0], [0, 0]]
    ele_nodes = [o3.node.Node(osi, *coords[x]) for x in range(2)]
    bilinear_mat = o3.uniaxial_material.Steel01(osi,
                                                fy=300.,
                                                e0=200.0e3,
                                                b=0.01)
    o3.element.ZeroLength(osi,
                          ele_nodes,
                          mats=[bilinear_mat],
                          dirs=[o3.cc.DOF2D_X],
                          r_flag=1)