Стаття
Природа та фізика · ⏱ ≈ 12 хв читання

Пісок та сипкі матеріали

Пісок не є ні твердим тілом, ні рідиною, ні газом — це сипке середовище, стан речовини, що підкоряється власним дивним правилам. Купа піску може утримувати цеглину, як тверде тіло, та водночас текти крізь пісковий годинник, як рідина. Кут відкосу, силові ланцюги, лавини й самоорганізована критичність — усе це наслідки одного й того самого мікроскопічного факту: зерна взаємодіють лише при контакті, через тертя й нормальні сили, без жодної когезії.

1. Чим особливі сипкі середовища?

Відсутність когезії

Зерна сухого піску відштовхуються (нормальна сила) і чинять опір ковзанню (тертя), але не притягуються одне до одного. Заберіть опору — і купа осідає.

Атермальність

Зерна макроскопічні (≥ 1 мкм). Теплові флуктуації нехтовно малі — kT ≪ потенціальної енергії зерна. Статистичній механіці потрібен новий підхід.

Дисипативність

Кожен контакт розсіює енергію через непружні зіткнення та тертя. Без зовнішнього притоку енергії жодної гранулярної «рівноваги» не існує.

Заклинення (jamming)

Нижче критичної густини система тече; вище неї силові ланцюги перколюють і система стає жорсткою — перехід заклинення.

2. Кут відкосу

Насипте пісок на поверхню — і утвориться конічна купа. Кут схилу θᵣ, за якого купа стабілізується, — це кут відкосу. Він визначається суто тертям між частинками:

tan θᵣ = μ_s (коефіцієнт статичного тертя) Сухий кварцовий пісок: θᵣ ≈ 30–35° (μ_s ≈ 0.58–0.70) Вологий пісок: θᵣ ≈ 45°+ (капілярні містки додають когезії) Кукурудзяний крохмаль: θᵣ ≈ 50°+ (неправильна форма зерен) Скляні кульки: θᵣ ≈ 22° (гладкі, низьке μ) Понад θᵣ: зерна зісковзують, сходить лавина, і θᵣ відновлюється.

Насправді тут є гістерезис: купа може стояти під максимальним кутом стійкості θₘ > θᵣ, доки її не збурять, а потім лавиною осідає назад до θᵣ. Ця бістабільність зумовлює переривчасті лавини з розподілом за розміром.

3. Силові ланцюги

Напруження в сипкому середовищі розподіляється не рівномірно, як у рідині, — воно поширюється вздовж силових ланцюгів: квазілінійних шляхів зерен, що несуть навантаження значно вище за середнє. Експерименти з фотопружними дисками роблять ці ланцюги видимими як яскраві лінії в поляризованому світлі.

Типовий силовий ланцюг: несе у 3–10× більшу за середню силу на зерно Протяжність: 5–20 діаметрів зерна Час життя: короткий — порушується новими контактами зерен Наслідок: силос може концентрувати навантаження в кількох точках стінок → будівельна інженерія має враховувати нерівномірний розподіл напружень, а не гідростатичний тиск рідини.

Силові ланцюги — це мікромасштабний механізм, що стоїть за ефектом Янссена: у високому циліндричному силосі тиск біля дна насичується з висотою (на відміну від тиску рідини, що зростає лінійно), бо зерна утворюють арки й перенаправляють навантаження на стінки.

4. Клітинний піщаний алгоритм

Клітинний автомат «падіння піску» представляє світ як 2D-сітку пікселів. Кожна клітина містить тип матеріалу (повітря, пісок, вода, вогонь, …). На кожному такті до кожної клітини застосовуються правила оновлення:

Правило оновлення піску (за пріоритетом): 1. Якщо клітина знизу порожня → рухатися вниз 2. Інакше якщо клітина знизу-ліворуч порожня → рухатися вниз-ліворуч 3. Інакше якщо клітина знизу-праворуч порожня → рухатися вниз-праворуч (рандомізувати 2/3) 4. Інакше → залишитися (частина купи) Це дає: - Природне утворення купи (кут відкосу постає ≈ 45° у КА) - Текучі струмені - Перекриття / утворення арок над малими прогалинами

Правило недетерміноване на кроці 2/3 (випадковий вибір ліворуч чи праворуч), щоб запобігти артефактам ґратки. Кут відкосу 45° у КА — це артефакт квадратної сітки; реальний пісок із більшою кількістю діагональних варіантів (8 напрямків) може наближатися до 30–35°.

5. Лавини та самоорганізована критичність

Бак, Танг і Візенфельд (1987) показали, що повільно керована піщана купа самоорганізується до критичного стану, де розміри лавин підкоряються степеневому закону — без характерного масштабу довжини чи часу. Це самоорганізована критичність (SOC):

P(s) ~ s^{-τ} (імовірність лавини розміром s) τ ≈ 1.0–1.5 залежно від вимірності та моделі Модель піщаної купи BTW (Бак-Танг-Візенфельд): z(x,y) += 1 (кидаємо зерно) if z(x,y) ≥ 4: z(x,y) -= 4 z(±1, 0) += 1, z(0, ±1) += 1 (обвалення до сусідів) повторювати, доки стабільно

SOC пропонують як пояснення для шуму 1/f, розподілів розмірів землетрусів (Гутенберга-Ріхтера), розмірів лісових пожеж, подій вимирання видів та крахів фінансових ринків — усі вони демонструють степеневу статистику розмірів подій.

6. Масштабування Бегнольда та щільний потік

Ральф Бегнольд (1941) охарактеризував текучі сипкі середовища за допомогою безрозмірного числа Бегнольда, що порівнює напруження від зіткнень зерен із в'язким напруженням:

Ba = ρ_p d² λ^{1/2} γ̇ / μ_f ρ_p = густина зерна, d = діаметр зерна λ = лінійна концентрація = (ν_max/ν − 1)⁻¹ (пов'язана з пакуванням) γ̇ = швидкість зсуву, μ_f = в'язкість рідини Ba ≪ 1: в'язкий режим — домінує опір рідини Ba ≫ 1: режим Бегнольда — напруження від зіткнень зерен ∝ γ̇² Зсувне напруження в режимі Бегнольда: τ = a_B · ρ_p · d² · Ba^{1/2} · γ̇²

У глибокій воді (мале Ba) зерна піску поводяться як в'язка суспензія. У повітрі (велике Ba) домінують міжзеренні зіткнення, і зсувне напруження масштабується з квадратом швидкості зсуву — ключовий фактор у формуванні еолових дюн.

7. Симуляція падіння піску на JavaScript

// Симуляція падіння піску на клітинних автоматах
const W = 200, H = 150;
const EMPTY = 0, SAND = 1, WALL = 2;
const grid = new Uint8Array(W * H);
const idx  = (x, y) => y * W + x;
const get  = (x, y) => (x < 0 || x >= W || y < 0 || y >= H) ? WALL : grid[idx(x, y)];
const set  = (x, y, v) => { if (x >= 0 && x < W && y >= 0 && y < H) grid[idx(x, y)] = v; };

function stepSand() {
  // Ітеруємо знизу вгору, випадковий вибір ліво-право, щоб уникнути упередження
  const lr = Math.random() < 0.5;
  for (let y = H - 2; y >= 0; y--) {
    for (let x = 0; x < W; x++) {
      if (grid[idx(x, y)] !== SAND) continue;
      if (get(x, y + 1) === EMPTY) {
        set(x, y + 1, SAND); set(x, y, EMPTY);
      } else {
        const dl = get(x - 1, y + 1) === EMPTY;
        const dr = get(x + 1, y + 1) === EMPTY;
        if (dl && dr) {
          const dx = lr ? -1 : 1;
          set(x + dx, y + 1, SAND); set(x, y, EMPTY);
        } else if (dl) {
          set(x - 1, y + 1, SAND); set(x, y, EMPTY);
        } else if (dr) {
          set(x + 1, y + 1, SAND); set(x, y, EMPTY);
        }
      }
    }
  }
}

// Палітра кольорів: колір піщаного пікселя за висотою для ілюзії глибини
function sandColour(y) {
  const t = y / H;
  const r = Math.round(194 + t * 20);
  const g = Math.round(160 - t * 20);
  return `rgb(${r},${g},80)`;
}

// SOC-модель піщаної купи BTW для навчального порівняння
function btwTopple(z, W, H) {
  let avalanche = 0;
  let active = true;
  while (active) {
    active = false;
    for (let y = 1; y < H - 1; y++)
      for (let x = 1; x < W - 1; x++) {
        if (z[y * W + x] >= 4) {
          z[y * W + x] -= 4;
          z[(y-1) * W + x]++; z[(y+1) * W + x]++;
          z[y * W + (x-1)]++;  z[y * W + (x+1)]++;
          avalanche++; active = true;
        }
      }
  }
  return avalanche;
}

8. Застосування

Жива симуляція: Симуляція піску на цьому сайті реалізує клітинний автомат падіння піску з підтримкою кількох матеріалів.
⏳ Відкрити симуляцію піску →