Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Решение прямой кинематической задачи для многослойного разреза

Автор:   •  Апрель 18, 2022  •  Лабораторная работа  •  404 Слов (2 Страниц)  •  159 Просмотры

Страница 1 из 2

Отчет

По лабораторной работе №2

«Решение прямой кинематической задачи для многослойного разреза»


Оглавление

Задача        3

Описание решения задачи        3

Алгоритм программы        3

Код программы        3

Результаты тестирования программы        5

Построение графиков        5

Вывод        6


Задача

– Рассчитать годографы основных типов продольных сейсмических волн, возникающих в многослойном разрезе;

– отразить результаты в отчёте по лабораторной работе.

Описание решения задачи

Для выполнения данной задачи необходимо написать программу в среде Python, которая считает значения по формулам, используя импорт динамических библиотек, и сохраняет результаты в файл.

Алгоритм программы

Импортируем необходимые библиотеки, функции которых нам потребуются, вбиваем исходные данные и заводим алгоритм в цикл для удобного построения графиков, далее пишем формулы.

Код программы

import cmath

import math

import numpy as np

h1 = 186

V1 = 2142

h2 = 410

V2 = 3225

h3 = 462

a = 0.3

V3 = 4235

h4 = 659

x4 = 650

x_min = -1100

x_max = 1100

step = 100

for x in range(x_min, x_max, step ):

    t = cmath.sqrt(x/V1)

    t1 = math.sqrt(x*x+4*h1*h1)/V1

    V_eff1 = (h1+h2)/(h1/V1+h2/V2)

    t2 = math.sqrt(x*x+4*math.pow(h1+h2, 2))/V_eff1

    V_eff2 = (h1 + h2+h3) / (h1 / V1 + h2 / V2 + h3/V3)

    t3 = math.sqrt(x*x+4*math.pow(h1+h2+h3, 2))/V_eff2

    ta = math.sqrt(x*x + 4 * (h1+h2+h3) + 4 * (h1+h2+h3) * math.sin(a)) / V_eff2

    t14 = math.sqrt(x*x + 16 * math.pow(h1, 2))/ V1

    t24 = math.sqrt(x*x + 16 * math.pow(h1+h2, 2)) / V_eff1

    t34 = math.sqrt(x*x + 16 * math.pow(h1+h2+h3, 2))/ V_eff2

   

    fi = math.asin(V1/V3)

    t0 = 2*h1/V1*math.cos(fi)

    x0 = 2 *h1*math.tan(fi)

    tGV = (t0 + ( math.fabs(x) - x0))/V3

    tG = (math.sqrt(math.pow(x4, 2)+math.pow(h4, 2))+ math.sqrt(math.pow(math.fabs(x)+x4, 2)+ h4*h4)) / (h4 / (h1/V1+h2/V2+(h4-h2-h1)/V3))

...

Скачать:   txt (3.8 Kb)   pdf (142.3 Kb)   docx (83.1 Kb)  
Продолжить читать еще 1 страницу »
Доступно только на Essays.club