Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
635d66d
post release reset
dbrakenhoff Jun 30, 2026
1644b41
overeager commit, reinstate tqdm helper
dbrakenhoff Jun 30, 2026
fb0a790
add Vennebult, correct Dalem, add pumping test output back in
HsHeesen Jul 3, 2026
502fb14
set version for release
mbakker7 Jul 3, 2026
91d5a3a
now really add output to pumping test notebooks
mbakker7 Jul 3, 2026
78c392b
add papers and links
mbakker7 Jul 3, 2026
bea36a3
fix some references
mbakker7 Jul 3, 2026
35e7f86
typo
mbakker7 Jul 3, 2026
8d04ace
some more edits
mbakker7 Jul 4, 2026
2b39e1a
hide input of result table
mbakker7 Jul 4, 2026
58f9eeb
add papermill as dependency
martinvonk Aug 20, 2026
e7e8bf1
start with papermill setup
martinvonk Aug 20, 2026
4ba2fbd
add tags to notebooks
martinvonk Aug 20, 2026
0253062
speed up some transient notebooks
martinvonk Aug 20, 2026
fa06a9c
ruff
martinvonk Aug 20, 2026
46063f5
no newfig=False due to attributeerror
martinvonk Aug 20, 2026
b66a0ac
faster collector_wells notebook
martinvonk Aug 20, 2026
781dc11
another slow one
martinvonk Aug 20, 2026
b389492
Merge branch 'dev' into faster_notebook_tests
martinvonk Aug 20, 2026
a089223
add vertical anisotropy notebook
martinvonk Aug 20, 2026
7093c3f
last fixes
martinvonk Aug 20, 2026
82b1355
run notebooks locally
martinvonk Aug 20, 2026
e45f3ec
NGR=101
martinvonk Aug 20, 2026
d40c821
parse solve kwargs
martinvonk Aug 21, 2026
176a27c
clear outputs
martinvonk Aug 21, 2026
62cf1ae
Merge pull request #173 from martinvonk/faster_notebook_tests
dbrakenhoff Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ existing part of the code. `timflow` is coded in Python and uses `numba` to spee
evaluation of the line elements and inverse Laplace transforms.
The `transient` submodule is based on the Laplace-transform analytic element
method. The solution is computed analytically in the Laplace domain and converted back
to the time domain numerically usig the algorithm of De Hoog, Stokes, and Knight.
to the time domain numerically using the algorithm of De Hoog, Stokes, and Knight.

## Installation

Expand All @@ -49,10 +49,10 @@ Some of the papers that you may want to cite when using `timflow` are:

* Steady-state flow:
* Bakker, M., and O.D.L. Strack. 2003. Analytic Elements for Multiaquifer Flow.
Journal of Hydrology, 271(1-4), 119-129. [https://doi.org/10.1016/S0022-1694(02)00319-0](https://doi.org/10.1016/S0022-1694(02)00319-0)
Journal of Hydrology, 271(1-4), 119-129. [https://doi.org/10.1016/S0022-1694(02)00319-0](https://doi.org/10.1016/S0022-1694(02)00319-0) or [here](https://github.com/timflow-org/timflow/blob/main/2003_bakker_strack_jofh.pdf).
* Transient flow:
* M. Bakker. 2013. Semi-analytic modeling of transient multi-layer flow with TTim.
Hydrogeology Journal, 21: 935-943. [https://doi.org/10.1007/s10040-013-0975-2](https://doi.org/10.1007/s10040-013-0975-2)
Hydrogeology Journal, 21: 935-943. [https://doi.org/10.1007/s10040-013-0975-2](https://doi.org/10.1007/s10040-013-0975-2) or [here](https://github.com/timflow-org/timflow/blob/main/papers/2013_bakker_ttim_hgj.pdf).
* M .Bakker. 2013. Analytic modeling of transient multi-layer flow. In: Advances in
Hydrogeology, edited by P Mishra and K Kuhlman, Springer, Heidelberg, 95-114. Available [here](https://github.com/timflow-org/timflow/blob/main/papers/2013_bakker_ttim_theory.pdf).

42 changes: 34 additions & 8 deletions docs/steady/02examples/collector_wells.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,20 @@
"import timflow.steady as tfs"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5d1e632f",
"metadata": {
"tags": [
"parameters"
]
},
"outputs": [],
"source": [
"NGR = 101"
]
},
{
"cell_type": "markdown",
"id": "35500d1a-fa15-4e42-8e86-4e2d2a633c79",
Expand Down Expand Up @@ -104,7 +118,7 @@
"source": [
"ml.plots.contour(\n",
" win=[-60, 60, -60, 60],\n",
" ngr=50,\n",
" ngr=NGR,\n",
" layers=7,\n",
" levels=np.arange(20, 24.1, 0.2),\n",
" decimals=1,\n",
Expand Down Expand Up @@ -133,7 +147,7 @@
"source": [
"ml.plots.contour(\n",
" win=[-60, 60, -60, 60],\n",
" ngr=50,\n",
" ngr=NGR,\n",
" layers=7,\n",
" levels=np.arange(20, 24.1, 0.2),\n",
" decimals=1,\n",
Expand Down Expand Up @@ -200,7 +214,7 @@
"ml.solve()\n",
"ml.plots.contour(\n",
" win=[-100, 100, -100, 100],\n",
" ngr=101,\n",
" ngr=NGR,\n",
" layers=7,\n",
" levels=np.arange(21, 30, 0.5),\n",
" decimals=1,\n",
Expand Down Expand Up @@ -247,7 +261,7 @@
"ml.solve()\n",
"ml.plots.contour(\n",
" win=[-100, 100, -100, 100],\n",
" ngr=101,\n",
" ngr=NGR,\n",
" layers=7,\n",
" levels=np.arange(21, 30, 0.5),\n",
" decimals=1,\n",
Expand Down Expand Up @@ -284,7 +298,7 @@
"ml.solve()\n",
"ml.plots.contour(\n",
" win=[-100, 100, -100, 100],\n",
" ngr=101,\n",
" ngr=NGR,\n",
" layers=7,\n",
" levels=np.arange(21, 30, 0.5),\n",
" decimals=1,\n",
Expand Down Expand Up @@ -322,7 +336,7 @@
"# contour in layer 0\n",
"ax = ml.plots.contour(\n",
" win=[-100, 100, -100, 100],\n",
" ngr=101,\n",
" ngr=NGR,\n",
" layers=0,\n",
" levels=np.arange(21, 30, 0.5),\n",
" decimals=1,\n",
Expand All @@ -333,7 +347,7 @@
"# contour in layer 7\n",
"ax = ml.plots.contour(\n",
" win=[-100, 100, -100, 100],\n",
" ngr=101,\n",
" ngr=NGR,\n",
" layers=7,\n",
" levels=np.arange(21, 30, 0.5),\n",
" decimals=1,\n",
Expand Down Expand Up @@ -381,9 +395,21 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"display_name": "timflow (3.13.x)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.-1"
}
},
"nbformat": 4,
Expand Down
18 changes: 15 additions & 3 deletions docs/steady/02examples/vertical_anisotropy.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,19 @@
"So 1000 realizations takes on the order of 3000 seconds (on this machine), so around 50 minutes. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": [
"parameters"
]
},
"outputs": [],
"source": [
"NTOT = 1000"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand All @@ -185,10 +198,9 @@
],
"source": [
"kaq = np.array(80 * [1, 3.16, 10, 31.6, 100])\n",
"ntot = 1000\n",
"aniso = np.zeros(ntot)\n",
"aniso = np.zeros(NTOT)\n",
"\n",
"for i in range(ntot):\n",
"for i in range(NTOT):\n",
" k = generatek(kaq, nsections=1, seed=i)\n",
" h0 = makemodel(k, k)\n",
" kx = np.mean(k)\n",
Expand Down
Loading
Loading