- При запуске модели на счет (Models/MODLFOW (Run Simulation)/Run...) надо поставить галочку у пункта Check Model Data. Запустить счет, а потом в простом текстовом редакторе посмотреть содержимое файла CHECK.LIS, который появится в каталоге с моделью.
- Некоторые неочевидные ошибки проверка из предыдущего пункта к сожалению пропускает. Тогда придется после неудачного запуска модели на счет воспользоваться «тяжелой артиллерией» — открыть файл output.dat (опять же в простом текстовом редакторе). В нем хранится вся служебная информация о последнем запуске, в т.ч. и ошибки. Файл пишется последовательно по мере выполнения MODFLOW, поэтому указание на ошибку чаще всего надо искать в самом конце файла.
Прикладная гидрогеология, геофильтрационное моделирование, инженерная геология. Блог специалиста по гидрогеологическому моделированию Копылова Александра.
10/08/2021
Processing MODFLOW — почему не считается модель
01/11/2012
Processing MODFLOW. Параметры.
- Горизонтальный коэффициент фильтрации и Проводимость Horizontal Hydraulic Conductivity and Transmissivity.
Коэффициент фильтрации должен быть задан для безнапорных и напорно/безнапорных слоев с переменной проводимостью (тип 1 и 3). Проводимость может быть задана для напорных и напорно/безнапорных слоев с постоянной проводимостью (тип 0 и 2).
Горизонтальный коэффициент фильтрации в общем случае характеризует проницаемость вдоль модельных строк. Проницаемость вдоль модельных столбцов получается путем умножения этой величины на коэффициент горизонтальной анизотропии (anisotropy factor, задается в диалоговом окне Layer Property dialog box).
Для безнапорного слоя проводимость считается как произведение коэффициента фильтрации на разность уровня воды и подошвы слоя (если в том же Layer Property dialog box явно не задана опция user-specified transmissivity).
Важно понимать, что «внутре» MODLFOW всегда коэффициент фильтрации пересчитывает в проводимость. Просто в случае с безнапорным слоем проводимость уточняется на каждой итерации (точно не помню, но кажется этот момент тоже настраивается — можно пересчитывать проводимость не на каждом расчетном шаге). - Перетекание и вертикальный коэффициент фильтрации Vertical Leakance and Vertical Hydraulic Conductivity.
Параметр перетекания расчитывается MODFLOW по формуле:
VCONT=\frac{2}{\frac{m_k}{(k_z)_{k,i,j}}+\frac{m_{k+1}}{(k_{z})_{k+1,i,j}}}
где:
mk - мощность k-ого слоя;
(kz)k,i,j - его вертикальный коэффициент фильтрации.
Вы можете задать VCONT явно (Vertical Leakance), либо в виде коэффициента фильтрации (Vertical Hydraulic Conductivity). Казалось бы, зачем в здравом уме заниматься ручным расчетом перетекания, если можно не мучаться и задать коэффициент фильтрации — однако, есть ряд задач, где это необходимо. - Коэффициент вертикальной анизотропииVertical Anisotropy.
Ну, тут все просто — это отношение горизонтального коэффициента фильтрации к вертикальному. Поддерживается версиями MODFLOW-2000 и старше. Сильно упрощает процесс решения обратных задач геофильтрации — подбирая проницаемость толщи не приходится синхронизировать значения коэффициентов фильтрации по разным осям. - Эффективная пористость Effective Porosity.
Не буду напоминать определение эффективной пористости — она есть в любом учебнике. Отмечу лишь, что на решение задач геофильтрации этот параметр не влияет, в отличие от миграционных задач. - Упругая емкость (породы) Specific Storage, Упругая емкость пласта Storage Coefficient и Гравитационная емкость Specific Yield.
Эти параметры используются при работе с нестационарными моделями. Упругая емкость пласта — это упругая емкость, умноженная на мощность пласта, и вы ее можете задать явно, либо предоставить выполнение операции умножения программе. Для безнапорных и напорно/безнапорных слоев надо еще задать гравитационную емкость Specific Yield.
- Wen-Hsing Chiang: “Processing Modflow PRO”, April 6, 2006;
- Simcore Software: “Processing Modflow. An Integrated Modeling Environment for the Simulation of Groundwater Flow, Transport and Reactive Processes”, July 5, 2012;
- Шестаков В.М.: «Гидрогеодинамика», 1995 г.
20/12/2011
Как задавать граничные условия
Граничное условие I-рода в MODFLOW может быть задано двумя способами. Первый способ: в массиве IBOUND (меню Grid/Cell Status) в соответствующие ячейки надо занести любое целое отрицательное значение (не обязательно -1, можно и -23 — разницы никакой), затем в массив Initial & Prescribed Hydraulic Head (в меню Parameters) в этих же ячейках надо задать величину напора в этих ячейках. Тут важно не допустить самую главную ошибку новичка — не задать безнапорном слое I-род с напором ниже отметки подошвы слоя. Второй способ: Time-Variant Specified-Head (MODFLOW/Flow Packages), где можно задать линейно меняющийся напор на границе. Напор, разумеется, может и не меняться. В принципе, почти любая граница III-рода может быть превращена в I-род, для этого достаточно задать очень большую проницаемость границы, но об этом позже.
Границы II-рода задаются так-же двумя способами: пакет Well (MODFLOW/Flow Packages), где отрицательными значениями задается постоянный отток, а положительными — приток; и пакет Recharge (MODFLOW/Flow Packages), с помощью которого задается инфильтрация (положительное значение) или испарение (отрицательное).
Для границ III-рода придумано наибольшее количество пакетов, которые постоянно пополняются по мере выхода новых версий MODFLOW. Все нижеперечисленные пакеты расположены в меню MODFLOW/Flow Packages. General Head Boundary — наиболее общий способ задания г.у. III-рода, там все очевидно — задается напор и проницаемость границы (величина, обратная общепринятому у нас фильтрационному сопротивлению). Drain — так задаются дрены и участки высачивания, принцип аналогичен GHB, но если уровень воды в ячейке с границей оказывается ниже уровня воды, заданного на дрене, то расход через границу становится нулевым (GHB в аналогичном случае станет питающей границей, Drain питающей границей быть не может). River — пакет реки позволяет учесть эффект возникновения режима дождевания при отрыве уровня в пласте от дна реки (для этого в дополнение к уровню на границе и ее проницаемости в этом пакете задается отметка дна реки). Evapotranspiration — пакет для задания испарения с поверхности грунтовых вод, тоже формально может быть отнесен к границам III-рода.
10/08/2011
Processing MODFLOW. Создание модельной сетки.
Итак, наконец-то у меня дошли руки до давно обещанного краткого (подчеркиваю!) руководства по геофильтрационному моделированию в программе Processing Modflow. Сразу предупрежу: у меня нет под рукой бесплатной версии этой программы (5.3.1), поэтому пункты меню я буду приводить на примере седьмой версии. Принципиальной разницы между ними нет, но стоит иметь в виду, когда будете сталкиваться с несоответствиями.
Начинается процесс с создания модели: File/New Model – настоятельно рекомендую создавать для каждой модели отдельную папку и назначать им (модели и папке) – «говорящие» названия.
Затем мы переходим к заданию сетки: Grid/Mesh Size. В открывшемся диалоговом окне предоставляется возможность задать следующие параметры:
- количество слоев (Number of Layers) – тут главное не переборщить, т.к. добавить в случае чего новый слой достаточно легко, а вот удалить практически невозможно (правда, можно отключить, сделав все ячейки слоя неактивными);
- толщину модели (Model Thickness) и отметку кровли верхнего слоя (Model Top Elevation) – опциональные параметры т.к. толщина модели все-равно определяется суммарной мощностью слоев, геометрия которых задается позже, где задается и рельеф кровли верхнего слоя;
- количество ячеек по оси Y или количество строк (Number of Rows);
- размеры модели по оси Y (Model Extent) – очевидно, что размеры ячеек по оси Y будут определяться как отношение Model Extent к Number of Rows;
- количество ячеек по оси X или количество столбцов (Number of Columns);
- размеры модели по оси X (Model Extent);
- вертикальный масштаб (Vertical Exaggeration).
Переключившись во вкладку Coordinate System, мы можем задать координаты сетки и просмотрового окна. Важно заметить, что в качестве начала координат используется верхний левый угол модели. Кроме того, там же задается угол поворота сетки.
После нажатия на “Ok” мы попадаем в главное рабочее окно программы (мы его еще ни раз увидим, когда будем задавать параметры и граничные условия). Здесь мы можем подправить небольшие огрехи, допущенные на этапе задания сетки: подвинуть сетку, изменить угол поворота, изменить размеры ячеек. Для разбиения сетки в областях наибольшего интереса рекомендую сначала выйти из главного окна с сохранением, а потом зайти обратно в Grid/Mesh Size – в этом случае в меню по правому клику на ячейке появятся пункты, отвечающие за разбиение ячейки.
Кстати, уже на этом этапе появляется возможность подгрузить векторные и растровые подложки (Options/Maps…). PM достаточно привередливая программа в плане поддерживаемых форматов: векторный DXF, к примеру, она «кушает» только допотопных версий 2000 года, а растровый файл должен заведомо превышать размеры просмотрового окна. В общем, тут им много чего надо доработать.
20/07/2011
Processing MODFLOW. Введение.
В мои должностные обязанности в свое свое время входило обучение основам моделирования новых сотрудников и коллег из сторонних организаций. Многие из них в впоследствии вполне успешно продолжили деятельность на этом поприще, так что мою методу вполне можно считать состоявшейся, хотя, несомненно, не лишенной недостатков. Комментарии, а особенно конструктивная критика, категорически приветствуются.
Описание работы с препроцессором (о сути этого названия я писал раньше) у меня практически полностью совпадает со структурой программного меню, которая, в свою очередь, соответствует последовательности создания модели. За эту особенность я и люблю использовать эту программу в качестве учебного пособия. Собственно говоря, англоязычная инструкция к программе написана так-же – именно как последовательное описание пунктов меню.
Скачать бесплатную версию Processing Modflow - там, правда, доступна достаточно древняя версия 5.3.1, но она хотя бы бесплатная. Более новая 8-ка вообще неработоспособна (там в коде перепутаны идентификаторы полей ввода в некоторых диалогах, что приводит к совершенно невообразимым глюкам). Лично мне нравится семерка, но она платная. Я буду описывать именно седьмую версию – мне этот подход кажется наиболее универсальным. Если что-то будет непонятно, то я всегда рад общению.