Прикладная гидрогеология, геофильтрационное моделирование, инженерная геология. Блог специалиста по гидрогеологическому моделированию Копылова Александра.
08/05/2012
GeoSolid3D
05/04/2012
Сертификат соответствия для Modflow
Так что же делать, если эксперт требует этот несчастный сертификат. Первым делом — насторожиться, поскольку по моему личному опыту такой вопрос чаще всего возникает в случаях, когда эксперту поручено «зарезать» отчет. В качестве отписки могу лишь посоветовать отправить эксперту нижеследующий текст — иногда срабатывает. А вот что делать, если в уставе СРО прописано обязательное использование исключительно сертифицированных программных средств, я не знаю.
В США MT3D и MODFLOW рекомендуются к использованию Агентством окружающей среды и Геологической службой. На сайтах этих организаций представлены тестовые примеры, подтверждающие правильность результатов расчетов, выполненных с помощью MODFLOW и связанных с ней программ.
Согласно Федеральному закону от 27 декабря 2002 г. N 184-ФЗ «О техническом регулировании»: сертификация делится на обязательную и добровольную. Программные средства для гидрогеологических расчетов не включены «Перечень продукции, подлежащей обязательной сертификации». Таким образом, сертификация таких программ является добровольной.
В России MODFLOW и связанные с ней программы широко применяются в таких уважаемых организациях как: ГИДЭК, МГУ, СПГУ, НИИ ВОДГЕО, Гидропроект и многих других. Для подготовки данных и визуализации результатов расчетов при использовании MODFLOW и связанных с ней программ в нашей организации используется следующее программное обеспечение:
- PMWIN 5.1 — распространяется бесплатно.
- ModelMuse 2.13.0.0 — распространяется бесплатно.
Важное дополнение! На сайте сертификационного центра выложен список сертифицированных программ: http://csert.ru/list.php. Вот цитата из него:
Таким образом, у одной из версий PMWIN (древней, но к счастью бесплатной) таки есть сертификат. Осталось раздобыть где-нибудь его копию, дабы от экспертов отвязаться раз и навсегда.
Обозначение программной продукции Название программной продукции № сертификата соответствия и срок его действия. Нормативные документы, на соответствие которым выдан сертификат соответствия Подкласс 2.41. Защита от опасных геофизических воздействий. Программа PMWIN.
Версия 5.3Геофильтрационные и геомиграционные расчеты на основе численных методов конечных элементов. РОСС RU.СП15.Н00551
(28.11.2012 – 27.11.2014)СНиП 2.04.02-84*, СНиП 22-02-2003, СП 116.13330.2012 (СНиП 22-02-2003), СНиП 2.06.15-85
01/02/2012
И еще раз об осушенных блоках модели
Такое впечатление, что из шести скважин работают только верхние две. Самое забавное, что так оно и есть, но в чем же дело?
Вот как вся эта ситуация это выглядит при итеративном расчете:
- Работает скважина, снижается уровень воды.
- Вдруг уровень стал ниже подошвы слоя — отключили ячейку со скважиной.
- О, скважина исчезла (ячейка то с ней отключена) — уровень воды начинается повышаться.
Как бороться с такой напастью. Да очень просто, почти все рецепты я уже описал в своей предыдущей записи на эту тему, к которым можно добавить еще один, а именно: задать скважины не расходом, а напором (понижением) — кстати, вовсе не обязательно использовать для этого первый род, можно попытаться учесть сопротивление прискважинной зоны и задать скважины третьим родом (пакетами General Head или даже лучше Drain). А расход скважин можно получить уже из Water Budget.
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-рода.
18/12/2011
Осушающиеся блоки модели
Для борьбы с этой напастью придумано масса способов:
- Можно поиграться с настройками солверов. Особенно помогает уменьшить Damping Parameter в настройках модуля PCG2.
- Иногда помогает просто сменить солвер. Неплохо сходится солвер GMG, но он поддерживает только MODFLOW-2000 и не все препроцессоры с ним совместимы.
- Полезно воспользоваться пакетом «обводнение» (Wetting Capability), который специально создан для борьбы с этим эффектом. К сожалению, само по себе использование этого пакета может привести к проблемам со сходимостью. За что боролись, как говорится. Хотя иногда он очень помогает, особенно при нестационарных расчетах процессов обводнения изначально сухих горизонтов.
- Самый радикальный способ — отказаться от расчета в безнапорной постановке и считать все слои напорными. В этом случае MODFLOW не будет отключать никакие сухие ячейки, в силу того, что проводимость в них не зависит от уровня воды. Такой подход приводит к заведомо большим расходам потока, но зато позволяет быстро получить хоть какой-нибудь результат. К тому же, при расчете тех же дренажей, небольшое увеличение расхода никакой беды не представляет, создавая некий запас прочности (главное помнить, что таких «запасов» часто оказывается не один и не два и в сумме они нарисуют такой «запасище», что проектанты на стенку полезут).
15/12/2011
Схематизация граничных условий
Геофильтрационные граничные условия, как известно, бывают трех родов: первый, второй и третий. В.М.Шестаков выделял еще границу IV-рода для контакта пород с разной проницаемостью, но это отдельная тема.
I род - границы с заданной функцией напора от времени H(t). Частный случай — граница с постоянным напором H=const. Чаще всего г.у. I-рода применяется для задания внешних границ, про которые достоверно известно, что уровень на них не зависит от происходящего внутри моделируемой области (либо этой зависимостью можно пренебречь). Таким образом, важно вынести такую границу первого рода за пределы радиуса распространения прогнозируемого возмущения подземной гидросферы — иначе есть большой риск получения весьма недостоверных результатов. Границей I-рода может выступать река, достоверно обладающая хорошей гидравлической связью с моделируемым водоносным горизонтом (т.е. подрусловые отложения либо отсутствуют, либо высокопроницаемы). Так же с помощью г.у.I-рода принято задавать скважины с заданным понижением и участки высачивания из водоносного слоя (но тут надо следить за тем, чтоб родник вдруг не стал питающей границей для горизонта, который в него может только разгружаться). Применительно к MODFLOW эта проблема решается путем задания родника с помощью пакета DRAIN с очень большой проницаемостью. Если же участок высачивания является как-раз питающей границей, то тогда его надо задавать как границу II-рода.
II род - границы с заданной функцией расхода от времени Q(t). Три наиболее распространенных частных случая: граница с постоянным расходом Q=const, непроницаемая граница с расходом Q=0 и верхняя граница с заданной величиной инфильтрационного питания. Граница с постоянным расходом - это, очевидно, скважины с известным дебитом; участок концентрированного поступления поверхностного стока в моделируемый горизонт (как-раз тот случай, описанный в предыдущем пункте).
III род - границы с заданной линейной зависимостью расхода от напора Q(t)=H(t)*c. Наиболее распространенный в природе тип границ. Разумеется, при моделировании его задавать приходится тоже очень часто. Дрены; удаленные границы первого рода; родники, разгружающиеся через слабопроницаемый покровный слой; реки со слабопроницаемыми подрусловыми отложениями; озера; хвостохранилища; водохранилища - все эти случаи описываются граничным условием третьего рода.Заметка писалась немного впопыхах, поэтому если у вас есть замечания и дополнения, то буду рад их услышать.
04/12/2011
Несколько интересных ссылок
“The word model has so many meanings and is so overused that it is sometimes difficult to know what one is referring to. For this discussion, we define a model as a representation of a real system or process…We define a conceptual model as a hypothesis for how a system or process operates. The idea can be expressed quantitatively as a mathematical model.”
Sharing MODFLOW Models on ArcGIS Online. Что творят, черти. Кажется, действительно пора изучать ArcGIS. А то я со своей мапинфой совсем от жизни отстану.
Groundwater simulation models are mathematical models that help us understand and predict how water behaves in subsurface aquifers. Groundwater models, such as MODFLOW, are commonly used in the industry to predict different aspects of groundwater management including water availability, effects of pumping, contaminant transport, and more.
One of the challenges facing organizations is the communication of information regarding groundwater systems from professional modelers to others within the organization or to the public. Usually, visualization of groundwater models is achieved with specialized software packages. The model input and output files are a set of text or binary files that are difficult to interpret and map without specialized tools.
The workflow presented enables organizations to quickly create maps and GIS layers of MODFLOW models and to publish those on ArcGIS Online. By posting on ArcGIS Online you can share MODFLOW inputs and outputs with anyone within your organization, or share the model results with the public.
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-ка вообще неработоспособна (там в коде перепутаны идентификаторы полей ввода в некоторых диалогах, что приводит к совершенно невообразимым глюкам). Лично мне нравится семерка, но она платная. Я буду описывать именно седьмую версию – мне этот подход кажется наиболее универсальным. Если что-то будет непонятно, то я всегда рад общению.
05/07/2011
Профильные модели
Все-таки есть небольшая польза от тупого просиживания штанов в офисе. Придумал способ, как избежать длительного и мучительного итеративного рисования свободной поверхности на профильных моделях в MODFLOW.
Нужно в качестве подошвы ячеек задать координату y их нижней границы. Следовательно, когда уровень в блоке становится ниже подошвы, то ячейка сама отключается, что нам и нужно. Не стоит забывать о сохранении единичной мощности пласта.
Остаются проблемы с инфильтрацией: не совсем понятно, куда ее задать (на всю «площадь» некорректно, да и приводит к тому же к необходимости итеративного же ее уточнения), а при неизвестной верхней границе — невозможно задать на ней инфильтрацию.
Ну и обязательно надо включить модуль wetting capability, что традиционно приводит к проблемам со сходимостью.