Beispiel #1
0
def test_nzs_vm4_load_case_5():
    """
    values from: NZ Building code Clause B1 VM4 example in Appendix C
    -Retain wall example load case 5
    ***looks like there is an error in the calculation of d_c
    ***small discrepancy between Nc, i_c and i_q
    """
    length = 10000  # Actually should be a strip
    width = 2.65
    depth = 0.4
    phi = 25.0
    cohesion = 12.5  # kPa
    unit_dry_weight = 8.2  # kN/m3
    sl = gm.create_soil(phi, cohesion, unit_dry_weight)
    fd = gm.create_foundation(length, width, depth)
    h_b = 70.45 * length
    vertical_load = 144.48 * length
    h_eff_b = 1.44
    loc_v_b = 0.813
    capacity.nzs_vm4_capacity(sl,
                              fd,
                              h_b=h_b,
                              vertical_load=vertical_load,
                              h_eff_b=h_eff_b,
                              loc_v_b=loc_v_b,
                              verbose=0)

    assert ct.isclose(fd.nc_factor, 20.72, rel_tol=0.001)
    assert ct.isclose(fd.nq_factor, 10.66, rel_tol=0.01)
    assert ct.isclose(fd.ng_factor, 9.01, rel_tol=0.01)
    assert ct.isclose(fd.q_ult, 145.02, rel_tol=0.001)  # 152.70?
Beispiel #2
0
def test_nzs_vm4_load_case_3():
    """
    values from: NZ Building code Clause B1 VM4 example in Appendix C
    -Retain wall example load case 3
    """
    length = 10000  # Actually should be a strip
    width = 2.65
    depth = 0.4
    phi = 0
    cohesion = 75.0  # kPa
    unit_dry_weight = 18  # kN/m3
    sl = gm.create_soil(phi, cohesion, unit_dry_weight)
    fd = gm.create_foundation(length, width, depth)
    h_b = 93.27 * length
    vertical_load = 154.87 * length
    h_eff_b = 1.78
    loc_v_b = 0.854
    capacity.nzs_vm4_capacity(sl,
                              fd,
                              h_b=h_b,
                              vertical_load=vertical_load,
                              h_eff_b=h_eff_b,
                              loc_v_b=loc_v_b,
                              verbose=0)
    print(fd.q_ult)
    assert ct.isclose(fd.nc_factor, 5.14, rel_tol=0.001)
    assert ct.isclose(fd.nq_factor, 1.0, rel_tol=0.01)
    assert ct.isclose(fd.ng_factor, 0.0, rel_tol=0.01)
    assert ct.isclose(fd.q_ult, 301.68, rel_tol=0.001)
Beispiel #3
0
def test_meyerhoff_and_hanna_capacity_strong_clay_over_weak_sand():
    # STRONG CLAY OVER WEAK SAND
    length = 1000000000.0  # actually a strip in
    width = 1.0
    depth = 0.0
    fd = gm.create_foundation(length=length, width=width, depth=depth)

    phi_0 = 0.0
    cohesion_0 = 85.0
    unit_dry_weight_0 = 16.5
    sl_0 = gm.create_soil(phi=phi_0,
                          cohesion=cohesion_0,
                          unit_dry_weight=unit_dry_weight_0)

    phi_1 = 17.0
    cohesion_1 = 0.0
    unit_dry_weight_1 = 17.0
    sl_1 = gm.create_soil(phi=phi_1,
                          cohesion=cohesion_1,
                          unit_dry_weight=unit_dry_weight_1)
    h0 = 1  # m, height of the crust layer
    #c_a = 54.4
    #k = 1.7

    capacity.meyerhoff_and_hanna_capacity(sl_0, sl_1, h0, fd, verbose=0)
    #print(sl_0.nc_factor_0)
    #print(fd.q_ult)

    #print("q_b= " + str(fd.q_b))
    #print("q1_q0= " + str(fd.q1_q0))
    print("q_ult_3= " + str(fd.q_ult))
    assert ct.isclose(fd.q_ult, 182.97, rel_tol=0.001), fd.q_ult
Beispiel #4
0
def test_meyerhoff_and_hanna_capacity_strong_sand_over_weak_sand():
    # STRONG SAND OVER WEAK SAND
    length = 1000000.0  # actually a strip in
    width = 1.0
    depth = 0.0
    fd = gm.create_foundation(length=length, width=width, depth=depth)

    phi_0 = 34.0
    cohesion_0 = 0.0
    unit_dry_weight_0 = 17.0
    sl_0 = gm.create_soil(phi=phi_0,
                          cohesion=cohesion_0,
                          unit_dry_weight=unit_dry_weight_0)

    phi_1 = 17.0
    cohesion_1 = 0.0
    unit_dry_weight_1 = 17.0
    sl_1 = gm.create_soil(phi=phi_1,
                          cohesion=cohesion_1,
                          unit_dry_weight=unit_dry_weight_1)
    h0 = 1.5  # m, height of the crust layer
    #c_a = 0.0
    #k=1.7

    capacity.meyerhoff_and_hanna_capacity(sl_0, sl_1, h0, fd, verbose=0)
    #print("q_b= " +str(fd.q_b))
    #print("q_ult5= " + str(fd.q_ult5))
    print("q_ult_2= " + str(fd.q_ult))
    assert ct.isclose(fd.q_ult, 158.32, rel_tol=0.001), fd.q_ult
Beispiel #5
0
def test_hansen():
    length = 2
    width = 2
    depth = 2
    phi = 15
    cohesion = 20.0  # kPa
    unit_dry_weight = 17  # kN/m3
    sl = gm.create_soil(phi, cohesion, unit_dry_weight)
    fd = gm.create_foundation(length, width, depth)
    capacity.hansen_capacity(sl, fd, verbose=0)
    print(fd.q_ult)
    assert ct.isclose(fd.nc_factor, 10.97, rel_tol=0.001)
    assert ct.isclose(fd.nq_factor, 3.94, rel_tol=0.01)
    assert ct.isclose(fd.ng_factor, 1.18, rel_tol=0.01)
    assert ct.isclose(fd.q_ult, 648.0, rel_tol=0.001)
Beispiel #6
0
def test_vesics():
    """
    values from: Gunaratne, Manjriker. 2006. "Spread Footings: Analysis and Design."
    """
    length = 2
    width = 2
    depth = 1
    phi = 35
    cohesion = 0
    unit_dry_weight = 17
    sl = gm.create_soil(phi, cohesion, unit_dry_weight)
    fd = gm.create_foundation(length, width, depth)
    capacity.vesics_capacity(sl, fd, verbose=0)
    assert ct.isclose(fd.nc_factor, 46.1, rel_tol=0.001)
    assert ct.isclose(fd.nq_factor, 33.3, rel_tol=0.001)
    assert ct.isclose(fd.ng_factor, 48.0, rel_tol=0.001)
    assert ct.isclose(fd.q_ult, 1574.8, rel_tol=0.001)
Beispiel #7
0
def test_rotation():
    length = 3
    width = 2
    depth = 0.0
    sl = gm.create_soil()
    sl.g_mod = 30e6
    sl.poissons_ratio = 0.3
    fd = gm.create_foundation(length, width, depth)
    i_ll = width**3 * length / 12
    i_ww = length**3 * width / 12
    assert ct.isclose(fd.i_ll, i_ll, rel_tol=0.001)
    assert ct.isclose(fd.i_ww, i_ww, rel_tol=0.001)
    assert ct.isclose(stiffness.rotational_stiffness(sl, fd, axis="length"),
                      218027424.1324,
                      rel_tol=0.01)
    assert ct.isclose(stiffness.rotational_stiffness(sl, fd, axis="width"),
                      422150729.0333,
                      rel_tol=0.01)
Beispiel #8
0
def test_terzaghi_again():
    """
    values from: Gunaratne, Manjriker. 2006. "Spread Footings: Analysis and Design."
    """
    length = 2
    width = 2
    depth = 2
    phi = 15
    cohesion = 20.0  # kPa
    unit_dry_weight = 17  # kN/m3
    sl = gm.create_soil(phi, cohesion, unit_dry_weight)
    fd = gm.create_foundation(length, width, depth)
    capacity.terzaghi_capacity(sl, fd, verbose=0)
    print(fd.q_ult)
    assert ct.isclose(fd.nc_factor, 12.86, rel_tol=0.001)
    assert ct.isclose(fd.nq_factor, 4.45, rel_tol=0.001)
    assert ct.isclose(fd.ng_factor, 2.168, rel_tol=0.001)
    assert ct.isclose(fd.q_ult, 515.0, rel_tol=0.001)
Beispiel #9
0
def test_schmertmann():
    """
    Checks settlement value against that from HW#7 crib ENCN452 course 2013
    """
    dry_unit_dry_weight = 18.0
    length = 2.5
    width = 2.5
    depth = 0.8
    phi = 0.0
    cohesion = 20
    unit_dry_weight = 17
    sl = gm.create_soil(phi, cohesion, unit_dry_weight)
    fd = gm.create_foundation(length, width, depth)
    load = 1000 + (23.5 * 0.5 + dry_unit_dry_weight * 0.3) * length * width  # kN
    youngs_modulus_soil = 3 * 6e3  # kPa
    sett = settlement.schmertmann_settlement(sl, fd, load, youngs_modulus_soil, unit_sat_weight=19.8, gwl=0.8)

    assert ct.isclose(sett, 0.017, rel_tol=0.01)
Beispiel #10
0
def test_terzaghi():
    """
    values from: Gunaratne, Manjriker. 2006. "Spread Footings: Analysis and Design."
    - except qult was not validated
    """
    length = 2
    width = 2
    depth = 1
    phi = 35
    cohesion = 0
    unit_dry_weight = 17
    sl = gm.create_soil(phi, cohesion, unit_dry_weight)
    fd = gm.create_foundation(length, width, depth)
    capacity.terzaghi_capacity(sl, fd, verbose=0)
    assert ct.isclose(fd.nc_factor, 57.8, rel_tol=0.001)
    assert ct.isclose(fd.nq_factor, 41.4, rel_tol=0.001)
    assert ct.isclose(fd.ng_factor, 47.3, rel_tol=0.001)
    assert ct.isclose(fd.q_ult, 1347.0, rel_tol=0.001)
    print("DONE")
Beispiel #11
0
def test_from_encn452_2013():
    """
    Values from HW#7 crib ENCN452 course 2013
    """
    length = 6.0  # actually a strip in
    width = 3.0
    depth = 1.5
    phi = 0.0
    cohesion = 40.0
    unit_dry_weight = 18.0
    sl = gm.create_soil(phi, cohesion, unit_dry_weight)
    fd = gm.create_foundation(length, width, depth)
    capacity.terzaghi_capacity(sl, fd, verbose=0)
    print(fd.nc_factor)
    print(fd.q_ult)
    # assert ct.isclose(fd.nc_factor, 6.28, rel_tol=0.001)
    # assert ct.isclose(fd.q_ult, 255.0, rel_tol=0.001)
    capacity.vesics_capacity(sl, fd, verbose=0)
    assert ct.isclose(fd.q_ult, 298.0, rel_tol=0.001)