Ejemplo n.º 1
0
def main():

    brett = Stupebrett()

    x = np.zeros(12)
    fasit_svar = np.zeros(12)
    numerisk_svar = np.zeros(12)

    for i in range(11 + 1):
        n = 20 * 2**i

        x[i] = n
        numerisk_svar[i] = brett.finn_y(n, Stupebrett.kraft_av_haug)[-1]
        fasit_svar[i] = brett.fasit_y_medhaug(n)[-1]

    feil = np.abs(fasit_svar - numerisk_svar)

    for i in range(11 + 1):
        print(x[i], "\t", numerisk_svar[i], "\t", fasit_svar[i])

    plt.plot(x, -numerisk_svar, color='blue')
    plt.plot(x, -fasit_svar, 'r-')

    plt.show()
Ejemplo n.º 2
0
def test_init():
    L = 1
    w = 1
    d = 1
    p = 1
    E = 1
    I = w * d ** 3 / 12

    def f(x):
        pass

    brett2 = Stupebrett(L, w, d, p, E)

    assert brett2.L == L
    assert brett2.w == w
    assert brett2.d == d
    assert brett2.p == p
    assert brett2.E == E
    assert brett2.I == I
Ejemplo n.º 3
0
from Stupebrett import Stupebrett
import numpy as np
from numpy import linalg as la

stupebrett = Stupebrett()


def main():
    n = 10
    h = 0.2

    # Oppgave 4c
    # y''''(c) = (1/h^4) * AYe
    Ye_vector = stupebrett.fasit_y(n)
    A = stupebrett.lagA(n)

    AYe_vector = np.dot(A.toarray(), Ye_vector)
    Yc_fourthDerivative = AYe_vector / h**4

    print("Resultater fra Oppgave 4 c")
    print()
    print("Ye-vektoren: ", Ye_vector, sep="\n")
    print()
    #print("A matrisen: ", A)
    print("Yc-vektor fjerdederivert: ", Yc_fourthDerivative, sep="\n")


if __name__ == '__main__':
    main()
Ejemplo n.º 4
0
# pip3 install pytest
# pytest -v

import numpy as np
from scipy.constants import g

from Stupebrett import Stupebrett

L = 1
w = 1
d = 1
p = 1
E = 1
I = w * d ** 3 / 12

brett = Stupebrett(1, 1, 1, 1, 1)  # Et meget enkelt stupebrett


# Sjekker at et ideelt stupebrett på 1x1x1 og alle konstanter satt til 1 gir forventet b-vektor.
def test_lagB_basic():
    n = 1
    h = 1
    b = brett.lagB(n)
    f = h * w * d * p * -g
    b_test = f * (h ** 4 / (E * I))
    assert (b == [b_test] * n).all()


# Sjekker at komponentene til b er konstant over hele brettet når man kun har egenvekt på brettet.
def test_lagB_konstant_kraft():
    b = brett.lagB(1)
Ejemplo n.º 5
0
import numpy as np

from Stupebrett import Stupebrett

np.set_printoptions(linewidth=1000)

brett = Stupebrett(L=2, w=0.3, d=0.03, p=480, E=1.3 * 10**10)

# Disse bør flyttes til sine respektive oppgave-filer senere...

print("beregnet y-vektor: ", brett.finn_y(20))
print("y-vektor fra fasit: ", brett.fasit_y(20))

print("beregnet y-vektor med haug: ", brett.finn_y(20,
                                                   Stupebrett.kraft_av_haug))
print("y-vektor fra fasit, med haug: ", brett.fasit_y_medhaug(20))

print("beregnet y-vektor, med person: ",
      brett.finn_y(20, Stupebrett.kraft_av_person))
Ejemplo n.º 6
0
def main():

    brett = Stupebrett()

    print("beregnet y-vektor: ", brett.finn_y(10))
Ejemplo n.º 7
0
from Stupebrett import Stupebrett
import numpy as np
import matplotlib.pyplot as plt

brett = Stupebrett(L=2, w=0.3, d=0.03, p=480, E=1.3 * 10**10)


def pointOferror():

    x = np.zeros(11)
    fasit = np.zeros(11)
    kalkulering = np.zeros(11)

    for i in range(0, 11):
        n = 10 * 2**(i + 1)

        x[i] = n
        kalkulering[i] = brett.finn_y(n)[-1]
        fasit[i] = brett.fasit_y(n)[-1]

    feil_i_L = np.abs(fasit - kalkulering)

    for i in range(0, 11):
        print(int(x[i]), '\t', "kaluering", kalkulering[i], '\t', "fasit",
              fasit[i], '\t', "feil", feil_i_L[i])


def plot_kondisjonsTallA():

    kondisjonsA = np.zeros(11)
    x = np.zeros(11)