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

Осушающиеся блоки модели

MODFLOW очень «не любит» маломощные безнапорные горизонты. Когда уровень воды в ячейке модели становится очень близок к отметке ее подошвы, MODFLOW ее делает неактивной и больше в расчете не использует. Даже если вокруг потоп и все окружающие эту ячейку блоки затоплены «под завязку», MODFLOW ее не включит в расчет и не обводнит. Следствием такой особенности являются проблемы с точностью и сходимостью расчета. Если отключенных ячеек оказывается относительно много, то модель почти гарантированно не сойдется при умолчальных настройках расчетных модулей (Solvers).
Для борьбы с этой напастью придумано масса способов:
  • Можно поиграться с настройками солверов. Особенно помогает уменьшить Damping Parameter в настройках модуля PCG2.
  • Иногда помогает просто сменить солвер. Неплохо сходится солвер GMG, но он поддерживает только MODFLOW-2000 и не все препроцессоры с ним совместимы.
  • Полезно воспользоваться пакетом «обводнение» (Wetting Capability), который специально создан для борьбы с этим эффектом. К сожалению, само по себе использование этого пакета может привести к проблемам со сходимостью. За что боролись, как говорится. Хотя иногда он очень помогает, особенно при нестационарных расчетах процессов обводнения изначально сухих горизонтов.
  • Самый радикальный способ — отказаться от расчета в безнапорной постановке и считать все слои напорными. В этом случае MODFLOW не будет отключать никакие сухие ячейки, в силу того, что проводимость в них не зависит от уровня воды. Такой подход приводит к заведомо большим расходам потока, но зато позволяет быстро получить хоть какой-нибудь результат. К тому же, при расчете тех же дренажей, небольшое увеличение расхода никакой беды не представляет, создавая некий запас прочности (главное помнить, что таких «запасов» часто оказывается не один и не два и в сумме они нарисуют такой  «запасище», что проектанты на стенку полезут).

15/12/2011

О прикладных моментах workflow

Занятный психологический момент заметил тут на днях. Раньше, когда я работал в большой гидрогеологической компании, я сначала проводил все расчеты, рисовал графику, а уж потом начинал писать текст записки. Это несомненно наиболее правильная постановка workflow. Однако, на вольных хлебах, в силу особенностей распределения рабочего времени, мне часто приходится  «плясать от двери» — начинать работу с написания «рыбы» записки. Это не очень удобно и не совсем правильно с методической точки зрения, но так уж сложилось.
И тут возникает забавный момент: поскольку раньше на написании записки работа заканчивалась, то сейчас, дописав «рыбу», я подсознательно переключаюсь из состояния «а-а-а, все попало, ничего не успеваю» в состояние «все нормально, еще куча времени». Хотя объективной причины к этому совершенно не наблюдается, даже наоборот.

Схематизация граничных условий

Хочу похвастаться: у моего небольшого бложика появилась своя небольшая, но верная аудитория. И что особенно приятно – аудитория достаточно активная. Пишут, задают вопросы. Это действительно приятно осознавать, что твой труд не бесполезен. И чаще всего вопросы касаются схематизации граничных условий. Поэтому я решил попробовать ответить на некоторые из них, дабы, как это говорится, два раза не вставать.
Геофильтрационные граничные условия, как известно, бывают трех родов: первый, второй и третий. В.М.Шестаков выделял еще границу 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. Наиболее распространенный в природе тип границ. Разумеется, при моделировании его задавать приходится тоже очень часто. Дрены; удаленные границы первого рода; родники, разгружающиеся через слабопроницаемый покровный слой; реки со слабопроницаемыми подрусловыми отложениями; озера; хвостохранилища; водохранилища - все эти случаи описываются граничным условием третьего рода.
Заметка писалась немного впопыхах, поэтому если у вас есть замечания и дополнения, то буду рад их услышать.

07/12/2011

Еще ссылочка

The on going popularity of trial-and-error calibration.
Должен заметить, что аналогично «осуждаемым» автором статьи модельерами, я тоже предпочитаю ручную калибровку моделей. Хотя с формальной точки зрения, автоподбор параметров, в силу своей беспристрастности, зачастую бывает более академически корректен.

04/12/2011

Несколько интересных ссылок

A groundwater model is a hypothesis; A hypothesis can be disproved by never proven. Как-раз то, что я всегда ощущал на уровне понимания, но так и не додумался сформулировать. Геофильтрационная модель - не истина в последней инстанции, а всего-лишь предположение ее создателя о том, как все там под землей устроено. И это предположение нельзя доказать - только опровергнуть.
“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.

17/11/2011

Несколько полезняшек для гидрогеолога

Carlos Molano опубликовал на своем сайте несколько полезных таблиц с гидрогеологическими расчетами:

1D analytical transient flow in confined aquifers
Automatic fit for pump test data to the Theis equation
Capture type curves for wells Hantush leaky aquifer test analysis
Inverse particle tracking
Neuman unconfined aquifer test analysis
Piper diagram
Superposition Thiem well field
The Theis test for confined aquifers
The Theis fit for variable pumping rates
The Theis-Jacob Test

10/11/2011

Оценка и переоценка запасов подземных вод

Намедни встречался с однокурсниками с кафедры гидрогеологии МГУ. Был приятно удивлён тем, что многие по-прежнему работают по-специальности. В частности, оказалось, что у меня есть кому передавать работы по оценке запасов (сам я этим, к сожалению, не занимаюсь уже занимаюсь, хотя и не беру на себя весь объем работ) — в последнее время участились звонки от заказчиков на эту тему. Кризис, видать, прижал и переплата «крупняку» даже каких-то 200 т.р. — уже серьезный повод обратиться к частникам.
Надо чаще встречаться, да.