Python и ООП создание петрофизической модели часть 1

Sdílet
Vložit
  • čas přidán 6. 09. 2024
  • Это видео продолжает серию видео-записок по Python с обзорами практических приёмов программирования.
    В этой видео-заметке начинаю обзор возможностей ООП на Python при создании петрофизической модели, а именно разбираю приемы программирования с использованием классов. Основной темой этой серии видео, которая, как планируется, будет состоять из четырех видеозаметок является петрофизические палетки НК-ГГКп и их применение. Для подробного разбора этой темы в первом видео вначале разберу зачем нужны палетки НК-ГГКп, и расскажу как создать простую плотностную модель пористой среды, затем на практике разберу как смоделировать пористость в Python. За основу возьмём квант (единицу) создадим его с помощью объекта, заранее задав ему базовые параметры и свойства, а затем наполним его измеренными физическими свойствами.
    Подробнее c этими и дополнительными материалами можно ознакомится на Портале: PyScientist pyscientist.uco...
    Если у Вас есть какие либо вопросы по видео, либо по работе исходного кода, предложения по сотрудничеству буду рад с Вами взаимодействовать, пожалуйста обращайтесь на e-mail: sergei-dmitriev@mail.ru, либо пишите в комментарии к видео.
    Ссылки на предыдущие видео по теме:
    Видео 1: Python настройка рабочего пространства, использование PyCharm
    • Python и PyCharm(IDE) ...
    Видео 2: Python функции
    • Python функции tutoria...
    Видео 3: Python классы
    • Python и классы на при...
    Видео 4: Графический интерфейс Qt для Python, или PyQt
    • Python и Qt библиотека...
    Видео 5: Python компиляция программ, cx_Freeze и другие компиляторы
    • Python exe tutorial ко...
    Видео 6.1: Библиотека Matplotlib создание графиков для анализа данных
    • Python Matplotlib граф...
    Видео 6.2: Библиотека matplotlib и Qt встраивание графиков в графический интерфейс Qt
    • Python и Matplotlib py...
    Видео 7: Matplotlib модуль Animation класс FuncAnimation (автообновление графиков)
    • Python и Matplotlib мо...
    Видео 8: Библиотека Matplotlib, отображение графиков функции с использованием библиотеки numexpr (ввод функции из текстовой строки) • Python и Matplotlib py...
    Видео 9.1: Классы QListWidget и QListView сопоставительный анализ, простой пример применения QListWidget
    • Python и PyQt (QListWi...
    Видео 9.2: Класс QListView пример применения с использованием QtCore.QabstractListModel
    • Python PyQt и QListV...
    Видео 10: Python и Excel взаимодействие с excel (библиотеки xlrd, xlwt, openpyxl, win32com)
    • Python и Excel (библио...
    Видео 11: обзор виджета QTableWidget и практическое использование
    • Python и PyQt обзор ви...
    Видео №12.1 обзор виджета QStackedWidget использование QComboBox и QPushButton в качестве переключателей
    • Python и PyQt QStakedW...
    Видео №12.2 Продолжение обзора виджета QStackedWidget использование QToolButton в качестве переключателей, настройка статического и динамического внешнего вида QToolButton c использованием qss.
    • Python и PyQt QStakedW...
    Видео 12.3 Python готовое приложение с графическим интерфейсом (GUI) Qt и графической библиотекой Matplotlib (Обзор проекта текущее состояние на июль 2018г). • Python и готовое прило...
    Видео 13.1 Python и создание базы данных данных на дви

Komentáře • 8

  • @s.e5590
    @s.e5590 Před 4 lety +3

    Приятно увидеть видео про Python и геофизику))

  • @PyScientist
    @PyScientist  Před 5 lety +5

    class QuantumVolume():
    def __init__(self, dens, res, neu, gr, dtp, fluid):
    self.fluid = fluid
    self.dens = dens
    self.res = res
    self.neu = neu
    self.gr = gr
    self.dtp = dtp
    self.v_oil = 0.3
    self.v_gas = 0.05
    self.v_water = 1-self.v_oil-self.v_gas
    self.minerals = {'dolomite':0, 'limestone':1, 'quartz':0, 'halite':0, 'anhydrite':0}
    self.fluid_properties()
    self.matrix_properties()
    self.porosity_by_density()
    def porosity_by_density(self):
    self.por_den = (self.d_m-self.dens)/(self.d_m-self.d_f)
    def matrix_properties(self):
    self.dens_prop = {'dolomite':2.85, 'limestone':2.71, 'quartz': 2.65, 'halite':2, 'anhydrite':3}
    self.d_m = 0
    for key in self.minerals:
    self.d_m = self.d_m+self.minerals[key]*self.dens_prop[key]
    def fluid_properties(self):
    self.d_water = 1
    self.d_oil = 0.8
    self.d_gas = 0.3
    if self.fluid == 'water':
    self.d_f = self.d_water
    self.dpt_f = 590
    if self.fluid == 'oil':
    self.d_f = self.d_oil
    self.dpt_f = 620
    if self.fluid == 'gas':
    self.d_f = self.d_gas
    self.dpt_f = 700
    if self.fluid == 'mixture':
    self.d_f = self.d_water*self.v_water+self.d_oil*self.v_oil+self.d_gas*self.v_gas
    dens = [2.1, 2.3, 2.4, 2.5]
    for den in dens:
    quant = QuantumVolume(den, 10, 0.16, 40, 210, 'mixture')
    print(quant.por_den)

  • @legenov-mihail
    @legenov-mihail Před 5 lety +1

    Очень интересный урок.

  • @user-ly2vn1wz1v
    @user-ly2vn1wz1v Před 4 lety +1

    Когда следующие уроки ?)

    • @PyScientist
      @PyScientist  Před 4 lety

      Заканчиваю ремонт, пред праздником будет по базам данных видео сейчас половину записал)

    • @user-ly2vn1wz1v
      @user-ly2vn1wz1v Před 4 lety

      @@PyScientist очень жду

  • @chggmpg1930
    @chggmpg1930 Před 4 lety +1

    Новые уроки будут или уже все?

    • @PyScientist
      @PyScientist  Před 4 lety +1

      Да конечно, никак не соберусь с мыслями), но в этом месяце точно будет по архитектуре ПО.