Розробка AI-системи аналізу геологічних вишукувань для будівництва
Інженерні геологічні дослідження — дорогий процес, що визначає фундаментальні рішення щодо проекту. AI аналізує дані досліджень, передбачає властивості грунтів між свердловинами і оцінює геотехнічні ризики.
Інтерпретація даних інженерних досліджень
Обробка даних зондування (CPT):
Статичне зондування (CPTU/CPT) - найбільш інформативний метод досліджень: конус вимірює опір грунту (qc), тертя по бічній поверхні (fs) і порового тиску (u2) безперервно по глибині.
import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
class CPTSoilClassifier:
"""Классификация грунтов по данным статического зондирования (СП 47.13330)"""
# Классификатор Robertson (1990) — международный стандарт
SOIL_CLASSES = {
1: 'sensitive_fine_grained',
2: 'organic_soil_peat',
3: 'clays',
4: 'silt_mixtures',
5: 'sand_silt_mixtures',
6: 'clean_sands',
7: 'gravelly_sand_to_dense_sand',
8: 'very_stiff_sand_to_gravelly_sand',
9: 'very_stiff_fine_grained'
}
def classify_robertson(self, qc, fs, depth_m, unit_weight=18):
"""
Классификация по методу Robertson (1990).
qc: МПа, fs: кПа
"""
# Normalization
Pa = 0.1013 # МПа (атмосферное давление)
sigma_v = unit_weight * depth_m / 1000 # МПа (вертикальное напряжение)
qt = qc # упрощение (без поправки на поровое давление)
# Normalized tip resistance
Qtn = (qt - sigma_v) / Pa * (Pa / sigma_v) ** 0.381
# Normalized friction ratio
Fr = fs / max(qt - sigma_v, 0.001) * 100 # %
# Soil Behaviour Type Index (Ic)
Ic = np.sqrt((3.47 - np.log10(Qtn))**2 + (1.22 + np.log10(Fr))**2)
# Классификация по Ic
if Ic > 3.60:
return 2 # торф/органика
elif Ic > 2.95:
return 3 # глины
elif Ic > 2.60:
return 4 # суглинки
elif Ic > 2.05:
return 5 # супеси/суглинки
elif Ic > 1.31:
return 6 # пески
else:
return 7 # гравийные пески
def derive_geotechnical_params(self, qc, soil_class):
"""Определение расчётных характеристик грунта по эмпирическим корреляциям"""
params = {}
if soil_class in [5, 6, 7]: # несвязные грунты
params['phi_degrees'] = 17.6 + 11.0 * np.log10(qc) # угол трения (Kulhawy & Mayne)
params['relative_density'] = 100 * (qc / 100) ** 0.5 # Dr, %
params['Es_MPa'] = 5 * qc # модуль деформации (ориентировочно)
elif soil_class in [3, 4]: # связные грунты
params['Su_kPa'] = qc / 0.01 / 15 # прочность без дренажа
params['OCR'] = (0.33 * qc) ** 1.15 # степень переуплотнения
return params
Просторова інтерполяція властивостей ґрунтів
Кригінг геологічних параметрів:
Між свердловинами даних немає. Геостатистика (кригінг) будує ймовірну модель поля параметра:
from pykrige.ok import OrdinaryKriging
import numpy as np
def interpolate_bearing_capacity(borehole_locations, bearing_capacity_values, grid_resolution_m=5):
"""
Построение карты несущей способности грунта по данным скважин.
borehole_locations: (n, 2) координаты xy скважин
bearing_capacity_values: (n,) несущая способность кПа
"""
x = borehole_locations[:, 0]
y = borehole_locations[:, 1]
z = bearing_capacity_values
# Ordinary Kriging с автоматическим подбором вариограммы
ok = OrdinaryKriging(
x, y, z,
variogram_model='spherical',
verbose=False,
enable_plotting=False
)
# Создать регулярную сетку
x_grid = np.arange(x.min(), x.max(), grid_resolution_m)
y_grid = np.arange(y.min(), y.max(), grid_resolution_m)
z_pred, z_variance = ok.execute('grid', x_grid, y_grid)
return z_pred, np.sqrt(z_variance) # предсказание + неопределённость
Оцінка геотехнічних ризиків
Просідання грунтів:
Для лесових грунтів Центральної Росії та півдня - критичний параметр: - ML-класифікатор за даними лабораторних досліджень + CPT: просадний/непросадний - Прогноз глибини просадної товщі між свердловин
Ризик розрідження при сейсміку:
Японський метод (Ishihara) + ML-корекція: - CRR (Cyclic Resistance Ratio) за CPT - CSR (Cyclic Stress Ratio) за сейсмічними умовами - Factor of Safety FL = CRR/CSR < 1.0 → ймовірно
Набухають ґрунти:
ML-регресія тиску набухання за мінералогічним складом та вологістю (актуально для півдня РФ, Казахстану).
Генерація геологічної документації
Автоматизація звітів:
За даними досліджень + нормативної бази → автогенерація: - Таблиці фізико-механічних характеристик ґрунтів (за СП 22.13330) - Інженерно-геологічні колонки (ГОСТ Р 59623) - Текстова частина звіту: шаблон + ML-заповнення з даних вимірювань
3D-візуалізація геологічної моделі:
PyVista/VTK + інтерполовані дані → тривимірна інженерно-геологічна модель: - Шари ґрунтів по майданчику - Рівень ґрунтових вод - Зони ризику (просідання, розрідження)
Термін розробки: 4-6 місяців для AI-системи інтерпретації досліджень з просторовою інтерполяцією та оцінкою ризиків.







