К основному контенту

Режим печки

Пчеле для полёта необходима температура торакса не ниже 27°C. Однако, если мы посмотрим на график температуры пчелы в покое в заметке Температура и мощность термогенеза пчелы, то увидим, что это условие обеспечивается в пасмурную погоду только при температуре воздуха выше 17°C, а на солнце - выше 10°С. Но первые очистительные облёты пчёлы делают и в пасмурную погоду уже при температуре 10-12°C. Для того, чтобы взлететь пчела разогревает торакс до рабочей температуры путем изометрического сокращения летательных мышц. При этом махания крыльями не происходит. Такой режим можно назвать режимом печки. Работа этих мышц осуществляется с КПД 4.4%, остальное идёт на нагрев, т.е. КПД такой печки составляет 95.6%!  В заметке про термогенез  была сделана попытка оценить какая дополнительная мощность нужна пчеле, чтобы поднимать свою температуру со скоростью 2°C в минуту, получилось - нужно 6.3 мВт. Сделано это было ещё до создания модели (по крайней мере без её применения). Но теперь-то модель разработана и пришло время проверить полученную оценку на модели.
Модель была разработана для стационарного (установившегося) режима, а при разогреве температура изменяется во времени, поэтому уравнения теплового баланса будут выглядеть следующим образом:

$$\left\{\array {C_{th}\frac{dT_{th}}{dt}=P_t+p_{rth}-\frac{T_{th}-T_{hd}}{r_{th\_hd}}-\frac{T_{th}-T_{ab}}{r_{th\_ab}}-\frac{T_{th}-T_{air}}{r_{th\_air}}\cr  C_{hd}\frac{dT_{hd}}{dt}=p_{rhd}+\frac{T_{th}-T_{hd}}{r_{th\_hd}}-q_{e\_hd}-\frac{T_{hd}-T_{air}}{r_{hd\_air}}\cr  C_{ab}\frac{dT_{ab}}{dt}=p_{rab}+\frac{T_{th}-T_{ab}}{r_{th\_ab}}-q_{e\_ab}-\frac{T_{ab}-T_{air}}{r_{ab\_air}}}\right.,$$
где С_ - теплоёмкость, а остальные обозначения те же, что и формуле (5) заметки про термогенез, т.е. исходной модели, только для обозначения температуры взята большая Т, чтобы не путать со временем. По ней же и вычисляются начальные условия - исходные температуры торакса, головы и брюшка при заданной температуре воздуха. 
Зададим температуру 12°C. Тогда исходные температуры будут, соответственно, торакса 25.47°C, головы 21.76°C, брюшка 17.28°C. Если теперь решать систему при этих начальных условиях, то, естественно, никакого переходного процесса не будет:
Напомню, при этом \(P_t =29,133-0,739t_{air}\) , мВт - это зависящая от температуры воздуха мощность основного обмена - обычного метаболизма. Если теперь добавить к этой мощности рассчитанные 6.3 мВт, то переходной процесс появится:

и он действительно поднимает температуру торакса почти на 2°C, но не за минуту, а за пять. А что если пчела будет работать, как при горизонтальном полёте - тратить дополнительно не 6.5, а 23 мВт? 

Как видим, в этом случае скорость нагрева будет около 1°С в минуту, что тоже не достаточно - не соответствует экспериментальным данным. Модель выявила ошибку первоначального расчёта. Теперь, если мы посмотрим на сделанную оценку внимательно и критически, то уже кажется очевидным: оценка вообще не учитывала, что в процессе нагрева торакса тепло будет уходить - в модели это учитывается. Да и, если здраво рассудить, чего бы это пчела, имеющая накачанную мышцу и торопящаяся взлететь, будет использовать её так слабо - ведь она может дать в парящем полёте и вдвое больше, чем при горизонтальном полёте? Даёшь 45 мВт!


Вот теперь - другое дело! За две минуты температура торакса поднялась от 26 до 30°С, т.е. как раз на 2°С в минуту. 

Таким образом, мы исправили первоначальную ошибку (в 7 раз!): в режиме печки пчела включает дополнительную мощность близкую к максимальной - около 45 мВт. 
Этот же режим печки пчела включает, например, для обогрева расплода, или во время зимовки, когда надо поддержать температуру - мы к нему ещё вернёмся.

P.S. В своей первой заметке блога я посетовал, что мало хороших глубоких книг по пчеловодству. Вот обнаружил очень богато иллюстрированное интересное издание, в котором режим печки описан очень подробно:  Юрген Тауц "Феномен медоносной пчелы. Биология суперорганизма."[20]. Автор подтверждает, что в режиме обогревателя пчела включает максимальную мощность.
🐝 Python-скрипт

import numpy as np
import matplotlib.pyplot as plt
import math
from scipy.optimize import fsolve

# Параметры (как ранее)
d_bee = 0.004
a = math.pi * (d_bee / 2) ** 2
h_head, h_thorax, h_ab = 0.0015, 0.0045, 0.006
A_head = math.pi * d_bee * h_head + a
A_thorax = math.pi * d_bee * h_thorax
A_ab = math.pi * d_bee * h_ab + a
k_hd, k_ab = 0.065, 0.042
L_wall = 0.0001
d_cell = 0.0052
A_wall = math.pi * d_cell * (h_head + h_thorax + h_ab)
sigma = 5.67e-8
t0 = -273.1
eps = 0.22

# Теплоемкости
m_head, m_thorax, m_ab = 10.25e-6, 32.5e-6, 57e-6
c = 3500
C_head, C_thorax, C_ab = m_head * c, m_thorax * c, m_ab * c
ρ_wax, c_wax = 960, 2000
V_wall = A_wall * L_wall * 0.3  # Активный слой
C_wall = ρ_wax * V_wall * c_wax  # ≈ 0.015 Дж/°C

# Внутренние сопротивления тела
T_air = 12.
l = (1.3493 * np.exp(-0.058 * T_air)) * 1e-3  # средний зазор от торакса до головы и брюшка
ke0 = 3e-5  # Вт/°C коэффициент испарения в покое
R_th_hd = l / (k_hd * a)
R_th_ab = l / (k_ab * a)
# Параметры для открытого пространства
h_open = 11  # Коэффициент конвекции [Вт/(м²·°C)]
R_head_air_open = 1 / (h_open * A_head)
R_thorax_air_open = 1 / (h_open * A_thorax)
R_ab_air_open = 1 / (h_open * A_ab)


# Функция термогенеза
def metabolic_power(T_air):
    power = (29.133 - 0.739 * T_air) * 1e-3
    return max(power, 0)


def calculate_initial_temperatures(T_air):
    """ Вычисление равновесных температур тела пчелы на открытом воздухе """
    l = (1.3493 * np.exp(-0.058 * T_air)) * 1e-3  # средний зазор от торакса до головы и брюшка
    R_th_hd = l / (k_hd * a)
    R_th_ab = l / (k_ab * a)
    # print(R_th_hd, R_th_ab)

    def equations(vars):
        Thd, Tth, Tab = vars
        q_evap_hd = ke0 * Tth
        q_evap_ab = ke0 * Tth
        P_rest = metabolic_power(T_air)  # Стартовое тепловыделение
        p_s_th = - eps * sigma * ((Tth - t0) ** 4 - (T_air - t0) ** 4) * A_thorax
        p_s_hd = - eps * sigma * ((Thd - t0) ** 4 - (T_air - t0) ** 4) * A_head
        p_s_ab = - eps * sigma * ((Tab - t0) ** 4 - (T_air - t0) ** 4) * A_ab

        eq1 = p_s_hd + (Tth - Thd) / R_th_hd - (Thd - T_air) / R_head_air_open - q_evap_hd
        eq2 = P_rest + p_s_th - (Tth - Thd) / R_th_hd - (Tth - Tab) / R_th_ab - (Tth - T_air) / R_thorax_air_open
        eq3 = p_s_ab + (Tth - Tab) / R_th_ab - (Tab - T_air) / R_ab_air_open - q_evap_ab
        return [eq1, eq2, eq3]

    # Решение системы
    sol = fsolve(equations, [T_air, T_air, T_air])
    return sol


# Рассчитываем начальные температуры
T_head_init, T_thorax_init, T_ab_init = calculate_initial_temperatures(T_air)

print(f"Начальные температуры при T_air = {T_air}°C:")
print(f"Торакс: {T_thorax_init:.2f}°C")
print(f"Голова: {T_head_init:.2f}°C")
print(f"Брюшко: {T_ab_init:.2f}°C")

p_plus = 45e-3  # мощность печки


def model_plus_6_5(time_total):
    dt = 1
    steps = int(time_total / dt)
    # Начальные условия из Этапа 1
    T_head, T_thorax, T_ab = T_head_init, T_thorax_init, T_ab_init
    # Массивы для результатов
    T_head_arr, T_thorax_arr, T_ab_arr = [T_head], [T_thorax], [T_ab]
    P_rest_arr = [metabolic_power(T_air)]

    for t in range(steps):
        def equations(vars):
            Thd, Tth, Tab = vars
            q_evap_hd = ke0 * Tth
            q_evap_ab = ke0 * Tth
            P_rest_current = metabolic_power(T_air)  # Стартовое тепловыделение
            p_s_th = - eps * sigma * ((Tth - t0) ** 4 - (T_air - t0) ** 4) * A_thorax
            p_s_hd = - eps * sigma * ((Thd - t0) ** 4 - (T_air - t0) ** 4) * A_head
            p_s_ab = - eps * sigma * ((Tab - t0) ** 4 - (T_air - t0) ** 4) * A_ab
            # Уравнение для головы:
            eq1 = C_head * (Thd - T_head_arr[-1]) - dt * (
                    p_s_hd
                    + (Tth - Thd) / R_th_hd
                    - (Thd - T_air) / R_head_air_open
                    - q_evap_hd
            )
            # Уравнение для торакса:
            eq2 = C_thorax * (Tth - T_thorax_arr[-1]) - dt * (
                    P_rest_current + p_s_th + p_plus    # + 44e-3
                    - (Tth - Thd) / R_th_hd
                    - (Tth - Tab) / R_th_ab
                    - (Tth - T_air) / R_thorax_air_open
            )
            # Уравнение для брюшка:
            eq3 = C_ab * (Tab - T_ab_arr[-1]) - dt * (
                    p_s_ab
                    + (Tth - Tab) / R_th_ab
                    - (Tab - T_air) / R_ab_air_open
                    - q_evap_ab
            )
            return [eq1, eq2, eq3]
        sol = fsolve(equations, [
            T_head, T_thorax, T_ab,
        ])
        T_head, T_thorax, T_ab = sol
        if t % 10 == 0:
            T_head_arr.append(T_head)
            T_thorax_arr.append(T_thorax)
            T_ab_arr.append(T_ab)
            P_rest_arr.append(metabolic_power(T_air))
    return T_head_arr, T_thorax_arr, T_ab_arr, P_rest_arr


# Запуск модели
time_total = 300  # секунд
results = model_plus_6_5(time_total)
T_head, T_thorax, T_ab, P_rest = results

# Временная шкала
t = np.linspace(0, time_total, len(T_thorax))

# График температур
plt.figure(figsize=(7, 4))
plt.plot(t, T_thorax, 'r-', label='Торакс')
plt.plot(t, T_head, 'b-', label='Голова')
plt.plot(t, T_ab, 'g-', label='Брюшко')
plt.axhline(T_air, color='k', linestyle='--', label='Температура воздуха')
plt.xlabel('Время (с)')
plt.ylabel('Температура (°C)')
plt.title('Переходной процесс при включении режима "печки" '
          '\nс дополнительной мощностью ' + str(p_plus*1e3) + ' мВт')
plt.legend(loc='upper right')
plt.grid(True)
plt.show()

# Стационарные значения
print(f"Температура торакса: {T_thorax[-1]:.2f}°C")
print(f"Тепловыделение: {P_rest[-1] * 1000:.2f} мВт")

    

Комментарии

Популярные сообщения из этого блога

Температура и мощность термогенеза пчелы

Введение Помню, в школе на уроках биологии рассказывали про теплокровных и холоднокровных животных; насекомых, а, значит, и пчелу относили к холоднокровным. Поэтому когда первый раз прочитал, что пчела - пойкилотермное животное, слегка насторожился. Оказалось - зря, это тоже, что холоднокровное, но "по-научному", ещё встречается "эктотермное". А теплокровные - гомойтермные или эндотермные; они способны сохранять постоянную температуру тела, независимо от температуры окружающей среды - это птицы и млекопитающие, остальные - холоднокровные. Итак, согласимся: пчела - пойкилотермное животное. Однако, "всё не так однозначно". Например голый землекоп - холоднокровное млекопитающее. А в мае 2015 года нашли  "полностью теплокровную рыбу"  . Оказалось, правда, на мой взгляд, не полностью - она способна держать температуру всего на 5°С выше окружающей. Выделяют отдельную группу гетеротермных животных, куда относят как некоторых холоднокровных, так и н...

Выступил на конференции АЕП-2025

  22.11.2025 состоялась ежегодная конференция Ассоциации естественного пчеловодства.  Она заняла весь день. Было много интересных докладов. Иван Пигарёв подвел итоги работы ассоциации за год и планах на будущий - в центре внимания новый проект в Окском государственном заповеднике по сохранению и восстановлению естественного ареала обитания (реинтродукции) темной лесной пчелы.  Александр Новик рассказал, как он занимается бортничеством в США - титаническая работа по сохранению гнезд в дуплах деревьев. Яна Тыжнова поведала о некоторых подробностях перевода очередной книги Томаса Сили "Пчелы. Апиология и жизнь. 20 раскрытых загадок поведения медоносных пчёл" - глубочайший анализ смыслов слов на разных языках. Здесь она превзошла самою себя, переводя уже, кажется,  практически с пчелиного языка. Андрей Богданов рассказал и показал, как он содержит пасеку из нескольких точков в лесах Псковской области на протяжении многих лет безо всякого лечения. Были и другие интересные...